...
In de PostGIS 1.x wordt in een constraint met PostGIS-functie geometrytype(geom)
aangegeven dat de kolom geom
alleen punt-geometrieën mag bevatten (of leeg mag zijn) en met PostGIS-functie st_srid(geom)
dat de punt-geometrieën in deze kolom uitgedrukt worden in coördinaten van het RD-kaartstelsel (SRID ‘28992’). Constraints bepalen ook dat het kolom gid
de primaire sleutel van de tabel vormt en dat de punt-geometrieën tweedimensionaal zijn (alleen x en y, geen z). Ten slotte wordt er aan de tabel één record met een puntgeometrie ingevoegd. Met de functie ST_Point
worden eerst de coördinaten aan het punt toegekend en vervolgens wordt met de functie ST_SetSRID
het RD-stelsel aan de coördinaten gekoppeld. Zie SQL-statement voor PostGIS 1.5.
Voor PostGIS 2.x kan de tabel iets eenvoudiger aangemaakt worden en zijn er geen contraints nodig. Bij de declaratie van de kolommen kan al worden aangegeven dat gid
de primaire sleutel vormt en dat de geometrie van het type POINT is met de coördinaten van het RD-stelsel. Zie de SQL-statement voor PostGIS 2.1.
Op een vergelijkbare manier kun je een tabel met vlak-geometrieën aanmaken. Zie *** Aanmaken van een vlakken-tabel in PostGIS.
Werkwijze
Op de volgende manier maak je de ruimtelijke tabel met puntgeometriën aan:
- Meld je via pgAdmin aan bij de PostGIS-database en zorg dat je daarbij voldoende gebruikersrechten hebt. Controleer met het SQL-statement:
SELECT postgis_full_version() ;
of de juiste versie van PostGIS is geïnstalleerd. De versie moet 1.5 of hoger zijn. Maak met een SQL-statement (query) een nieuwe ruimtelijke tabel aan met puntgeometrieën. De onderstaande query creëert tabel rx_puntjes in het databaseschema rx met uitsluitend punt-geometrieën. Zie de SQL-statements voor PostGIS 1.5 en voor PostGIS 2.1.
- Maak een ruimtelijke index op het geometrieveld van de tabel. Dat kan met het volgende SQL-statement:
CREATE INDEX index_rx_puntjes_geom ON rx.rx_puntjes USING gist (geom);
Controleer of alles gelukt is door de tabel uit te lezen met:
SELECT gid, label, code, date, state, ST_AsText(geom) FROM rx.rx_puntjes;
Met de PostGIS-functie
ST_AsText
zorg je ervoor dat de RD-coördinaten als tekst worden weergegeven en niet als binaire waarden.
...
Panel | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
CREATE TABLE rx.rx_puntjes (gid serial PRIMARY KEY, label varchar, code varchar, state integer, date timestamptz, geom geometry(POINT, 28992)); -- aan deze tabel kan op dezelfde manier een punt toegevoegd worden: INSERT INTO rx.rx_puntjes2 (label, code, geom) VALUES ('nieuwland', 5, ST_SetSRID(ST_Point(175135, 442000), 28992)) ; |
Related articles
Filter by label (Content by label) | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...