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:47:24 (13 years ago)
Author:
nbozon
Message:

Section 8 to 13 corrected

File:
1 edited

Legend:

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

    r22 r38  
    11.. _spatial_relationships: 
    22 
    3 Partie 10 : relations spatiales 
     3Partie 10 : Les relations spatiales 
    44================================= 
    55 
    6 Jusqu'à maintenant nous n'avons utilisé que des fonctions qui permettent de mesurer (:command:`ST_Area`, :command:`ST_Length`), de serialiser (:command:`ST_GeomFromText`) ou désérialiser (:command:`ST_AsGML`) des géométries. Ces fonctions ont en commun de fonctionner uniquement sur une géométrie à la fois. 
     6Jusqu'à maintenant nous avons utilisé uniquement des fonctions qui permettent de mesurer (:command:`ST_Area`, :command:`ST_Length`), de sérialiser (:command:`ST_GeomFromText`) ou désérialiser (:command:`ST_AsGML`) des géométries. Ces fonctions sont toutes utilisées sur une géométrie à la fois. 
    77 
    8 Les base de données spatiales sont puissantes car elle ne font pas que stoquer les géométries, elle ont aussi la faculté de vérifier les *relations entre les géométries*. 
     8Les base de données spatiales sont puissantes car elle ne se contentent pas de stocker les géométries, elle peuvent aussi vérifier les *relations entre les géométries*. 
    99 
    10 Pour les questions comme "Quel est le plus proche garage à vélo prêt du park ?" ou "Ou est l'intersection du métros avec telle rue ?" nous devrons comparer les géométries représentant les garage à vélo, les rues et les lignes de métros. 
     10Pour les questions comme "Quel est le plus proche garage à vélo prêt du parc ?" ou "Ou est l'intersection du métro avec telle rue ?", nous devrons comparer les géométries représentant les garage à vélo, les rues et les lignes de métro. 
    1111 
    1212Le standard de l'OGC définit l'ensemble suivant de fonctions pour comparer les géométries. 
     
    1515--------- 
    1616  
    17 :command:`ST_Equals(geometry A, geometry B)` test l'égalité spatiale de deux géométries.  
     17:command:`ST_Equals(geometry A, geometry B)` teste l'égalité spatiale de deux géométries.  
    1818 
    1919.. figure:: ./spatial_relationships/st_equals.png 
    2020   :align: center 
    2121 
    22 ST_Equals retourne TRUE si les deux géométries sont du même type, ont des coordonnées x.y identiques. 
     22ST_Equals retourne TRUE si les deux géométries sont du même type et ont des coordonnées x.y identiques. 
    2323 
    2424PremiÚrement, essayons de récupérer la représentation d'un point de notre table ``nyc_subway_stations``. Nous ne prendrons que l'entrée : 'Broad St'. 
     
    3636   Broad St | 0101000020266900000EEBD4CF27CF2141BC17D69516315141 | POINT(583571 4506714) 
    3737  
    38 Maintenant, copiez / collez la valeur afficher pour tester la fonction :command:`ST_Equals`: 
     38Maintenant, copiez / collez la valeur affichée pour tester la fonction :command:`ST_Equals`: 
    3939 
    4040.. code-block:: sql 
     
    5050.. note:: 
    5151 
    52   La représentation du point n'est pas vraiment compréhensible (``0101000020266900000EEBD4CF27CF2141BC17D69516315141``) mais c'est exactement la représentation des coordonnées. Pour tester l'égalité, utiliser ce format est nécessaire. 
     52  La représentation du point n'est pas vraiment compréhensible (``0101000020266900000EEBD4CF27CF2141BC17D69516315141``) mais c'est exactement la représentation des coordonnées. Pour tester l'égalité, l'utilisation de ce format est nécessaire. 
    5353 
    5454 
     
    5656------------------------------------------------------ 
    5757 
    58 :command:`ST_Intersects`, :command:`ST_Crosses`, et :command:`ST_Overlaps` test si l'intérieur des géométries s'intersect, se croise ou se chevauche. 
     58:command:`ST_Intersects`, :command:`ST_Crosses`, et :command:`ST_Overlaps` teste si l'intérieur des géométries s'intersecte, se croise ou se chevauche. 
    5959 
    6060.. figure:: ./spatial_relationships/st_intersects.png 
    6161   :align: center 
    6262 
    63 :command:`ST_Intersects(geometry A, geometry B)` retourne t (TRUE) si l'intersection ne rénvoit pas un ensemble vide de résultats. Intersects retourne le résultat exactement inverse de la fonction disjoint. 
     63:command:`ST_Intersects(geometry A, geometry B)` retourne t (TRUE) si l'intersection ne renvoit pas un ensemble vide de résultats. Intersects retourne le résultat exactement inverse de la fonction disjoint. 
    6464 
    6565.. figure:: ./spatial_relationships/st_disjoint.png 
     
    7171   :align: center 
    7272 
    73 Pour les comparaisons de couples de types multipoint/polygon, multipoint/linestring, linestring/linestring, linestring/polygon, et linestring/multipolygon, :command:`ST_Crosses(geometry A, geometry B)` retourne t (TRUE) si les résultats de l'intersection  
    74  
    75 For multipoint/polygon, multipoint/linestring, linestring/linestring, linestring/polygon, and linestring/multipolygon comparisons, :command:`ST_Crosses(geometry A, geometry B)` returns t (TRUE) if the intersection results in a geometry whose dimension is one less than the maximum dimension of the two source geometries and the intersection set is interior to both source geometries. 
     73Pour les comparaisons de couples de types multipoint/polygon, multipoint/linestring, linestring/linestring, linestring/polygon, et linestring/multipolygon, :command:`ST_Crosses(geometry A, geometry B)` retourne t (TRUE) si les résultats de l'intersection est à l'intérieur des deux géométries. 
    7674 
    7775.. figure:: ./spatial_relationships/st_overlaps.png 
     
    9997---------- 
    10098 
    101 :command:`ST_Touches` test si deux géométries se touchent en leur contour extérieur, mais leur contours intérieur ne s'intersectent pas 
     99:command:`ST_Touches` teste si deux géométries se touchent en leur contours extérieurs, mais leur contours intérieurs ne s'intersectent pas 
    102100 
    103101.. figure:: ./spatial_relationships/st_touches.png 
    104102   :align: center 
    105103 
    106 :command:`ST_Touches(geometry A, geometry B)` retourn TRUE soit si les contours des géométries s'intersectent ou si l'un des contours intérieur de l'une intersecte le contour extérieur de l'autre. 
     104:command:`ST_Touches(geometry A, geometry B)` retourn TRUE soit si les contours des géométries s'intersectent ou si l'un des contours intérieurs de l'une intersecte le contour extérieur de l'autre. 
    107105 
    108106ST_Within et ST_Contains 
     
    114112   :align: center 
    115113     
    116 :command:`ST_Within(geometry A , geometry B)` retourne TRUE si la premiÚre géométries est complÚtement contenue dans l'autre. ST_Within test l'exact opposé au résultat de ST_Contains.   
     114:command:`ST_Within(geometry A , geometry B)` retourne TRUE si la premiÚre géométrie est complÚtement contenue dans l'autre. ST_Within test l'exact opposé au résultat de ST_Contains.   
    117115 
    118 :command:`ST_Contains(geometry A, geometry B)` retourne TRUE si la seconde géométries est complÚtement contenue dans la premiÚre géométrie. 
     116:command:`ST_Contains(geometry A, geometry B)` retourne TRUE si la seconde géométrie est complÚtement contenue dans la premiÚre géométrie. 
    119117 
    120118 
     
    122120-------------------------- 
    123121 
    124 Une question qui arrive fréquemment dans le domaine du SIG est "trouver tout les trucs qui se trouve à une distance X de cet autre truc". 
     122Une question fréquente dans le domaine du SIG est "trouver tout les éléments qui se trouvent à une distance X de cet autre élément". 
    125123 
    126 La fonction :command:`ST_Distance(geometry A, geometry B)` calcule la *plus courte* distance entre deux géoémétries. Cela est pratique pour récupérer la distance entre les objets. 
     124La fonction :command:`ST_Distance(geometry A, geometry B)` calcule la *plus courte* distance entre deux géométries. Cela est pratique pour récupérer la distance entre les objets. 
    127125 
    128126.. code-block:: sql 
     
    136134  3 
    137135 
    138 Pour tester si deux obets sont à la même distance d'un autre, la fonction :command:`ST_DWithin` fournit une test tirant proffit des indexes. Cela est trÚs utile pour répondre au questions du genre : "Combien d'arbre se situe dans un buffer de 500 mÚtres autour de cette route ?". Vous n'avez pas à calculer le buffer, vous avez simplement besoin de tester la distance entre les géométries. 
     136Pour tester si deux objets sont à la même distance d'un autre, la fonction :command:`ST_DWithin` fournit un test tirant profit des indexes. Cela est trÚs utile pour répondre a une question telle que: "Combien d'arbre se situent dans un buffer de 500 mÚtres autour de cette route ?". Vous n'avez pas à calculer le buffer, vous avez simplement besoin de tester la distance entre les géométries. 
    139137 
    140138  .. figure:: ./spatial_relationships/st_dwithin.png 
    141139     :align: center 
    142140     
    143 En utilisant de nouveau notre station de métros Broad Street, nous pouvons trouver les rues voisines (à 10 mÚtres de) de la station : 
     141En utilisant de nouveau notre station de métro Broad Street, nous pouvons trouver les rues voisines (à 10 mÚtres de) de la station : 
    144142 
    145143.. code-block:: sql 
     
    170168`ST_Contains(geometry A, geometry B) <http://postgis.org/docs/ST_Contains.html>`_ : retourne TRUE si aucun des points de B n'est à l'extérieur de A, et au moins un point de l'intérieur de B est à l'intérieur de A. 
    171169 
    172 `ST_Crosses(geometry A, geometry B)  <http://postgis.org/docs/ST_Crosses.html>`_ : retourne TRUE si la géométrie A a certains, mais pas la totalité de, ses points à l'intérieur de B. 
     170`ST_Crosses(geometry A, geometry B)  <http://postgis.org/docs/ST_Crosses.html>`_ : retourne TRUE si la géométrie A a certains, mais pas la totalité, de ses points à l'intérieur de B. 
    173171 
    174172`ST_Disjoint(geometry A , geometry B) <http://postgis.org/docs/ST_Disjoint.html>`_ : retourne TRUE si les gémétries nes s'intersectent pas - elles n'ont aucun point en commun. 
Note: See TracChangeset for help on using the changeset viewer.