¿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.


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.


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

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.


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.


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


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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.