Index: trunk/workshop-foss4g/geometries.rst
===================================================================
--- trunk/workshop-foss4g/geometries.rst	(revision 81)
+++ trunk/workshop-foss4g/geometries.rst	(revision 1)
@@ -1,17 +1,17 @@
 .. _geometries:
 
-Partie 8 : Les gÃ©ometries
-=========================
+Section 8: Geometries
+=====================
 
 Introduction
 ------------
 
-Dans :ref:`une partie prÃ©cÃ©dente<loading_data>` nous avons chargÃ© 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 supprimÃ© le contenu prÃ©sent par dÃ©faut si nÃ©cessaire) puis exÃ©cutez-le.
+In the previous :ref:`section <loading_data>`, we loaded a variety of data.  Before we start playing with our data lets have a look at some simpler examples.  In pgAdmin, once again select the **nyc** database and open the SQL query tool.  Paste this example SQL code into the pgAdmin SQL Editor window (removing any text that may be there by default) and then execute.
 
 .. code-block:: sql
 
   CREATE TABLE geometries (name varchar, geom geometry);
-
-  INSERT INTO geometries VALUES
+  
+  INSERT INTO geometries VALUES 
     ('Point', 'POINT(0 0)'),
     ('Linestring', 'LINESTRING(0 0, 1 1, 2 1, 2 2)'),
@@ -19,27 +19,26 @@
     ('PolygonWithHole', 'POLYGON((0 0, 10 0, 10 10, 0 10, 0 0),(1 1, 1 2, 2 2, 2 1, 1 1))'),
     ('Collection', 'GEOMETRYCOLLECTION(POINT(2 0),POLYGON((0 0, 1 0, 1 1, 0 1, 0 0)))');
-
+    
   SELECT Populate_Geometry_Columns();
-
+  
   SELECT name, ST_AsText(geom) FROM geometries;
 
 .. image:: ./geometries/start01.png
 
-L'exemple ci-dessus crÃ©Ã© une table (**geometries**) puis y insÃšre cinq gÃ©omÃ©tries : un point, une ligne, un polygone, un polygone avec un trou, et une collection. Les lignes insÃ©rÃ©es sont sÃ©lectionnÃ©es et affichÃ©es dans le tableau de sortie.
-
-Les tables de mÃ©tadonnÃ©es
--------------------------
-
-Dans 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.
-
-* La premiÃšre table, ``spatial_ref_sys``, dÃ©finit tous les systÃšmes de projection connus de la base de donnÃ©es et sera dÃ©crite plus en dÃ©tails plus tard.
-* 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.
+The above example CREATEs a table (**geometries**) then INSERTs five geometries: a point, a line, a polygon, a polygon with a hole, and a collection. Finally, the inserted rows are SELECTed and displayed in the Output pane.
+
+Metadata Tables
+---------------
+
+In conformance with the Simple Features for SQL (:term:`SFSQL`) specification, PostGIS provides two tables to track and report on the geometry types available in a given database. 
+
+* The first table, ``spatial_ref_sys``, defines all the spatial reference systems known to the database and will be described in greater detail later.  
+* The second table, ``geometry_columns``, provides a listing of all "features" (defined as an object with geometric attributes), and the basic details of those features.  
 
 .. image:: ./geometries/table01.png
 
-Dans l'exemple fournit en introduction, la fonction :command:`Populate_Geometry_Columns()` dÃ©tecte toutes les colonnes de la base de donnÃ©es qui contiennent des gÃ©omÃ©tries et met Ã  jour la table ``geometry_columns`` pour y inclure leurs rÃ©fÃ©rences.
-
-Regardons maintenant la table ``geometry_columns`` de notre base de donnÃ©es. Copiez cette commande dans la fenÃªtre de requÃªtage :
-
+In our introductory example, the :command:`Populate_Geometry_Columns()` function finds all the columns in the database that contain geometry and updates the ``geometry_columns`` table to include references to them.  
+
+Lets have a look at the ``geometry_columns`` table in our database.  Paste this command in the Query Tool as before:
 
 .. code-block:: sql
@@ -49,21 +48,21 @@
 .. image:: ./geometries/start08.png
 
