Bienvenue sur PostGIS.fr

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

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

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


Ignore:
Timestamp:
17/03/2012 00:49:40 (12 years ago)
Author:
thomasg
Message:

Fin correction typo et orthographe V2 du document

File:
1 edited

Legend:

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

    r47 r62  
    22 
    33Partie 9 : Exercices sur les géométries 
    4 ====================================== 
     4======================================= 
    55 
    66Voici un petit rappel de toutes les fonction que nous avons abordé jusqu'à présent. Elles devraient être utiles pour les exercices ! 
     
    1010 * :command:`ST_GeometryType(geometry)` retourne le type de la géométrie 
    1111 * :command:`ST_NDims(geometry)` retourne le  nombre de dimensions 
    12  * :command:`ST_SRID(geometry)` retourne l'identifiant du systÚme de références spatiales 
     12 * :command:`ST_SRID(geometry)` retourne l'identifiant du systÚme de référence spatiale 
    1313 * :command:`ST_X(point)` retourne la coordonnée X 
    1414 * :command:`ST_Y(point)` retourne la coordonnée Y 
     
    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) 
    21  * :command:`ST_ExteriorRing(polygon)` retourne le contour exterieur (ligne) d'un polygon 
     21 * :command:`ST_ExteriorRing(polygon)` retourne le contour extérieur (ligne) d'un polygone 
    2222 * :command:`ST_InteriorRingN(polygon, integer)` retourne le contour intérieur (ligne) d'un polygone 
    23  * :command:`ST_Perimeter(geometry)` retourne la longueur de tout les contours 
     23 * :command:`ST_Perimeter(geometry)` retourne la longueur de tous les contours 
    2424 * :command:`ST_NumGeometries(multi/geomcollection)` retourne le nombre de composantes dans une collection 
    2525 * :command:`ST_GeometryN(geometry, integer)` retourne la niÚme entité de la collection 
     
    3939Souvenez-vous aussi des tables disponibles: 
    4040 
    41  * ``nyc_census_blocks``  
    42   
     41 * ``nyc_census_blocks`` 
     42 
    4343   * name, popn_total, boroname, the_geom 
    44   
     44 
    4545 * ``nyc_streets`` 
    46   
     46 
    4747   * name, type, the_geom 
    48     
     48 
    4949 * ``nyc_subway_stations`` 
    50   
     50 
    5151   * name, the_geom 
    52   
     52 
    5353 * ``nyc_neighborhoods`` 
    54   
     54 
    5555   * name, boroname, the_geom 
    5656 
     
    5959 
    6060 * **"Quelle est l'aire du quartier 'West Village'?"** 
    61   
     61 
    6262   .. code-block:: sql 
    6363 
     
    6565       FROM nyc_neighborhoods 
    6666       WHERE name = 'West Village'; 
    67         
    68    ::  
     67 
     68   :: 
    6969 
    7070     1044614.53027344 
     
    7272   .. note:: 
    7373 
    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``.) 
    77   
     74      L'aire est donnée en mÚtres carrés. Pour obtenir l'aire en hectare, divisez par 10000. Pour obtenir l'aire en acres, divisez par 4047. 
     75 
     76 * **"Quelle est l'aire de Manhattan en acres ?"** (Astuce: ``nyc_census_blocks`` et ``nyc_neighborhoods`` ont toutes les deux le champ ``boroname``.) 
     77 
    7878   .. code-block:: sql 
    7979 
     
    8282       WHERE boroname = 'Manhattan'; 
    8383 
    84    ::  
    85     
     84   :: 
     85 
    8686     13965.3201224118 
    8787 
     
    9494       WHERE boroname = 'Manhattan'; 
    9595 
    96    ::  
    97     
     96   :: 
     97 
    9898     14572.1575543757 
    9999 
    100100 
    101101 * **"Combien de blocs de la ville de New York ont des trous ?"** 
    102   
    103    .. code-block:: sql 
    104  
    105      SELECT Count(*)  
     102 
     103   .. code-block:: sql 
     104 
     105     SELECT Count(*) 
    106106       FROM nyc_census_blocks 
    107107       WHERE ST_NRings(the_geom) > 1; 
    108108 
    109    ::  
    110     
    111      66  
    112     
     109   :: 
     110 
     111     66 
     112 
    113113 * **"Quel est la longueur totale des rues (en kilomÚtres) dans la ville de New York ?"** (Astuce: l'unité de mesure des données spatiales est le mÚtre, il y a 1000 mÚtres dans un kilomÚtre.) 
    114    
    115     .. code-block:: sql 
     114 
     115   .. code-block:: sql 
    116116 
    117117     SELECT Sum(ST_Length(the_geom)) / 1000 
    118118       FROM nyc_streets; 
    119119 
    120    ::  
    121     
     120   :: 
     121 
    122122     10418.9047172 
    123123 
    124124 * **"Quelle est la longueur de 'Columbus Cir' (Columbus Circle) ?"** 
    125   
    126      .. code-block:: sql 
    127   
    128       SELECT ST_Length(the_geom) 
    129         FROM nyc_streets 
    130         WHERE name = 'Columbus Cir'; 
    131  
    132      ::  
    133     
    134        308.34199 
     125 
     126   .. code-block:: sql 
     127 
     128     SELECT ST_Length(the_geom) 
     129       FROM nyc_streets 
     130       WHERE name = 'Columbus Cir'; 
     131 
     132   :: 
     133 
     134     308.34199 
    135135 
    136136 * **"Quelle est le contour de 'West Village' au format JSON ?"** 
    137   
     137 
    138138   .. code-block:: sql 
    139139 
     
    143143 
    144144   :: 
    145       
     145 
    146146      {"type":"MultiPolygon","coordinates": 
    147147       [[[[583263.2776595836,4509242.6260239873], 
     
    149149          [583263.2776595836,4509242.6260239873]]]]} 
    150150 
    151 La géométrie de type "MultiPolygon", interressant ! 
    152     
    153        
     151La géométrie de type "MultiPolygon", intéressant ! 
     152 
     153 
    154154 * **"Combien de polygones sont dans le multi-polygone 'West Village' ?"** 
    155   
     155 
    156156   .. code-block:: sql 
    157157 
     
    163163 
    164164      1 
    165         
     165 
    166166   .. note:: 
    167     
     167 
    168168      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. 
    169         
    170         
     169 
     170 
    171171 * **"Quel est la longueur des rues de la ville de New York, suivant leur type ?"** 
    172   
     172 
    173173   .. code-block:: sql 
    174174 
     
    179179 
    180180   :: 
    181     
    182                             type                       |      length       
     181 
     182                            type                       |      length 
    183183     --------------------------------------------------+------------------ 
    184184      residential                                      | 8629870.33786606 
     
    204204      motorway_link; residential                       |  215.07778911517 
    205205 
    206      
     206 
    207207   .. note:: 
    208208 
    209209      La clause ``ORDER BY length DESC`` ordonne le résultat 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 
    211   
    212   
    213   
    214          
Note: See TracChangeset for help on using the changeset viewer.