Spec-Zone.ru › MySQL 5.7

11.4.2.1 Иерархия классов Geometry

Классы геометрии определяют иерархию следующим образом:

  • Geometry (неинициализируемый)

    • Point (инициализируемый)

    • Curve (неинициализируемый)

      • LineString (инициализируемый)

        • Line

        • LinearRing

    • Surface (неинициализируемый)

      • Polygon (инициализируемый)

    • GeometryCollection (инициализируемый)

      • MultiPoint (инициализируемый)

      • MultiCurve (неинициализируемый)

        • MultiLineString (инициализируемый)

      • MultiSurface (неинициализируемый)

        • MultiPolygon (инициализируемый)

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

Geometry является базовым классом. Это абстрактный класс. Инициализируемые подклассы Geometry ограничены геометрическими объектами нулевой, первой и второй размерности, которые существуют в двумерном координатном пространстве. Все инициализируемые классы геометрии определены так, что допустимые экземпляры класса геометрии топологически замкнуты (то есть все определенные геометрии включают свою границу).

Базовый класс Geometry имеет подклассы для Point, Curve, Surface и GeometryCollection:

  • Point представляет объекты нулевой размерности.

  • Curve представляет объекты первой размерности и имеет подкласс LineString с подподклассами Line и LinearRing.

  • Surface предназначен для объектов второй размерности и имеет подкласс Polygon.

  • GeometryCollection имеет специализированные классы коллекций нулевой, первой и второй размерности, называемые MultiPoint, MultiLineString и MultiPolygon для моделирования геометрий, соответствующих коллекциям Points, LineStrings и Polygons соответственно. MultiCurve и MultiSurface введены как абстрактные суперклассы, которые обобщают интерфейсы коллекций для обработки Curves и Surfaces.

Geometry, Curve, Surface, MultiCurve и MultiSurface определены как неинициализируемые классы. Они определяют общий набор методов для своих подклассов и включены для расширяемости.

Point, LineString, Polygon, GeometryCollection, MultiPoint, MultiLineString и MultiPolygon являются инициализируемыми классами.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/gis-geometry-class-hierarchy.html

Spec-Zone.ru

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