-* ``f_table_catalog``, ``f_table_schema``, et ``f_table_name`` fournissent le nom complet de la table contenant une gÃ©omÃ©trie donnÃ©e. Ãtant donnÃ© que PostgreSQL n'utilise pas de catalogues, ``f_table_catalog`` est toujours vide.
-* ``f_geometry_column`` est le nom de la colonne qui contient la gÃ©omÃ©trie -- pour les tables ayant plusieurs colonnes gÃ©omÃ©triques, il y a un enregistrement dans cette table pour chacune.
-* ``coord_dimension`` et ``srid`` dÃ©finissent respectivement la dimension de la gÃ©omÃ©trie (en 2-, 3- or 4-dimensions) et le systÃšme de rÃ©fÃ©rence spatiale qui fait rÃ©fÃ©rence Ã  la table ``spatial_ref_sys``.
-* 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.
-
-En 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.
-
-RÃ©prÃ©senter des objets du monde rÃ©el
-------------------------------------
-
-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 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.
-
-Notre 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.
-
- * :command:`ST_GeometryType(geometry)` retourne le type de la gÃ©omÃ©trie
- * :command:`ST_NDims(geometry)` retourne le nombre de dimensions d'une gÃ©omÃ©trie
- * :command:`ST_SRID(geometry)` retourne l'identifiant de rÃ©fÃ©rence spatiale de la gÃ©omÃ©trie
+* ``f_table_catalog``, ``f_table_schema``, and ``f_table_name`` provide the fully qualified name of the feature table containing a given geometry.  Because PostgreSQL doesn't make use of catalogs, ``f_table_catalog`` will tend to be empty.  
+* ``f_geometry_column`` is the name of the column that geometry containing column -- for feature tables with multiple geometry columns, there will be one record for each.  
+* ``coord_dimension`` and ``srid`` define the the dimension of the geometry (2-, 3- or 4-dimensional) and the Spatial Reference system identifier that refers to the ``spatial_ref_sys`` table respectively.  
+* The ``type`` column defines the type of geometry as described below; we've seen Point and Linestring types so far.  
+
+By querying this table, GIS clients and libraries can determine what to expect when retrieving data and can perform any necessary projection, processing or rendering without needing to inspect each geometry.
+
+Representing Real World Objects
+-------------------------------
+
+The Simple Features for SQL (:term:`SFSQL`) specification, the original guiding standard for PostGIS development, defines how a real world object is represented.  By taking a continuous shape and digitizing it at a fixed resolution we achieve a passable representation of the object.  SFSQL only handled 2-dimensional representations.  PostGIS has extended that to include 3- and 4-dimensional representations; more recently the SQL-Multimedia Part 3 (:term:`SQL/MM`) specification has officially defined their own representation.  
+
+Our example table contains a mixture of different geometry types. We can collect general information about each object using functions that read the geometry metadata.
+
+ * :command:`ST_GeometryType(geometry)` returns the type of the geometry
+ * :command:`ST_NDims(geometry)` returns the number of dimensions of the geometry
+ * :command:`ST_SRID(geometry)` returns the spatial reference identifier number of the geometry
 
 .. code-block:: sql
@@ -74,5 +73,5 @@
 ::
 
-       name       |    st_geometrytype    | st_ndims | st_srid
+       name       |    st_geometrytype    | st_ndims | st_srid 
  -----------------+-----------------------+----------+---------
   Point           | ST_Point              |        2 |      -1
@@ -84,15 +83,15 @@
 
 
-Les points
-~~~~~~~~~~~
+Points
+~~~~~~
 
 .. image:: ./introduction/points.png
    :align: center
 
-Un **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Ã©tail exact du contour n'est pas important Ã  une Ã©chelle donnÃ©e. Par exemple, les villes sur une carte du monde peuvent Ãªtre dÃ©crites sous la forme de points alors qu'une carte rÃ©gionale utiliserait une reprÃ©sentation polygonale des villes.
-
-.. code-block:: sql
-
-  SELECT ST_AsText(geom)
+A spatial **point** represents a single location on the Earth.  This point is represented by a single coordinate (including either 2-, 3- or 4-dimensions).  Points are used to represent objects when the exact details, such as shape and size, are not important at the target scale.  For example, cities on a map of the world can be described as points, while a map of a single state might represent cities as polygons.  
+
+.. code-block:: sql
+
+  SELECT ST_AsText(geom) 
     FROM geometries
     WHERE name = 'Point';
@@ -102,10 +101,10 @@
   POINT(0 0)
 
-Certaines des fonctions spÃ©cifiques pour travailler avec les points sont :
-
- * :command:`ST_X(geometry)` retourne la composante X
- * :command:`ST_Y(geometry)` retourne la composante Y
-
-Donc, nous pouvons lire les coordonnÃ©es d'un point de la maniÃšre suivante :
+Some of the specific spatial functions for working with points are:
+
+ * :command:`ST_X(geometry)` returns the X ordinate
+ * :command:`ST_Y(geometry)` returns the Y ordinate
+
+So, we can read the ordinates from a point like this:
 
 .. code-block:: sql
