Index: /trunk/workshop-foss4g/spatial_relationships.rst
===================================================================
--- /trunk/workshop-foss4g/spatial_relationships.rst	(revision 21)
+++ /trunk/workshop-foss4g/spatial_relationships.rst	(revision 22)
@@ -1,26 +1,26 @@
 .. _spatial_relationships:
 
-Section 10: Spatial Relationships
+Partie 10 : relations spatiales
 =================================
 
-So far we have only used spatial functions that measure (:command:`ST_Area`, :command:`ST_Length`), serialize (:command:`ST_GeomFromText`) or deserialize (:command:`ST_AsGML`) geometries. What these functions have in common is that they only work on one geometry at a time.
+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.
 
-Spatial databases are powerful because they not only store geometry, they also have the ability to compare *relationships between geometries*. 
+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*.
 
-Questions like âWhich are the closet bike racks to a park?â or âWhere are the intersections of subway lines and streets?â can only be answered by comparing geometries representing the bike racks, streets, and subway lines.
+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.
 
-The OGC standard defines the following set of methods to compare geometries.
+Le standard de l'OGC dÃ©finit l'ensemble suivant de fonctions pour comparer les gÃ©omÃ©tries.
 
 ST_Equals
 ---------
  
-:command:`ST_Equals(geometry A, geometry B)` tests the spatial equality of two geometries. 
+:command:`ST_Equals(geometry A, geometry B)` test l'Ã©galitÃ© spatiale de deux gÃ©omÃ©tries. 
 
 .. figure:: ./spatial_relationships/st_equals.png
    :align: center
 
-ST_Equals returns TRUE if two geometries of the same type have identical x,y coordinate values, i.e. if the secondary shape is equal (identical) to the primary shape object.
+ST_Equals retourne TRUE si les deux gÃ©omÃ©tries sont du mÃªme type, ont des coordonnÃ©es x.y identiques.
 
-First, let's retrieve a representation of a point from our ``nyc_subway_stations`` table. We'll take just the entry for 'Broad St'.
+PremiÃš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'.
 
 .. code-block:: sql
@@ -36,5 +36,5 @@
    Broad St | 0101000020266900000EEBD4CF27CF2141BC17D69516315141 | POINT(583571 4506714)
  
-Then, plug the geometry representation back into an :command:`ST_Equals` test:
+Maintenant, copiez / collez la valeur afficher pour tester la fonction :command:`ST_Equals`:
 
 .. code-block:: sql
@@ -50,24 +50,26 @@
 .. note::
 
-  The representation of the point was not very human readable (``0101000020266900000EEBD4CF27CF2141BC17D69516315141``) but it was an exact representation of the coordinate values. For a test like equality, using the exact coordinates in necessary.
+  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.
 
 
-ST_Intersects, ST_Disjoint, ST_Crosses and ST_Overlaps
+ST_Intersects, ST_Disjoint, ST_Crosses et ST_Overlaps
 ------------------------------------------------------
 
-:command:`ST_Intersects`, :command:`ST_Crosses`, and :command:`ST_Overlaps` test whether the interiors of the geometries intersect. 
+: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.
 
 .. figure:: ./spatial_relationships/st_intersects.png
    :align: center
 
-:command:`ST_Intersects(geometry A, geometry B)` returns t (TRUE) if the intersection does not result in an empty set. Intersects returns the exact opposite result of disjoint.
+: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.
 
 .. figure:: ./spatial_relationships/st_disjoint.png
    :align: center
 
-The opposite of ST_Intersects is :command:`ST_Disjoint(geometry A , geometry B)`. If two geometries are disjoint, they do not intersect, and vice-versa. In fact, it is often more efficient to test "not intersects" than to test "disjoint" because the intersects tests can be spatially indexed, while the disjoint test cannot.
+L'opposÃ© de ST_Intersects est :command:`ST_Disjoint(geometry A , geometry B)`. Si deux gÃ©omÃ©tries sont disjointes, elle ne s'intersectent pas et vice-versa. En fait, il est souvent plus Ã©fficace de tester si deux gÃ©omÃ©tries ne s'intersectent pas que de tester si elles sont dijointes du fait que le test d'intersection peut Ãªtre spatialement indexÃ© alors que le test disjoint ne le peut pas.
 
 .. figure:: ./spatial_relationships/st_crosses.png  
    :align: center
