Trong tài liệu PostGIS có nói rằng có hai bước để tạo bảng không gian với SQL:
- Tạo một bảng không gian bình thường.
- Thêm một cột không gian vào bảng bằng chức năng "AddGeometryColumn" của OpenGIS.
Nếu tôi làm theo các ví dụ, tôi sẽ tạo một bảng có tên terrain_points
như sau:
CREATE TABLE terrain_points (
ogc_fid serial NOT NULL,
elevation double precision,
);
SELECT AddGeometryColumn('terrain_points', 'wkb_geometry', 3725, 'POINT', 3 );
Ngoài ra, nếu tôi xem các bảng hiện có trong pgAdmin III , có vẻ như tôi có thể tạo cùng một bảng như thế này:
CREATE TABLE terrain_points
(
ogc_fid serial NOT NULL,
wkb_geometry geometry,
elevation double precision,
CONSTRAINT terrain_points_pk PRIMARY KEY (ogc_fid),
CONSTRAINT enforce_dims_wkb_geometry CHECK (st_ndims(wkb_geometry) = 3),
CONSTRAINT enforce_geotype_wkb_geometry CHECK (geometrytype(wkb_geometry) = 'POINT'::text OR wkb_geometry IS NULL),
CONSTRAINT enforce_srid_wkb_geometry CHECK (st_srid(wkb_geometry) = 3725)
)
WITH (
OIDS=FALSE
);
ALTER TABLE terrain_points OWNER TO postgres;
-- Index: terrain_points_geom_idx
-- DROP INDEX terrain_points_geom_idx;
CREATE INDEX terrain_points_geom_idx
ON terrain_points
USING gist
(wkb_geometry);
Liệu hai phương pháp này tạo ra cùng một kết quả? Có phải phiên bản dựa trên pgAdmin III đơn giản dài dòng hơn và làm những việc AddGeometryColumn
sẽ làm theo mặc định?