Класс Geometry

Geometry – корневой класс иерархии. Каждый объект класса Geometry описывается множеством его свойств. Подклассы корневого класса Geometry наследуют свойства класса Geometry и имеют собственные свойства.

Свойства класса

Класс Geometry имеет следующие свойства:

  1. тип, к которому принадлежит объект геометрического типа. Каждый объект геометрического типа принадлежит одному из инстанцируемых классов в иерархии;

  2. идентификатор системы координат объекта (SRID) геометрического типа, описывающего координатное пространство, в котором определен объект геометрического типа;

  3. координаты объекта геометрического типа в системе координат, представленные в виде вещественных чисел двойной точности (8 байтов, double). Все непустые объекты геометрического типа имеют не менее одной пары координат (X, Y). Пустые конфигурации не содержат координат;

  4. внутренняя область, граница и внешняя область. Все объекты геометрического типа занимают некоторую позицию в пространстве. Внешняя область объекта геометрического типа – все пространство, не занятое им. Внутренняя область – пространство, занятое объектом геометрического типа. Граница – разделитель между внутренней областью геометрии и внешней;

  5. минимальный ограничительный прямоугольник объекта геометрического типа. Это ограничительная граница вокруг объекта геометрического типа, сформированная минимумами и максимумами координат (X, Y):

    ((MINX MINY, MAXX MINY, MAXX MAXY, MINX MAXY, MINX MINY))
  6. простой (simple) или непростой (non-simple). Каждый геометрический класс определяет собственные критерии того, является ли принадлежащий ему объект простым или непростым;

  7. замкнутый (closed) или не замкнутый (not closed). Значения геометрических объектов некоторых типов (LineString, MultiLineString) или замкнуты, или не замкнуты. Каждый геометрический класс определяет собственные критерии того, является ли принадлежащий ему объект замкнутым или не замкнутым;

  8. пустой (empty) или не пустой (not empty). Объект геометрического типа пуст, если он не имеет точек. Внешняя область, внутренняя область и граница пустого объекта геометрического типа не определены, то есть они представлены NULL-значением. Пустой объект геометрического типа всегда простой. Пустой объект геометрического типа имеет площадь 0;

  9. размерность объекта геометрического типа может иметь значение: -1, 0, 1 или 2:

    • размерность -1 установлена для пустых объектов геометрического типа;

    • размерность 0 установлена для объекта геометрического типа без длины и с нулевой площадью;

    • размерность 1 установлена для объекта геометрического типа с ненулевой длиной и нулевой площадью;

    • размерность 2 установлена для объекта геометрического типа с ненулевой площадью;

    • размерность подкласса Point равна 0;

    • размерность подкласса LineStrings равна 1;

    • размерность подкласса Polygon равна 2;

    • размерность объектов классов MultiPoint, MultiLineString и MultiPolygon та же самая, что и у элементов, из которых они состоят.