Поиск
Поддерживаемые форматы пространственных данных
Поддерживаемые форматы пространственных данных
В этом разделе описываются стандартные форматы пространств пользуемые для представления геометрических объектов в запросах странственных данных бывают следующими:
- WKT — известный текстовый формат (Well-Known Text).
- WKB - известный двоичный формат (Well-Known Binary).
Внутри MySQL значения геометрических объектов сохраняются в формате, не являющемся идентичным ни формату WKT, ни формату WKB.
Формат WKT
Формат WKT разработан для обмена геометрическими данными в виде ASCII, в формате WKT:
Ниже приведены примеры представления геометрических объектов
- Объект Point.
- Объект LineString, состоящий из четырех точек.
- Объект Polygon с одним внешним и одним внутренним кольцами:
Polygon ((0 0,10 0,10 10,0 10,0 0), (5 5,7 5,7 7,5 7 5 5 7,5 5))) - Объект Multipoint с тремя значениями Point.
Multipoint (0 0, 20 20, 60 60) - Объект MultiLineString с двумя значениями LineString.
MULTILINESTRING ((10 10, 20 20), (15 15, 30 15)) (15 15, 20 20)) - Объект MultiPolygon с двумя значениями Polygon.
MultiPolygon ( ( (0 0,10 0,10 10,0 10,0 0)), ((5 5,7 5,7 7 5 7, 5 5))) - Объект GeometryCollection, состоящий из двух значений Роnt и одного значения LineString.
- Значение порядка байтов может быть либо 0, либо 1 для указания сохранения с прямым или обратным порядком байтов. Прямой и обратный порядки байтов также известны как форматы NDR (Network Data Representation - сетевое пред ставление данных) или XDR (External Data Representation - внешнее представле ние данных) соответственно.
- Тип WKB - это код, обозначающий геометрический тип. Значения от 1 до 7 ука зывают на объекты Point, LineString, Polygon, Multipoint, MultiLineString,
- Значение объекта Point имеет координаты X и Y, каждая из которых представлена в виде числа с двойной точностью.
POINT(15 20)
Обратите внимание, что координаты точки запятой не разделяются
LINESTRING (0 0, 10 10, 20 25, 50 60)
Обратите внимание, что пары координат точек разделяются запятыми.
!ждающие правила которой шла речь в
GEOMETRYCOLLECTION (POINT(10 10), POINT(30 30), LINESTRINC
Грамматику Бэкуса-Наура, которая определяет формальные пор для записи WKT-значений можно найти в спецификации OGC, о начале этой главы.
Формат WKB
Формат WKB, предназначенный для представления геометрических значений определен в спецификации OpenGIS, а также в разделе " Пространственные данные стандартов, установленных Международной организацией по стандартизации ISO. Формат WKB используется для обмена геометрическими данными в виде двоичных потоков, представленных значениями BLOB, которые содержат геометрическую WKB-информацию.В WKB используются однобайтовые целые числа без знака, 4-байтовые целые числа без знака и 8-байтовые числа с двойной точностью (формат ШЕЕ 754). Один байт равен 8 битам.
Например, WKB-значение, соответствующее POINT (1 1), состоит из показанной ниже 21-байтовой последовательности (каждый из байтов представлен здесь двумя шест-надцатеричными цифрами):
0101000000000000000000F03F000000000000F03F Последовательность можно поделить на такие компоненты:
Порядок байтов: 01
Тип WKB: 01000000
X: 000000000000F03F
Y: 000000000000F03F
Компоненты могут быть представлены следующим образом:
MultiPolygon и GeometryCollection.
WKB-значения для более сложных геометрических объектов представляются с помощью более сложных структур данных, что более подробно рассматривается в спецификации OpenGIS.