Version sans cache

Mise en cache désactivé. Réglage défaut pour cette page : actif (code DEF204)
Si l'affichage est trop lent, vous pouvez désactiver le mode utilisateur pour visualiser la version en cache.

Rechercher dans le manuel MySQL

12.16.11 Spatial GeoJSON Functions

This section describes functions for converting between GeoJSON documents and spatial values. GeoJSON is an open standard for encoding geometric/geographical features. For more information, see http://geojson.org. The functions discussed here follow GeoJSON specification revision 1.0.

GeoJSON supports the same geometric/geographic data types that MySQL supports. Feature and FeatureCollection objects are not supported, except that geometry objects are extracted from them. CRS support is limited to values that identify an SRID.

MySQL also supports a native JSON data type and a set of SQL functions to enable operations on JSON values. For more information, see Section 11.6, “The JSON Data Type”, and Section 12.17, “JSON Functions”.

  • ST_AsGeoJSON(g [, max_dec_digits [, options]])

    Generates a GeoJSON object from the geometry g. The object string has the connection character set and collation.

    If any argument is NULL, the return value is NULL. If any non-NULL argument is invalid, an error occurs.

    max_dec_digits, if specified, limits the number of decimal digits for coordinates and causes rounding of output. If not specified, this argument defaults to its maximum value of 232 − 1. The minimum is 0.

    options, if specified, is a bitmask. The following table shows the permitted flag values. If the geometry argument has an SRID of 0, no CRS object is produced even for those flag values that request one.

    Flag Value Meaning
    0 No options. This is the default if options is not specified.
    1 Add a bounding box to the output.
    2 Add a short-format CRS URN to the output. The default format is a short format (EPSG:srid).
    4 Add a long-format CRS URN (urn:ogc:def:crs:EPSG::srid). This flag overrides flag 2. For example, option values of 5 and 7 mean the same (add a bounding box and a long-format CRS URN).
    1. mysql> SELECT ST_AsGeoJSON(ST_GeomFromText('POINT(11.11111 12.22222)'),2);
    2. +-------------------------------------------------------------+
    3. | ST_AsGeoJSON(ST_GeomFromText('POINT(11.11111 12.22222)'),2) |
    4. +-------------------------------------------------------------+
    5. | {"type": "Point", "coordinates": [11.11, 12.22]}            |
    6. +-------------------------------------------------------------+
  • ST_GeomFromGeoJSON(str [, options [, srid]])

    Parses a string str representing a GeoJSON object and returns a geometry.

    If any argument is NULL, the return value is NULL. If any non-NULL argument is invalid, an error occurs.

    options, if given, describes how to handle GeoJSON documents that contain geometries with coordinate dimensions higher than 2. The following table shows the permitted options values.

    Option Value Meaning
    1 Reject the document and produce an error. This is the default if options is not specified.
    2, 3, 4 Accept the document and strip off the coordinates for higher coordinate dimensions.

    options values of 2, 3, and 4 currently produce the same effect. If geometries with coordinate dimensions higher than 2 are supported in the future, these values will produce different effects.

    The srid argument, if given, must be a 32-bit unsigned integer. If not given, the geometry return value has an SRID of 4326.

    If srid refers to an undefined spatial reference system (SRS), an ER_SRS_NOT_FOUND error occurs.

    For geographic SRS geometry arguments, if any argument has a longitude or latitude that is out of range, an error occurs:

    Ranges shown are in degrees. If an SRS uses another unit, the range uses the corresponding values in its unit. The exact range limits deviate slightly due to floating-point arithmetic.

    GeoJSON geometry, feature, and feature collection objects may have a crs property. The parsing function parses named CRS URNs in the urn:ogc:def:crs:EPSG::srid and EPSG:srid namespaces, but not CRSs given as link objects. Also, urn:ogc:def:crs:OGC:1.3:CRS84 is recognized as SRID 4326. If an object has a CRS that is not understood, an error occurs, with the exception that if the optional srid argument is given, any CRS is ignored even if it is invalid.

    If a crs member that specifies an SRID different from the top-level object SRID is found at a lower level of the GeoJSON document, an ER_INVALID_GEOJSON_CRS_NOT_TOP_LEVEL error occurs.

    As specified in the GeoJSON specification, parsing is case sensitive for the type member of the GeoJSON input (Point, LineString, and so forth). The specification is silent regarding case sensitivity for other parsing, which in MySQL is not case-sensitive.

    This example shows the parsing result for a simple GeoJSON object:

    1. mysql> SET @json = '{ "type": "Point", "coordinates": [102.0, 0.0]}';
    2. mysql> SELECT ST_AsText(ST_GeomFromGeoJSON(@json));
    3. +--------------------------------------+
    4. | ST_AsText(ST_GeomFromGeoJSON(@json)) |
    5. +--------------------------------------+
    6. | POINT(102 0)                         |
    7. +--------------------------------------+

Rechercher dans le manuel MySQL

Traduction non disponible

Le manuel MySQL n'est pas encore traduit en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.

Document créé le 26/06/2006, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/mysql-rf-spatial-geojson-functions.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :en Manuel MySQL : https://dev.mysql.com/

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut