Bienvenue sur PostGIS.fr

Bienvenue sur PostGIS.fr , le site de la communauté des utilisateurs francophones de PostGIS.

PostGIS ajoute le support d'objets géographique à la base de données PostgreSQL. En effet, PostGIS "spatialise" le serverur PostgreSQL, ce qui permet de l'utiliser comme une base de données SIG.

Maintenu à jour, en fonction de nos disponibilités et des diverses sorties des outils que nous testons, nous vous proposons l'ensemble de nos travaux publiés en langue française.


Ignore:
Timestamp:
26/09/2011 16:17:55 (13 years ago)
Author:
nbozon
Message:

Section 0 to 8 corrected

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/workshop-foss4g/geometries.rst

    r20 r37  
    11.. _geometries: 
    22 
    3 Partie 8 : les géometries 
     3Partie 8 : Les géometries 
    44===================== 
    55 
     
    77------------ 
    88 
    9 Dans :ref:`une partie précédente<loading_data>` nous avons charger différentes données. Avant de commencer à jouer avec, commençons par regarder quelques exemples simples. Depuis pgAdmin, choisissez encore la base de donnée **nyc** et ouvrez l'outils de requêtage SQL. Copiez cette exemple de code SQL (aprÚs avoir supprimer le contenu présent défaut si nécessaire) puis exécutez-le. 
     9Dans :ref:`une partie précédente<loading_data>` nous avons charger différentes données. Avant de commencer à jouer avec, commençons par regarder quelques exemples simples. Depuis pgAdmin, choisissez de nouveau la base de donnée **nyc** et ouvrez l'outil de requêtage SQL. Copiez cette exemple de code SQL (aprÚs avoir supprimer le contenu présent par défaut si nécessaire) puis exécutez-le. 
    1010 
    1111.. code-block:: sql 
     
    3333Dans le respect de la spécification Simple Features for SQL (:term:`SFSQL`), PostGIS fournit deux tables pour récupérer et s'informer sur les types de géométries disponibles dans une base de données spécifique. 
    3434 
    35 * La premiÚre table, ``spatial_ref_sys``, définit tout les systÚme de projection connu de la base de données et sera décrite plus en détals plus tard.   
     35* La premiÚre table, ``spatial_ref_sys``, définit tout les systÚmes de projection connus de la base de données et sera décrite plus en détals plus tard.   
    3636* La seconde table, ``geometry_columns``, fournit une liste de toutes les "entités" (définit comme un objet avec un attribut géométrique) et les détails de base relatives à ces entités.  
    3737 
     
    5454* La colonne ``type`` définit le type de géométrie comme décrit plus tÃŽt, nous avons déjà vu les points et les lignes.   
    5555 
    56 En interrogeant cette table, les clients SIG et les libraires peuvent déterminer quoi attendre lors de la récupration des données et peuvent réaliser les opération de reprojection, transformation ou rendu sans avoir a inspecter chaque géométrie. 
    57  
    58 Réprésenter des objets du mode réel 
     56En interrogeant cette table, les clients SIG et les libraires peuvent déterminer quoi attendre lors de la récupération des données et peuvent réaliser les opération de reprojection, transformation ou rendu sans avoir à inspecter chaque géométrie. 
     57 
     58Réprésenter des objets du monde réel 
    5959----------------------------------- 
    6060 
    61 La spécification Simple Features for SQL (:term:`SFSQL`), le standard ayant guidé le développement de PostGIS, définit comment les objets du monde réel doivent être représentés. En considérant une forme continue à une seule résolution fixe, nous obtenu un piÚtre représentation des objets. SFSQL considÚre uniquement les représentations en 2 dimensions. PostGIS a étendu cela en ajoutant les représentation en 3 et 4 dimensions, plus récemment la spécification SQL-Multimedia Part 3 (:term:`SQL/MM`) a officiellement définit sa propre représenation. 
    62  
    63 Notre table exemple contient différents types de géométries Nous pouvons récupérer les informations de chaque objets en utilisant les fonctions qui lisent les métadonnées de la géométrie. 
     61La spécification Simple Features for SQL (:term:`SFSQL`), le standard ayant guidé le développement de PostGIS, définit comment les objets du monde réel doivent être représentés. En considérant une forme continue à une seule résolution fixe, nous obtenons une piÚtre représentation des objets. SFSQL considÚre uniquement les représentations en 2 dimensions. PostGIS a étendu cela en ajoutant les représentation en 3 et 4 dimensions. Plus récemment, la spécification SQL-Multimedia Part 3 (:term:`SQL/MM`) a officiellement définit sa propre représentation. 
     62 
     63Notre table exemple contient différents types de géométries. Nous pouvons récupérer les informations de chaque objet en utilisant les fonctions qui lisent les métadonnées de la géométrie. 
    6464 
    6565 * :command:`ST_GeometryType(geometry)` retourne le type de la géométrie 
     
    9090   :align: center 
    9191 
    92 Un **point** spatiale représente une localisation unique sur la Terre. Ce point est représenté par une seule coordonnée (incluant soit 2, 3 ou 4 dimensions). Les points sont utilisés pour représenter des objets lorsque le détails exact du contour n'est pas important à une échelle donnée. Par exemple, les villes sur une carte du monde pourraient être décrite sous la forme de points alors qu'une carte régionale utiliserait une représentation polygonale des villes. 
     92Un **point** représente une localisation unique sur la Terre. Ce point est représenté par une seule coordonnée (incluant soit 2, 3 ou 4 dimensions). Les points sont utilisés pour représenter des objets lorsque le détails exact du contour n'est pas important à une échelle donnée. Par exemple, les villes sur une carte du monde peuvent être décrite sous la forme de points alors qu'une carte régionale utiliserait une représentation polygonale des villes. 
    9393 
    9494.. code-block:: sql 
     
    102102  POINT(0 0) 
    103103 
    104 Ceraints des fonctions spécifiques pour travailler avec les points sont : 
     104Ceraines des fonctions spécifiques pour travailler avec les points sont : 
    105105 
    106106 * :command:`ST_X(geometry)` retourne la composante X 
     
    115115    WHERE name = 'Point'; 
    116116 
    117 La table des stations de métros de la ville de New York  (``nyc_subway_stations``) est un ensemble de données représenté sous la forme de points. La requête SQL suivante reverra la géométrie associée à un point (dans la colonne :command:`ST_AsText`). 
     117La table des stations de métro de la ville de New York  (``nyc_subway_stations``) est un ensemble de données représenté sous la forme de points. La requête SQL suivante reverra la géométrie associée à un point (dans la colonne :command:`ST_AsText`). 
    118118 
    119119.. code-block:: sql 
     
    130130   :align: center 
    131131 
    132 Une **ligne** est un chemin entre plusieurs points. Elle prend la forme d'un tableay ordonné de deux (ou plus) points. Les routes et les riviÚres sont tipyquement représenté sous la forme de lignes. Une ligne est dire **fermée** si elle commence et se fini en un même point. Elle est dite **simple** si elle ne se coupe pas ni se touche elle-même (sauf à ses extrémités si elle est fermée). Une ligne peut être à la fois **fermée** et **simple**. 
    133  
    134 Le réseau des rues de New York (``nyc_streets``) a été chargé plus tÃŽt. Cet ensemble de données contient les détails comme le nom et le type. Une rue du monde réelle pourrait être constituée de plusieurs lignes, chacune représentant une file de la avec différents attributs. 
     132Une **ligne** est un chemin entre plusieurs points. Elle prend la forme d'un tableau ordonné de deux (ou plusieurs) points. Les routes et les riviÚres sont typiquement représentés sous la forme de lignes. Une ligne est dite **fermée** si elle commence et fini en un même point. Elle est dite **simple** si elle ne se coupe pas ou ne se touche pas elle-même (sauf à ses extrémités si elle est fermée). Une ligne peut être à la fois **fermée** et **simple**. 
     133 
     134Le réseau des rues de New York (``nyc_streets``) a été chargé auparavant. Cet ensemble de données contient les détails comme le nom et le type. Une rue du monde réel pourrait être constituée de plusieurs lignes, chacune représentant une file avec différents attributs. 
    135135 
    136136La requête SQL suivante retourne la géométrie associée à une ligne (dans la colonne :command:`ST_AsText`) : 
     
    174174Un polygone est représenté comme une zone. Le contour externe du polygone est représenté par une ligne simple et fermée. Les trous sont représenté de la même maniÚre. 
    175175 
    176 Les polygones sont utiliser pour représenter les objets dont les tailles et la forme sont importants. Les limites de villes, les parks, les batiments ou les cours d'eau sont habituellement représenté par des polygones lorsque l'échelle est suffisament élevée pour voir distinguer leurs zones. Les routes et les riviÚres peuvent parfois être représenté comme des polygones. 
    177  
    178 La requête SQL suivante retournera la géométrie associée à un polygon (dans la colonne :command:`ST_AsText`). 
     176Les polygones sont utilisés pour représenter les objets dont les tailles et la forme sont importants. Les limites de villes, les parcs, les bâtiments ou les cours d'eau sont habituellement représenté par des polygones lorsque l'échelle est suffisament élevée pour voir distinguer leurs zones. Les routes et les riviÚres peuvent parfois être représenté comme des polygones. 
     177 
     178La requête SQL suivante retournera la géométrie associée à un polygone (dans la colonne :command:`ST_AsText`). 
    179179 
    180180.. code-block:: sql 
     
    193193 POLYGON((0 0, 10 0, 10 10, 0 10, 0 0),(1 1, 1 2, 2 2, 2 1, 1 1)) 
    194194 
    195 Le premier polygon a seulement une ligne. Le second a un "trou". La plupart des systÚmes de rendu graphique supportent le concept de "polygone", mais les systÚme SIG sont les seuls a accepter que les polygones puisse contenir des trous. 
     195Le premier polygone a seulement une ligne. Le second a un "trou". La plupart des systÚmes de rendu graphique supportent le concept de "polygone", mais les systÚme SIG sont les seuls à accepter que les polygones puissent contenir des trous. 
    196196 
    197197.. image:: ./screenshots/polygons.png 
    198198 
    199 Certaines des fonctions spatiales spécifique de traitement des polygones sont : 
     199Certaines des fonctions spatiales spécifiques de traitement des polygones sont : 
    200200 
    201201 * :command:`ST_Area(geometry)` retourne l'aire de polygones 
    202  * :command:`ST_NRings(geometry)` retourne le nombre de contour (habituellement 1, plus lorsqu'il y a des trous) 
    203  * :command:`ST_ExteriorRing(geometry)` rentourne le contour extérieur 
     202 * :command:`ST_NRings(geometry)` retourne le nombre de contours (habituellement 1, plus lorsqu'il y a des trous) 
     203 * :command:`ST_ExteriorRing(geometry)` retourne le contour extérieur 
    204204 * :command:`ST_InteriorRingN(geometry,n)` retourne le contour intérieur numéro n 
    205205 * :command:`ST_Perimeter(geometry)` retourne la longueur de tout les contours 
     
    223223~~~~~~~~~~~~~~~~  
    224224 
    225 Il y a quatre types de collections, qui regroupe ensembles plusieurs géométries simples. 
     225Il y a quatre types de collections, qui regroupe plusieurs géométries simples ensemble. 
    226226 
    227227 * **MultiPoint**, une collection de points 
    228228 * **MultiLineString**, une collection de lignes 
    229229 * **MultiPolygon**, une collection de polygones 
    230  * **GeometryCollection**, une collections hétérogÚne de n'importe quelle géométrie (dont d'autre collections) 
    231  
    232 Les collections sont un concept présents dans les logiciels SIG  plus que dans les application de rendu graphique générique. Elles sont utiles pour directement modeler  les objets du monde réel comme des objet spatiaux. Par exemple, comment modéliser une parcelle qui é coupée par un chemin ? Comme un **MultiPolygon**, ayant une partie de chaque coté du chemin. 
     230 * **GeometryCollection**, une collection hétérogÚne de n'importe quelle géométrie (dont d'autre collections) 
     231 
     232Les collections sont un concept présents dans les logiciels SIG  plus que dans les applications de rendu graphique génériques. Elles sont utiles pour directement modeler les objets du monde réel comme des objet spatiaux. Par exemple, comment modéliser une parcelle qui a été coupée par un chemin ? Comme un **MultiPolygon**, ayant une partie de chaque coté du chemin. 
    233233 
    234234.. image:: ./screenshots/collection2.png 
     
    255255 * :command:`ST_Length(geometry)` retourne la longueur totale des composantes de types lignes 
    256256 
    257  
    258  
    259257Entré / Sortie des géométries 
    260258----------------------------- 
    261259 
    262 Dans la base de données, les géométries sont stoquées dans un format utilisé uniquement par le programme PostGIS. Afin que des programmes externes puissent insérer et récupérer les données utiles, elles ont besoin d'être converties dans un format compris par l'application. Heureusement, PostGIS supporte un grand nombre de formats en entrée et en sortie : 
     260Dans la base de données, les géométries sont stockées dans un format utilisé uniquement par le programme PostGIS. Afin que des programmes externes puissent insérer et récupérer les données utiles, elles ont besoin d'être converties dans un format compris par l'application. Heureusement, PostGIS supporte un grand nombre de formats en entrée et en sortie : 
    263261 
    264262 * Format texte bien connu (Well-known text :term:`WKT`) 
     
    321319.. image:: ./geometries/represent-06.png 
    322320 
    323 En plus de pouvoir générer les différents formats en sortie (WKT, WKB, GML, KML, JSON, SVG), PostGIS permet aussi de lire 4 de ces formats (WKT, WKB, GML, KML). La plupart des application utilisent des fonctions créant des géométries à l'aide du format WKT ou WKB, mais les autres marchent aussi. Voici un exemple qui lit du GML et retourne du JSON : 
     321En plus de pouvoir générer les différents formats en sortie (WKT, WKB, GML, KML, JSON, SVG), PostGIS permet aussi de lire 4 de ces formats (WKT, WKB, GML, KML). La plupart des applications utilisent des fonctions créant des géométries à l'aide du format WKT ou WKB, mais les autres marchent aussi. Voici un exemple qui lit du GML et retourne du JSON : 
    324322 
    325323.. code-block:: sql 
     
    332330------------------- 
    333331 
    334 `Populate_Geometry_Columns <http://postgis.org/docs/Populate_Geometry_Columns.html>`_: s'assure que les colonnes géométriques on les contraintes spatiales appropriées et sont présentes dans la table  geometry_columns. 
     332`Populate_Geometry_Columns <http://postgis.org/docs/Populate_Geometry_Columns.html>`_: s'assure que les colonnes géométriques on les contraintes spatiales appropriées et qu'elles sont présentes dans la table  geometry_columns. 
    335333 
    336334`ST_Area <http://postgis.org/docs/ST_Area.html>`_: retourne l'aire de la surface si c'est un polygon ou un multi-polygone. Pour le type "geometry" l'aire est dans l'unité du SRID. Pour les "geography" l'aire est en mÚtres carrés. 
     
    346344`ST_AsEWKT <http://postgis.org/docs/ST_AsEWKT.html>`_: retourne la représentation de la geometrie au format Well-Known Text (WKT) avec la métadonnée SRID. 
    347345 
    348 `ST_AsGeoJSON <http://postgis.org/docs/ST_AsGeoJSON.html>`_: retourne la géométries au format GeoJSON. 
    349  
    350 `ST_AsGML <http://postgis.org/docs/ST_AsGML.html>`_: retourne la géométries au format GML version 2 ou 3. 
    351  
    352 `ST_AsKML <http://postgis.org/docs/ST_AsKML.html>`_: retourne la géométries au format KML. Nombreuses variantes. Par défaut : version=2 et precision=15. 
    353  
    354 `ST_AsSVG <http://postgis.org/docs/ST_AsSVG.html>`_: retourne la géométries au format SVG. 
     346`ST_AsGeoJSON <http://postgis.org/docs/ST_AsGeoJSON.html>`_: retourne la géométrie au format GeoJSON. 
     347 
     348`ST_AsGML <http://postgis.org/docs/ST_AsGML.html>`_: retourne la géométrie au format GML version 2 ou 3. 
     349 
     350`ST_AsKML <http://postgis.org/docs/ST_AsKML.html>`_: retourne la géométrie au format KML. Nombreuses variantes. Par défaut : version=2 et precision=15. 
     351 
     352`ST_AsSVG <http://postgis.org/docs/ST_AsSVG.html>`_: retourne la géométrie au format SVG. 
    355353 
    356354`ST_ExteriorRing <http://postgis.org/docs/ST_ExteriorRing.html>`_: retourne une ligne représentant le contour extérieur du polygone. Retourne NULL si la géométrie n'est pas un polygone. Ne fonctionne pas avec les multi-polygone. 
     
    382380`ST_Perimeter <http://postgis.org/docs/ST_Perimeter.html>`_: retourne la longueur du contours extérieur d'une valeur de type ST_Surface ou ST_MultiSurface (polygone, multi-polygone). 
    383381 
    384 `ST_SRID <http://postgis.org/docs/ST_SRID.html>`_: retourne l'identifiant du systÚme de références spatiales définit dans la table spatial_ref_sys d'un objet de type ST_Geometry. 
     382`ST_SRID <http://postgis.org/docs/ST_SRID.html>`_: retourne l'identifiant du systÚme de référence spatiale définit dans la table spatial_ref_sys d'un objet de type ST_Geometry. 
    385383 
    386384`ST_StartPoint <http://postgis.org/docs/ST_StartPoint.html>`_: retourne le premier point d'une ligne. 
Note: See TracChangeset for help on using the changeset viewer.