4.2.3. Créer une table spatiale
Créer une table avec des données géographiques se déroule en deux étapes :
- Créer une table (non-spatialisée) normale. Par exemple :
CREATE TABLE ROADS_GEOM ( ID int4, NAME varchar(25) )
- Ajouter à la table la colonne spatiale en utilisant la fonction "AddGeometryColumn" de l'OpenGIS.
La syntaxe est la suivante :
AddGeometryColumn(<nom_du_schema>, <nom_de_la_table>,
<nom_de_la_colonne>, <srid>, <type>,
<dimension>)
Ou, en utilisant le schéma courant :
AddGeometryColumn(<nom_de_la_table>,<nom_de_la_colonne>,
<srid>, <type>, <dimension>)
Exemple 1:
SELECT AddGeometryColumn('public', 'roads_geom', 'geom', 423, 'LINESTRING', 2)
Exemple 2:
SELECT AddGeometryColumn( 'roads_geom', 'geom', 423, 'LINESTRING', 2)
Voici un exemple de code SQL utilisé pour créer une table et ajouter une colonne spatiale (en supposant qu'un SRID de 128 existe déjà) :
CREATE TABLE parks ( PARK_ID int4, PARK_NAME varchar(128), PARK_DATE date, PARK_TYPE varchar(2) );
SELECT AddGeometryColumn('parks', 'park_geom', 128, 'MULTIPOLYGON', 2 );
Voici un autre exemple, utilisant le type générique "geometry" et un SRID indéfinie de valeur -1 :
CREATE TABLE roads ( ROAD_ID int4, ROAD_NAME varchar(128) );
SELECT AddGeometryColumn( 'roads', 'roads_geom', -1, 'GEOMETRY', 3 );