../../_images/logo_postgis.png ../../_images/OSGeo_project.png

Guide de démarrage rapide Postgis

PostGIS ajoute des capacités spatiales à la base de données relationnelle PostgreSQL. Il étend PostgreSQL pour stocker, requête et manipuler des données spatiales. Dans ce guide de démarrage rapide, nous allons utiliser « PostgreSQL » lors de la description des fonctions de base de données générale et « PostGIS » pour décrire les fonctionnalités spatiales supplémentaires fournies par PostGIS.

Ce guide de démarrage rapide décrit comment :

  • Créer et interroger une base de données spatiale à partir de la ligne de commande et du client graphique QGIS .

  • Gérer les données à partir du client pgAdmin.

Architecture client-serveur

PostgreSQL, comme de nombreuses bases de données, fonctionne comme un serveur dans un système client-serveur. Le client fait une demande au serveur et obtient en retour une réponse. Il s’agit de la même façon dont fonctionne Internet - votre navigateur est un client et un serveur web renvoie la page web. Avec PostgreSQL, les demandes sont en langage SQL et la réponse est généralement une table de données de la base de données.

Il n’y a rien pour empêcher le serveur d’être sur le même ordinateur que le client, et cela vous permet d’utiliser PostgreSQL sur une seule machine. Votre client se connecte au serveur via la connexion de réseau interne « loopback » et n’est pas visible aux autres ordinateurs sauf si vous configurez pour l’être.

Création d’une base de données spatiale

Les clients en ligne de commande s’exécutent à partir d’une fenêtre d’émulateur de terminal.

Démarrez un émulateur terminal (LXTerminal actuellement) à partir du menu Applications dans la section Accessoires. Cela vous donne une invite de commande shell Unix. Saisissez :

psql -V

et appuyez sur entrée pour afficher le numéro de version de PostgreSQL.

Un seul serveur PostgreSQL vous permet d’organiser votre travail en arrangeant des bases de données distinctes. Chaque base de données est un régime indépendant, avec ses propres tables, ses vues, ses utilisateurs et ainsi de suite. Lorsque vous vous connectez à un serveur PostgreSQL vous devez spécifier une base de données.

Vous pouvez obtenir une liste des bases de données sur le serveur avec la :

psql -l

commande. Vous devriez voir plusieurs bases de données utilisées par certains des projets sur le système. Nous allons en créer une nouvelle pour ce guide de démarrage rapide.

Astuce

La liste utilise un téléavertisseur unix standard - Appuyez sur espace pour la page suivante, b pour revenir en arrière, q pour quitter, kbd:h pour l’aide.

PostgreSQL nous fournit un programme utilitaire pour la création de bases de données, createdb. Nous devons créer une base de données avant d’ajouter les extensions de PostGIS. Nous appellerons notre base de données demo. La commande est alors :

createdb demo

Astuce

Vous pouvez généralement obtenir de l’aide pour les outils de ligne de commande en utilisant une option --help.

Si vous exécutez maintenant psql -l vous devriez voir votre base de données des demo dans la liste. Nous n’avons pas encore ajouté de l’extension PostGIS, mais dans la section suivante, vous apprendrez comment.

Vous pouvez créer des bases de données PostGIS en utilisant le langage SQL. Tout d’abord, nous allons supprimer la base de données que nous venons de créer à l’aide de la commande dropdb, puis utilisez la commande psql pour obtenir un interpréteur de commandes SQL :

dropdb demo
psql -d postgres

Cela se branche sur le système de base de données appelée postgres. Maintenant, entrez le code SQL pour créer une nouvelle base de données :

postgres=# CREATE DATABASE demo;

Maintenant changez votre connexion de la base de données postgres à la nouvelle base de données demo. À l’avenir, vous pouvez connecter à elle directement avec psql -d demo, mais voici une belle façon de faire depuis la ligne de commande psql :

postgres=# \c demo

Astuce

Saississez CTRL + C si l’invite de commandes psql apparaît toujours après avoir appuyé sur Entrée. Il efface votre entrée et recommence. Il est probablement en attente pour la fermeture d’une apostrophe, d’un point-virgule, ou quelque chose.

Vous devriez voir un message d’information, et l’invite changent pour indiquer que vous êtes maintenant connecté à la base de données demo.

Ensuite, ajoutez l’extension PostGIS :

demo=# create extension postgis;

Pour vérifier que vous avez postgis installé, exécutez la requête suivante :

