Changeset 21 for trunk/workshop-foss4g/geometries_exercises.rst
- Timestamp:
- 23/09/2011 16:36:36 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/workshop-foss4g/geometries_exercises.rst
r1 r21 1 1 .. _geometries_exercises: 2 2 3 Section 9: Geometry Exercises4 ============================= 5 6 Here's a reminder of all the functions we have seen so far. They should be useful for the exercises!7 8 * :command:`sum(expression)` ag gregate to return a sum for a set of records9 * :command:`count(expression)` ag gregate to return the size of a set of records10 * :command:`ST_GeometryType(geometry)` ret urns the type of the geometry11 * :command:`ST_NDims(geometry)` ret urns the number of dimensions of the geometry12 * :command:`ST_SRID(geometry)` ret urns the spatial reference identifier number of the geometry13 * :command:`ST_X(point)` ret urns the X ordinate14 * :command:`ST_Y(point)` ret urns the Y ordinate15 * :command:`ST_Length(linestring)` ret urns the length of the linestring16 * :command:`ST_StartPoint(geometry)` ret urns the first coordinate as a point17 * :command:`ST_EndPoint(geometry)` ret urns the last coordinate as a point18 * :command:`ST_NPoints(geometry)` ret urns the number of coordinates in the linestring19 * :command:`ST_Area(geometry)` ret urns the area of the polygons20 * :command:`ST_NRings(geometry)` ret urns the number of rings (usually 1, more if there are holes)21 * :command:`ST_ExteriorRing(polygon)` ret urns the outer ring as a linestring22 * :command:`ST_InteriorRingN(polygon, integer)` ret urns a specified interior ring as a linestring23 * :command:`ST_Perimeter(geometry)` ret urns the length of all the rings24 * :command:`ST_NumGeometries(multi/geomcollection)` ret urns the number of parts in the collection25 * :command:`ST_GeometryN(geometry, integer)` ret urns the specified part of thecollection26 * :command:`ST_GeomFromText(text)` ret urns``geometry``27 * :command:`ST_AsText(geometry)` ret urnsWKT ``text``28 * :command:`ST_AsEWKT(geometry)` ret urnsEWKT ``text``29 * :command:`ST_GeomFromWKB(bytea)` ret urns``geometry``30 * :command:`ST_AsBinary(geometry)` ret urnsWKB ``bytea``31 * :command:`ST_AsEWKB(geometry)` ret urnsEWKB ``bytea``32 * :command:`ST_GeomFromGML(text)` ret urns``geometry``33 * :command:`ST_AsGML(geometry)` ret urnsGML ``text``34 * :command:`ST_GeomFromKML(text)` ret urns``geometry``35 * :command:`ST_AsKML(geometry)` ret urnsKML ``text``36 * :command:`ST_AsGeoJSON(geometry)` ret urnsJSON ``text``37 * :command:`ST_AsSVG(geometry)` ret urnsSVG ``text``38 39 Also remember the tables we have available:3 Partie 9 : exercices sur les géométries 4 ====================================== 5 6 Voici un petit rappel de toute les fonction que nous avons jusqu'à présent. Elles devraient être utiles pour les exercices ! 7 8 * :command:`sum(expression)` agrégation retournant la somme d'un ensemble 9 * :command:`count(expression)` agrégation retournant le nombre d'éléments d'un ensemble 10 * :command:`ST_GeometryType(geometry)` retourne le type de la géométrie 11 * :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 13 * :command:`ST_X(point)` retourne la coordonnée X 14 * :command:`ST_Y(point)` retourne la coordonnée Y 15 * :command:`ST_Length(linestring)` retourne la longueur d'une ligne 16 * :command:`ST_StartPoint(geometry)` retourne le premier point d'une ligne 17 * :command:`ST_EndPoint(geometry)` retourne le dernier point d'une ligne 18 * :command:`ST_NPoints(geometry)` retourne le nombre point d'une ligne 19 * :command:`ST_Area(geometry)` retourne l'aire d'un polygone 20 * :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 22 * :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 24 * :command:`ST_NumGeometries(multi/geomcollection)` retourne le nombre de composantes dans une collection 25 * :command:`ST_GeometryN(geometry, integer)` retourne la niÚme entité de la collection 26 * :command:`ST_GeomFromText(text)` retourne ``geometry`` 27 * :command:`ST_AsText(geometry)` retourne WKT ``text`` 28 * :command:`ST_AsEWKT(geometry)` retourne EWKT ``text`` 29 * :command:`ST_GeomFromWKB(bytea)` retourne ``geometry`` 30 * :command:`ST_AsBinary(geometry)` retourne WKB ``bytea`` 31 * :command:`ST_AsEWKB(geometry)` retourne EWKB ``bytea`` 32 * :command:`ST_GeomFromGML(text)` retourne ``geometry`` 33 * :command:`ST_AsGML(geometry)` retourne GML ``text`` 34 * :command:`ST_GeomFromKML(text)` retourne ``geometry`` 35 * :command:`ST_AsKML(geometry)` retourne KML ``text`` 36 * :command:`ST_AsGeoJSON(geometry)` retourne JSON ``text`` 37 * :command:`ST_AsSVG(geometry)` retourne SVG ``text`` 38 39 Souvenez-vous aussi des tables qui sont disponibles: 40 40 41 41 * ``nyc_census_blocks`` … … 72 72 .. note:: 73 73 74 The area is given in square meters. To get an area in hectares, divide by 10000. To get an area in acres, divide by4047.75 76 * **" What is the area of Manhattan in acres?"** (Hint: both ``nyc_census_blocks`` and ``nyc_neighborhoods`` have a ``boroname`` in them.)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``.) 77 77 78 78 .. code-block:: sql … … 99 99 100 100 101 * **" How many census blocks in New York City have a hole in them?"**101 * **"Combien de bloques de la ville de New York ont des trous ?"** 102 102 103 103 .. code-block:: sql … … 111 111 66 112 112 113 * **" What is the total length of streets (in kilometers) in New York City?"** (Hint: The units of measurement of the spatial data are meters, there are 1000 meters in a kilometer.)113 * **"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 114 115 115 .. code-block:: sql … … 122 122 10418.9047172 123 123 124 * **" How long is 'Columbus Cir' (Columbus Circle)?**124 * **"Quelle est la longueur de 'Columbus Cir' (Columbus Circle) ?** 125 125 126 126 .. code-block:: sql … … 134 134 308.34199 135 135 136 * **" What is the JSON representation of the boundary of the 'West Village'?"**136 * **"Quelle est le contour de 'West Village' au format JSON ?"** 137 137 138 138 .. code-block:: sql … … 149 149 [583263.2776595836,4509242.6260239873]]]]} 150 150 151 The geometry type is "MultiPolygon", interesting!151 La géométrie de type "MultiPolygon", interressant ! 152 152 153 153 154 * **" How many polygons are in the 'West Village' multipolygon?"**154 * **"Combien de polygones sont dans le multi-polygone 'West Village' ?"** 155 155 156 156 .. code-block:: sql … … 166 166 .. note:: 167 167 168 I t is not uncommon to find single-element MultiPolygons in spatial tables. Using MultiPolygons allows a table with only one geometry type to store both single- and multi-geometries without using mixedtypes.169 170 171 * **" What is the length of streets in New York City, summarized by type?"**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. 169 170 171 * **"Quel est la longueur des rues de la ville de New York, suivant leur type ?"** 172 172 173 173 .. code-block:: sql … … 207 207 .. note:: 208 208 209 The ``ORDER BY length DESC`` clause sorts the result by length in descending order. The result is that most prevalent types are first in the list.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. 210 210 211 211
Note: See TracChangeset
for help on using the changeset viewer.