Способы представления геометрических данных
Представление (описание) геометрических типов данных возможно двумя способами:
-
в текстовом виде – WKT-формат (Well-Known Text);
-
в двоичном виде – WKB-формат (Well-Known Binary).
Текстовое представление данных определяет формат в виде текстовой строки, содержащей:
-
имя типа объекта (Point, Linestring, Polygon, Multipoint, Multilinestring, Multipolygon, Geometrycollection, Box, Line, Circle);
-
пары чисел как координаты точек;
-
скобки для группировки элементов.
Например, геометрический объект в виде двух многоугольников в текстовом представлении будет иметь вид:
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