demo=# SELECT postgis_version();

           postgis_version
---------------------------------------
 2.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
(1 row)

PostGIS installe plusieurs fonctions, une table et plusieurs vues

Tapez \dt pour énumérer les tables de la base de données. Vous devriez voir quelque chose comme ceci :

demo=# \dt
             List of relations
 Schema |       Name       | Type  | Owner
--------+------------------+-------+-------
 public | spatial_ref_sys  | table | user
(1 row)

La table spatial_ref_sys est utilisée par PostGIS pour la conversion entre les différents systèmes de référence spatiale . La table spatial_ref_sys stocke des informations sur les systèmes de référence spatiale valides, et nous pouvons utiliser certains commandes SQL pour jeter un coup d’oeil :

demo=# SELECT srid, auth_name, proj4text FROM spatial_ref_sys LIMIT 10;

 srid | auth_name |          proj4text
------+-----------+--------------------------------------
 3819 | EPSG      | +proj=longlat +ellps=bessel +towgs...
 3821 | EPSG      | +proj=longlat +ellps=aust_SA +no_d...
 3824 | EPSG      | +proj=longlat +ellps=GRS80 +towgs8...
 3889 | EPSG      | +proj=longlat +ellps=GRS80 +towgs8...
 3906 | EPSG      | +proj=longlat +ellps=bessel +no_de...
 4001 | EPSG      | +proj=longlat +ellps=airy +no_defs...
 4002 | EPSG      | +proj=longlat +a=6377340.189 +b=63...
 4003 | EPSG      | +proj=longlat +ellps=aust_SA +no_d...
 4004 | EPSG      | +proj=longlat +ellps=bessel +no_de...
 4005 | EPSG      | +proj=longlat +a=6377492.018 +b=63...
(10 rows)

Cela confirme que nous avons une base de données avec des capacités géospatiales.

En plus de cette table, vous trouverez plusieurs vues créées lorsque vous activez postgis dans votre base de données.

Tapez \dv pour répertorier les vues dans la base de données. Vous devriez voir quelque chose comme ceci :

demo=# \dv
                                                                List of relations
 Schema |       Name        | Type |  Owner
--------+-------------------+------+----------
 public | geography_columns | view | postgres
 public | geometry_columns  | view | postgres
 public | raster_columns    | view | postgres
 public | raster_overviews  | view | postgres
(4 rows)

PostGIS prend en charge plusieurs types de données spatiales :

geometry - est un type de données qui stocke les données sous forme de vecteurs dessinés sur une surface plane

geography - est un type de données qui stocke les données sous forme de vecteurs dessinés sur une surface sphérique

raster - est un type de données qui stocke des données dans une matrice n-dimensionnelle, où chaque position (pixel) représente

une zone de l’espace et chaque bande (dimension) a une valeur pour chaque pixel d’espace.

Les vues geometry_columns, geography_columns et raster_columns ont la tâche de dire à PostGIS quelles tables ont colonnes geometry, geography et raster PostGIS .

Les vues d’ensemble sont des tables de résolution inférieures pour des données raster. raster_overviews répertorie ces tables et leurs colonnes raster et chaque table en est une vue d’ensemble. Les tables de vue d’ensemble raster sont utilisées par des outils tels que QGIS pour fournir des résolution inférieures de données raster pour un chargement plus rapide.

Le type PostGIS geometry est le premier et toujours le plus populaire utilisé par des utilisateurs de PostGIS. Nous allons concentrer notre attention sur ce type.

Création d’une table spatiale à l’aide de SQL

Maintenant nous avons une base de données spatiale, nous pouvons faire certaines tables spatiales.

Tout d’abord, nous créons une table ordinaire de base de données pour stocker des données de villes. Cette table comporte trois champs - un pour un ID numérique identifiant la ville, un pour le nom de la ville et l’autre pour la colonne de géométrie :

demo=# CREATE TABLE cities ( id int4 primary key, name varchar(50), geom geometry(POINT,4326) );

Classiquement cette colonne de géométrie est nommée geom (l’ancienne convention de PostGIS était the_geom). Cela indique à PostGIS, quel type de géométrie a chaque entité (points, lignes, polygones, etc.), combien de dimensions (dans ce cas 2, si il y avait 3 ou 4 dimensions, nous utiliserions POINTZ, POINTM ou POINTZM) et le système de référence spatiale. Nous avons utilisé le CRS EPSG:4326 pour nos villes.