@@ -115,5 +114,5 @@
     WHERE name = 'Point';
 
-La 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 renverra la gÃ©omÃ©trie associÃ©e Ã  un point (dans la colonne :command:`ST_AsText`).
+The New York City subway stations (``nyc_subway_stations``) table is a data set represented as points. The following SQL query will return the geometry associated with one point (in the :command:`ST_AsText` column).
 
 .. code-block:: sql
@@ -124,5 +123,5 @@
 
 
-Les lignes
+Linestrings
 ~~~~~~~~~~~
 
@@ -130,32 +129,32 @@
    :align: center
 
-Une **ligne** est un chemin entre plusieurs points. Elle prend la forme d'un tableau ordonnÃ© composÃ© de deux (ou plusieurs) points. Les routes et les riviÃšres sont typiquement reprÃ©sentÃ©es sous la forme de lignes. Une ligne est dite **fermÃ©e** si elle commence et finit 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**.
-
-Le 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 des rues. Une rue du monde rÃ©el pourrait Ãªtre constituÃ©e de plusieurs lignes, chacune reprÃ©sentant une segment de routes avec ses diffÃ©rents attributs.
-
-La requÃªte SQL suivante retourne la gÃ©omÃ©trie associÃ©e Ã  une ligne (dans la colonne :command:`ST_AsText`) :
-
-.. code-block:: sql
-
-  SELECT ST_AsText(geom)
+A **linestring** is a path between locations.  It takes the form of an ordered series of two or more points.  Roads and rivers are typically represented as linestrings.  A linestring is said to be **closed** if it starts and ends on the same point.  It is said to be **simple** if it does not cross or touch itself (except at its endpoints if it is closed).  A linestring can be both **closed** and **simple**.
+
+The street network for New York (``nyc_streets``) was loaded earlier in the workshop.  This dataset contains details such as name, and type.  A single real world street may consist of many linestrings, each representing a segment of road with different attributes.
+
+The following SQL query will return the geometry associated with one linestring (in the :command:`ST_AsText` column).
+
+.. code-block:: sql
+
+  SELECT ST_AsText(geom) 
     FROM geometries
     WHERE name = 'Linestring';
-
+  
 ::
 
   LINESTRING(0 0, 1 1, 2 1, 2 2)
 
-Les fonctions spatiales permettant de travailler avec les lignes sont les suivantes :
-
- * :command:`ST_Length(geometry)` retourne la longueur d'une ligne
- * :command:`ST_StartPoint(geometry)` retourne le premier point d'une ligne
- * :command:`ST_EndPoint(geometry)` retourne le dernier point d'une ligne
- * :command:`ST_NPoints(geometry)` retourne le nombre de points dans une ligne
-
-Donc, la longueur de notre ligne est :
-
-.. code-block:: sql
-
-  SELECT ST_Length(geom)
+Some of the specific spatial functions for working with linestrings are:
+
+ * :command:`ST_Length(geometry)` returns the length of the linestring
+ * :command:`ST_StartPoint(geometry)` returns the first coordinate as a point
+ * :command:`ST_EndPoint(geometry)` returns the last coordinate as a point
+ * :command:`ST_NPoints(geometry)` returns the number of coordinates in the linestring
+
+So, the length of our linestring is:
+
+.. code-block:: sql
+
+  SELECT ST_Length(geom) 
     FROM geometries
     WHERE name = 'Linestring';
@@ -166,19 +165,19 @@
 
 
-Les polygones
-~~~~~~~~~~~~~~
+Polygons
+~~~~~~~~
 
 .. image:: ./introduction/polygons.png
   :align: center
 
-Un 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Ã©s de la mÃªme maniÃšre.
-
-Les 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Ã©s par des polygones lorsque l'Ã©chelle est suffisament Ã©levÃ©e pour pouvoir distinguer leurs zones. Les routes et les riviÃšres peuvent parfois Ãªtre reprÃ©sentÃ©es comme des polygones.
-
-La requÃªte SQL suivante retournera la gÃ©omÃ©trie associÃ©e Ã  un polygone (dans la colonne :command:`ST_AsText`).
-
-.. code-block:: sql
-
-  SELECT ST_AsText(geom)
+A polygon is a representation of an area.  The outer boundary of the polygon is represented by a ring.  This ring is a linestring that is both closed and simple as defined above.  Holes within the polygon are also represented by rings.
+
+Polygons are used to represent objects whose size and shape are important.  City limits, parks, building footprints or bodies of water are all commonly represented as polygons when the scale is sufficiently high to see their area.  Roads and rivers can sometimes be represented as polygons.
+
+The following SQL query will return the geometry associated with one linestring (in the :command:`ST_AsText` column).
+
+.. code-block:: sql
+
+  SELECT ST_AsText(geom) 
     FROM geometries
     WHERE name LIKE 'Polygon%';