+
+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 
 
 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.
@@ -76,7 +78,7 @@
    :align: center
 
-:command:`ST_Overlaps(geometry A, geometry B)` compares two geometries of the same dimension and returns TRUE if their intersection set results in a geometry different from both but of the same dimension.
+:command:`ST_Overlaps(geometry A, geometry B)` compare deux gÃ©omÃ©tries de mÃªme dimension et retourne TRUE si leur intersection est une gÃ©omÃ©trie diffÃ©rente des deux fournies mais de mÃªme dimension.
 
-Let's take our Broad Street subway station and determine its neighborhood using the :command:`ST_Intersects` function:
+Essayons de prendre la station de mÃ©tro de Broad Street et de dÃ©terminer sont voisinage en utilisant la fonction :command:`ST_Intersects` :
 
 .. code-block:: sql
@@ -97,30 +99,30 @@
 ----------
 
-:command:`ST_Touches` tests whether two geometries touch at their boundaries, but do not intersect in their interiors 
+: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
 
 .. figure:: ./spatial_relationships/st_touches.png
    :align: center
 
-:command:`ST_Touches(geometry A, geometry B)` returns TRUE if either of the geometries' boundaries intersect or if only one of the geometry's interiors intersects the other's boundary.
+: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.
 
-ST_Within and ST_Contains
+ST_Within et ST_Contains
 -------------------------
 
-:command:`ST_Within` and :command:`ST_Contains` test whether one geometry is fully within the other. 
+:command:`ST_Within` et :command:`ST_Contains` test si une gÃ©omÃ©trie est totalement incluse dans l'autre. 
 
 .. figure:: ./spatial_relationships/st_within.png
    :align: center
     
-:command:`ST_Within(geometry A , geometry B)` returns TRUE if the first geometry is completely within the second geometry. ST_Within tests for the exact opposite result of ST_Contains.  
+: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.  
 
-:command:`ST_Contains(geometry A, geometry B)` returns TRUE if the second geometry is completely contained by the first geometry. 
+: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.
 
 
-ST_Distance and ST_DWithin
+ST_Distance et ST_DWithin
 --------------------------
 
-An extremely common GIS question is "find all the stuff within distance X of this other stuff". 
+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".
 
-The :command:`ST_Distance(geometry A, geometry B)` calculates the *shortest* distance between two geometries and returns it as a float. This is useful for actually reporting back the distance between objects.
+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.
 
 .. code-block:: sql
@@ -134,10 +136,10 @@
   3
 
-For testing whether two objects are within a distance of one another, the :command:`ST_DWithin` function provides an index-accelerated true/false test. This is useful for questions like "how many trees are within a 500 meter buffer of the road?". You don't have to calculate an actual buffer, you just have to test the distance relationship.
+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.
 
   .. figure:: ./spatial_relationships/st_dwithin.png
      :align: center
     
-Using our Broad Street subway station again, we can find the streets nearby (within 10 meters of) the subway stop:
+En utilisant de nouveau notre station de mÃ©tros Broad Street, nous pouvons trouver les rues voisines (Ã  10 mÃštres de) de la station :
 
 .. code-block:: sql
@@ -159,30 +161,30 @@
      Nassau St
 
-And we can verify the answer on a map. The Broad St station is actually at the intersection of Wall, Broad and Nassau Streets.
+Nous pouvons vÃ©rifier la rÃ©ponse sur une carte. La station Broad St est actuellement Ã  l'intersection des rues Wall, Broad et Nassau. 
 
 .. image:: ./spatial_relationships/broad_st.jpg
 
-Function List
--------------
+Liste des fonctions
+-------------------
 
