Поиск

Поддерживаемые форматы пространственных данных

Поддерживаемые форматы пространственных данных

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

  1. WKT — известный текстовый формат (Well-Known Text).
  2. WKB - известный двоичный формат (Well-Known Binary).

Внутри MySQL значения геометрических объектов сохраняются в формате, не являющемся идентичным ни формату WKT, ни формату WKB.

Формат WKT

Формат WKT разработан для обмена геометрическими данными в виде ASCII, в формате WKT:
Ниже приведены примеры представления геометрических объектов

  • Объект Point.

  • POINT(15 20)

    Обратите внимание, что координаты точки запятой не разделяются

  • Объект LineString, состоящий из четырех точек.

  • LINESTRING (0 0, 10 10, 20 25, 50 60)
    Обратите внимание, что пары координат точек разделяются запятыми.

    • Объект 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.


    !ждающие правила которой шла речь в

    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
    Компоненты могут быть представлены следующим образом:

    • Значение порядка байтов может быть либо 0, либо 1 для указания сохранения с прямым или обратным порядком байтов. Прямой и обратный порядки байтов также известны как форматы NDR (Network Data Representation - сетевое пред ставление данных) или XDR (External Data Representation - внешнее представле ние данных) соответственно.
    • Тип WKB - это код, обозначающий геометрический тип. Значения от 1 до 7 ука зывают на объекты Point, LineString, Polygon, Multipoint, MultiLineString,

    MultiPolygon и GeometryCollection.

    • Значение объекта Point имеет координаты X и Y, каждая из которых представлена в виде числа с двойной точностью.

    WKB-значения для более сложных геометрических объектов представляются с по­мощью более сложных структур данных, что более подробно рассматривается в спецификации OpenGIS.