@@ -186,5 +185,5 @@
 .. note::
 
-  PlutÃŽt que d'utiliser le signe ``=`` dans notre clause ``WHERE``, nous avons utilisÃ© l'opÃ©rateur ``LIKE`` pour pouvoir dÃ©finir notre comparaison. Vous auriez sans doute voulu utiliser le symbole ``*`` pour exprimer "n'importe quelle valeur" mais en SQL vous devez utiliser : ``%`` et l'opÃ©rateur ``LIKE`` pour informer le systÃšme que cette comparaison doit Ãªtre possible.
+  Rather than using an ``=`` sign in our ``WHERE`` clause, we are using the ``LIKE`` operator to carry out a string matching operation. You may be used to the ``*`` symbol as a "glob" for pattern matching, but in SQL the ``%`` symbol is used, along with the ``LIKE`` operator to tell the system to do globbing.
 
 ::
@@ -193,21 +192,21 @@
  POLYGON((0 0, 10 0, 10 10, 0 10, 0 0),(1 1, 1 2, 2 2, 2 1, 1 1))
 
-Le 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Ãšmes SIG sont les seuls Ã  accepter que les polygones puissent contenir des trous.
+The first polygon has only one ring. The second one has an interior "hole". Most graphics systems include the concept of a "polygon", but GIS systems are relatively unique in allowing polygons to explicitly have holes.
 
 .. image:: ./screenshots/polygons.png
 
-Certaines des fonctions spatiales spÃ©cifiques de traitement des polygones sont :
-
- * :command:`ST_Area(geometry)` retourne l'aire d'un polygone
- * :command:`ST_NRings(geometry)` retourne le nombre de contours (habituellement 1, plus lorsqu'il y a des trous)
- * :command:`ST_ExteriorRing(geometry)` retourne le contour extÃ©rieur
- * :command:`ST_InteriorRingN(geometry,n)` retourne le contour intÃ©rieur numÃ©ro n
- * :command:`ST_Perimeter(geometry)` retourne la longueur de tous les contours
-
-Nous pouvons calculer l'aire de nos polygones en utilisant la fonction area :
-
-.. code-block:: sql
-
-  SELECT name, ST_Area(geom)
+Some of the specific spatial functions for working with polygons are:
+
+ * :command:`ST_Area(geometry)` returns the area of the polygons
+ * :command:`ST_NRings(geometry)` returns the number of rings (usually 1, more of there are holes)
+ * :command:`ST_ExteriorRing(geometry)` returns the outer ring as a linestring
+ * :command:`ST_InteriorRingN(geometry,n)` returns a specified interior ring as a linestring
+ * :command:`ST_Perimeter(geometry)` returns the length of all the rings
+
+We can calculate the area of our polygons using the area function:
+
+.. code-block:: sql
+
+  SELECT name, ST_Area(geom) 
     FROM geometries
     WHERE name LIKE 'Polygon%';
@@ -218,25 +217,25 @@
   PolygonWithHole    99
 
-Remarquez que le polygone contenant un trou a une aire Ã©gale Ã  l'aire du contour externe (un carrÃ© de 10 sur 10) moins l'aire du trou (un carrÃ© de 1 sur 1).
-
-Les collections
-~~~~~~~~~~~~~~~~
-
-Il y a quatre types de collections, qui regroupent ensemble plusieurs gÃ©omÃ©tries simples.
-
- * **MultiPoint**, une collection de points
- * **MultiLineString**, une collection de lignes
- * **MultiPolygon**, une collection de polygones
- * **GeometryCollection**, une collection hÃ©tÃ©rogÃšne de n'importe quelle gÃ©omÃ©trie (dont d'autre collections)
-
-Les 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 modÃ©liser 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.
+Note that the polygon with a hole has an area that is the area of the outer shell (a 10x10 square) minus the area of the hole (a 1x1 square).
+
+Collections
+~~~~~~~~~~~
+
+There are four collection types, which group multiple simple geometries into sets.  
+
+ * **MultiPoint**, a collection of points
+ * **MultiLineString**, a collection of linestrings
+ * **MultiPolygon**, a collection of polygons
+ * **GeometryCollection**, a heterogeneous collection of any geometry (including other collections)
+
+Collections are another concept that shows up in GIS software more than in generic graphics software. They are useful for directly modeling real world objects as spatial objects. For example, how to model a lot that is split by a right-of-way? As a **MultiPolygon**, with a part on either side of the right-of-way.
 
 .. image:: ./screenshots/collection2.png
 
