Существует ли существующая библиотека для преобразования объектов ArcGIS в Json?


Ответы:


6

ArcGIS 10 имеет AsShapeфункцию для преобразования в формате GeoJSON arcpy геометрии, которая имитирует Изящный «ы AsShapeи arcpy объекты геометрии реализуют __geo_interface__стандарт (также от стройных) для получения arcpy геометрий назад , как GeoJSON.


Хотя сейчас хорошее время, мне бы хотелось, чтобы они использовали идею, аналогичную интерфейсу IXMLSerializer, но с Json. Более согласованный и доступный на всех языках, которые могут использовать ArcObjects.
BlinkyBill

1
Вы можете свернуть свои собственные в ArcGIS 10 с помощью IJSONWriter и JSONWriter CoClass: help.arcgis.com/en/sdk/10.0/Arcobjects_CPP/componenthelp/…
Джейсон Шайрер,

AsShape / __ geo_interface__ от arcpy удобна, но не передавайте полигоны с внутренними кольцами: gis.stackexchange.com/questions/10201/…
valveLondon

6

Вы должны проверить GeoJSON.Net от Vish: http://viswaug.wordpress.com/2008/05/11/geojsonnet-a-net-library-to-produce-geojson-output/

Это должно быть довольно легко расширить, чтобы использовать геометрию ArcObjects.

Кроме того, вы можете взглянуть на экспортер GeoJSON, который я сделал для SharpMap (вам придется Google, так как StackExchange не позволит мне опубликовать вторую гиперссылку). Геометрические объекты в SharpMap имеют структуру, очень похожую на объекты в ArcObjects, поэтому их также будет довольно легко расширять.


Там много хороших указателей, но, как и большинство других вариантов, мне пришлось бы написать собственную реализацию, по которой я и пошел.
BlinkyBill

1

Этот вопрос с ответом от переполнения стека может работать.

/programming/2223979/convert-a-shapefile-shp-to-xml-json


1
Спасибо за предложение. К сожалению, библиотека, на которую ссылаются, изначально читает шейп-файлы, а не использует инфраструктуру ArcObjects.
BlinkyBill

1

Лучше всего написать собственный каркас. Используйте arcobjects, чтобы вы могли использовать геометрии, хранящиеся в любой базе геоданных / шейп-файлах / покрытиях. Это не должно быть слишком сложно, чтобы сделать это.


1
Это довольно легко написать для простых геометрий, тем более, когда вам нужно поддерживать более экзотические случаи. Это, однако, маршрут, который я прошел.
BlinkyBill

0

Я не вижу никакой существующей библиотеки, но этот интерфейс C # REST от ArcDeveloper обеспечивает начало. Есть также этот набор инструментов Python, лицензированный CC-AO, для экспорта класса объектов в GeoJSON, который должен соответствовать всем требованиям, он обрабатывает пять основных векторных типов.

Спецификация GeoJSON проста и не должна быть слишком обременительной для реализации, если набор инструментов не отвечает вашим потребностям.


К сожалению, опция python, хотя и отвечает всем требованиям, должна использоваться в контексте сервера, где использование объекта геообработки создает проблемы с многопоточностью и масштабированием.
BlinkyBill

0

ESRI имеет этот бесплатный скрипт Python, который конвертирует из класса объектов в json, geojson или csv. esri2open


0

Немного поздно, но решил, что это полезное дополнение ...

Я использую ArcGIS.PCL, который работает очень хорошо. Позволяет вам взаимодействовать с ArcGIS и выкладывать любую геометрию как GeoJson.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.