Способы представления геометрических данных

Представление (описание) геометрических типов данных возможно двумя способами:

  1. в текстовом виде – WKT-формат (Well-Known Text);

  2. в двоичном виде – WKB-формат (Well-Known Binary).

Текстовое представление данных определяет формат в виде текстовой строки, содержащей:

  1. имя типа объекта (Point, Linestring, Polygon, Multipoint, Multilinestring, Multipolygon, Geometrycollection, Box, Line, Circle);

  2. пары чисел как координаты точек;

  3. скобки для группировки элементов.

Например, геометрический объект в виде двух многоугольников в текстовом представлении будет иметь вид:

MULTIPOLYGON(((10 10, 10 20, 20 20, 20 15, 10 10)),((60 60, 70 7, 80 60, 60 60)))

Двоичное представление данных определяет формат в виде байтовой строки, представляющей структуру данных (в терминах языка программирования C/C++) соответствующего графического объекта.

Например, представление точки задается следующей структурой данных:

WKBPoint
    {
    byte byteOrder; /порядок байтов в структуре
    uint32 wkbType; /тип геометрического объекта
    Point point; /координаты объекта
    }

Соответственно, WKB-представлением точки с прямым порядком байтов и координатами (1,1) является последовательность из 21 байта:

0001000000000000000000F03F000000000000F03F

где:

00 – byteOrder

01000000 – wkbType

000000000000F03F – X

000000000000F03F – Y