"The explosive growth of the GeoWeb and geographic information has made GIS powerful media for the general public to communicate, but perhaps more importantly, GIS have also become media for constructive dialogs and interactions about social issues." - Sui & Goodchild
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
geoinf15:postgis0 [2015/11/02 23:43] oertz |
geoinf15:postgis0 [2018/05/16 10:05] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Spatial database :: PostGIS ====== | ====== Spatial database :: PostGIS ====== | ||
Voyons comment utiliser l'extension PostGIS de PostgreSQL pour stocker et gérer de l'information géographique dans un SGBD. | Voyons comment utiliser l'extension PostGIS de PostgreSQL pour stocker et gérer de l'information géographique dans un SGBD. | ||
- | {{:geoinf15:openshift_logo_wide_blk250.png?nolink|}} | + | |
- | - Déploiement d'une application PHP/PGSQL+PostGIS avec OpenShift (https://www.openshift.com) | + | ===== Une première "geotable" ===== |
- | * Créer un compte OpenShift par ce lien : https://openshift.redhat.com/app/account/new?then=%2Fapp%2Fconsole | + | * Créer une //géotable// |
- | * Suivre le lien "Create first application now" | + | <code> |
- | * Choisir le cartdrige PHP5.4 {{:geoinf15:screenshot_from_2015-11-02_23_33_09.png?nolink|}} | + | CREATE TABLE my4capitals (id serial PRIMARY KEY, name text); |
- | * Définir un nom de domaine rhcloud.com et le nom de préfixe correspondant à l'application (ex. //geoinf-oertz.rhcloud.com//) | + | SELECT AddGeometryColumn( 'my4capitals', 'the_geom', 4326, 'POINT', 2 ); |
- | * (__remarque :__ si la création prend du temps, démarrer les points 2 et 3 en parallèle) | + | </code> |
- | * A la question "Change your code", répondre non | + | * Alimenter la table (cf. http://fr.wikipedia.org/wiki/Well-known_text) |
- | * Depuis la web console et dans la configuration de l'application, ajouter le cartdrige PostgreSQL 9.2 | + | <code> |
- | * Conserver les crédentials | + | INSERT INTO my4capitals VALUES ( nextval('my4capitals_id_seq'), 'Paris', ST_GeometryFromText( 'POINT(2.333 48.867)', 4326)); |
- | - Installer pgadmin : http://www.pgadmin.org/ | + | INSERT INTO my4capitals VALUES ( nextval('my4capitals_id_seq'), 'Bern', ST_GeometryFromText( 'POINT(7.433 46.95)', 4326)); |
- | - Installer le client tool rhc : https://developers.openshift.com/en/getting-started-overview.html | + | INSERT INTO my4capitals VALUES ( nextval('my4capitals_id_seq'), 'Rome', ST_GeometryFromText( 'POINT(12.5 41.883)', 4326)); |
- | - Lancer une session rhc en ligne de commande depuis une console OS : | + | INSERT INTO my4capitals VALUES ( nextval('my4capitals_id_seq'), 'Madrid', ST_GeometryFromText( 'POINT(-3.71 40.41)', 4326)); |
- | * Saisir : rhc setup | + | </code> |
- | * Valider le server name par défaut | + | * Lire la table et ses données géographiques |
- | * Saisir le login OpenShift et mot de passe | + | <code> |
- | * A la question sur le token, pour éviter la resaisie de mot de passe, répondre oui | + | SELECT ST_AsEWKT(the_geom) FROM my4capitals; |
- | * A la question sur la paire de clés SSH, répondre oui | + | SELECT ST_AsText(the_geom) FROM my4capitals; |
- | * Saisir : rhc port-forward -a myAppName | + | SELECT ST_AsGeoJSON(the_geom) FROM my4capitals; |
- | - Lancer pgadmin | + | </code> |
- | * Créer une connexion sur l'IP (et le port) forwardée par la commande ci-dessus sur la ligne PostgreSQL | + | * Transformer des coordonnées d'une projection à une autre |
- | * Saisir les crédentials et se connecter | + | <code> |
- | * Vérfier le nombre de tables dans la BD (normalement aucune) | + | SELECT ST_AsEWKT(ST_Transform(the_geom, 21781)), ST_AsEWKT(the_geom) FROM my4capitals; |
- | * Lancer la commande SQL : <code>create extension postgis;</code> | + | </code> |
- | * Vérifier le nombre de tables, de vues et de fonctions (normalement beaucoup) | + |