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.

Changeset 37


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

Section 0 to 8 corrected

Location:
trunk/workshop-foss4g
Files:
10 edited

Legend:

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

    r19 r37  
    11.. _about_data: 
    22 
    3 Partie 5 : à propos de nos données 
     3Partie 5 : A propos de nos données 
    44================================== 
    55 
    6 Les données utilisées dans ces travaux proatiques sont quatre shapefiles de la ville de New York, et une table attributaire des variables sociodémographiques. Nous les avons charger sous forme de tables PostGIS et nous ajouterons les données  sociédémographiques plus tard. 
     6Les données utilisées dans ces travaux proatiques sont quatre shapefiles de la ville de New York, et une table attributaire des variables socio-démographiques. Nous les avons charger sous forme de tables PostGIS et nous ajouterons les données  socio-démographiques plus tard. 
    77 
    8 Cette partie fournit le nombre d'enregistrements et les attributs de chacun de nos ensembles de données. Ces valeurs attributaire et les relation sont essentielles pour nos future analyses. 
     8Cette partie fournit le nombre d'enregistrements et les attributs de chacun de nos ensembles de données. Ces valeurs attributaires et les relations sont essentielles pour nos future analyses. 
    99 
    1010Pour visualiser la nature de vos tables depuis pgAdmin, cliquez avec le bouton droit sur une table et sélectionnez **Properties**. Vous trouverez un résumé des propriétés de la table, incluant la liste des attributs d'une tables dans l'onglet **Columns**. 
     
    1313----------------- 
    1414 
    15 Un bloque ressencé est la plus petite entité géographique pour laquelle un ressencement est raporté. Toutes les couches représentant les niveaus suppérieurs (régions, zones de métro, comtés) peuvent être contruit à partir de ces bloques. Nous avons attaché des données démographiques au bloques. 
     15Un bloc ressencé est la plus petite entité géographique pour laquelle un ressencement est raporté. Toutes les couches représentant les niveaus suppérieurs (régions, zones de métro, comtés) peuvent être contruites à partir de ces blocs. Nous avons attaché des données démographiques au bloc. 
    1616 
    1717Nombre d'enregistrements : 36592 
     
    2121 
    2222   * - **blkid** 
    23      - Un code à 15 chiffres qui permet d'identifier de maniÚre unique chaque bloque **block**. Eg: 360050001009000 
     23     - Un code à 15 chiffres qui permet d'identifier de maniÚre unique chaque bloc **block**. Eg: 360050001009000 
    2424   * - **popn_total** 
    25      - Nombre total de personnes dans le bloque 
     25     - Nombre total de personnes dans le bloc 
    2626   * - **popn_white** 
    27      - Nombre de personne se déclarant comme de couleur blanche 
     27     - Nombre de personnes se déclarant comme de couleur blanche 
    2828   * - **popn_black** 
    29      - Nombre de personne se déclarant comme de couleur noire 
     29     - Nombre de personnes se déclarant comme de couleur noire 
    3030   * - **popn_nativ** 
    31      - Nombre de personne se déclarant comme natif d'amérique du nord 
     31     - Nombre de personnes se déclarant comme natif d'amérique du nord 
    3232   * - **popn_asian** 
    33      - Nombre de personne se déclarant comme asiatique 
     33     - Nombre de personnes se déclarant comme asiatique 
    3434   * - **popn_other** 
    35      - Nombre de personne se déclarant comme faisant partie d'une autre catégorie 
     35     - Nombre de personnes se déclarant comme faisant partie d'une autre catégorie 
    3636   * - **hous_total** 
    37      - Nombre de piÚce dans le bloque 
     37     - Nombre de piÚces dans le bloc 
    3838   * - **hous_own** 
    39      - Nombre de propriétaires occupant le bloque 
     39     - Nombre de propriétaires occupant le bloc 
    4040   * - **hous_rent** 
    41      - Nombre de locataire occupant le bloque 
     41     - Nombre de locataires occupant le bloc 
    4242   * - **boroname** 
    4343     - Nom du quartier. Manhattan, The Bronx, Brooklyn, Staten Island, Queens 
    4444   * - **the_geom** 
    45      - Polygone représentant les contours d'un bloque 
     45     - Polygone représentant les contours d'un bloc 
    4646 
    4747.. figure:: ./screenshots/nyc_census_blocks.png 
    4848    
    49    *Pourcentage de la population quiest de couleur noire*  
     49   *Pourcentage de la population qui est de couleur noire*  
    5050 
    5151.. note::  
    5252 
    53     To get census data into GIS, you need to join two pieces of information: the actual data (text), and the boundary files (spatial).  There are many options for getting the data, including downloading data and boundaries from the Census Bureau's `American FactFinder <http://factfinder.census.gov>`_.  
     53    Pour obetneir les données d'un recenssement dans votre SIG, vous avez besoin de joindre deux informations: Les données socio-démographiques et les limites géographiques des blocs/quartiers. To get census data into GIS, you need to join two pieces of information: the actual data (text), and the boundary files (spatial).  Il existe plusieurs moyen de se les procurer, dans notre cas elles ont été récupérées sur le site Internet du Census Bureau's `American FactFinder <http://factfinder.census.gov>`_.  
    5454     
    5555nyc_neighborhoods 
    5656----------------- 
    5757 
    58 New York has a rich history of neighborhood names and extent.  Neighborhoods are social constructs that do not follow lines laid down by the government. For example, the Brooklyn neighborhoods of Carroll Gardens, Red Hook, and Cobble Hill were once collectively known as "South Brooklyn." And now, depending on which real estate agent you talk to, the same four blocks in the-neighborhood-formerly-known-as-Red-Hook can be referred to as Columbia Heights, Carroll Gardens West, or Red Hook!  
     58Les quartiers de New York  
    5959 
    60 Number of records: 129 
     60Nombre d'enregistrements: 129 
    6161 
    6262.. list-table:: 
     
    6464 
    6565   * - **name** 
    66      - Name of the neighborhood 
     66     - Nom du quartier 
    6767   * - **boroname** 
    68      - Name of the New York borough. Manhattan, The Bronx, Brooklyn, Staten Island, Queens 
     68     - Name de la section dans New York (Manhattan, The Bronx, Brooklyn, Staten Island, Queens) 
    6969   * - **the_geom** 
    70      - Polygon boundary of the neighborhood 
     70     - Limite polygonale du quartier 
    7171    
    7272.. figure:: ./screenshots/nyc_neighborhoods.png 
    7373 
    74     *The neighborhoods of New York City*  
     74    *Les quartiers de New York*  
    7575 
    7676nyc_streets 
    7777----------- 
    7878 
    79 The street centerlines form the transportation network of the city. These streets have been flagged with types in order to distinguish between such thoroughfares as back alleys, arterial streets, freeways, and smaller streets. Desirable areas to live might be on residential streets rather than next to a freeway. 
     79Les rues de New York 
    8080 
    81 Number of records: 19091 
     81Nombre d'enregistrements: 19091 
    8282 
    8383.. list-table:: 
     
    8585 
    8686   * - **name** 
    87      - Name of the street 
     87     - Nom de la rue 
    8888   * - **oneway** 
    89      - Is the street one-way? "yes" = yes, "" = no 
     89     - Est-ce que la rue est à sens unique ? "yes" = yes, "" = no 
    9090   * - **type** 
    91      - Road type. Eg. primary, secondary, residential, motorway 
     91     - Type de voie (Cf: primary, secondary, residential, motorway) 
    9292   * - **the_geom** 
    93      - Linear centerline of the street 
     93     - Ligne du centre de la rue. 
    9494    
    9595.. figure:: ./screenshots/nyc_streets.png 
    9696 
    97      *The streets of New York City. Major roads are in red.* 
     97     *Les rues de New York (les rues principales apparaissent en rouge)* 
    9898 
    9999    
     
    101101------------------- 
    102102 
    103 The subway stations link the upper world where people live to the invisible network of subways beneath. As portals to the public transportation system, station locations help determine how easy it is for different people to enter the subway system. 
     103Les stations de métro de New York 
    104104 
    105 Number of records: 491 
     105Nombre d'enregistrements: 491 
    106106 
    107107.. list-table:: 
     
    109109 
    110110   * - **name** 
    111      - Name of the station 
     111     - Nom de la station 
    112112   * - **borough** 
    113      - Name of the New York borough. Manhattan, The Bronx, Brooklyn, Staten Island, Queens 
     113     - Nom de la section dans New York (Manhattan, The Bronx, Brooklyn, Staten Island, Queens) 
    114114   * - **routes** 
    115      - Subway lines that run through this station 
     115     - Lignes de métro passant par cette station 
    116116   * - **transfers** 
    117      - Lines you can transfer to via this station 
     117     - Lignes de métro accessibles depuis cette station 
    118118   * - **express** 
    119      - Stations where express trains stop, "express" = yes, "" = no 
     119     - Stations ou le train express s'arrête, "express" = yes, "" = no 
    120120   * - **the_geom** 
    121      - Point location of the station 
     121     - Localisation ponctuelle de la station 
    122122 
    123123.. figure:: ./screenshots/nyc_subway_stations.png 
    124124 
    125     *Point locations for New York City subway stations* 
     125    *Localisation ponctuelle des stations de métro de New York* 
    126126 
    127127nyc_census_sociodata 
    128128-------------------- 
    129129 
    130 There is a rich collection of social-economic data collected during the census process, but only at the larger geography level of census tract.  Census blocks combine to form census tracts (and block groups). We have collected some social-economic at a census tract level to answer some of these more interesting questions about New York City.  
     130Données socio-démographiques de la ville de New York 
    131131 
    132132.. note:: 
    133133 
    134    The ``nyc_census_sociodata`` is a data table.  We will need to connect it to Census geographies before conducting any spatial analysis.  
    135  
     134   La donnée ``nyc_census_sociodata`` est une table attributaire. Nous devrons nous connecter aux géométries correspondant à la zone du recenssement avant de conduire toute analyse spatiale . 
     135    
    136136.. list-table:: 
    137137   :widths: 20 80 
    138138 
    139139   * - **tractid** 
    140      - An 11-digit code that uniquely identifies every census **tract**. Eg: 36005000100 
     140     - Un code à 11 chiffre qui identifie chaque secteur de recessement. **tract**. Eg: 36005000100 
    141141   * - **transit_total** 
    142      - Number of workers in the tract 
     142     - Nombre de travailleurs dans le secteur 
    143143   * - **transit_public** 
    144      - Number of workers in the tract who take public transit 
     144     - Nombre de travailleurs dans le secteur utilisant les transports en commun 
    145145   * - **transit_private** 
    146      - Number of workers in the tract who use private automobiles / motorcycles 
     146     - Nombre de travailleurs dans le secteur utilisant un véhicule privé 
    147147   * - **transit_other** 
    148      - Number of workers in the tract who use other forms like walking / biking 
     148     - Nombre de travailleurs dans le secteur utilisant un autre moyen de transport  
    149149   * - **transit_time_mins** 
    150      - Total number of minutes spent in transit by all workers in the tract (minutes) 
     150     - Nombre total de minutes passées dans les transports par l'ensemble des travailleurs du secteur (minutes) 
    151151   * - **family_count** 
    152      - Number of familes in the tract 
     152     - Nombre de familles dans le secteur 
    153153   * - **family_income_median** 
    154      - Median family income in the tract (dollars) 
     154     - Revenu médiant par famille du secteur (dollars) 
    155155   * - **family_income_aggregate** 
    156      - Total income of all families in the tract (dollars) 
     156     -  Revenu total de toutes les familles du secteur (dollars) 
    157157   * - **edu_total** 
    158      - Number of people with educational history 
     158     - Nombre de personnes ayant un parcours scolaire 
    159159   * - **edu_no_highschool_dipl** 
    160      - Number of people with no highschool diploma 
     160     - Nombre de personnes n'ayant pas de diplÃŽme d'éducation secondaire 
    161161   * - **edu_highschool_dipl** 
    162      - Number of people with highschool diploma and no further education 
     162     - Nombre de personnes ayant un diplÃŽme d'éducation secondaire 
    163163   * - **edu_college_dipl** 
    164      - Number of people with college diploma and no further education 
     164     - Nombre de personnes ayant un diplÃŽme de lycée 
    165165   * - **edu_graduate_dipl** 
    166      - Number of people with graduate school diploma  
     166     - Nombre de personnes ayant un diplÃŽme de collÚge  
    167167 
  • trunk/workshop-foss4g/creating_db.rst

    r19 r37  
    11.. _creating_db: 
    22 
    3 Partie 3 : créer une base de données spatiales 
     3Partie 3 : Créer une base de données spatiales 
    44=============================================== 
    55 
     
    77----------------------- 
    88 
    9 Le "Dashboard" est une application centralisant les accÚs aux diverses partie de l'openGeo Suite. 
     9Le "Dashboard" est une application centralisant les accÚs aux différentes parties de l'openGeo Suite. 
    1010 
    1111Lorsque vous démarrez le dashboard pour la premiÚre fois, il vous fournit une indication quand au mot de passe par défaut pour accéder à GeoServer. 
     
    1515.. note:: 
    1616 
    17   La base de données PostGIS a été installée sans la moindre restriction d'accÚs pour les utilisateurs locaux (les utilsateurs se connectant sur la même machine que celle faisant tourner le serveur de base de données). Cela signifie qu'il acceptera *toutes* les mots de passe que vous fournirez. Si vous devez vous connecter depuis un ordinateur distant, le mot de passe pour l'utilisateur ``postgres`` a utiliser est : ``postgres``. 
     17  La base de données PostGIS a été installée sans la moindre restriction d'accÚs pour les utilisateurs locaux (les utilisateurs se connectant sur la même machine que celle faisant tourner le serveur de base de données). Cela signifie qu'il acceptera *tout* les mots de passe que vous fournirez. Si vous devez vous connecter depuis un ordinateur distant, le mot de passe pour l'utilisateur ``postgres`` a utiliser est : ``postgres``. 
    1818 
    1919Pour ces travaux pratiques, nous n'utilserons que les parties de la section "PostGIS" du Dashboard. 
     
    2121#. PremiÚrement, nous devons démarrer les serveur de base de données PostGIS. Cliquez sur le bouton vert **Start** en haut à droite de la fenêtre du Dashboard. 
    2222 
    23 #. La premiÚre fois que la Suite se démarre, elle initialise un espace de donnée et met en place des modÚles de bases de données. Ceci peut prendre quelque minutes. Une fois la Suite lancée, vous pouvez cliquer sur l'option **Manage** dans le composant *PostGIS*  pour lancer l'outils pgAdmin. 
     23#. La premiÚre fois que la Suite se démarre, elle initialise un espace de données et met en place des modÚles de bases de données. Ceci peut prendre quelque minutes. Une fois la Suite lancée, vous pouvez cliquer sur l'option **Manage** dans le composant *PostGIS*  pour lancer l'outil pgAdmin. 
    2424 
    2525      .. image:: ./screenshots/dashboard_02.png 
     
    2727      .. note::  
    2828   
    29          PostgreSQL a de nombreux outils d'administration différents.  Le premier est `psql <http://www.postgresql.org/docs/8.1/static/app-psql.html>`_ un outils en ligne de commande permettant de saisir des requêtes SQL. Un autre outils d'administation populaire est l'outils graphique libre et gratuit `pgAdmin <http://www.pgadmin.org/>`_. Toutes les requêtes exécutées depuis pgAdmin peuvent aussi être utilisées depuis la ligne de commande avec psql.  
     29         PostgreSQL dispose de nombreux outils d'administration différents.  Le premier est `psql <http://www.postgresql.org/docs/8.1/static/app-psql.html>`_ un outil en ligne de commande permettant de saisir des requêtes SQL. Un autre outil d'administation populaire est l'outils graphique libre et gratuit `pgAdmin <http://www.pgadmin.org/>`_. Toutes les requêtes exécutées depuis pgAdmin peuvent aussi être utilisées depuis la ligne de commande avec psql.  
    3030 
    31 #. Si c'est la premiÚre fois que vous lancez pgAdmin, you devriez avoir une entrée du type **PostGIS (localhost:54321)** déjà configurée dans pgAdmine. Double cliquez sur cet élément, et entrez le mot de passe de votre choix pour vous connecter au serveur. 
     31#. Si c'est la premiÚre fois que vous lancez pgAdmin, vous devriez avoir une entrée du type **PostGIS (localhost:54321)** déjà configurée dans pgAdmin. Double cliquez sur cet élément, et entrez le mot de passe de votre choix pour vous connecter au serveur. 
    3232 
    3333    .. image:: ./screenshots/pgadmin_01.png 
     
    4040------------------------- 
    4141 
    42 PostgreSQL fournit ce que l'on appÚle des modÚles de bases de données qui peuvent être utilisés lors de la création d'une nouevelle base. Cette nouvelle base contiendra alors une copie de tout ce qui est présent dans le modÚle. Lorsque vous installez PostGIS, une base de données appelé ``template_postgis`` a été créée. Si nous utilisons ``template_postgis`` comme model lors de la création de notre nouvelle base, la nouvelle base sera une base de données spatiales. 
     42PostgreSQL fournit ce que l'on appÚle des modÚles de bases de données qui peuvent être utilisés lors de la création d'une nouevelle base. Cette nouvelle base contiendra alors une copie de tout ce qui est présent dans le modÚle. Lorsque vous installez PostGIS, une base de données appelée ``template_postgis`` a été créée. Si nous utilisons ``template_postgis`` comme model lors de la création de notre nouvelle base, la nouvelle base sera une base de données spatiales. 
    4343 
    44 #. Ouvrez l'arbre des bases de données et regardez quelles sont les base de données disponibles. La base ``postgres`` est la base de l'utilisateur (par défaut l'utilisteur postgres et elle n'est pas trÚs interressante pour nous). La base ``template_postgis`` est celle que nous utiliseront pour créer des bases de données spatiales. 
     44#. Ouvrez l'arbre des bases de données et regardez quelles sont les bases de données disponibles. La base ``postgres`` est la base de l'utilisateur (par défaut l'utilisateur postgres, donc pas trÚs interressante pour nous). La base ``template_postgis`` est celle que nous utiliserons pour créer des bases de données spatiales. 
    4545 
    46 #. Cliquez avec le clique droit sur l'élément ``Databases`` et selectionnez ``New Database``. 
     46#. Cliquez avec le clic droit sur l'élément ``Databases`` et selectionnez ``New Database``. 
    4747 
    4848   .. image:: ./screenshots/pgadmin_02.png 
    4949 
    50    .. note:: Si vous recevez un message d'erreur indiquant que la base de données (``template_postgis``) est utilisée par d'autre utilisateur, cela signifie que vous l'avez activé par innadvertance. Utilisez alors le clique droit sur l'élément ``PostGIS (localhost:54321)`` puis sélectionnez ``Disconnect``.  Double cliquez sur le même élément pour vous reconnecter et essayez à nouveau. 
     50   .. note:: Si vous recevez un message d'erreur indiquant que la base de données (``template_postgis``) est utilisée par d'autre utilisateurs, cela signifie que vous l'avez activé par inadvertance. Utilisez alors le clic droit sur l'élément ``PostGIS (localhost:54321)`` puis sélectionnez ``Disconnect``.  Double cliquez sur le même élément pour vous reconnecter et essayez à nouveau. 
    5151 
    5252#. Remplissez le formulaire ``New Database`` puis cliquez sur **OK**.   
     
    6565   .. image:: ./screenshots/pgadmin_03.png 
    6666 
    67 #. Selectionnez la nouvelle base de données ``nyc`` et ouvrez là pour consulter son contenu. Vous verrez le schéma ``public``, et sous cela un esemble de tables de métadonnées spécifiques à PostGIS -- ``geometry_columns`` et ``spatial_ref_sys``. 
     67#. Selectionnez la nouvelle base de données ``nyc`` et ouvrez là pour consulter son contenu. Vous verrez le schéma ``public``, et sous cela un ensemble de tables de métadonnées spécifiques à PostGIS -- ``geometry_columns`` et ``spatial_ref_sys``. 
    6868 
    6969   .. image:: ./screenshots/pgadmin_04.png 
    7070 
    71 #. Cliquez sur le bouton SQL query comme présenté ci-dessou (ou allez dans *Tools > Query Tool*). 
     71#. Cliquez sur le bouton SQL query comme présenté ci-dessous (ou allez dans *Tools > Query Tool*). 
    7272 
    7373   .. image:: ./screenshots/pgadmin_05.png 
     
    8181   .. note:: 
    8282    
    83       C'est notre premiÚre requpete SQL.  ``postgis_full_version()`` est une fonctione d'administration qui renvoit le numéro de version et les options de configuration utilisées lors de la compilation.  
     83      C'est notre premiÚre requpete SQL.  ``postgis_full_version()`` est une fonction d'administration qui renvoit le numéro de version et les options de configuration utilisées lors de la compilation.  
    8484       
    85 #. Cliquez sur le bouton **Play** dans la bar d'outils (ou utilisez la touche **F5**) pour  "exécuter la requête." La requête retournera la chaîne de cractÚres suivante, confirmant que PostGIS est correctement activé dans la base de données. 
     85#. Cliquez sur le bouton **Play** dans la barre d'outils (ou utilisez la touche **F5**) pour  "exécuter la requête." La requête retournera la chaîne de caractÚres suivante, confirmant que PostGIS est correctement activé dans la base de données. 
    8686 
    8787   .. image:: ./screenshots/pgadmin_06.png 
    8888    
    89 Vous venez de créé une base de données PostGIS avec succÚs ! 
     89Vous venez de créer une base de données PostGIS avec succÚs ! 
    9090 
    9191Liste des fonctions 
  • 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. 
  • trunk/workshop-foss4g/geometries_exercises.rst

    r21 r37  
    11.. _geometries_exercises: 
    22 
    3 Partie 9 : exercices sur les géométries 
     3Partie 9 : Exercices sur les géométries 
    44====================================== 
    55 
    6 Voici un petit rappel de toute les fonction que nous avons jusqu'à présent. Elles devraient être utiles pour les exercices ! 
     6Voici un petit rappel de toutes les fonction que nous avons abordé jusqu'à présent. Elles devraient être utiles pour les exercices ! 
    77 
    88 * :command:`sum(expression)` agrégation retournant la somme d'un ensemble 
     
    1616 * :command:`ST_StartPoint(geometry)` retourne le premier point d'une ligne 
    1717 * :command:`ST_EndPoint(geometry)` retourne le dernier point d'une ligne 
    18  * :command:`ST_NPoints(geometry)` retourne le nombre point d'une ligne 
     18 * :command:`ST_NPoints(geometry)` retourne le nombre de points d'une ligne 
    1919 * :command:`ST_Area(geometry)` retourne l'aire d'un polygone 
    2020 * :command:`ST_NRings(geometry)` retourne le nombre de contours (1 ou plus si il y a des trous) 
     
    3737 * :command:`ST_AsSVG(geometry)` retourne SVG ``text`` 
    3838 
    39 Souvenez-vous aussi des tables qui sont disponibles: 
     39Souvenez-vous aussi des tables disponibles: 
    4040 
    4141 * ``nyc_census_blocks``  
     
    5555   * name, boroname, the_geom 
    5656 
    57 Exercises 
     57Exercices 
    5858--------- 
    5959 
    60  * **"What is the area of the 'West Village' neighborhood?"** 
     60 * **"Quelle est l'aire du quartier 'West Village'?"** 
    6161  
    6262   .. code-block:: sql 
     
    7272   .. note:: 
    7373 
    74       L'aire est données en metres carrés. Pour obtenir l'aire en hectare, divisez par 10000. Pour obrenir l'aire en acres, divisez par 4047. 
    75  
    76  * **"Quelle est l'aire de Manhattan in acres ?"** (Astuce: ``nyc_census_blocks`` et ``nyc_neighborhoods`` on toutes deux le champ ``boroname``.) 
     74      L'aire est donnée en metres carrés. Pour obtenir l'aire en hectare, divisez par 10000. Pour obrenir l'aire en acres, divisez par 4047. 
     75 
     76 * **"Quelle est l'aire de Manhattan en acres ?"** (Astuce: ``nyc_census_blocks`` et ``nyc_neighborhoods`` on toutes deux le champ ``boroname``.) 
    7777  
    7878   .. code-block:: sql 
     
    9999 
    100100 
    101  * **"Combien de bloques de la ville de New York ont des trous ?"** 
     101 * **"Combien de blocs de la ville de New York ont des trous ?"** 
    102102  
    103103   .. code-block:: sql 
     
    122122     10418.9047172 
    123123 
    124  * **"Quelle est la longueur de 'Columbus Cir' (Columbus Circle) ?** 
     124 * **"Quelle est la longueur de 'Columbus Cir' (Columbus Circle) ?"** 
    125125  
    126126     .. code-block:: sql 
     
    166166   .. note:: 
    167167    
    168       Il n'est pas rare de trouver des éléments de type multi-polygone ne contenant qu'un seul polygone dans des tables. L'utilisation du type multi-polygone permet d'utiliser une seule table pour y stoquer des géométries simples et multiples sans mélanger les types. 
     168      Il n'est pas rare de trouver des éléments de type multi-polygone ne contenant qu'un seul polygone dans des tables. L'utilisation du type multi-polygone permet d'utiliser une seule table pour y stocker des géométries simples et multiples sans mélanger les types. 
    169169        
    170170        
     
    207207   .. note:: 
    208208 
    209       La clause ``ORDER BY length DESC`` ordonne le résultats par la valeurs des longueur dans l'ordre décroissant. Le résultat avec la plus grande valeur se retrouve au début la liste de résultats. 
     209      La clause ``ORDER BY length DESC`` ordonne le résultats par la valeur des longueurs dans l'ordre décroissant. Le résultat avec la plus grande valeur se retrouve au début la liste de résultats. 
    210210 
    211211  
  • trunk/workshop-foss4g/index.rst

    r2 r37  
    2424  un répertoire contenant les fichier au format Shapefiles que nous utiliserons 
    2525 
    26 L'ensemble des données présentes dans cette archive sont du domaine publique et  
     26L'ensemble des données présentes dans cette archive sont du domaine public et  
    2727librement redistribuables. Toute les applications de l'archive sont des logiciels libres, et  
    28 librement redistribuables. The document est publié sous licence Creative Commons  
     28librement redistribuables. Le document est publié sous licence Creative Commons  
    2929"`share alike with attribution <http://creativecommons.org/licenses/by-sa/3.0/us/>`_",  
    30 et est librement redisctribuable en respectant les termes de cette license. 
     30et est librement redistribuable en respectant les termes de cette license. 
    3131 
    3232Table des matiÚres 
  • trunk/workshop-foss4g/installation.rst

    r19 r37  
    11.. _installation: 
    22 
    3 Partie 2 : installation 
     3Partie 2 : Installation 
    44======================= 
    55 
    6 Nous utiliserons l'OpenGeo Suite comme application d'installation. Étant donné qu'elle contient PostGIS/PostgreSQL dans un seul outil d'installation pour Windows, Apple OS/X et Linux. La suite contient aussi GeoServer, OpenLayers et de nombreux outils de visulations sur le web. 
     6Nous utiliserons l'OpenGeo Suite comme application d'installation, car celle-ci contient PostGIS/PostgreSQL dans un seul outil d'installation pour Windows, Apple OS/X et Linux. La suite contient aussi GeoServer, OpenLayers et d'autres outils de visulations sur le web. 
    77 
    88.. note:: 
    99   
    10   Si vous souhaitez installer simplement PostgreSQL, cela peut se faire en téléchargeant directement le code source ou les binaires de PostgreSQL sur le site du projet http://postgresql.org/download/. AprÚs avoir installé PostgreSQL, utilisez l'outils "StackBuilder" pour ajouter l'extension PostGIS à votre installation. 
     10Si vous souhaitez installer simplement PostgreSQL, cela peut se faire en téléchargeant directement le code source ou les binaires de PostgreSQL sur le site du projet http://postgresql.org/download/. AprÚs avoir installé PostgreSQL, utilisez l'outil "StackBuilder" pour ajouter l'extension PostGIS à votre installation. 
    1111 
    1212.. note::  
    1313 
    14   Les indications précises de ce documents sont propre à WIndows, mais l'installation sous OS/X est largement similaire. Une fois la Suite installée, les instructions relatives au syst!me d'exploitation devraient être identiques. 
     14Les indications précises de ce documents sont propre à Windows, mais l'installation sous OS/X est largement similaire. Une fois la Suite installée, les instructions relatives au syst!me d'exploitation devraient être identiques. 
    1515 
    1616#. Dans le répertoire :file:`postgisintro\\software\\` vous trouverez l'installeur de l'OpenGeo Suite nommé :  :file:`opengeosuite-2.4.3.exe` (sur OS/X, :file:`opengeosuite-2.4.3.dmg`).  Double cliquez sur cet exécutable pour le lancer. 
    1717 
    18 #. Appréciez le message de bienvenu, et la courtoisie d'OpenGeo, puis cliquez sur **Next**. 
     18#. Appréciez le message de bienvenue, et la courtoisie d'OpenGeo, puis cliquez sur **Next**. 
    1919 
    2020   .. image:: ./screenshots/install_01.png 
    2121 
    2222 
    23 #. L'OpenGeo Suite est publiée sous licence GPL, ce qui est précisé dans la fenêtre de licecne.  Cliquez sur **I Agree**. 
     23#. L'OpenGeo Suite est publiée sous licence GPL, ce qui est précisé dans la fenêtre de license.  Cliquez sur **I Agree**. 
    2424 
    2525   .. image:: ./screenshots/install_02.png 
    2626 
    2727 
    28 #. Le répertoire où l'OpenGeo Suite sera installé est généralement le répertoire ``C:\Program Files\``. Les données seront placé dans le répertoire personnel de votre utilisateur, dans le répertoire :file:`.opengeo`.  Cliquez sur **Next**. 
     28#. Le répertoire où l'OpenGeo Suite sera installé est généralement le répertoire ``C:\Program Files\``. Les données seront placées dans le répertoire personnel de votre utilisateur, dans le répertoire :file:`.opengeo`.  Cliquez sur **Next**. 
    2929 
    3030   .. image:: ./screenshots/install_03.png 
    3131 
    3232 
    33 #. L'installeur créera un certains nombres de racourcis dans le répertoire OpenGeo du menu démarrer. Cliquez sur **Next**. 
     33#. L'installeur créera un certain nombre de raccourcis dans le répertoire OpenGeo du menu démarrer. Cliquez sur **Next**. 
    3434 
    3535   .. image:: ./screenshots/install_04.png 
    3636 
    3737 
    38 #. Tout les composants de la Suite sont obligratoire à ce niveau. Cliquez sur **Next**. 
     38#. Tout les composants de la Suite sont obligatoires à ce niveau. Cliquez sur **Next**. 
    3939 
    4040   .. image:: ./screenshots/install_05.png 
  • trunk/workshop-foss4g/introduction.rst

    r19 r37  
    11.. _introduction: 
    22 
    3 Partie 1 : introduction  
     3Partie 1 : Introduction  
    44************************ 
    55 
     
    77============================================ 
    88 
    9 PostGIS est une base de données spatiales. Oracle Spatial et SQL Server 2008 sont aussi des bases de données spatiales. Mais qu'est-ce que cela signifie, qu'est-ce qui différentie un serveur de base de données spatiales d'un non spatiale ? 
     9PostGIS est une base de données spatiale. Oracle Spatial et SQL Server 2008 sont aussi des bases de données spatiales. Mais qu'est-ce que cela signifie? Qu'est-ce qui différentie un serveur de base de données spatiales d'un non spatiale ? 
    1010 
    1111La réponse courte, est ... 
    1212 
    13 **Les base de données spatiales permettent les stocage et la manipulation des objets spatiaux comme les autres objets de la base de données.** 
     13**Les base de données spatiales permettent les stockage et la manipulation des objets spatiaux comme les autres objets de la base de données.** 
    1414 
    1515Ce qui suit présente briÚvement l'évolution des base de données spatiales, puis les liens 
     
    1717 
    1818#. **Types de données spatiales** fait référence aux géométries de type point, ligne et polygone;  
    19 #. L'**indexation spatiale** est utilisée pour améliorer les performance d'exécution des opérations spatiales; 
    20 #. Les **fonctions spatiales**, au sens :term:`SQL`, sont utilsées pour accéder à des propriétées ou des relations spatiales. 
    21  
    22 Conbiné, les types de données spatiales, les indexes et les fonctions fournissent une structure flexible pour optimiser les performance et les analyses. 
     19#. L'**indexation spatiale** est utilisée pour améliorer les performances d'exécution des opérations spatiales; 
     20#. Les **fonctions spatiales**, au sens :term:`SQL`, sont utilisées pour accéder à des propriétés ou à des relations spatiales. 
     21 
     22Utilisés de maniÚre combinée, les types de données spatiales, les indexes et les fonctions fournissent une structure flexible pour optimiser les performances et les analyses. 
    2323 
    2424Au commencement 
    2525---------------- 
    2626 
    27 Dans les premiÚres implémentations :term:`SIG` historiques, toutes les données  
    28 spatiales étaient stoquées sous la forme de fichiers plats et certaines applications  
    29  :term:`SIG` spécifiques étaient nécessaires pour interpréter et manipuler les données. 
    30 Ces outils de gestion de premiÚre génération, avaient été conçu pour répondre aux  
    31 besoins des utilisateurs pour lesquels toute les données étaient localisé au sein de leur 
    32 agence. C'est outils étaient propriétaire, des systÚme specifiquement créé pour gérer les  
     27Dans les premiÚres implémentations :term:`SIG`, toutes les données  
     28spatiales étaient stockées sous la forme de fichiers plats et certaines applications  
     29 :term:`SIG` spécifiques étaient nécessaires les interpréter et les manipuler. 
     30Ces outils de gestion de premiÚre génération avaient été conçus pour répondre aux  
     31besoins des utilisateurs pour lesquels toute les données étaient localisées au sein de leur 
     32agence. Ces outils propriétairse étaient des systÚmes specifiquement créés pour gérer les  
    3333données spatiales. 
    3434 
    35 La seconde génération des systÚmes de gestion de données spatiales stoquaient certaines données dans une base de données relationelle (habituellement les "attributs" ou autres parties non spatiales) mais ne founissaient pas encore la fléxibilité offerte par une intégration complÚte des données spatiales. 
    36  
    37 **Effectivement, les bases de données spatiales sont nés lorsque les gens ont commencé à considérer les objet spatiaux comme les autres objets d'une base de données .**   
    38  
    39 Les bases de données spatiales intÚgre les données spatiales sous formes d'objets de la base de données relationelle. Le changement opéré passe d'une vision centrée sur le SIG à une vision centrée sur les bases de données. 
     35La seconde génération des systÚmes de gestion de données spatiales stockaient certaines données dans une base de données relationelle (habituellement les "attributs" ou autres parties non spatiales) mais ne founissaient pas encore la fléxibilité offerte par une intégration complÚte des données spatiales. 
     36 
     37**Effectivement, les bases de données spatiales sont nées lorsque les gens ont commencé à considérer les objet spatiaux comme les autres objets d'une base de données .**   
     38 
     39Les bases de données spatiales intÚgrent les données spatiales sous formes d'objets de la base de données relationelles. Le changement opéré passe d'une vision centrée sur le SIG à une vision centrée sur les bases de données. 
    4040 
    4141.. image:: ./introduction/beginning.png 
    4242 
    43 .. note:: Un systÚme de gestion de base de données peut être utilisée dans d'autre cadre que celui des SIG. Les bases de données spatiales sont utilisées dans divers domaines : l'anatomie humaine, les circuits intégrés de grandes envergures, les structures moléculaires, les champs electomaniétiques et bien d'autre encore. 
     43.. note:: Un systÚme de gestion de base de données peut être utilisé dans d'autre cadre que celui des SIG. Les bases de données spatiales sont utilisées dans divers domaines : l'anatomie humaine, les circuits intégrés de grandes envergures, les structures moléculaires, les champs electro-magnétiques et bien d'autre encore. 
    4444 
    4545 
     
    4747------------------------------ 
    4848 
    49 Une base de données classique propose les types chaînes de caractÚres et date par exemple. Une base de données spatiales ajoute les types de données (spatiales) pour représenter les **entités géographiques**. Ces types de données spatiales permettre d'accéder à des propriétés de l'entité géographique comme les contours ou la dimension. Pour bien des aspects, les types de données spatiales peuvent être vu simplement comme des formes. 
     49Une base de données classique propose par exemple les types chaînes de caractÚres et date. Une base de données spatiales ajoute les types de données (spatiales) pour représenter les **entités géographiques**. Ces types de données spatiales permettre d'accéder à des propriétés de l'entité géographique comme ses contours ou sa dimension. Pour bien des aspects, les types de données spatiales peuvent être vu simplement comme des formes. 
    5050 
    5151.. image:: ./introduction/hierarchy.png 
    5252   :align: center 
    5353 
    54 Les types de données spatiales sont organisés par une hierarchie de type. Chaque sous-types hérite de la structure (les atrributs) et du comportement (les méthodes et fonctions) de son type supérieur dans hierarchie. 
     54Les types de données spatiales sont organisés par une hierarchie de type. Chaque sous-types hérite de la structure (les atrributs) et du comportement (les méthodes et fonctions) de son type supérieur dans la hierarchie. 
    5555 
    5656 
     
    5858--------------------------- 
    5959 
    60 Une base de données ordinaire fournit des "méthodes d'accÚs" -- connues sous le nom d'**index** -- pour permettre un accÚs efficace et non séquentiel à un sous ensemble de données. L'indexation des type non géographique (nombre, chaînes de caractÚres, dates) est habituellement faite à l'aide des index de type `arbres binaires <http://en.wikipedia.org/wiki/B-tree>`__. Un arbre binaire est un partitionnement des données utilisant l'ordre naturel pour stoquer les données hierarchiequement. 
     60Une base de données ordinaire fournit des "méthodes d'accÚs" -- connues sous le nom d'**index** -- pour permettre un accÚs efficace et non séquentiel à un sous ensemble de données. L'indexation des types non géographiques (nombre, chaînes de caractÚres, dates) est habituellement faite à l'aide des index de type `arbres binaires <http://en.wikipedia.org/wiki/B-tree>`__. Un arbre binaire est un partitionnement des données utilisant l'ordre naturel pour stoquer les données hierarchiequement. 
    6161 
    6262L'ordre naturel des nombres, des chaînes de caractÚres et des dates est assez simple à déterminer -- chaque valeur est inférieure, plus grande ou égale à toutes les autres valeurs. Mais, étant donné que les polygones peuvent se chevaucher, peuvent être contenu dans un autre et sont représenté par un tableau en deux dimensions (ou plus), un arbre binaire ne convient pas pour indexer les valeurs. Les vraies bases de données spatiales fournissent un "index spatial" qui répond plutÃŽt à la question : "quel objet se trouve dans une étendue spécifique ?" 
     
    6969Les étendues sont utilisées car répondre à la question : "est-ce que A se trouve à 'intérieur de B ? " est une opération couteuse pour les polygones mais rapide dans le cas ou ce sont des rectangles. Même des polgones et des lignes complex peuvent être représenté par une simple étendue. 
    7070 
    71 Les index spatiaux doivent réalisé leur ordanencement rapidement afin d'être utile. Donc au lien de fournir des résultats extacts, comme le font les arbres binaires, les index spatiaux fournisse des résultats approximatifs. La question "quelles lignes sont à l'intérieur de ce polygone" sera interprété par un index spatial comme : "quelles lignes ont une étendue qui est contenue dans l'étendue de ce polygone ?" 
    72  
    73 Les incréments spatiaux réels mis en application par de diverses bases de données varient considérablement. 
    74 Les index spatiaux actuellement utilisés par les différents systÚme de gestion de bases de données varient considérablement. L'implémentation la plus commune est l'`arbre R <http://en.wikipedia.org/wiki/R-tree>`_ (utilisé dans PostGIS), mais il existe aussi des implémentations de type `Quadtrees <http://en.wikipedia.org/wiki/Quadtree>`_, et des `indexes basés sur une grille <http://en.wikipedia.org/wiki/Grid_(spatial_index)>`_. 
     71Les index spatiaux doivent réalisé leur ordanencement rapidement afin d'être utile. Donc au lien de fournir des résultats extacts, comme le font les arbres binaires, les index spatiaux fournissent des résultats approximatifs. La question "quelles lignes sont à l'intérieur de ce polygone" sera interprété par un index spatial comme : "quelles lignes ont une étendue qui est contenue dans l'étendue de ce polygone ?" 
     72 
     73Les incréments spatiaux réels mis en application par diverses bases de données varient considérablement. 
     74Les index spatiaux actuellement utilisés par les différents systÚmes de gestion de bases de données varient considérablement. L'implémentation la plus commune est l'`arbre R <http://en.wikipedia.org/wiki/R-tree>`_ (utilisé dans PostGIS), mais il existe aussi des implémentations de type `Quadtrees <http://en.wikipedia.org/wiki/Quadtree>`_, et des `indexes basés sur une grille <http://en.wikipedia.org/wiki/Grid_(spatial_index)>`_. 
    7575 
    7676Les Fonctions spatiales 
    7777------------------- 
    7878 
    79 Pour manipuler les données lors d'une requête, une base de données classique fournit des **fonctions** comme la concaténation de chaînes de caractÚres, le cacul de la clef md5 d'une chaîne, la réalisation d'opérations mathématiques sur les nombres ou l'extraction d'informations spécifiques sur une date. Une base de données spatiales fournit un ensemble complet de fonctions pour analyser les composants géographiques, déterminer les relations spatiales et manipuler les objets géographiques. Ces fonctions spatiales servent de piÚce de légo pour de noombreux projet SIG. 
     79Pour manipuler les données lors d'une requête, une base de données classique fournit des **fonctions** comme la concaténation de chaînes de caractÚres, le cacul de la clef md5 d'une chaîne, la réalisation d'opérations mathématiques sur les nombres ou l'extraction d'informations spécifiques sur une date. Une base de données spatiales fournit un ensemble complet de fonctions pour analyser les composants géographiques, déterminer les relations spatiales et manipuler les objets géographiques. Ces fonctions spatiales sont utilisées comme des piÚces de légo pour de nombreux projet SIG. 
    8080 
    8181La majorité des fonctions spatiales peuvent être regroupées dans l'une des cinq catégories suivantes : 
    8282 
    83 #. **Conversion**: fonctions qui *convertissent* les données géographiques dans un format externe..  
     83#. **Conversion**: fonctions qui *convertissent* les données géographiques dans un format externe.  
    8484#. **Gestion**: fonctions qui permettre de *gérer* les informations relatives  aux tables spatiales et l'administration de PostGIS. 
    85 #. **Récupération**: fonctions qui permettent de *récupérer* les propriété et les mesures d'une géométrie.  
    86 #. **Comparaison**: fonctions qui permettent de *comprer* deux géométries en respectant leur relations spatiales.  
    87 #. **Contruction**: fonctions qui permettent de *construire* de nouvelles géométrie à partir d'autre. 
     85#. **Récupération**: fonctions qui permettent de *récupérer* les propriétés et les mesures d'une géométrie.  
     86#. **Comparaison**: fonctions qui permettent de *comparer* deux géométries en respectant leur relations spatiales.  
     87#. **Contruction**: fonctions qui permettent de *construire* de nouvelles géométries à partir d'autre. 
    8888 
    8989La liste des fonctions possibles est trÚs vaste, mais un ensemble communs à l'ensemble des implémentation est défini par la spécification term:`OGC` :term:`SFSQL` et sont implémentées (ainsi que certaines supplémentaires) dans PostGIS. 
     
    9393====================== 
    9494 
    95 PostGIS confÚre au `systÚme de gestion de base de données PostgreSQL <http://www.postgresql.org/>`_ le status de base de données spatiales en ajoutant les trois supports suivants : les types de données spatiales, les indexes et les fonctions. Étant donné que cela est basé sur PostgreSQL, PostGIS bénéficie automatiquement des capacités orienté "entreprise" ainsi que le respect des standards de cette implémentation. 
     95PostGIS confÚre au `systÚme de gestion de base de données PostgreSQL <http://www.postgresql.org/>`_ le status de base de données spatiales en ajoutant les trois supports suivants : les types de données spatiales, les indexes et les fonctions. Étant donné qu'il est basé sur PostgreSQL, PostGIS bénéficie automatiquement des capacités orienté "entreprise" ainsi que le respect des standards de cette implémentation. 
    9696 
    9797Mais qu'est-ce que PostgreSQL ? 
    9898------------------------------- 
    9999 
    100 PostgreSQL est une puissant systÚme de gestion de données relationel à objets (SGBDRO). Il a été publié sous la licence de style BSD et est donc un logiciel libre. Comme avec beaucoup de logiciels libres, PostgreSQL n'est pas controlé par une société unique mais par une communauté de développeurs et de sociétés qui le développer. 
    101  
    102 PostgreSQL a été conçu depuis le début en conservant à l'esprit qu'il serait potentiellement nécessaire de l'étendre à l'aide d'extensions particuliÚres -- la possibilité d'ajouter de nouveau types, des nouvelles fonctions et des méthodes d'accÚs à chaud. Grâce à cela, une extension de PostgreSQL peut être développé par une équipe de développement séparé, bien que le lien soit encore trÚs fortement lié au coeur de la base de données PostgreSQL. 
     100PostgreSQL est un puissant systÚme de gestion de données relationel à objets (SGBDRO). Il a été publié sous la licence de style BSD et est donc un logiciel libre. Comme avec beaucoup de logiciels libres, PostgreSQL n'est pas controlé par une société unique mais par une communauté de développeurs et de sociétés qui le développe. 
     101 
     102PostgreSQL a été conçu depuis le début en conservant à l'esprit qu'il serait potentiellement nécessaire de l'étendre à l'aide d'extensions particuliÚres -- la possibilité d'ajouter de nouveau types, des nouvelles fonctions et des méthodes d'accÚs à chaud. Grâce à cela, une extension de PostgreSQL peut être développé par une équipe de développement indépendante, bien que le lien soit trÚs fortement lié au coeur de la base de données PostgreSQL. 
    103103 
    104104Pourquoi choisir PostgreSQL ? 
    105105~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    106106 
    107 Une question que se pose souvent les gens familliés avec les bases de données libres est : "Pourquoi PostGIS n'a pas été basé sur MySQL ?" 
     107Une question que se posent souvent les gens déja familiarisés avec les bases de données libres est : "Pourquoi PostGIS n'a pas été basé sur MySQL ?" 
    108108 
    109109PostgreSQL a: 
    110110 
    111   * prouvé sa fiabilité et respect l'intégrité des données ( propriétés ACID) 
     111  * prouvé sa fiabilité et son respect de l'intégrité des données ( propriétés ACID) 
    112112  * un support soigneux des standard SQL (respecte la norme SQL92) 
    113113  * un support pour le développement d'extensions et de nouvelles fonctions 
    114   * un modÚle de développement orienté communauté  
     114  * un modÚle de développement communautaire  
    115115  * pas de limite sur la taille des colonne (les tuples peuvent être "TOAST"és) pour supporter des objets géographiques 
    116116  * un structure d'index générique (GiST) permettant l'indéxation à l'aide d'abres R 
    117   * facile ajout de fonctions personalisées 
    118  
    119 Tout ceci combiné, PostgreSQL permet un cheminement simple du développement nécessaire à l'ajout des types spatiaux. Dans le monde propriétaires, seul Illustra (maintenant Informix Universal Server) permet une extension aussi simple. Ceci n'est pas une cohincidence, Illustra estune version propriétaire modifiées du code original de PostgreSQL publié dans les années 1980.  
    120  
    121 Puisque le cheminement  du développement nécessaire à l'ajout de types à PostgreSQL est direct, il semblé naturel de commencer par là. Lorsque MySQL a publié des types de données spatiales de base dans sa version 4.1, l'équipe de PostGIS a jeuté un coup d'oueil dans leur code et cela a confirmé le choix initial d'utiliser PostgreSQL. Puisque les objets géographiques de MySQL doivent être considérés comme un cas particulier de chaînes de caractÚres, le code de MySQL a été diffus dans l'intégralité du code de base. Le développement de PostGIS version 0.1 a prit un mois. Réaliser un projet "MyGIS" 0.1 aurait prit beaucoup plus de temps, c'est sans doute pourquoi il n'a jamais vu le jour. 
    122  
    123 Pourquoi pas des fichier Shapefile ? 
     117  * facilité ajout de fonctions personalisées 
     118 
     119Tout ceci combiné, PostgreSQL permet un cheminement simple du développement nécessaire à l'ajout des types spatiaux. Dans le monde propriétaire, seul Illustra (maintenant Informix Universal Server) permet une extension aussi simple. Ceci n'est pas une coincidence, Illustra est une version propriétaire modifiée du code original de PostgreSQL publié dans les années 1980.  
     120 
     121Puisque le cheminement du développement nécessaire à l'ajout de types à PostgreSQL est direct, il semblé naturel de commencer par là. Lorsque MySQL a publié des types de données spatiales de base dans sa version 4.1, l'équipe de PostGIS a jetté un coup d'oeil dans leur code source et cela a confirmé le choix initial d'utiliser PostgreSQL. Puisque les objets géographiques de MySQL doivent être considérés comme un cas particulier de chaînes de caractÚres, le code de MySQL a été diffus dans l'intégralité du code de base. Le développement de PostGIS version 0.1 a pris un mois. Réaliser un projet "MyGIS" 0.1 aurait pris beaucoup plus de temps, c'est sans doute pourquoi il n'a jamais vu le jour. 
     122 
     123Pourquoi pas des fichiers Shapefile ? 
    124124------------------------------------ 
    125125 
    126 Les fichiers `shapefile <http://en.wikipedia.org/wiki/Shapefile>`_ (et les autres formats) ont été la maniÚre standard de stoquer et d'interragir avec les données spatiales depuis l'origine des SIG. Néanmoins, ces fichiers "plats" ont les inconvénients suivants : 
    127  
    128 * **Les fichier au formats SIG requiÚrent un logiciel spécifique pour les lire et les écrire.**  Le langage SQL est une abstraction de l'accÚs alléatoire au données et à leur analyse. Sans cette bastraction, vous devrez développer l'accÚs et l'anayse par cos propre moyens. 
    129 * **L'accÚs concurent au données peut entraine foier un stoquage de données corrompues.** Alors qu'il est possible d'écrire du code supplémentaire afin de garantir la cohérence des données, une fois ce problÚme solutionné et celui de la performance associée, vous aurez re-écrit la partie la plus important d'un systÚme de base de données. Pourquoi ne pas simplement utilisé une base de données standard dans ce cas ? 
     126Les fichiers `shapefile <http://en.wikipedia.org/wiki/Shapefile>`_ (et les autres formats) ont été la maniÚre standard de stockuer et d'interragir avec les données spatiales depuis l'origine des SIG. Néanmoins, ces fichiers "plats" ont les inconvénients suivants : 
     127 
     128* **Les fichier au formats SIG requiÚrent un logiciel spécifique pour les lire et les écrire.**  Le langage SQL est une abstraction de l'accÚs alléatoire au données et à leur analyse. Sans cette abstraction, vous devrez développer l'accÚs et l'anayse par vos propre moyens. 
     129* **L'accÚs concurent aux données peut parfois entrainer un stockage de données corrompues.** Alors qu'il est possible d'écrire du code supplémentaire afin de garantir la cohérence des données, une fois ce problÚme solutionné et celui de la performance associée, vous aurez re-écrit la partie la plus importante d'un systÚme de base de données. Pourquoi ne pas simplement utilisé une base de données standard dans ce cas ? 
    130130* **Les questions compliquées nécessitent des logiciels compliqués pour y répondre.** Les question intéressantes et compliquées (jointures spatiales, aggrégations, etc) qui sont exprimables en une ligne de SQL grâce à la base de données, nécessitent une centaines de lignes de code spécifiques pour y répondre dans le cas de fichiers. 
    131131 
    132 La plupart des utilisateurs de PostGIS ont mis en place des systÚmes où diverses applications sont succeptible d'accéder aux données, donc avoir les méthodes d'accÚs SQL standard simplifit le déploiement et le développement. Certains utilisateurs travaille avec de grand jeux de données, avec des fichiers, qui peuvent être segmenté en plusieurs fichiers, mais dans une base de données ces données peuvent être stoqué dans une seule grande table. 
    133  
    134 En résumé, la combinaison du support de l'accÚs cocurent, des requêtes complexes spécifiques et de la performance sur de grand jeux de données sont ce qui différencies les base de données spatiales des systÚmes utilisant des fichiers. 
    135  
    136 Un bref histoirique de PostGIS 
     132La plupart des utilisateurs de PostGIS ont mis en place des systÚmes où diverses applications sont succeptibles d'accéder aux données, et donc d'avoir les méthodes d'accÚs SQL standard, qui simplifient le déploiement et le développement. Certains utilisateurs travaillent avec de grands jeux de données sous forme de fichiers, qui peuvent être segmentés en plusieurs fichiers, mais dans une base de données ces données peuvent être stockées dans une seule grande table. 
     133 
     134En résumé, la combinaison du support de l'accÚs concurent, des requêtes complexes spécifiques et de la performance sur de grand jeux de données différencient les bases de données spatiales des systÚmes utilisant des fichiers. 
     135 
     136Un bref historique de PostGIS 
    137137------------------------------ 
    138138 
    139 En mai 2001, la société `Refractions Research <http://www.refractions.net/>`_  publie la permiÚre version de PostGIS. PostGIS 0.1 fournissait les objets, les indexes et des fonctions utilies. Le résultat était une base de données permettant le stockage et l'accÚs mais pas encore l'analyse. 
    140  
    141 Comme le nombre de fonctions augmenté, le besoin d'un principe d'organisation devint clair. La spécification "Simple Features for SQL" (:term:`SFSQL`) publiée par l'Open Geospatial Consortium fournit une telle structure avec des indications pour le nommage des fonctions et les pré-requis. 
    142  
    143 Avec le support dans PostGIS de simples fonctions d'analises et de jointures spatiales,  
     139En mai 2001, la société `Refractions Research <http://www.refractions.net/>`_  publie la permiÚre version de PostGIS. PostGIS 0.1 fournissait les objets, les indexes et des fonctions utiles. Le résultat était une base de données permettant le stockage et l'accÚs mais pas encore l'analyse. 
     140 
     141Comme le nombre de fonctions augmentait, le besoin d'un principe d'organisation devint clair. La spécification "Simple Features for SQL" (:term:`SFSQL`) publiée par l'Open Geospatial Consortium fournit une telle structure avec des indications pour le nommage des fonctions et les pré-requis. 
     142 
     143Avec le support dans PostGIS de simples fonctions d'analyses et de jointures spatiales,  
    144144`Mapserver <http://mapserver.org/>`_ devint la premiÚre application externe permettant de visualiser les données de la base de données. 
    145145 
    146 Au cours de ces derniÚres années le nombre de focntions fournies par PostGIS grandit, mais sa puissance restait limité. La plupart des fonctions interressantes (ex : ST_Intersects(), ST_Buffer(), ST_Union()) étaient difficile à implémenter. Les écrire en repartant du début promettait des années de travail. 
    147  
    148 Heureusement un second projet, nommé "Geometry Engine, Open Source" or `GEOS <http://trac.osgeo.org/geos>`_ vit le jour. Cette librairie fournit l'ensemble des algorythmes nécessaire à l'implémentation de la spécification :term:`SFSQL` . En se liant à GEOS, PostGIS fournit alors le support complet de la :term:`SFSQL` depuis la version 0.8. 
    149  
    150 Comme la capacité de PostGIS grandit, un autre problÚme fit surface : la représentation utilisée pour stoquer les géométrie n'était pas assez afficace. Pour de petits objets comme les points ou de courtes lignes, les métadonnées dans la représentation occupé plus de 300% supplémentaires. Pour des raisons de performance, il fut nécessaire de faire faire un régime à la représentation. En réduisant l'entête des métadonnées et les dimensions requises, l'espace supplémentaire fut réduit drastiquement. Dans PostGIS 1.0 cette nouvelle, plus rapide et plus légÚre représentation devint la représentation par défaut. 
    151  
    152 Les mises à jour récentes de PostGIS ont permit d'éttendre la compatibilité avec les standard, d'ajouter les géométries courbes et les signatures de fonctions spécifiées dans la norme ISO :term:`SQL/MM`. Dans un soucis de performance, PostGIS 1.4 augmenta considérablement la rapidité d'exécution des fonctions de tests sur les géométries. 
     146Au cours de ces derniÚres années le nombre de fonctions fournies par PostGIS grandit, mais sa puissance restait limité. La plupart des fonctions interressantes (ex : ST_Intersects(), ST_Buffer(), ST_Union()) étaient difficiles à implémenter. Les écrire en repartant du début promettait des années de travail. 
     147 
     148Heureusement un second projet, nommé "Geometry Engine, Open Source" ou `GEOS <http://trac.osgeo.org/geos>`_ vit le jour. Cette librairie fournit l'ensemble des algorithmes nécessaires à l'implémentation de la spécification :term:`SFSQL` . En se liant à GEOS, PostGIS fournit alors le support complet de la :term:`SFSQL` depuis la version 0.8. 
     149 
     150Alors que les capacités de PostGIS grandissaient, un autre problÚme fit surface : La représentation utilisée pour stocker les géométries n'était pas assez efficace. Pour de petits objets comme les points ou de courtes lignes, les métadonnées dans la représentation occupaient plus de 300% supplémentaires. Pour des raisons de performance, il fut nécessaire de faire faire un régime à la représentation. En réduisant l'entête des métadonnées et les dimensions requises, l'espace supplémentaire fut réduit drastiquement. Dans PostGIS 1.0, cette nouvelle représentation plus rapide et plus légÚre devint la représentation par défaut. 
     151 
     152Les mises à jour récentes de PostGIS ont permit d'éttendre la compatibilité avec les standards, d'ajouter les géométries courbes et les signatures de fonctions spécifiées dans la norme ISO :term:`SQL/MM`. Dans un soucis de performance, PostGIS 1.4 augmenta considérablement la rapidité d'exécution des fonctions de test sur les géométries. 
    153153 
    154154Qui utilisent PostGIS ? 
     
    160160~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    161161 
    162 L'IGN utilise PostGIS pour stoquer des cartes topographiques de grande résolutions du pays : la "BDUni". La BDUni a plus de 100 millions d'entités, et est maintenu par une équipe de 100 persnone qui vérifie les observations et ajoute de nouvelles données à la base tout les jours. L'installation de l'IGN utilise le systÚme transactionel de la base de données pour assurer la consistance durant les phases de mises à jour et utilise un `serveur de rtandby par transfert de journaux <http://docs.postgresql.fr/9.1/warm-standby.html>`_ afin de conserver un état cohérent en cas de défaillance du systÚme. 
     162L'IGN utilise PostGIS pour stocker des cartes topographiques de grande résolution de la France : la "BDUni". La BDUni a plus de 100 millions d'entités, et est maintenue par une équipe de 100 personnes qui vérifie les observations et ajoute quotidiennement de nouvelles données à la base. L'installation de l'IGN utilise le systÚme transactionel de la base de données pour assurer la consistance durant les phases de mises à jour et utilise un `serveur de rtandby par transfert de journaux <http://docs.postgresql.fr/9.1/warm-standby.html>`_ afin de conserver un état cohérent en cas de défaillance du systÚme. 
    163163 
    164164GlobeXplorer 
    165165~~~~~~~~~~~~ 
    166166 
    167 GlobeXplorer est un service web fournissant un accÚs en ligne à une imagerie satellite et photos aériennes de plusieures petabytes. GlobeXplorer utilise PostGUS poru gérer les métadonnées associées avec le catalogue d'images, donc les requêtes pour accéder aux images recherche d'abort dans le catalogue PostGIS pour récupérer la localisation des imagess demandées, puis récupÚre ces images et les retourne au client. Lors du proeccessus de mise en place de leur systÚme, GlobeXplorer essaya d'autre systÚme de base de données spatiales mais conserva PostGIS à cause de la combinaison du prix et de la performance qu'il offre. 
     167GlobeXplorer est un service web fournissant un accÚs en ligne à une imagerie satellite et photos aériennes de plusieures petabytes. GlobeXplorer utilise PostGIS pour gérer les métadonnées associées avec le catalogue d'images. Les requêtes pour accéder aux images recherchent d'abord dans le catalogue PostGIS pour récupérer la localisation des images demandées, puis récupÚrent ces images et les retournent au client. Lors du proeccessus de mise en place de leur systÚme, GlobeXplorer a essayé d'autre systÚme de base de données spatiales mais a conserver PostGIS à cause de la combinaison du prix et de la performance qu'il offre. 
    168168 
    169169Quest-ce qu'un application qui supporte PostGIS ? 
    170170------------------------------------------------- 
    171171 
    172 PostGIS est devenu une base de données spatiales communément utilisée, et le nombre d'application tierce qui support le stoquage ou la récupération des donées n'a séssé d'augmenter. `Les application qui supportent PostGIS <http://trac.osgeo.org/postgis/wiki/UsersWikiToolsSupportPostgis>`_  contiennent à la fois des applications libres et des application propriétaires tournant sur un serveur ou localement depuis votre bureau. 
     172PostGIS est devenu une base de données spatiale communément utilisée, et le nombre d'applications tierces qui supportent le stockage ou la récupération des données n'a céssé d'augmenter. `Les application qui supportent PostGIS <http://trac.osgeo.org/postgis/wiki/UsersWikiToolsSupportPostgis>`_  contiennent à la fois des applications libres et des application propriétaires tournant sur un serveur ou localement depuis votre bureau. 
    173173 
    174174La table suivante propose une liste des logiciels qui tirent profit de PostGIS : 
  • trunk/workshop-foss4g/loading_data.rst

    r19 r37  
    11.. _loading_data: 
    22 
    3 Partie 4 : charger des données spatiales 
     3Partie 4 : Charger des données spatiales 
    44========================================= 
    55 
    6 Supporté dans une grande variété de librairies et d'applications, PostGIS fournit de nombreux outils pour charger des données. Cette partie traitera uniquement sur du chargement basique de données, chargement de fichiers Shaefile en utilisant l'outil de chargement shapefile de PostGIS. 
     6Supporté dans une grande variété de librairies et d'applications, PostGIS fournit de nombreux outils pour charger des données. Cette partie traitera uniquement du chargement basic de données, c'est à dire le chargement de fichiers Shapefile en utilisant l'outil dédié de PostGIS. 
    77 
    88#. PremiÚrement, retournez sur le Dashboard et cliquez sur le lien **Import shapefiles** de la section PostGIS. L'interface d'import de données Shapefile pgShapeLoader se lance. 
     
    2929     Affecter le numéro de port **54321** est trÚs important ! Le serveur PostGIS d'OpenGeo utilise ce port et non le port par défaut (5432). 
    3030 
    31 #. Sisissez les détails de la section *Configuration*. 
     31#. Saisissez les détails de la section *Configuration*. 
    3232 
    3333   .. list-table:: 
     
    4848#. Pour finir, cliquez sur le bouton **Import** et regardez l'importation s'exécuter. Cela peut prendre plusieurs minutes pour charger, mais ce fichier est le plus gros que nous aurons à charger. 
    4949 
    50 #. Repétez la méthode afin d'importer les autres données présentes dans le répertoire data. Ormis le nom du fichier et le nom de la table de sortie, les autres paramÚtres de pgShapeLoader devrait rester les même : 
     50#. Repétez la méthode afin d'importer les autres données présentes dans le répertoire data. Ormis le nom du fichier et le nom de la table de sortie, les autres paramÚtres de pgShapeLoader devrait rester les mêmes : 
    5151 
    5252   * ``nyc_streets.shp`` 
     
    5454   * ``nyc_subway_stations.shp`` 
    5555  
    56 #. Lorsque tout les fichiers sont chargé, cliquez sur le bouton "Refresh" de pgAdmin pour mettre à jour l'arbre affiché. Vous devriez voir vos quatre nouvellles tables s'affichées dans la section **Tables** de l'arbre. 
     56#. Lorsque tout les fichiers sont chargés, cliquez sur le bouton "Refresh" de pgAdmin pour mettre à jour l'arbre affiché. Vous devriez voir vos quatre nouvellles tables affichées dans la section **Tables** de l'arbre. 
    5757 
    5858   .. image:: ./screenshots/refresh.png 
    5959  
    6060  
    61 Shafile ? Qu'est-ce que c'est ? 
     61Shapefile ? Qu'est-ce que c'est ? 
    6262------------------------------- 
    6363 
    64 Il est possible que vous vous demandiez "Qu'est-ce que c'est ce shapefile truc ?" On utilise communément le terme "Shapefile" pour parler d'un ensemble de fichiers d'extension ``.shp``, ``.shx``, ``.dbf``, ou autre ayant un nom commun (ex: nyc_census_blocks). Le fichier Shapefile est en réalité le fichier d'extension ``.shp``, mais ce fichier seul n'est pas complet sans ses fichiers associés. 
     64Il est possible que vous vous demandiez "Qu'est-ce que c'est ce shapefile ?" On utilise communément le terme "Shapefile" pour parler d'un ensemble de fichiers d'extension ``.shp``, ``.shx``, ``.dbf``, ou autre ayant un nom commun (ex: nyc_census_blocks). Le fichier Shapefile est en réalité le fichier d'extension ``.shp``, mais ce fichier seul n'est pas complet sans ses fichiers associés. 
    6565 
    6666Fichiers obligatoires : 
    6767 
    6868  * ``.shp`` — les formes; les entités géographiques elle-mêmes 
    69   * ``.shx`` — l'index de formes; un index base sur les position des entité géographiques 
    70   * ``.dbf`` — les attributs; les données attributaires associés à chaque formes, au format dBase III 
     69  * ``.shx`` — l'index de formes; un index base sur les positions des entités géographiques 
     70  * ``.dbf`` — les attributs; les données attributaires associées à chaque formes, au format dBase III 
    7171     
    72 Les fichiers optionels possibles : 
     72Les fichiers optionels possibles: 
    7373 
    7474  * ``.prj`` — la projection; le systÚme de coordonnées et l'information de projection, un fichier texte décrivant la projection utilisant le format text bien connu (WKT) 
     
    8282La plupart des paramÚtres de l'importation de données sont explicites mais même les proffessionnels du SIG peuvent rencontrer des difficulté à propos du  **SRID**. 
    8383 
    84 "SRID" signifie "IDentifiant de Référénce Spatiale". Il définit tout les paramÚtres de nos données de coordonnées géographiques et la projection. Un SRID est pratique car il encapsule sous la forme d'un nombre toutes les informations à propos de la projection de la carte (ce qui peut être trÚs compliqué). 
     84"SRID" signifie "IDentifiant de Référénce Spatiale". Il définit tout les paramÚtres de nos données, telles les coordonnées géographiques et la projection. Un SRID est pratique car il encapsule sous la forme d'un nombre toutes les informations à propos de la projection de la carte (ce qui peut être trÚs compliqué). 
    8585 
    86 Vou pouvez consultez la définition de la projection de la carte en consultant la base de données en ligne suivante : 
     86Vou pouvez consulter la définition de la projection de la carte en consultant la base de données en ligne suivante : 
    8787 
    8888  http://spatialreference.org/ref/epsg/26918/ 
     
    9696.. note:: 
    9797 
    98    La table ``spatial_ref_sys`` de PostGIS est une table standard OGC qui définit tout les systÚmes de références spatiales connus par la base de données. Les données livrées avec PostGIS, contiennent 3000 systÚmes de références spatiales et précise les informations nécessaire à la tranformation ou la reprojection.   
     98   La table ``spatial_ref_sys`` de PostGIS est une table standard OGC qui définit tout les systÚmes de références spatiales connus par la base de données. Les données livrées avec PostGIS, contiennent 3000 systÚmes de références spatiales et précisent les informations nécessaires à la tranformation ou la reprojection.   
    9999    
    100100Dans les deux cas, vous obtiendrez une représentation du systÚme de références spatiales **26918** (affiché sur plusieurs lignes ici pour plus de clarté). 
     
    125125Un problÚme auquel se confronte la plupart des débutants en PostGIS est de savoir quel SRID il doit utiliser pour ses données. Tout ce qu'ils ont c'est un fichier ``.prj``. Mais comment un humain peut-il reconnaitre le numéro de SRID correct en lisant le contenu du fichier ``.prj`` ? 
    126126 
    127 La réponse simple est d'utiliser un ordinateur. Copiez le contenu du fichier ``.prj`` dans le formulaire du site http://prj2epsg.org. Cela vous donnera le nombre (ou la liste de nombres) qui  correspondent le plus à votre définition de projection. Il n'y a pas de nombre pour *toutes* les projections de cartes existantes dans le monde, mais les plus courants sont disponibles dans la base de données de prj2epsg. 
     127La réponse simple est d'utiliser un ordinateur. Copiez le contenu du fichier ``.prj`` dans le formulaire du site http://prj2epsg.org. Cela vous donnera le nombre (ou la liste de nombres) qui correspond le plus à votre définition de projection. Il n'y a pas de nombre pour *toutes* les projections de cartes existantes dans le monde, mais les plus courants sont disponibles dans la base de données de prj2epsg. 
    128128 
    129129.. image:: ./screenshots/prj2epsg_01.png 
    130130 
    131 Les données que vous recevez des agences locales de l'état - comme la ville de New York - utiliseront la plupart du temps des projections locales noté "state plane" ou "UTM". Dans notre cas, la projection est "Universal Transverse Mercator (UTM) Zone 18 North" soit EPSG:26918.   
     131Les données que vous recevez des agences locales de l'état - comme la ville de New York - utilisent la plupart du temps des projections locales noté "state plane" ou "UTM". Dans notre cas, la projection est "Universal Transverse Mercator (UTM) Zone 18 North" soit EPSG:26918.   
    132132 
    133133 
    134 Les choses à essayer : rendre spatiale une base de données existante 
     134Les choses à essayer : Rendre spatiale une base de données existante 
    135135-------------------------------------------------------------------- 
    136136 
     
    141141.. note:: 
    142142 
    143    N'oubliez pas saisir le nom de l'utilisateur et le numéro de port losque vous créer une base de données en ligne de command. 
     143   N'oubliez pas saisir le nom de l'utilisateur et le numéro de port losque vous créer une base de données en ligne de commande. 
    144144     
    145145Les choses à essayer : Visualiser se données avec uDig 
    146146------------------------------------------------------ 
    147147 
    148 `uDig <http://udig.refractions.org>`_, (User-friendly Desktop Internet GIS), est outils bureautique de visualisation/edition SIG permettant de visualiser rapidement se données. Vous pouvez visualiser un grand nombre de formats de données différents dont les Shapefiles et les bases de données PostGIS. Son interface graphique vous permet d'explorer vos données facilement mais aussi de les tester et les syler rapidement. 
     148`uDig <http://udig.refractions.org>`_, (User-friendly Desktop Internet GIS), est outils bureautique de visualisation/edition SIG permettant de visualiser rapidement se données. Vous pouvez visualiser un grand nombre de formats de données différents dont les Shapefiles et les bases de données PostGIS. Son interface graphique vous permet d'explorer vos données facilement mais aussi de les tester et les styler rapidement. 
    149149 
    150150Utilisez cette application pour vous connecter à votre base de données PostGIS. L'application est contenu dans le répertoire ``software``. 
     
    152152.. rubric:: Footnotes 
    153153 
    154 .. [#PostGIS_Install] "Chapter 2.5. Installation" PostGIS Documentation. May 2010 <http://postgis.org/documentation/manual-1.5/ch02.html#id2786223> 
     154.. [#PostGIS_Install] "Chapter 2.5. Installation" PostGIS Documentation. Mai 2010 <http://postgis.org/documentation/manual-1.5/ch02.html#id2786223> 
    155155 
  • trunk/workshop-foss4g/simple_sql.rst

    r19 r37  
    11.. _simple_sql: 
    22 
    3 Partie 6 : requêtes SQL simples 
     3Partie 6 : Requêtes SQL simples 
    44=============================== 
    55 
    6 :term:`SQL`, pour "Structured Query Language", définit comment interroger et mettre des données dans une base. Vous vez déjà du SQL lorsque nous avons notre premiÚre base de données.  Rappel: 
     6:term:`SQL`, pour "Structured Query Language", définit la maniÚre d'interroger et de mettre des données dans une base. Vous avez déjà rédigé du SQL lorsque nous avons créer notre premiÚre base de données.  Rappel: 
    77 
    88.. code-block:: sql 
     
    1010   SELECT postgis_full_version(); 
    1111 
    12 Mais ici c'était une question à propose de la base de données. Maintenant que nous avons carger des données dans notre base, essayons d'utiliser SQL pour interroger les données ! Par exemple, 
     12Maintenant que nous avons charger des données dans notre base, essayons d'utiliser SQL pour les interroger. Par exemple, 
    1313 
    1414  "Quel sont les noms des quartier de la ville de New York ?" 
     
    5353     
    5454 
    55 Les ``colonnes`` sont soit des noms de colonnes soit des fonctions utilisant les valeurs des colonnes. Les ``données`` sont soit une table seule, ou plusieures tables reliés ensemble en réalisant une jointure sur une clef ou une autre condition. Les ``conditions`` représentent le filtre qui restreint le nombre de lignes a retourner. 
     55Les ``colonnes`` sont soit des noms de colonnes soit des fonctions utilisant les valeurs des colonnes. Les ``données`` sont soit une table seule, soit plusieures tables reliées ensemble en réalisant une jointure sur une clef ou une autre condition. Les ``conditions`` représentent le filtre qui restreint le nombre de lignes a retourner. 
    5656 
    5757  "Quel sont les noms des quartier de Brooklyn ?" 
    5858 
    59 Nous retournons à notre table ``nyc_neighborhoods`` avec le filtre en main. La table contient tout les quartiers de New Yorl et nous ne voulons que ceux de Brooklyn. 
     59Nous retournons à notre table ``nyc_neighborhoods`` avec le filtre en main. La table contient tout les quartiers de New York et nous voulons uniquement ceux de Brooklyn. 
    6060 
    6161.. code-block:: sql 
     
    6565    WHERE boroname = 'Brooklyn'; 
    6666 
    67 La requête prendra encore que quelque (mili)secondes et retournera les 23 éléments résultants. 
     67La requête prendra à nouveau quelque (mili)secondes et retournera les 23 éléments résultants. 
    6868 
    69 Parfois nous aurons besoin d'appliquer des fonctions sur le résultats d'une de nos requête. Par exemple, 
     69Parfois nous aurons besoin d'appliquer des fonctions sur le résultats d'une de nos requêtes. Par exemple, 
    7070 
    7171  "Quel est le nombre de lettres dans les noms des quarties de Brooklyn ?" 
    7272   
    73 Heureusement PostgreSQL fournit une fonction calculant la langueur d'une chaîne de caractÚres : :command:`char_length(string)`. 
     73Heureusement PostgreSQL fournit une fonction calculant la longueur d'une chaîne de caractÚres : :command:`char_length(string)`. 
    7474 
    7575.. code-block:: sql 
     
    7979    WHERE boroname = 'Brooklyn'; 
    8080 
    81 Bien souvent nous sommes moins interressé par une ligne particuliÚre mais plus par un calcul statistique sur l'ensemble résultant. Donc connaitre la longueur des noms de quartiers serait moins interressant que de calculer la moyenne des ces longueurs. Les fonctions qui renvoit un résultat unique en utilisant un ensemble de valeurs sont appelée des "fonctions d'aggrégations". 
     81Bien souvent nous sommes moins interressés par une ligne particuliÚre mais plus par un calcul statistique sur l'ensemble résultant. Donc connaitre la longueur des noms de quartiers est moins interressant que de calculer la moyenne des ces longueurs. Les fonctions qui renvoit un résultat unique en utilisant un ensemble de valeurs sont appelée des "fonctions d'aggrégations". 
    8282 
    8383PostgreSQL fournit un ensemble de fonctions d'aggrégations, parmis lesquelles :command:`avg()` pour calculer la moyenne, and :command:`stddev()` pour l'écart type. 
     
    125125`avg(expression) <http://www.postgresql.org/docs/current/static/functions-aggregate.html#FUNCTIONS-AGGREGATE-TABLE>`_: fonction d'agrégation de PostgreSQL  qui retourne la valeur moyenne d'une colonne. 
    126126 
    127 `char_length(string) <http://www.postgresql.org/docs/current/static/functions-string.html>`_: fonction s'applicant aux chaînes de caractÚre de PostgreSQL qui retourne le nombre de lettre dans une chaîne. 
     127`char_length(string) <http://www.postgresql.org/docs/current/static/functions-string.html>`_: fonction s'applicant aux chaînes de caractÚre de PostgreSQL qui retourne le nombre de lettres dans une chaîne. 
    128128 
    129129`stddev(expression) <http://www.postgresql.org/docs/current/static/functions-aggregate.html#FUNCTIONS-AGGREGATE-STATISTICS-TABLE>`_: fonction d'aggrégation de PostgreSQL qui retourne l'écart type d'un ensemble de valeurs. 
  • trunk/workshop-foss4g/simple_sql_exercises.rst

    r19 r37  
    11.. _simple_sql_exercises: 
    22 
    3 Partie 7 : exercices simples de SQL 
     3Partie 7 : Exercices simples de SQL 
    44=================================== 
    55 
    6 En utilisant la table ``nyc_census_blocks``, répondez au questions suivantes (n'allez pas directement au réponses ! ).  
     6En utilisant la table ``nyc_census_blocks``, répondez au questions suivantes (et n'allez pas directement aux réponses ! ).  
    77 
    88Vous trouverez ci-dessous des informations utiles pour commencer. Référez-vous à la partie `À propos des nos données <about_data>` pour la définition de notre table ``nyc_census_blocks``. 
     
    1212 
    1313   * - **blkid** 
    14      - Un code à 15 chiffres qui définit de maniÚre unique chaque **block** ressencé . Ex: 360050001009000 
     14     - Un code à 15 chiffres qui définit de maniÚre unique chaque **bloc** ressencé . Ex: 360050001009000 
    1515   * - **popn_total** 
    16      - Nombre total de personnes dans un block ressensé 
     16     - Nombre total de personnes dans un bloc ressensé 
    1717   * - **popn_white** 
    1818     - Nombre de personnes se déclarant "blancs" 
     
    3434     - Nom du quartier de New York. Manhattan, The Bronx, Brooklyn, Staten Island, Queens 
    3535   * - **the_geom** 
    36      - Polygone délimitant le block 
     36     - Polygone délimitant le bloc 
    3737 
    3838Ici se trouvent certaines des fonctions d'aggrégation qui vous seront utiles pour répondre aux questions : 
     
    4242 * count() - le nombre d'élément contenu dans un ensembe d'enregistrements. 
    4343 
    44 Maintenant les question : 
     44Maintenant les questions : 
    4545 
    4646 * **"Quelle est la population de la ville de New York ?"** 
Note: See TracChangeset for help on using the changeset viewer.