Maintenant si vous regardez la table cities vous devriez voir la nouvelle colonne et être informé que la table ne contient actuellement aucune ligne.

demo=# SELECT * from cities;
 id | name | geom
----+------+----------
(0 rows)

Pour ajouter des lignes à la table, nous utilisons certaines instructions SQL. Pour obtenir la géométrie dans la géométrie de la colonne, nous utilisons la fonction PostGIS ST_GeomFromText pour convertir d’un format de texte qui renvoit les coordonnées et un id de référence spatial du système :

demo=# INSERT INTO cities (id, geom, name) VALUES (1,ST_GeomFromText('POINT(-0.1257 51.508)',4326),'London, England');
demo=# INSERT INTO cities (id, geom, name) VALUES (2,ST_GeomFromText('POINT(-81.233 42.983)',4326),'London, Ontario');
demo=# INSERT INTO cities (id, geom, name) VALUES (3,ST_GeomFromText('POINT(27.91162491 -33.01529)',4326),'East London,SA');

Astuce

Utilisez les touches flèches pour rappeler et modifier les lignes de commande.

Comme vous pouvez voir que cela devient fastidieux de plus en plus rapidement. Heureusement il y a des autres moyens d’obtenir des données dans des tables de PostGIS qui sont beaucoup plus faciles. Mais maintenant, nous avons trois villes dans notre base de données, et nous pouvons travailler avec cela.

Requêtes simples

Toutes les opérations habituelles de SQL peuvent être appliquées pour sélectionner des données dans une table PostGIS :

demo=# SELECT * FROM cities;
 id |      name       |                      geom
----+-----------------+----------------------------------------------------
  1 | London, England | 0101000020E6100000BBB88D06F016C0BF1B2FDD2406C14940
  2 | London, Ontario | 0101000020E6100000F4FDD478E94E54C0E7FBA9F1D27D4540
  3 | East London,SA  | 0101000020E610000040AB064060E93B4059FAD005F58140C0
(3 rows)

Cela nous donne une version hexadécimale codée des coordonnées, peu utile pour les humains.

Si vous voulez jeter un oeil à votre géométrie au format WKT (Well Known Text), encore une fois, vous pouvez utiliser les fonctions ST_AsText(geom) ou ST_AsEwkt(geom). Vous pouvez également utiliser ST_X(geom), ST_Y(geom) pour obtenir la valeur numérique des coordonnées :

demo=# SELECT id, ST_AsText(geom), ST_AsEwkt(geom), ST_X(geom), ST_Y(geom) FROM cities;
 id |          st_astext           |               st_asewkt                |    st_x     |   st_y
----+------------------------------+----------------------------------------+-------------+-----------
  1 | POINT(-0.1257 51.508)        | SRID=4326;POINT(-0.1257 51.508)        |     -0.1257 |    51.508
  2 | POINT(-81.233 42.983)        | SRID=4326;POINT(-81.233 42.983)        |     -81.233 |    42.983
  3 | POINT(27.91162491 -33.01529) | SRID=4326;POINT(27.91162491 -33.01529) | 27.91162491 | -33.01529
(3 rows)

Requêtes spatiales

PostGIS ajoute beaucoup de fonctions avec des fonctionnalités spatiales à PostgreSQL. Nous avons déjà vu ST_GeomFromText qui convertit en WKT en géométrie. La plupart d’entre eux commencent par ST (pour type spatial) et est répertoriée dans une section de la documentation de PostGIS. Nous allons maintenant utiliser une pour répondre à une question pratique - dans quelle mesure ces trois Londres sont elles éloignées les unes des autres, en mètres, en supposant une Terre sphérique ?

demo=# SELECT p1.name,p2.name,ST_DistanceSphere(p1.geom,p2.geom) FROM cities AS p1, cities AS p2 WHERE p1.id > p2.id;
      name       |      name       | st_distancesphere
-----------------+-----------------+--------------------
 London, Ontario | London, England |   5875766.85191657
 East London,SA  | London, England |   9789646.96784908
 East London,SA  | London, Ontario |   13892160.9525778
 (3 rows)

Cela nous donne la distance en mètres entre chaque paire de villes. Remarquez comment la partie “WHERE” de la ligne nous empêche d’avoir des distances d’une ville à elle-même (qui serait à zéro) ou des distance inverses à celles dans la table ci-dessous (Londres, en Angleterre, à London (Ontario) est la même distance que London, en Ontario, à Londres Angleterre). Essayez la requête sans la partie “WHERE” et voyez ce qui se passe.

