Spec-Zone.ru › MySQL 9.2

13.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-8.4-en/gis-geometry-class-hierarchy.html

Spec-Zone.ru

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