Разница между WKT и GeoJson (парсинг данных)

Мне нужно написать синтаксический анализатор на C ++, который позволяет мне создать тип геометрии geojson из действительной строки WKT.

Итак, у меня есть действительная строка WKT в качестве входных данных, и мне нужно преобразовать ее и записать все координаты и т. Д. С помощью rapidjson.

Меня интересует, совпадают ли Geojson и WKT с точки зрения синтаксического анализа. Например, кажется, что тип полигона Geojson соответствует координатам и порядку внешнего / внутреннего кольца.

Итак, эквивалентны ли типы Geojson и WKT с точки зрения порядка координат и внутренней структуры для всех типов (точка, линия, мультиполигон?)

Это сделало бы преобразование почти тривиальным.


person benjist    schedule 17.07.2016    source источник


Ответы (1)


WKT идеально подходит для наборов данных с чрезвычайно высокой точностью, поскольку он может поддерживать различные CRS. Однако системой координат для всех координат GeoJSON является WGS 84. Таким образом, помимо географической системы координат, формат WKT также может описывать, как комбинировать геоцентрическую, проекционную, вертикальную, временную и инженерную системы координат; в то время как «GeoJSON не ограничивает вас долготой, широтой, высотой ... многомерные данные не так распространены, поскольку гибкость GeoJSON не соответствует другим форматам».

Еще одно ключевое различие между WKT и GeoJSON заключается в том, что GeoJSON (на основе JSON) чувствителен к регистру, а WKT - нет. WKT также поддерживает изогнутые формы, тогда как GeoJSON - нет.

Таким образом, существует определенная потребность в инструментах преобразования. После дальнейшего исследования вы можете найти ряд парсеров WKT, генерирующих GeoJSON, в том числе один, созданный Томом МакВрайтом (для браузеров и узла), которые позволяют пользователям анализировать и преобразовывать общеизвестный текст в GeoJSON.

Не уверен, что вы поняли это, но хотите дать ответ всем, кто может быть заинтересован.

Источники:

https://tools.ietf.org/html/rfc7946#section-4

http://www.macwright.org/2015/03/23/geojson-second-bite.html#coordinate

person Chelsea    schedule 22.12.2016