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 :
Vous obtiendrez maintenant une liste des tables spatiales dans la base de données :
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 :
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 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.
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) :
Laissez tout le reste comme il est et cliquez sur Load
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 :
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.
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.
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.
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.
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.
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.
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.
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).
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
:
Nouveau et amélioré : http://blog.cleverelephant.ca/2016/04/ogr-fdw-update.html
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
.Ouvrez GeoServer http://localhost:8082/geoserver/web/
GeoServer WFS GetCapabilities http://localhost:8082/geoserver/ows?service=wfs&version=2.0.0&request=GetCapabilities
GeoServer WFS DescribeFeatureType pour topp:states http://localhost:8082/geoserver/ows?service=wfs&version=2.0.0&request=DescribeFeatureType&typename=topp:states
GeoServer WFS GetFeature topp:states http://localhost:8082/geoserver/ows?service=wfs&version=2.0.0&request=GetFeature&typename=topp:states
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.
Site du projet PostGIS - http://postgis.net
Documentation de PostGIS - http://postgis.net/documentation/