Способы представления геометрических данных
Представление (описание) геометрических типов данных возможно двумя способами:
-
в текстовом виде – 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