"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:45] oertz |
geoinf15:postgis0 [2018/05/16 10:05] (current) |
||
---|---|---|---|
Line 2: | Line 2: | ||
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. | ||
- | ===== Utilisation avec OpenShift ===== | + | ===== Une première "geotable" ===== |
- | {{:geoinf15:openshift_logo_wide_blk250.png?nolink|}} | + | * Créer une //géotable// |
- | - Déploiement d'une application PHP/PGSQL+PostGIS avec OpenShift (https://www.openshift.com) | + | <code> |
- | * Créer un compte OpenShift par ce lien : https://openshift.redhat.com/app/account/new?then=%2Fapp%2Fconsole | + | CREATE TABLE my4capitals (id serial PRIMARY KEY, name text); |
- | * Suivre le lien "Create first application now" | + | SELECT AddGeometryColumn( 'my4capitals', 'the_geom', 4326, 'POINT', 2 ); |
- | * Choisir le cartdrige PHP5.4 {{:geoinf15:screenshot_from_2015-11-02_23_33_09.png?nolink|}} | + | </code> |
- | * Définir un nom de domaine rhcloud.com et le nom de préfixe correspondant à l'application (ex. //geoinf-oertz.rhcloud.com//) | + | * Alimenter la table (cf. http://fr.wikipedia.org/wiki/Well-known_text) |
- | * (__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 | + | INSERT INTO my4capitals VALUES ( nextval('my4capitals_id_seq'), 'Paris', ST_GeometryFromText( 'POINT(2.333 48.867)', 4326)); |
- | * Depuis la web console et dans la configuration de l'application, ajouter le cartdrige PostgreSQL 9.2 | + | INSERT INTO my4capitals VALUES ( nextval('my4capitals_id_seq'), 'Bern', ST_GeometryFromText( 'POINT(7.433 46.95)', 4326)); |
- | * Conserver les crédentials | + | INSERT INTO my4capitals VALUES ( nextval('my4capitals_id_seq'), 'Rome', ST_GeometryFromText( 'POINT(12.5 41.883)', 4326)); |
- | - Installer pgadmin : http://www.pgadmin.org/ | + | INSERT INTO my4capitals VALUES ( nextval('my4capitals_id_seq'), 'Madrid', ST_GeometryFromText( 'POINT(-3.71 40.41)', 4326)); |
- | - Installer le client tool rhc : https://developers.openshift.com/en/getting-started-overview.html | + | </code> |
- | - Lancer une session rhc en ligne de commande depuis une console OS : | + | * Lire la table et ses données géographiques |
- | * Saisir : rhc setup | + | <code> |
- | * Valider le server name par défaut | + | SELECT ST_AsEWKT(the_geom) FROM my4capitals; |
- | * Saisir le login OpenShift et mot de passe | + | SELECT ST_AsText(the_geom) FROM my4capitals; |
- | * A la question sur le token, pour éviter la resaisie de mot de passe, répondre oui | + | SELECT ST_AsGeoJSON(the_geom) FROM my4capitals; |
- | * A la question sur la paire de clés SSH, répondre oui | + | </code> |
- | * Saisir : rhc port-forward -a myAppName | + | * Transformer des coordonnées d'une projection à une autre |
- | - Lancer pgadmin | + | <code> |
- | * Créer une connexion sur l'IP (et le port) forwardée par la commande ci-dessus sur la ligne PostgreSQL | + | SELECT ST_AsEWKT(ST_Transform(the_geom, 21781)), ST_AsEWKT(the_geom) FROM my4capitals; |
- | * Saisir les crédentials et se connecter | + | </code> |
- | * Vérfier le nombre de tables dans la BD (normalement aucune) | + | |
- | * Lancer la commande SQL : <code>create extension postgis;</code> | + | |
- | * Vérifier le nombre de tables, de vues et de fonctions (normalement beaucoup) | + |