Table des matières
- 5. Tutoriaux
- 5.1. Créer une base avec PostGIS
- 5.2. Effectuer des requêtes: le moniteur interactif psql de
PostgreSQL
- 5.3. Effectuer des requêtes: PgAdmin III
- 5.4. Exemples de requêtes spatiales I
- 5.4.1. Création de la base et d'une table
- 5.4.2. Ajout de la colonne géométrique à la table -
AddGeometryColumn()
- 5.4.3. Objets géométriques spécifiés par l'O.G.C dans
PostGIS
- 5.4.4. Exemples d'objtes géométriques
- 5.4.5. Insertion d objets géometriques - GeometryFromText()
- 5.4.6. Insertion des données dans la table
- 5.4.7. Question: Quelles sont les aires des objets? - Area2d()
-
- 5.4.8. Question: Quel sont les types géométriques des objets? -
GeometryType() -
- 5.4.9. Question: Qui est dans le bâtiment 2? - Distance() -
- 5.4.10. Question: Qui est dans le bâtiment 2? - WithIn() -
- 5.4.11. Question: Quel est l'objet géométrique le plus proche du
pieton 2? - Min(), Distance() -
- 5.5. Exemples de requêtes spatiales II
- 5.5.1. Démo de quelques requêtes en ligne avec SVG
- 5.5.2. Chargement des données par SQL
- 5.5.3. Chargement de données par ESRI Shapefiles (shp2pgsql)
- 5.5.4. Question-Pratique: Qu'elle est la version de
PostgreSQL?
- 5.5.5. Question-Pratique: Où se trouve notre répertoire de bases de
données? - PGDATA -
- 5.5.6. Question-Pratique: Qui sont les utilisateurs de
PostgreSQL?
- 5.5.7. Question-Pratique: Quelles sont les infos sur les outils
compilés pour PostGIS?
- 5.5.8. Question-Pratique: Quel est le listing des bases de
PostreSQL?
- 5.5.9. Question-Pratique: Quelles sont les tables contenues dans la
base?
- 5.5.10. Question-Pratique: Utiliser une vue pour simplifier la
recherche du listing des tables.
- 5.5.11. Question-Pratique: Avec psql, comment obtenir rapidement un
bref rappel de la synthaxe des commandes SQL de PostgreSQL?
- 5.5.12. Question: Où sont stockées les informations relatives aux
données spatiales (métadonnées) des tables avec PostGIS? - table
geometry_columns -
- 5.5.13. Question-Pratique: Comment créer une fonction en PLP/PGSQL
qui puisse faire le différentiel entre les tables référencées par
geometry_columns et toutes les tables contenus dans le schéma public
de la base (tables non géospatiales)?
- 5.5.14. Question: Comment sont stockées les données géométriques avec
PostGIS?
- 5.5.15. Question: Quelles sont les aires et les périmètres des
bâtiments?
- 5.5.16. Question: Qui est dans le bâtiment Résidence des
Mousquetaires ?
- 5.5.17. Question: Quelles distances séparent les bâtiments?
- 5.5.18. Question: Combien de points composent chaque objet de la
table great_roads? - NumPoints() -
- 5.5.19. Question: Dans la table great_roads, quels sont les premier
et dernier point de la Rue Paul Valéry? - StartPoint(), EndPoint()
-
- 5.5.20. Question: Quels sont les coordonnées des centres des
bâtiments (buildings)? - Centroid() -
- 5.5.21. Question: Comment garantir de toujours avoir un point sur un
POLYGON autre que son centre en dépit de sa convexité/concavité? -
PointOnSurface() -
- 5.5.22. Question: Quels sont les points d'intersection entre les
petites routes (small_roads) et les grandes routes
(great_roads)?
- 5.5.23. Quelle distance (relative au tracé de la rue Paul Valéry)
dois-je couvrir si je pars de l'entrée la Rue Paul Valéry (table
great_roads) jusqu'à son point de rencontre (intersection) avec la
Rue Voltaire (table small_roads)? -
line_locate_point(),line_interpolate_point() -
- 5.5.24. Extraire de la Rue Paul Valéry la portion de route joignant
le premier cinquième 1/5 au quatrième cinquième (4/5) de cette rue -
line_substring() -
- 5.5.25. Question: Quel bâtiment est le plus proche de la personne
2?
- 5.5.26. Question: Quel bâtiment ne contient aucune personne?
- 5.5.27. Question: Quels sont les personnes présentes dans les
bâtiments?
- 5.5.28. Question: Combien y-a-t-il de personnes par
bâtiments?
- 5.5.29. Question: Quel est l'aire d'intersection entre la rivière et
les parcs?
- 5.5.30. Question:Quel bâtiment est contenu dans le parc Mangueret I?
- Contains() -
- 5.5.31. Question:Quelles sont les personnes proches de la rivière
dans un rayon de 5 mètres? - Buffer () -
- 5.5.32. Question: Quel parc contient un "trou"? - Nrings() -
- 5.5.33. Question: Quels sont les bâtiments que rencontrent la ligne
qui relie la personne 5 à la personne 13? - MakeLine() -
- 5.5.34. Question: Comment arrondir la position des personnes (table
personnes) avec un chiffre après la virgule? -SnapTogrid()-
- 5.5.35. Application: Utiliser les déclencheurs (triggers) en PL/PGSQL
de PostgreSQL pour suivre à la trace la personne 7 quand elle se
déplace. Selon sa position, savoir quel est le bâtiment qui lui est
le plus proche ou le bâtiment dans lequel elle se trouve?
- 6. Etudes de cas
- 6.1. Cas pratique I: Etude détaillée, manipulation de données, cas
pratique avec MapServer
- 6.1.1. Importation des communes du Languedoc-Roussillon
- 6.1.2. Afficher les informations relatives au Lambert II Etendu
depuis la table spatial_ref_sys - get_proj4_from_srid() -
- 6.1.3. Question: Comment faire pour effacer la colonne géométrique
sans effacer les données attributaires ? - DropGeometryColumn()
-
- 6.1.4. Question: Comment faire pour effacer une table géométrique,
avant une réimportation si les méta-données à utiliser vont
changer?
- 6.1.5. Question: Comment faire si on a oublié de préciser
l'identifiant de système de projection? - UpdateGeometrySrid()
-
- 6.1.6. Question: Si on s'est trompé dans le système de projection,
comment faire pour reprojetter dans un autre système de manière
définitive ? - Transform() -
- 6.1.7. Création d'index spatiaux Gist, Vacuum de la base
- 6.1.8. Question: Qu'elle est l'étendue géographique/emprise de la
table communes_lr? - Extent() -
- 6.1.9. Visualisation des données avec MapServer
- 6.1.10. Question: Quelles sont les comunes avoisinantes de
Montpellier?, Utilité des index spatiaux - Distance(), &&
-
- 6.1.11. Utilité des index spatiaux - temps demandé pour exécuter la
requête
- 6.1.12. Créer une table communes_avoisinantes correspondant aux
communes avoisinantes de MONTPELLIER, extraite et conforme à la
structure de la table communes_lr, exploitable par
MapServer.
- 6.1.13. Requête 1: Qu'elle est l'intersection entre MONTPELLIER et
les communes de LATTES et de JUVIGNAC?- Intersection()- Que vaut
cette géométrie en SVG? - AsSVG(),
- 6.1.14. Requête 2: Qu'elle est la commune ayant la plus petite
aire?
- 6.1.15. Mapfile générale pour la table communes_avoisinantes et les
deux requêtes précédentes
- 6.1.16. Exercice: Obtenir une table departements_lr qui contient les
contours départmentaux du Languedoc-Roussillon à partir de la table
communes_lr
- 6.1.17. Exercice: Trouver les communes du Gard et de l'Aude qui sont
limitrophes à l'Hérault et les afficher grâce à MapServer.
- 6.1.18. QGIS: Affichage des tables précédentes
- 6.1.19. Exemple de projet sous GNU/Linux avec
MapServer/PostgreSQL/PostGIS: savoir si à une échelle donnée, quel
sera le meilleur format d'impression de A4 à A0 pour savoir si un
polygone ne débordera du cadre de la carte
- 6.2. Cas pratique II: Réunifier des tronçons d'un réseau
hydrologique d'un département
- 6.2.1. Objectifs
- 6.2.2. Mise en oeuvre
- 6.2.3. Questions