Spec-Zone.ru › MySQL 9.2

14.16.3 Функции, создающие значения геометрии из значений WKT

Эти функции принимают в качестве аргументов представление Well-Known Text (WKT) и, необязательно, идентификатор системы пространственной привязки (SRID). Они возвращают соответствующую геометрию. Для описания формата WKT см. Формат Well-Known Text (WKT).

Функции в этом разделе обнаруживают аргументы в системах пространственной привязки (SRS) декартовой или географической систем и возвращают результаты, соответствующие SRS.

ST_GeomFromText() принимает значение WKT любого типа геометрии в качестве первого аргумента. Другие функции предоставляют функции построения, специфичные для типа, для построения значений геометрии каждого типа геометрии.

Функции, такие как ST_MPointFromText() и ST_GeomFromText(), принимающие представления значений в формате WKT MultiPoint, допускают, чтобы отдельные точки внутри значений были окружены скобками. Например, оба следующих вызова функций являются допустимыми:

ST_MPointFromText('MULTIPOINT (1 1, 2 2, 3 3)')
ST_MPointFromText('MULTIPOINT ((1 1), (2 2), (3 3))')

Функции, такие как ST_GeomFromText(), принимающие аргументы коллекций геометрии WKT, понимают как стандартный синтаксис OpenGIS 'GEOMETRYCOLLECTION EMPTY', так и нестандартный синтаксис MySQL 'GEOMETRYCOLLECTION()'. Функции, такие как ST_AsWKT(), которые производят значения WKT, производят 'GEOMETRYCOLLECTION EMPTY' стандартный синтаксис:

mysql> SET @s1 = ST_GeomFromText('GEOMETRYCOLLECTION()');
mysql> SET @s2 = ST_GeomFromText('GEOMETRYCOLLECTION EMPTY');
mysql> SELECT ST_AsWKT(@s1), ST_AsWKT(@s2);
+--------------------------+--------------------------+
| ST_AsWKT(@s1)            | ST_AsWKT(@s2)            |
+--------------------------+--------------------------+
| GEOMETRYCOLLECTION EMPTY | GEOMETRYCOLLECTION EMPTY |
+--------------------------+--------------------------+

Если не указано иное, функции в этом разделе обрабатывают свои аргументы геометрии следующим образом:

  • Если любой аргумент геометрии является NULL или не является синтаксически корректной геометрией, или если аргумент SRID является NULL, возвращаемое значение является NULL.

  • По умолчанию географические координаты (широта, долгота) интерпретируются в порядке, указанном системой пространственной привязки аргументов геометрии. Может быть задан необязательный аргумент options для переопределения порядка осей по умолчанию. options состоит из списка key=value, разделенных запятыми. Единственное разрешенное значение key — axis-order, с разрешенными значениями lat-long, long-lat и srid-defined (по умолчанию).

    Если аргумент options является NULL, возвращаемое значение является NULL. Если аргумент options недопустим, возникает ошибка, указывающая причину.

  • Если аргумент SRID относится к неопределенной системе пространственной привязки (SRS), возникает ошибка.

  • Для аргументов геометрии географической SRS, если какой-либо аргумент имеет долготу или широту, выходящую за пределы диапазона, возникает ошибка:

    • Если значение долготы не находится в диапазоне (−180, 180], возникает ошибка.

    • Если значение широты не находится в диапазоне [−90, 90], возникает ошибка.

    Указанные диапазоны в градусах. Если SRS использует другую единицу измерения, диапазон использует соответствующие значения в этой единице. Точные пределы диапазона незначительно отличаются из-за арифметики с плавающей точкой.

Эти функции доступны для создания геометрий из значений WKT:

  • ST_GeomCollFromText(wkt [, srid [, options]]), ST_GeometryCollectionFromText(wkt [, srid [, options]]), ST_GeomCollFromTxt(wkt [, srid [, options]])

    Строит значение GeometryCollection, используя его представление WKT и SRID.

    Эти функции обрабатывают свои аргументы, как описано во введении к этому разделу.

    mysql> SET @g = "MULTILINESTRING((10 10, 11 11), (9 9, 10 10))";
    mysql> SELECT ST_AsText(ST_GeomCollFromText(@g));
    +--------------------------------------------+
    | ST_AsText(ST_GeomCollFromText(@g))         |
    +--------------------------------------------+
    | MULTILINESTRING((10 10,11 11),(9 9,10 10)) |
    +--------------------------------------------+
    
  • ST_GeomFromText(wkt [, srid [, options]]), ST_GeometryFromText(wkt [, srid [, options]])

    Строит значение геометрии любого типа, используя его представление WKT и SRID.

    Эти функции обрабатывают свои аргументы, как описано во введении к этому разделу.

  • ST_LineFromText(wkt [, srid [, options]]), ST_LineStringFromText(wkt [, srid [, options]])

    Строит значение LineString, используя его представление WKT и SRID.

    Эти функции обрабатывают свои аргументы, как описано во введении к этому разделу.

  • ST_MLineFromText(wkt [, srid [, options]]), ST_MultiLineStringFromText(wkt [, srid [, options]])

    Строит значение MultiLineString, используя его представление WKT и SRID.

    Эти функции обрабатывают свои аргументы, как описано во введении к этому разделу.

  • ST_MPointFromText(wkt [, srid [, options]]), ST_MultiPointFromText(wkt [, srid [, options]])

    Строит значение MultiPoint, используя его представление WKT и SRID.

    Эти функции обрабатывают свои аргументы, как описано во введении к этому разделу.

  • ST_MPolyFromText(wkt [, srid [, options]]), ST_MultiPolygonFromText(wkt [, srid [, options]])

    Строит значение MultiPolygon, используя его представление WKT и SRID.

    Эти функции обрабатывают свои аргументы, как описано во введении к этому разделу.

  • ST_PointFromText(wkt [, srid [, options]])

    Строит значение Point, используя его представление WKT и SRID.

    ST_PointFromText() обрабатывает свои аргументы, как описано во введении к этому разделу.

  • ST_PolyFromText(wkt [, srid [, options]]), ST_PolygonFromText(wkt [, srid [, options]])

    Строит значение Polygon, используя его представление WKT и SRID.

    Эти функции обрабатывают свои аргументы, как описано во введении к этому разделу.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/gis-wkt-functions.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API