Nous pouvons également calculer la distance à l’aide d’un sphéroïde en utilisant une fonction différente et en précisant le nom de sphéroïde, le demi-grand axe et les paramètres d’aplatissement inverses :

demo=# SELECT p1.name,p2.name,ST_DistanceSpheroid(
        p1.geom,p2.geom, 'SPHEROID["GRS_1980",6378137,298.257222]'
        )
       FROM cities AS p1, cities AS p2 WHERE p1.id > p2.id;
      name       |      name       | st_distancespheroid
-----------------+-----------------+----------------------
 London, Ontario | London, England |     5892413.63776489
 East London,SA  | London, England |     9756842.65711931
 East London,SA  | London, Ontario |     13884149.4140698
(3 rows)

Pour quitter la ligne de commande PostgreSQL, entrez :

\q

Vous êtes maintenant de retour à la console du système :

user@osgeolive:~$

Cartographie

Pour produire une carte à partir de données PostGIS, vous avez besoin d’un client qui peut obtenir les données. La plupart des programmes open source SIG bureautiques peuvent faire cela - gvSIG, QGIS, uDig, par exemple. Maintenant, nous allons vous montrer comment faire une carte avec QGIS.

Démarrez QGIS dans le menu Desktop GIS et choisissez Add PostGIS layers dans le menu Couches. Les paramètres pour la connexion aux données Natural Earth dans PostGIS sont déjà définies dans la liste déroulante des connexions. Vous pouvez définir ici les nouvelles connexions serveur et enregistrer les paramètres d’un rappel facile. Cliquez sur le menu déroulant de connexions et choisissez la Natural Earth. Cliquez sur Edit si vous voulez voir ce que ces paramètres sont Natural Earth, ou appuyez simplement sur Connect pour continuer :

Connect to Natural Earth

Vous obtiendrez maintenant une liste des tables spatiales dans la base de données :

Natural Earth Layers

Choisissez la table ne_10m_lakes et appuyez sur Add en bas (et non pas Load” en haut - qui se charge des paramètres de connexion de base de données), et la couche doit être chargée dans QGIS :

My First PostGIS layer

Vous devriez maintenant voir une carte des lacs. QGIS ne sait pas que ceux sont des lacs, donc ils peuvent ne pas être de couleur couleur bleue pour vous - utilisez la documentation de QGIS pour trouver comment changer cela. Zoomez sur un célèbre groupe de lacs au Canada.

Import de données spatiales dans la base de données

La plupart des outils de bureau OSGeo ont des fonctions pour importer des données spatiales à partir d’autres formats (f.e. ESRI Shape) dans la base de données. Encore une fois, nous allons utiliser QGIS pour montrer cela.

L’importation des shapefiles vers QGIS peut se faire via le gestionnaire de base de données de QGIS. Vous trouverez le gestionnaire dans le menu. Allez à Database -> DB Manager.

Dépliez l’élément Postgis, puis l’élément NaturalEarth. Puis, il se connectera à la base NaturalEarth. Laisser le mot de passe vide si demandé Dans l’élément public, il y a la liste des couches fournies par la base de données. Vous verrez la fenêtre principale de gestion. Sur la gauche, vous pouvez sélectionner les tables de la base de données et utilisez les onglets sur la droite pour en savoir à leur sujet. L’onglet Aperçu vous montre une petite carte.

QGIS Manager Preview

Nous allons maintenant utiliser le gestionnaire DB pour importer un shapefile dans la base de données. Nous utiliserons les données de syndrome de mort subite du nourrisson (SMSN) de Caroline du Nord qui est incluses avec l’un des paquets supplémentaires du langage de statistiques R.

Dans le menu Table choisir l’option``Import layer/file``. Cliquez sur le bouton ... , puis accédez au shapefile sids.shp de R (situé dans /home/user/data/vector/R/shapes) :

Find the shapefile

Laissez tout le reste comme il est et cliquez sur Load

Import a shapefile

Laissez la valeur par défaut du sélecteur de système de coordonnées de référence à (WGS 84 EPSG:4326) et cliquez sur OK. Le shapefile devrait être importé dans PostGIS sans erreur. Fermez le DB Manager et revenez à la fenêtre principale de QGIS.

Maintenant charger les données du SIDS sur la carte à l’aide de l’option “Add PostGIS Layer”. Avec un peu de réorganisation des couches et un peu de colorisation, vous devriez être en mesure de produire une carte choroplèthe des mort subite du nourrisson (champs sid74 ou sid79) en Caroline du Nord :

