Вход/Регистрация
MySQL: руководство профессионала
вернуться

Паутов Алексей В.

Шрифт:

mysql> SELECT IsClosed(GeomFromText(@mls));

+------------------------------+

| IsClosed(GeomFromText(@mls)) |

+------------------------------+

| 0 |

+------------------------------+

4.5.2.5. Функции Polygon

Area(poly)

Возвращает как число двойной точности область значения Polygon poly, как измеряется в пространственной системе ссылки.mysql> SET @poly = 'Polygon((0 0,0 3,3 0,0 0),(1 1,1 2,2 1,1 1))';

mysql> SELECT Area(GeomFromText(@poly));

+---------------------------+

| Area(GeomFromText(@poly)) |

+---------------------------+

| 4 |

+---------------------------+

ExteriorRing(poly)

Возвращает внешнее кольцо значения Polygon poly как LineString.mysql> SET @poly = 'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))';

mysql> SELECT AsText(ExteriorRing(GeomFromText(@poly)));

+-------------------------------------------+

| AsText(ExteriorRing(GeomFromText(@poly))) |

+-------------------------------------------+

| LINESTRING(0 0,0 3,3 3,3 0,0 0) |

+-------------------------------------------+

InteriorRingN(poly,N)

Возвращает N– ное внутреннее кольцо для значения Polygon poly как LineString. Кольца пронумерованы, начиная с 1.mysql> SET @poly =

– > 'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))';

mysql> SELECT AsText(InteriorRingN(GeomFromText(@poly),1));

+----------------------------------------------+

| AsText(InteriorRingN(GeomFromText(@poly),1)) |

+----------------------------------------------+

| LINESTRING(1 1,1 2,2 2,2 1,1 1) |

+----------------------------------------------+

NumInteriorRings(poly)

Возвращает число внутренних колец в значении Polygon poly.mysql> SET @poly =

– > 'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))';

mysql> SELECT NumInteriorRings(GeomFromText(@poly));

+---------------------------------------+

| NumInteriorRings(GeomFromText(@poly)) |

+---------------------------------------+

| 1 |

+---------------------------------------+

4.5.2.6. Функции MultiPolygon

Area(mpoly)

Возвращает как число двойной точности область значения MultiPolygon mpoly, как измеряется в пространственной системе ссылки.mysql> SET @mpoly =

– > 'MultiPolygon(((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1)))';

mysql> SELECT Area(GeomFromText(@mpoly));

+----------------------------+

| Area(GeomFromText(@mpoly)) |

+----------------------------+

| 8 |

+----------------------------+

Спецификация OpenGIS также определяет следующие функции, которые MySQL не выполняет:

Centroid(mpoly)

Возвращает математический центр для значения MultiPolygon mpoly как Point. Не гарантируется, что результат будет в MultiPolygon.

PointOnSurface(mpoly)

Возвращает значение Point, которое гарантированно будет в значении MultiPolygon mpoly.

4.5.2.7. Функции GeometryCollection

GeometryN(gc,N)

Возвращает N– ую геометрию в значении GeometryCollection gc. Конфигурации пронумерованы, начиная с 1.mysql> SET @gc = 'GeometryCollection(Point(1 1), LineString(2 2, 3 3))';

mysql> SELECT AsText(GeometryN(GeomFromText(@gc), 1));

+----------------------------------------+

| AsText(GeometryN(GeomFromText(@gc), 1))|

+----------------------------------------+

| POINT(1 1) |

+----------------------------------------+

NumGeometries(gc)

Возвращает число конфигураций в значении GeometryCollection gc.mysql> SET @gc = 'GeometryCollection(Point(1 1), LineString(2 2, 3 3))';

  • Читать дальше
  • 1
  • ...
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: