4.2.3. Créer une table spatiale


Créer une table avec des données géographiques se déroule en deux étapes :

  1. Créer une table (non-spatialisée) normale. Par exemple : CREATE TABLE ROADS_GEOM ( ID int4, NAME varchar(25) )
  2. 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 );