Deze pagina beschrijft hoe je een ruimtelijke tabel met vlak-geometrieën aanmaakt in PostGIS 1.5 en PostGIS 2.1. De werkwijze is hetzelfde als voor een ruimtelijke tabel met punt-geometrieën, het enige verschil is het geometrietype. Voor een uitvoeriger beschrijving van het maken van een puntentabel zie pagina 'Aanmaken van ruimtelijke tabel in PostGIS'.
Werkwijze
Voer voor PostGIS 1.x het volgende SQL-statement uit:
-- Testtabel met vlakgeometrieën en vier attributen
-- DROP TABLE rx.rx_vlakjes;
CREATE TABLE rx.rx_vlakjes
(
gid serial,
geom geometry,
label character varying,
code character varying,
state integer,
date timestamp with time zone,
CONSTRAINT rx_vlakjes_pkey PRIMARY KEY (gid),
CONSTRAINT enforce_dims_geom CHECK (st_ndims(geom) = 2),
CONSTRAINT enforce_geotype_geom CHECK (geometrytype(geom) = 'POLYGON'::text OR geom IS NULL)
);
-- CONSTRAINT enforce_srid_geom CHECK (st_srid(geom) = 28992)
-- de constraint op kaartprojectie vervangen door na het toevoegen van een 1 vlakje
-- de projectie met ST_SetSRID aan geom toe te kennen
-- En 1 vlakgeometrie bij locatie Nieuwland (attributen achteraf zelf invullen)
-- LET OP: een tabel die als bron voor een bewerkbare laag in WGP wordt gebruikt, moet altijd minimaal 1 record hebben
INSERT INTO rx.rx_vlakjes (label, geom)
VALUES
( 'Nieuwland', 'POLYGON((175132.7915625 442022.121875,175147.2815625 442019.601875,175142.6615625 441989.361875,175144.5515625 441988.101875,175143.0815625 441984.321875,175141.8215625 441983.061875,175139.9315625 441973.821875,175137.2015625 441972.771875,175136.9915625 441966.891875,175130.9015625 441964.161875,175126.2815625 441967.731875,175126.0715625 441977.181875,175128.1715625 441986.421875,175124.8115625 441987.891875,175127.1215625 441992.091875,175129.0115625 441992.511875,175132.7915625 442022.121875))');
-- achteraf de kaartprojectie instellen met ST_SetSRID
UPDATE
rx.rx_vlakjes
SET
geom = ST_SetSRID(geom, 28992) ;
-- Testtabel met vlakgeometrieën en één attribuut
-- DROP TABLE rx.vlakken;
-- bij het aanmaken van de vlakken-tabel wordt voor het geometrieveld meteen als argument het geometrietype en de kaartprojectie ingesteld
CREATE TABLE rx.vlakken (id serial, name varchar, geom geometry(Polygon, 28992));
-- daarna wordt met ST_GeomFromText 1 vlak toegevoegd waarbij met ST_SetSRID de kaartprojectie van het vlak wordt ingesteld
INSERT INTO rx.vlakken (geom)
VALUES (ST_SetSRID(
ST_GeomFromText('POLYGON((175132 442022,175147 442019,175142 441989,175144 441988,175143 441984,175141 441983,175139 441973,175137 441972,175136 441966,175130 441964,175126 441967,175126 441977,175128 441986,175124 441987,175127 441992,175129 441992,175132 442022))'),
28992
));
Related articles