-Notre collection exemple contient un polygone et un point :
-
-.. code-block:: sql
-
-  SELECT name, ST_AsText(geom)
+Our example collection contains a polygon and a point:
+
+.. code-block:: sql
+
+  SELECT name, ST_AsText(geom) 
     FROM geometries
     WHERE name = 'Collection';
@@ -248,61 +247,63 @@
 .. image:: ./screenshots/collection.png
 
-Certaines des fonctions spatiales spÃ©cifiques Ã  la manipulation des collections sont :
-
- * :command:`ST_NumGeometries(geometry)` retourne le nombre de composantes d'une collection
- * :command:`ST_GeometryN(geometry,n)` retourne une composante spÃ©cifique
- * :command:`ST_Area(geometry)` retourne l'aire totale des composantes de type polygone
- * :command:`ST_Length(geometry)` retourne la longueur totale des composantes de type ligne
-
-EntrÃ© / Sortie des gÃ©omÃ©tries
------------------------------
-
-Dans 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 :
-
- * Format texte bien connu (Well-known text :term:`WKT`)
-
-   * :command:`ST_GeomFromText(text)` retourne une ``geometry``
-   * :command:`ST_AsText(geometry)` retourne le ``texte``
-   * :command:`ST_AsEWKT(geometry)` retourne le ``texte``
-
- * Format binaire bien connu (Well-known binary :term:`WKB`)
-
-   * :command:`ST_GeomFromWKB(bytea)` retourne ``geometry``
-   * :command:`ST_AsBinary(geometry)` retourne ``bytea``
-   * :command:`ST_AsEWKB(geometry)` retourne ``bytea``
-
+Some of the specific spatial functions for working with collections are:
+
+ * :command:`ST_NumGeometries(geometry)` returns the number of parts in the collection
+ * :command:`ST_GeometryN(geometry,n)` returns the specified part
+ * :command:`ST_Area(geometry)` returns the total area of all polygonal parts
+ * :command:`ST_Length(geometry)` returns the total length of all linear parts
+
+
+
+Geometry Input and Output
+-------------------------
+
+Within the database, geometries are stored on disk in a format only used by the PostGIS program. In order for external programs to insert and retrieve useful geometries, they need to be converted into a format that other applications can understand. Fortunately, PostGIS supports emitting and consuming geometries in a large number of formats:
+
+ * Well-known text (:term:`WKT`)
+ 
+   * :command:`ST_GeomFromText(text)` returns ``geometry``
+   * :command:`ST_AsText(geometry)` returns ``text``
+   * :command:`ST_AsEWKT(geometry)` returns ``text``
+   
+ * Well-known binary (:term:`WKB`)
+ 
+   * :command:`ST_GeomFromWKB(bytea)` returns ``geometry``
+   * :command:`ST_AsBinary(geometry)` returns ``bytea``
+   * :command:`ST_AsEWKB(geometry)` returns ``bytea``
+   
  * Geographic Mark-up Language (:term:`GML`)
-
-   * :command:`ST_GeomFromGML(text)` retourne ``geometry``
-   * :command:`ST_AsGML(geometry)` retourne ``text``
-
+ 
+   * :command:`ST_GeomFromGML(text)` returns ``geometry``
+   * :command:`ST_AsGML(geometry)` returns ``text``
+   
  * Keyhole Mark-up Language (:term:`KML`)
-
-   * :command:`ST_GeomFromKML(text)` retourne ``geometry``
-   * :command:`ST_AsKML(geometry)` retourne ``text``
-
+ 
+   * :command:`ST_GeomFromKML(text)` returns ``geometry``
+   * :command:`ST_AsKML(geometry)` returns ``text``
+   
  * :term:`GeoJSON`
-
-   * :command:`ST_AsGeoJSON(geometry)` retourne ``text``
-
+ 
+   * :command:`ST_AsGeoJSON(geometry)` returns ``text``
+   
  * Scalable Vector Graphics (:term:`SVG`)
-
-   * :command:`ST_AsSVG(geometry)` retourne ``text``
-
-La requÃªte SQL suivante montre un exemple de reprÃ©sentation en :term:`WKB` (l'appel Ã  :command:`encode()` est requis pour convertir le format binaire en ASCII pour l'afficher) :
+ 
+   * :command:`ST_AsSVG(geometry)` returns ``text``
+ 
+The following SQL query shows an example of :term:`WKB` representation (the call to :command:`encode()` is required to convert the binary output into an ASCII form for printing):
 
 .. code-block:: sql
 
   SELECT encode(
-    ST_AsBinary(ST_GeometryFromText('LINESTRING(0 0 0,1 0 0,1 1 2)')),
+    ST_AsBinary(ST_GeometryFromText('LINESTRING(0 0 0,1 0 0,1 1 2)')), 
     'hex');
 
 .. image:: ./geometries/represent-04.png
 