-`ST_Contains(geometry A, geometry B) <http://postgis.org/docs/ST_Contains.html>`_: Returns true if and only if no points of B lie in the exterior of A, and at least one point of the interior of B lies in the interior of A.
+`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.
 
-`ST_Crosses(geometry A, geometry B)  <http://postgis.org/docs/ST_Crosses.html>`_: Returns TRUE if the supplied geometries have some, but not all, interior points in common.
+`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.
 
-`ST_Disjoint(geometry A , geometry B) <http://postgis.org/docs/ST_Disjoint.html>`_: Returns TRUE if the Geometries do not "spatially intersect" - if they do not share any space together.
+`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.
 
-`ST_Distance(geometry A, geometry B)  <http://postgis.org/docs/ST_Distance.html>`_: Returns the 2-dimensional cartesian minimum distance (based on spatial ref) between two geometries in projected units. 
+`ST_Distance(geometry A, geometry B)  <http://postgis.org/docs/ST_Distance.html>`_ : retourne la distance cartÃ©sienne en 2 dimensions minimum entre deux gÃ©omÃ©tries dans l'unitÃ© de la projection. 
 
-`ST_DWithin(geometry A, geometry B, radius) <http://postgis.org/docs/ST_DWithin.html>`_: Returns true if the geometries are within the specified distance (radius) of one another. 
+`ST_DWithin(geometry A, geometry B, radius) <http://postgis.org/docs/ST_DWithin.html>`_ : retourne TRUE si les gÃ©omÃ©tries sont distante (radius) l'une de l'autre. 
 
-`ST_Equals(geometry A, geometry B) <http://postgis.org/docs/ST_Equals.html>`_: Returns true if the given geometries represent the same geometry. Directionality is ignored.
+`ST_Equals(geometry A, geometry B) <http://postgis.org/docs/ST_Equals.html>`_ : retourn TRUE si les gÃ©omÃ©tries fournis reprÃ©sentent la mÃªme gÃ©omÃ©trie. L'ordre des entitÃ©s n'est pas prit en compte.
 
-`ST_Intersects(geometry A, geometry B) <http://postgis.org/docs/ST_Intersects.html>`_: Returns TRUE if the Geometries/Geography "spatially intersect" - (share any portion of space) and FALSE if they don't (they are Disjoint). 
+`ST_Intersects(geometry A, geometry B) <http://postgis.org/docs/ST_Intersects.html>`_ : retourne TRUE si les gÃ©omÃ©tries s'intersectent - (ont un espace en commun) et FALSE si elles n'en ont pas (elles sont disjointes). 
 
-`ST_Overlaps(geometry A, geometry B) <http://postgis.org/docs/ST_Overlaps.html>`_: Returns TRUE if the Geometries share space, are of the same dimension, but are not completely contained by each other.
+`ST_Overlaps(geometry A, geometry B) <http://postgis.org/docs/ST_Overlaps.html>`_ : retourne TRUE si les gÃ©omÃ©tries ont un espace en commun, sont de la mÃªme dimension, mais ne sont pas complÃštement contenu l'une dans l'autre.
 
-`ST_Touches(geometry A, geometry B)  <http://postgis.org/docs/ST_Touches.html>`_: Returns TRUE if the geometries have at least one point in common, but their interiors do not intersect.
+`ST_Touches(geometry A, geometry B)  <http://postgis.org/docs/ST_Touches.html>`_ : retourne TRUE si les gÃ©omÃ©tries ont au moins un point en commun, mais leur intÃ©rieurs ne s'intersectent pas.
 
-`ST_Within(geometry A , geometry B) <http://postgis.org/docs/ST_Within.html>`_: Returns true if the geometry A is completely inside geometry B
+`ST_Within(geometry A , geometry B) <http://postgis.org/docs/ST_Within.html>`_ : retourne TRUE si la gÃ©omÃ©trie A est complÃštement Ã  l'intÃ©rieur de B
 
 
Index: /trunk/workshop-foss4g/spatial_relationships_exercises.rst
===================================================================
--- /trunk/workshop-foss4g/spatial_relationships_exercises.rst	(revision 21)
+++ /trunk/workshop-foss4g/spatial_relationships_exercises.rst	(revision 22)
@@ -1,23 +1,23 @@
 .. _spatial_relationships_exercises:
 
-Section 11: Spatial Relationships Exercises
+Partie 11 : exercises sur les relations spatiales
 ===========================================
 
-Here's a reminder of the functions we saw in the last section. They should be useful for the exercises!
+Voici un rappel des fonctions que nous avons vu dans les parties prÃ©cÃ©dentes. Elles seront utiles pour les exercices !
 
