Spec-Zone.ru › MySQL 5.7

12.16.7.4 Функции свойств многоугольников и многоугольных областей

Функции в этом разделе возвращают свойства значений Polygon или MultiPolygon.

  • Area({poly|mpoly})

    ST_Area() и Area() являются синонимами. Более подробную информацию см. в описании ST_Area().

    Area() устарела; ожидается, что она будет удалена в будущей версии MySQL. Используйте ST_Area() вместо нее.

  • Centroid({poly|mpoly})

    ST_Centroid() и Centroid() являются синонимами. Более подробную информацию см. в описании ST_Centroid().

    Centroid() устарела; ожидается, что она будет удалена в будущей версии MySQL. Используйте ST_Centroid() вместо нее.

  • ExteriorRing(poly)

    ST_ExteriorRing() и ExteriorRing() являются синонимами. Более подробную информацию см. в описании ST_ExteriorRing().

    ExteriorRing() устарела; ожидается, что она будет удалена в будущей версии MySQL. Используйте ST_ExteriorRing() вместо нее.

  • InteriorRingN(poly, N)

    ST_InteriorRingN() и InteriorRingN() являются синонимами. Более подробную информацию см. в описании ST_InteriorRingN().

    InteriorRingN() устарела; ожидается, что она будет удалена в будущей версии MySQL. Используйте ST_InteriorRingN() вместо нее.

  • NumInteriorRings(poly)

    ST_NumInteriorRings() и NumInteriorRings() являются синонимами. Более подробную информацию см. в описании ST_NumInteriorRings().

    NumInteriorRings() устарела; ожидается, что она будет удалена в будущей версии MySQL. Используйте ST_NumInteriorRings() вместо нее.

  • ST_Area({poly|mpoly})

    Возвращает число с двойной точностью, указывающее площадь аргумента Polygon или MultiPolygon, измеренную в его системе пространственных ссылок. Для аргументов размерности 0 или 1 результат равен 0. Если аргумент является пустой геометрией, возвращаемое значение равно 0. Если аргумент является NULL, возвращаемое значение равно NULL.

    Результат является суммой значений площади всех компонентов для геометрии-коллекции. Если геометрия-коллекция пустая, её площадь возвращается как 0.

    mysql> SET @poly =
           'Polygon((0 0,0 3,3 0,0 0),(1 1,1 2,2 1,1 1))';
    mysql> SELECT ST_Area(ST_GeomFromText(@poly));
    +---------------------------------+
    | ST_Area(ST_GeomFromText(@poly)) |
    +---------------------------------+
    |                               4 |
    +---------------------------------+
    
    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 ST_Area(ST_GeomFromText(@mpoly));
    +----------------------------------+
    | ST_Area(ST_GeomFromText(@mpoly)) |
    +----------------------------------+
    |                                8 |
    +----------------------------------+
    

    ST_Area() и Area() являются синонимами.

  • ST_Centroid({poly|mpoly})

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

    Эта функция обрабатывает геометрии-коллекции, вычисляя точку центра для компонентов наивысшей размерности в коллекции. Такие компоненты извлекаются и образуют единую MultiPolygon, MultiLineString или MultiPoint для вычисления центра. Если аргумент является пустой геометрией-коллекцией, возвращаемое значение равно NULL.

    mysql> SET @poly =
           ST_GeomFromText('POLYGON((0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5 7,5 5))');
    mysql> SELECT ST_GeometryType(@poly),ST_AsText(ST_Centroid(@poly));
    +------------------------+--------------------------------------------+
    | ST_GeometryType(@poly) | ST_AsText(ST_Centroid(@poly))              |
    +------------------------+--------------------------------------------+
    | POLYGON                | POINT(4.958333333333333 4.958333333333333) |
    +------------------------+--------------------------------------------+
    

    ST_Centroid() и Centroid() являются синонимами.

  • ST_ExteriorRing(poly)

    Возвращает внешнюю линию значений Polygon poly в качестве LineString. Если аргумент является NULL или пустой геометрией, возвращаемое значение равно NULL.

    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 ST_AsText(ST_ExteriorRing(ST_GeomFromText(@poly)));
    +----------------------------------------------------+
    | ST_AsText(ST_ExteriorRing(ST_GeomFromText(@poly))) |
    +----------------------------------------------------+
    | LINESTRING(0 0,0 3,3 3,3 0,0 0)                    |
    +----------------------------------------------------+
    

    ST_ExteriorRing() и ExteriorRing() являются синонимами.

  • ST_InteriorRingN(poly, N)

    Возвращает N-ю внутреннюю линию значений Polygon poly в качестве LineString. Номера линий начинаются с 1. Если аргумент является NULL или пустой геометрией, возвращаемое значение равно NULL.

    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 ST_AsText(ST_InteriorRingN(ST_GeomFromText(@poly),1));
    +-------------------------------------------------------+
    | ST_AsText(ST_InteriorRingN(ST_GeomFromText(@poly),1)) |
    +-------------------------------------------------------+
    | LINESTRING(1 1,1 2,2 2,2 1,1 1)                       |
    +-------------------------------------------------------+
    

    ST_InteriorRingN() и InteriorRingN() являются синонимами.

  • ST_NumInteriorRing(poly), ST_NumInteriorRings(poly)

    Возвращает количество внутренних линий значений Polygon poly. Если аргумент является NULL или пустой геометрией, возвращаемое значение равно NULL.

    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 ST_NumInteriorRings(ST_GeomFromText(@poly));
    +---------------------------------------------+
    | ST_NumInteriorRings(ST_GeomFromText(@poly)) |
    +---------------------------------------------+
    |                                           1 |
    +---------------------------------------------+
    

    ST_NumInteriorRing(), ST_NumInteriorRings() и NumInteriorRings() являются синонимами.

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

Spec-Zone.ru

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