¿Existe una biblioteca existente para convertir las funciones de ArcGIS a Json?

Respuestas:

6

ArcGIS 10 tiene la AsShapefunción de conversión de GeoJSON a geometrías ArcPy, que imita bien proporcionada 's AsShape, y objetos de geometría ArcPy implementan el __geo_interface__estándar (también de Shapely) para conseguir geometrías ArcPy atrás como GeoJSON.

Jason Scheirer
fuente
Si bien este es un buen momento, me hubiera gustado que usaran una idea similar a la interfaz IXMLSerializer, pero con Json. Más coherente y disponible en todos los idiomas que pueden usar ArcObjects.
BlinkyBill
1
Puede rodar el suyo en ArcGIS 10 con IJSONWriter y JSONWriter CoClass: help.arcgis.com/en/sdk/10.0/Arcobjects_CPP/componenthelp/…
Jason Scheirer el
AsShape / __ geo_interface__ de arcpy es útil, pero no pase ningún polígono con anillos interiores: gis.stackexchange.com/questions/10201/…
valveLondon
6

Debe consultar GeoJSON.Net por Vish: http://viswaug.wordpress.com/2008/05/11/geojsonnet-a-net-library-to-produce-geojson-output/

Debería ser bastante fácil extenderlo para usar geometrías de ArcObjects.

Además, puede echar un vistazo al exportador GeoJSON que hice para SharpMap (tendrá que buscarlo en Google ya que StackExchange no me permitirá publicar un segundo hipervínculo). Los objetos de geometría en SharpMap tienen una estructura muy similar a los de ArcObjects, por lo que también debería ser bastante fácil de extender.

Bill Dollins
fuente
Hay muchos buenos indicadores allí, pero como la mayoría de las otras opciones, tendría que escribir mi propia implementación, que es el camino que he seguido.
BlinkyBill
1

Esta pregunta con respuesta de Stack Overflow puede funcionar.

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

Zachary
fuente
1
Gracias por la sugerencia. Lamentablemente, la biblioteca referenciada lee los archivos de forma de forma nativa, en lugar de utilizar el marco de ArcObjects.
BlinkyBill
1

Su mejor apuesta es escribir su propio marco. Use arcobjects para poder usar geometrías almacenadas en cualquier tipo de geodatabase / shapefile / cobertura. No debería ser demasiado difícil hacerlo.

George Silva
fuente
1
Es bastante fácil escribir uno para geometrías simples, y menos cuando necesita admitir los casos más exóticos. Sin embargo, esta es la ruta que he tomado.
BlinkyBill
0

No veo ninguna biblioteca existente, pero esta interfaz C # REST de ArcDeveloper proporciona un comienzo. También existe esta caja de herramientas Python con licencia CC-AO para exportar una clase de entidad a GeoJSON que debe ajustarse a la factura, maneja los cinco tipos de vectores principales.

La especificación GeoJSON es sencilla y no debería ser demasiado onerosa de implementar, si la caja de herramientas no satisface sus necesidades.

scw
fuente
Lamentablemente, la opción de Python, aunque se ajusta a la factura, debe usarse en un contexto de servidor, donde el uso del objeto de geoprocesamiento crea problemas de subprocesos y escalado.
BlinkyBill
0

ESRI tiene este script Python gratuito que convierte de clase de entidad a json, geojson o csv. esri2open

klewis
fuente
0

Una adición un poco tardía, pero pensé que es una adición útil ...

Yo uso ArcGIS.PCL que funciona muy bien. Le permite interactuar con ArcGIS y escupir cualquiera de las geometrías como GeoJson.

Gavin
fuente