SIDS data mapped

Avertissement

Depending on the version of OSGeoLive you are using (ISO or VMDK), you will not find the same clients available. pgAdmin is the official client for PostgreSQL, however, for technical reasons, it can’t do in the ISO, so it is only available in the VMDK version. The ISO version has the phpPgAdmin client which offers the same core functionality.

Get to know phpPgAdmin (ISO & VMDK)

In both versions, you can use the graphical database client phpPgAdmin.

phpPgAdmin lets you use SQL to manipulate your data tables. You can find and launch phpPgAdmin from the Databases folder, existing on the OSGeoLive Desktop.

phpPgAdmin main

Here, you have the option of creating a new connection to a PostgreSQL server, or connecting to an existing server. The red « X » on the PostgreSQL server denotes that you haven’t been yet connected. Click on it then enter the user name user and the master password user.

Après la connexion soit établie, vous pouvez voir la liste des bases de données qui existent déjà dans le système.

phpPgAdmin

At this point you are able only to see the existing databases on the system. You can connect, by clicking, on plus sign at the left of the name of a database. Do it for the natural_earth2 database.

You can see now that there is only one schema in this database called public. Click on the plus at left of Tables to expand it, you can see all the tables contained within this schema.

phpPgAdmin

Executing a SQL query from phpPgAdmin (ISO & VMDK)

phpPgAdmin offers the capability of executing queries to a relational database.

To perform a query on the database, click back on the natural_earth2 database then press the SQL button from the main toolbar (the one at the left with the database symbol).

Nous allons trouver le taux de SIDS des naissances pour chaque ville en 1974. En outre, nous allons pour trier les résultats, basé sur le taux calculé. Pour ce faire, nous avons besoin exécuter la requête suivante (à exécuter depuis l’éditeur de texte de la fenêtre SQL) :

select name, 1000*sid74/bir74 as rate from sids order by rate;

Afterwards, you should press the Execute button.

phpPgAdmin

Get to know pgAdmin (VMDK only)

Vous pouvez utiliser le client de base de données graphique “pgAdmin à partir du menu Bases de données pour interroger et modifier votre base de données non spatialement. C’est le client officiel de PostgreSQL.

pgAdmin vous permet d’utiliser SQL pour manipuler vos tables de données. Vous pouvez trouver et lancer pgAdmin à partir du dossier Bases de données, existant sur le bureau OSGeoLive.

pgAdmin

Entrez le mot de passe principal user.

Ici, vous avez la possibilité de créer une nouvelle connexion à un serveur PostgreSQL, ou de vous connecter à un serveur existant. Dans ce cas, nous allons nous connecter au serveur localhost prédéfini.

Après la connexion soit établie, vous pouvez voir la liste des bases de données qui existent déjà dans le système.

pgAdmin

The red « X » on the image of most of the databases, denotes that you haven’t been yet connected to any of them (you are connected only to the default postgres database). At this point you are able only to see the existing databases on the system. You can connect, by double clicking, on the name of a database. Do it for the natural_earth2 database.

Vous pouvez voir maintenant que le X rouge a disparu et un « > » apparaît sur la gauche. En appuyant dessus un arbre va apparaître, affichant le contenu de la base de données.

Accédez à la sous-arborescence schemas et développez-le. Par la suite étendre le schéma public . En naviguant et en élargissant les Tables, vous pouvez voir tous les tableaux contenus dans ce schéma.

pgAdmin

Executing a SQL query from pgAdmin (VMDK only)

pgAdmin, offre la possibilité d’exécuter des requêtes à une base de données relationnelle.

Pour effectuer une requête sur la base de données, vous devez appuyer sur le bouton Query Tool à partir de la barre d’outils principale (celle à gauche avec le symbole de base de données).

Nous allons trouver le taux de SIDS des naissances pour chaque ville en 1974. En outre, nous allons pour trier les résultats, basé sur le taux calculé. Pour ce faire, nous avons besoin exécuter la requête suivante (à exécuter depuis l’éditeur de texte de la fenêtre SQL) :

select name, 1000*sid74/bir74 as rate from sids order by rate;

Par la suite, vous devez appuyer sur le bouton en forme de flèche pointant vers la droite (Exécuter).

pgAdmin

Découvrez les Foreign Data Wrappers (FDW)

