Общие сведения

В СУБД ЛИНТЕР для поддержки геометрических типов данных реализовано подмножество среды SQL с геометрическими типами (SQL with Geometry Types), спецификация которой предложена консорциумом OpenGIS. Столбец таблицы, в котором хранятся геометрические данные, имеет геометрический тип. Спецификация описывает набор геометрических типов данных SQL, а также функций, предназначенных для создания и анализа значений указанных геометрических типов данных.

В СУБД ЛИНТЕР поддерживается работа с геометрическими данными для BIG ENDIAN платформ и включает в себя следующее:

  1. на MSBF-платформах бинарное представление значений геометрических типов хранится в нативном для этой платформы формате, для каждого значения геометрического типа в заголовке устанавливается байт
    wkbByteOrder = wkbXDR /* Big Endian */;

  2. реализована функция автоматической конвертации, которая:

    • на Intel-платформах преобразовывает входящие значения геометрических типов с порядком байт Big Endian в значения с Little Endian;

    • на MSBF-платформах преобразовывает входящие значения геометрических типов с порядком байт Little Endian в значения с Big Endian.

    Примечание

    Функция автоматической конвертации не используется, если значения геометрических типов заносятся в БД не с помощью специализированных функций вида GeomFromWKB (PointFromWKB, PolyFromWKB, ...), а напрямую, с помощью функции HEX. В этом случае значения заносятся в БД "как есть" и их корректность можно проверить функцией GeoIsValid().

Геометрические типы данных позволяют генерировать, сохранять и анализировать географические данные, которые отражают элементы окружающего мира:

  • географические объекты (например, гора, водоем, город);

  • территории (например, область, задаваемая почтовым индексом);

  • местоположения (например, перекресток, как специфическое место пересечения двух дорог).

Для включения режима совместимости преобразования значений гео-типов из текстового вида в бинарный (режим совместимости с PostgreSQL) необходимо ядро СУБД запускать с ключом /COMPATIBILITY=PGGEO или выполнить SQL-команду SET COMPATIBILITY 'PGGEO'. В данном режиме координаты могут быть разделены пробелами и запятыми, в стандартном режиме они могут быть разделены только пробелами. При этом для каждой точки допустимо указание до 4-х координат из многомерного пространства, реально используются из которых только первые две.

Примечание

Режим совместимости преобразования значений гео-типов из текстового вида в бинарный поддерживается со сборки 6.0.17.92.