-* :command:`sum(expression)` aggregate to return a sum for a set of records
-* :command:`count(expression)` aggregate to return the size of a set of records
-* :command:`ST_Contains(geometry A, geometry B)` returns true if geometry A contains geometry B 
-* :command:`ST_Crosses(geometry A, geometry B)` returns true if geometry A crosses geometry B
-* :command:`ST_Disjoint(geometry A , geometry B)` returns true if the geometries do not "spatially intersect" 
-* :command:`ST_Distance(geometry A, geometry B)` returns the minimum distance between geometry A and geometry B
-* :command:`ST_DWithin(geometry A, geometry B, radius)` returns true if geometry A is radius distance or less from geometry B
-* :command:`ST_Equals(geometry A, geometry B)` returns true if geometry A is the same as geometry B
-* :command:`ST_Intersects(geometry A, geometry B)` returns true if geometry A intersects geometry B
-* :command:`ST_Overlaps(geometry A, geometry B)` returns true if geometry A and geometry B share space, but are not completely contained by each other.
-* :command:`ST_Touches(geometry A, geometry B)` returns true if the boundary of geometry A touches geometry B
-* :command:`ST_Within(geometry A, geometry B)` returns true if geometry A is within geometry B
+ * :command:`sum(expression)` agrÃ©gation retournant la somme d'un ensemble
+ * :command:`count(expression)` agrÃ©gation retournant le nombre d'Ã©lÃ©ments d'un ensemble
+* :command:`ST_Contains(geometry A, geometry B)` retourne vrai si la gÃ©omÃ©trie A contient la gÃ©omÃ©trie B 
+* :command:`ST_Crosses(geometry A, geometry B)` retourne vrai si la gÃ©omÃ©trie A croise la gÃ©omÃ©trie B
+* :command:`ST_Disjoint(geometry A , geometry B)` retourne vrai si les gÃ©omÃ©trie ne s'intersectent pas
+* :command:`ST_Distance(geometry A, geometry B)` retourne la distance minimum entre deux gÃ©omÃ©tries
+* :command:`ST_DWithin(geometry A, geometry B, radius)` retourne vrai si la A est distante d'au plus radius de B
+* :command:`ST_Equals(geometry A, geometry B)` retourne vrai si A est la mÃªme gÃ©omÃ©trie que B
+* :command:`ST_Intersects(geometry A, geometry B)` retourne vrai si A intersecte B
+* :command:`ST_Overlaps(geometry A, geometry B)` retourne vrai si A et B on un espace en commun, mais ne sont pas complÃ©tement inclus l'un dans l'autre.
+* :command:`ST_Touches(geometry A, geometry B)` retourne vrai si le contour extÃ©rieur de A touche B
+* :command:`ST_Within(geometry A, geometry B)` retourne vrai si A est hors de B
 
-Also remember the tables we have available:
+Souvenez-vous les tables Ã  notre disposition :
 
  * ``nyc_census_blocks`` 
@@ -37,8 +37,8 @@
    * name, boroname, the_geom
 
-Exercises
+Exercices
 ---------
 
- * **"What is the geometry value for the street named 'Atlantic Commons'?"**
+ * **"Quel est la valeur gÃ©omÃ©trique de la rue nommÃ©e  'Atlantic Commons' ?"**
  
    .. code-block:: sql
@@ -52,5 +52,5 @@
      01050000202669000001000000010200000002000000093235673BE82141F319CD89A22E514170E30E0ADFE82141CB2D3EFFA52E5141
      
- * **"What neighborhood and borough is Atlantic Commons in?"**
+ * **"Quel sont les quartiers et villes sont dans Atlantic Commons ?"**
      
    .. code-block:: sql
@@ -70,5 +70,5 @@
      
 
- * **"What streets does Atlantic Commons touch?"** 
+ * **"Quelles rues touchent Atlantic Commons ?"** 
  
    .. code-block:: sql
@@ -91,5 +91,5 @@
   
 
- * **"Approximately how many people live on (within 50 meters of) Atlantic Commons?"**
+ * **"Approximativement combien de personnes vivent dans (ou Ã  un dans une zone de 50 meters autour) Atlantic Commons ?"**
  
    .. code-block:: sql
