Перейти к содержимому
Последнее обновление

ST_ASTEXT

Описание​

Преобразует геометрический объект в текстовое представление WKT (Well-Known Text). WKT представляет собой текстовый формат для представления геопространственных данных, широко используемый в географических информационных системах (GIS).

В настоящее время поддерживаются следующие геометрические типы: Point, LineString, Polygon, MultiPolygon, Circle.

Псевдонимы​

  • ST_ASWKT

Синтаксис​

ST_ASTEXT( <geo>)

Параметры​

ПараметрОписание
<geo>Геометрический объект для преобразования в формат WKT.

Возвращаемое значение​

Возвращает текстовое представление геометрического объекта в формате WKT.

ST_ASTEXT обрабатывает следующие граничные случаи:

  • Если входной параметр равен NULL, возвращается NULL.

Пример​

Преобразование объекта Point

SELECT ST_AsText(ST_Point(24.7, 56.7));
+---------------------------------+
| st_astext(st_point(24.7, 56.7)) |
+---------------------------------+
| POINT (24.7 56.7) |
+---------------------------------+

Преобразование объекта LineString

mysql> SELECT ST_AsText(ST_GeometryFromText("LINESTRING (1 1, 2 2)"));
+---------------------------------------------------------+
| ST_AsText(ST_GeometryFromText("LINESTRING (1 1, 2 2)")) |
+---------------------------------------------------------+
| LINESTRING (1 1, 2 2) |
+---------------------------------------------------------+

Преобразование объекта Polygon

mysql> SELECT ST_AsText(ST_Polygon("POLYGON ((114.104486 22.547119,114.093758 22.547753,114.096504 22.532057,114.104229 22.539826,114.106203 22.542680,114.104486 22.547119))"));
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ST_AsText(ST_Polygon("POLYGON ((114.104486 22.547119,114.093758 22.547753,114.096504 22.532057,114.104229 22.539826,114.106203 22.542680,114.104486 22.547119))")) |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| POLYGON ((114.104486 22.547119, 114.093758 22.547753, 114.096504 22.532057, 114.104229 22.539826, 114.106203 22.54268, 114.104486 22.547119)) |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+

Преобразование объекта MultiPolygon

mysql> SELECT ST_AsText(ST_GeometryFromText("MULTIPOLYGON (((0 0, 1 0, 1 1, 0 1, 0 0)), ((2 2, 3 2, 3 3, 2 3, 2 2)))"));
+-----------------------------------------------------------------------------------------------------------+
| ST_AsText(ST_GeometryFromText("MULTIPOLYGON (((0 0, 1 0, 1 1, 0 1, 0 0)), ((2 2, 3 2, 3 3, 2 3, 2 2)))")) |
+-----------------------------------------------------------------------------------------------------------+
| MULTIPOLYGON (((0 0, 1 0, 1 1, 0 1, 0 0)), ((2 2, 3 2, 3 3, 2 3, 2 2))) |
+-----------------------------------------------------------------------------------------------------------+

Преобразование объекта Circle

mysql> SELECT ST_AsText(ST_Circle(116.39748, 39.90882, 0.5));
+------------------------------------------------+
| ST_AsText(ST_Circle(116.39748, 39.90882, 0.5)) |
+------------------------------------------------+
| CIRCLE ((116.39748 39.90882), 0.5) |
+------------------------------------------------+

Входное значение NULL

mysql> SELECT ST_AsText(NULL);
+-----------------+
| ST_AsText(NULL) |
+-----------------+
| NULL |
+-----------------+