Spec-Zone.ru › MariaDB

МНОГОУГОЛЬНИК

Синтаксис

Polygon(ls1,ls2,...)

Описание

Создаёт значение WKB Многоугольника из ряда аргументов WKB Линейных полилиний. Если какой-либо аргумент не представляет собой WKB линейного кольца (то есть не является замкнутой и простой линейной полилинией), возвращаемое значение равно NULL.

Обратите внимание, что согласно стандарту OpenGIS, многоугольник должен иметь ровно одну Внешнюю границу, а все остальные кольца должны лежать внутри этой Внешней границы и, таким образом, быть Внутренними границами. Однако на практике некоторые системы, включая MariaDB, допускают, чтобы у многоугольников было несколько «Внешних границ». В случае наличия нескольких непересекающихся внешних границ ST_NUMINTERIORRINGS() вернёт 1.

Примеры

SET @g = ST_GEOMFROMTEXT('POLYGON((1 1,1 5,4 9,6 9,9 3,7 2,1 1))');

CREATE TABLE gis_polygon   (g POLYGON);
INSERT INTO gis_polygon VALUES
    (PolygonFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))')),
    (PolyFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')),
    (PolyFromWKB(AsWKB(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30, 30), Point(0, 0))))));

Непересекающийся «многоугольник»:

SELECT ST_NumInteriorRings(ST_PolyFromText('POLYGON((0 0,10 0,10 10,0 10,0 0),
  (-1 -1,-5 -1,-5 -5,-1 -5,-1 -1))')) AS NumInteriorRings;
+------------------+
| NumInteriorRings |
+------------------+
|                1 |
+------------------+
Содержимое, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется предварительно MariaDB. Мнения, информация и мнения, выраженные в этом содержимом, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/polygon/

Spec-Zone.ru

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