-Dans le reste de ces travaux pratiques, nous utiliserons principalement le format WKT pour que vous puissiez lire et comprendre les gÃ©omÃ©tries que nous voyons. NÃ©anmoins, pour la plupart des traitement actuels, comme la visualisation des donnÃ©es dans une application SIG, le transfert de donnÃ©es Ã  des services web, ou l'exÃ©cution distante de traitements, le format WKB est un format de choix.
-
-Puisque les formats WKT et le WKB sont dÃ©finis dans la spÃ©cification :term:`SFSQL`, ils ne prennent pas en compte les gÃ©omÃ©tries Ã  3 ou 4 dimensions. C'est pour cette raison que PostGIS dÃ©finit les formats Extended Well Known Text (EWKT) et Extended Well Known Binary (EWKB). Cela permet de gÃ©rer de faÃ§on similaire aux formats WKT et WKB les dimensions ajoutÃ©es.
-
-Voici un exemple de ligne 3D au format WKT :
+For the purposes of this workshop we will continue to use WKT to ensure you can read and understand the geometries we're viewing.  However, most actual processes, such as viewing data in a GIS application, transferring data to a web service, or processing data remotely, WKB is the format of choice.  
+
+Since WKT and WKB were defined in the  :term:`SFSQL` specification, they do not handle 3- or 4-dimensional geometries.  For these cases PostGIS has defined the Extended Well Known Text (EWKT) and Extended Well Known Binary (EWKB) formats.  These provide the same formatting capabilities of WKT and WKB with the added dimensionality.
+
+Here is an example of a 3D linestring in WKT:
 
 .. code-block:: sql
@@ -319,5 +320,5 @@
 .. image:: ./geometries/represent-06.png
 
-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 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 :
+In addition to emitters for the various forms (WKT, WKB, GML, KML, JSON, SVG), PostGIS also has consumers for four (WKT, WKB, GML, KML). Most applications use the WKT or WKB geometry creation functions, but the others work too. Here's an example that consumes GML and output JSON:
 
 .. code-block:: sql
@@ -327,63 +328,64 @@
 .. image:: ./geometries/represent-07.png
 