À partir de votre base de données, vous pouvez accéder à des objets distants comme des tables provenant d’autres bases de données PostgreSQL ou vous connecter à des bases de données distantes comme Oracle, MySQL, MS SQL ou CouchDB. Vous pouvez également vous connecter via ODBC, vous connecter à des fichiers CSV, Geospatial Data et même sur Twitter.

Vous trouverez une liste des différents FDW à:

Voyons comment ça marche ! La façon la plus simple est de se connecter à une autre base de données PostgreSQL.

Voici les étapes :

Chargez d’abord l’extension du Foreign Data Wrapper que vous souhaitez utiliser. Pour une connexion à une autre base de données PostgreSQL, vous avez besoin de``postgres_fdw``

CREATE EXTENSION postgres_fdw;

Créer un serveur étranger qui vous indique où trouver la source de données à connecter

CREATE SERVER fdw_pg_server_osm_local
 FOREIGN DATA WRAPPER postgres_fdw
 OPTIONS (host '127.0.0.1', port '5432', dbname 'osm_local');

Définir l’utilisateur à utiliser lorsque vous vous connectez au serveur étranger

CREATE USER MAPPING FOR user
      SERVER fdw_pg_server_osm_local
      OPTIONS (user 'user', password 'user');

Maintenant, vous pouvez créer une table étrangère.

IMPORT FOREIGN SCHEMA public
  LIMIT TO (planet_osm_polygon, planet_osm_point) -- or EXCEPT
  FROM SERVER fdw_pg_server_osm_local
  INTO public;

Trouvez les nouvelles tables dans votre base de données et jetez un coup d’œil aux données d’une table étrangère.

Select * from planet_osm_polygon limit 10;

Connectez-vous à une source de données OGR distante via ogr_fdw

L’extension ogr_fdw permet la connexion vers plusieurs formats de données géospatiales comme KML, GeoPackage, WFS, GeoJSON, GPX, GML et plus encore.

En savoir plus sur ogr_fdw:

Installez l’extension ogr_fdw dans votre base de données.

Dans le type d’invite de la base de données :

CREATE EXTENSION ogr_fdw;

Inspectez les formats pris en charge :

Ouvrez un terminal et recherchez ogr_fdw_info :

locate ogr_fdw_info
/usr/lib/postgresql/10/bin/ogr_fdw_info -f

Les résultats devraient ressembler à ceux-ci:

Supported Formats:
 -> "OGR_GRASS" (readonly)
 -> "PCIDSK" (read/write)
 -> "netCDF" (read/write)
 -> "JP2OpenJPEG" (readonly)
 -> "PDF" (read/write)
 -> "MBTiles" (read/write)
 -> "EEDA" (readonly)
 -> "ESRI Shapefile" (read/write)
 -> "MapInfo File" (read/write)
 .... many more

Créer un FDW vers un WFS

Start Geoserver via Geospatial ‣ Web Services ‣ GeoServer ‣ Start GeoServer.

Créer un serveur étranger qui fait référence au WFS que vous souhaitez connecter

CREATE SERVER fdw_ogr_server_wfs
FOREIGN DATA WRAPPER ogr_fdw
OPTIONS ( datasource 'WFS:http://localhost:8082/geoserver/ows', format 'WFS' );

Importez toutes les feature_types WFS en tant que tables étrangères avec une seule commande.

Après l’importation, vous verrez plusieurs nouvelles tables étrangères dans votre schéma.

IMPORT FOREIGN SCHEMA ogr_all
FROM SERVER fdw_ogr_server_wfs
   INTO public;

Inspecter la table de données étrangères topp_states :

SELECT * FROM topp_states WHERE state_name = 'Minnesota';

Choses à essayer

Voici quelques défis supplémentaires que vous pouvez essayer :

  • Essayez quelques fonctions spatiales supplméentaire comme st_buffer(geom), st_transform(geom,25831), st_x(geom) - vous trouverez une documentation complète à l’adresse: http://postgis.net/documentation/

  • Exporter vos tables vers des shapefiles avec pgsql2shp en ligne de commande.

  • Essayez ogr2ogr en ligne de commande pour importer/exporter des données dans votre base de données.

  • Essayez d’importer des données avec shp2pgsql en ligne de commande dans votre base de données.

  • Essayer de calculer un chemin à l’aide de fonction de routage pgRouting.

Ensuite ?

C’est seulement la première étape sur la route de l’utilisation de PostGIS. Il y a beaucoup plus de fonctionnalités que vous pouvez essayer.