-Liste des fonctions
--------------------
-
-`Populate_Geometry_Columns <http://postgis.org/docs/Populate_Geometry_Columns.html>`_: s'assure que les colonnes gÃ©omÃ©triques ont les contraintes spatiales appropriÃ©es et qu'elles sont prÃ©sentes dans la table  geometry_columns.
-
-`ST_Area <http://postgis.org/docs/ST_Area.html>`_: retourne l'aire de la surface si c'est un polygone 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.
-
-`ST_AsText <http://postgis.org/docs/ST_AsText.html>`_: retourne la reprÃ©sentation de la geometry/geography au format Well-Known Text (WKT) sans mÃ©tadonnÃ©e correspondant au SRID.
-
-`ST_AsBinary <http://postgis.org/docs/ST_AsBinary.html>`_: retourne la reprÃ©sentation de la geometry/geography au format Well-Known Binary (WKB) sans mÃ©tadonnÃ©e correspondant u SRID.
-
-`ST_EndPoint <http://postgis.org/docs/ST_EndPoint.html>`_: retourne le dernier point d'une ligne.
-
-`ST_AsEWKB <http://postgis.org/docs/ST_AsEWKB.html>`_: retourne la reprÃ©sentation de la gÃ©ometrie au format Well-Known Binary (WKB) avec la mÃ©tadonnÃ©e SRID.
-
-`ST_AsEWKT <http://postgis.org/docs/ST_AsEWKT.html>`_: retourne la reprÃ©sentation de la gÃ©ometrie au format Well-Known Text (WKT) avec la mÃ©tadonnÃ©e SRID.
-
-`ST_AsGeoJSON <http://postgis.org/docs/ST_AsGeoJSON.html>`_: retourne la gÃ©omÃ©trie au format GeoJSON.
-
-`ST_AsGML <http://postgis.org/docs/ST_AsGML.html>`_: retourne la gÃ©omÃ©trie au format GML version 2 ou 3.
-
-`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.
-
-`ST_AsSVG <http://postgis.org/docs/ST_AsSVG.html>`_: retourne la gÃ©omÃ©trie au format SVG.
-
-`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-polygones.
-
-`ST_GeometryN <http://postgis.org/docs/ST_GeometryN.html>`_: retourne la niÃšme composante si la gÃ©omÃ©trie est du type GEOMETRYCOLLECTION, MULTIPOINT, MULTILINESTRING, MULTICURVE ou MULTIPOLYGON. Sinon, retourne NULL.
-
-`ST_GeomFromGML <http://postgis.org/docs/ST_GeomFromGML.html>`_: prend en entrÃ©e une reprÃ©sentation GML de la gÃ©omÃ©trie et retourne un object PostGIS de type geometry.
-
-`ST_GeomFromKML <http://postgis.org/docs/ST_GeomFromKML.html>`_: prend en entrÃ©e une reprÃ©sentation KML de la gÃ©omÃ©trie et retourne un object PostGIS de type geometry.
-
-`ST_GeomFromText <http://postgis.org/docs/ST_GeomFromText.html>`_: retourne une valeur de type ST_Geometry Ã  partir d'une reprÃ©sentation au format Well-Known Text (WKT).
-
-`ST_GeomFromWKB <http://postgis.org/docs/ST_GeomFromWKB.html>`_: retourne une valeur de type ST_Geometry Ã  partir d'une reprÃ©sentation au format Well-Known Binary (WKB).
-
-`ST_GeometryType <http://postgis.org/docs/ST_GeometryType.html>`_: retourne le type de gÃ©omÃ©trie de la valeur de type ST_Geometry.
-
-`ST_InteriorRingN <http://postgis.org/docs/ST_InteriorRingN.html>`_: retourne le niÃšme contour intÃ©rieur d'un polygone. Retourne NULL si la gÃ©omÃ©trie n'est pas un polygone ou si N est hors des limites.
-
-`ST_Length <http://postgis.org/docs/ST_Length.html>`_: retourne la longueur en 2-dimensions si c'est une ligne ou une multi-lignes. Les objets de type geometry sont dans l'unitÃ© du systÃšme de rÃ©fÃ©rence spatiale et les objets de type geography sont en mÃštres (sphÃ©roÃ¯de par dÃ©faut).
-
-`ST_NDims <http://postgis.org/docs/ST_NDims.html>`_: retourne le nombre de dimensions d'une gÃ©omÃ©trie. Les valeurs possibles sont : 2,3 ou 4.
-
-`ST_NPoints <http://postgis.org/docs/ST_NPoints.html>`_: retourne le nombre de points dans une gÃ©omÃ©trie.
-
-`ST_NRings <http://postgis.org/docs/ST_NRings.html>`_: si la gÃ©omÃ©trie est un polygone ou un multi-polygone, retourne le nombre de contours.
-
-`ST_NumGeometries <http://postgis.org/docs/ST_NumGeometries.html>`_: si la gÃ©omÃ©trie est du type GEOMETRYCOLLECTION (ou MULTI*) retourne le nombre de gÃ©omÃ©tries, sinon retourne NULL.
-
-`ST_Perimeter <http://postgis.org/docs/ST_Perimeter.html>`_: retourne la longueur du contour extÃ©rieur d'une valeur de type ST_Surface ou ST_MultiSurface (polygone, multi-polygone).
-
-`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.
-
-`ST_StartPoint <http://postgis.org/docs/ST_StartPoint.html>`_: retourne le premier point d'une ligne.
-
-`ST_X <http://postgis.org/docs/ST_X.html>`_: retourne la coordonnÃ©e X d'un point, ou NULL si non prÃ©sent. L'argument passÃ© doit Ãªtre un point.
-
-`ST_Y <http://postgis.org/docs/ST_Y.html>`_: retourne la coordonnÃ©e Y d'un point, ou NULL si non prÃ©sent. L'argument passÃ© doit Ãªtre un point.
-
+Function List
+-------------
+
+`Populate_Geometry_Columns <http://postgis.org/docs/Populate_Geometry_Columns.html>`_: Ensures geometry columns have appropriate spatial constraints and exist in the geometry_columns table..
+
+`ST_Area <http://postgis.org/docs/ST_Area.html>`_: Returns the area of the surface if it is a polygon or multi-polygon. For "geometry" type area is in SRID units. For "geography" area is in square meters.
+
+`ST_AsText <http://postgis.org/docs/ST_AsText.html>`_: Returns the Well-Known Text (WKT) representation of the geometry/geography without SRID metadata.
+
+`ST_AsBinary <http://postgis.org/docs/ST_AsBinary.html>`_: Returns the Well-Known Binary (WKB) representation of the geometry/geography without SRID meta data.
+
+`ST_EndPoint <http://postgis.org/docs/ST_EndPoint.html>`_: Returns the last point of a LINESTRING geometry as a POINT.
+
+`ST_AsEWKB <http://postgis.org/docs/ST_AsEWKB.html>`_: Returns the Well-Known Binary (WKB) representation of the geometry with SRID meta data.
+
+`ST_AsEWKT <http://postgis.org/docs/ST_AsEWKT.html>`_: Returns the Well-Known Text (WKT) representation of the geometry with SRID meta data.
+
+`ST_AsGeoJSON <http://postgis.org/docs/ST_AsGeoJSON.html>`_: Returns the geometry as a GeoJSON element.
+
+`ST_AsGML <http://postgis.org/docs/ST_AsGML.html>`_: Returns the geometry as a GML version 2 or 3 element.
+
+`ST_AsKML <http://postgis.org/docs/ST_AsKML.html>`_: Returns the geometry as a KML element. Several variants. Default version=2, default precision=15.
+
+`ST_AsSVG <http://postgis.org/docs/ST_AsSVG.html>`_: Returns a Geometry in SVG path data given a geometry or geography object.
+
+`ST_ExteriorRing <http://postgis.org/docs/ST_ExteriorRing.html>`_: Returns a line string representing the exterior ring of the POLYGON geometry. Return NULL if the geometry is not a polygon. Will not work with MULTIPOLYGON
+
+`ST_GeometryN <http://postgis.org/docs/ST_GeometryN.html>`_: Returns the 1-based Nth geometry if the geometry is a GEOMETRYCOLLECTION, MULTIPOINT, MULTILINESTRING, MULTICURVE or MULTIPOLYGON. Otherwise, return NULL.
+
+`ST_GeomFromGML <http://postgis.org/docs/ST_GeomFromGML.html>`_: Takes as input GML representation of geometry and outputs a PostGIS geometry object.
+
+`ST_GeomFromKML <http://postgis.org/docs/ST_GeomFromKML.html>`_: Takes as input KML representation of geometry and outputs a PostGIS geometry object
+
+`ST_GeomFromText <http://postgis.org/docs/ST_GeomFromText.html>`_: Returns a specified ST_Geometry value from Well-Known Text representation (WKT).
+
+`ST_GeomFromWKB <http://postgis.org/docs/ST_GeomFromWKB.html>`_: Creates a geometry instance from a Well-Known Binary geometry representation (WKB) and optional SRID.
+
+`ST_GeometryType <http://postgis.org/docs/ST_GeometryType.html>`_: Returns the geometry type of the ST_Geometry value.
+
+`ST_InteriorRingN <http://postgis.org/docs/ST_InteriorRingN.html>`_: Returns the Nth interior linestring ring of the polygon geometry. Return NULL if the geometry is not a polygon or the given N is out of range.
+
+`ST_Length <http://postgis.org/docs/ST_Length.html>`_: Returns the 2d length of the geometry if it is a linestring or multilinestring. geometry are in units of spatial reference and geography are in meters (default spheroid)
+
+`ST_NDims <http://postgis.org/docs/ST_NDims.html>`_: Returns coordinate dimension of the geometry as a small int. Values are: 2,3 or 4.
+
+`ST_NPoints <http://postgis.org/docs/ST_NPoints.html>`_: Returns the number of points (vertexes) in a geometry.
+
+`ST_NRings <http://postgis.org/docs/ST_NRings.html>`_: If the geometry is a polygon or multi-polygon returns the number of rings.
+
+`ST_NumGeometries <http://postgis.org/docs/ST_NumGeometries.html>`_: If geometry is a GEOMETRYCOLLECTION (or MULTI*) returns the number of geometries, otherwise return NULL.
+
+`ST_Perimeter <http://postgis.org/docs/ST_Perimeter.html>`_: Returns the length measurement of the boundary of an ST_Surface or ST_MultiSurface value. (Polygon, Multipolygon)
+
+`ST_SRID <http://postgis.org/docs/ST_SRID.html>`_: Returns the spatial reference identifier for the ST_Geometry as defined in spatial_ref_sys table.
+
+`ST_StartPoint <http://postgis.org/docs/ST_StartPoint.html>`_: Returns the first point of a LINESTRING geometry as a POINT.
+
+`ST_X <http://postgis.org/docs/ST_X.html>`_: Returns the X coordinate of the point, or NULL if not available. Input must be a point.
+
+`ST_Y <http://postgis.org/docs/ST_Y.html>`_: Returns the Y coordinate of the point, or NULL if not available. Input must be a point.
+
+
