Gibt es eine vorhandene Bibliothek zum Konvertieren von ArcGIS-Features in Json?


Antworten:


6

ArcGIS 10 hat die AsShapeFunktion für GeoJSON zu ArcPy Geometrien Umwandlung, die ahmt Shapely ‚s AsShapeund ArcPy Geometrieobjekten die Umsetzung __geo_interface__Standard (auch von Shapely) für das Erhalten ArcPy Geometrien zurück , als GeoJSON.


Dies ist zwar eine gute Zeit, aber ich hätte mir gewünscht, dass sie eine ähnliche Idee wie die IXMLSerializer-Oberfläche verwenden, jedoch mit Json. Konsistenter und in allen Sprachen verfügbar, die ArcObjects verwenden können.
BlinkyBill

1
Sie können Ihre eigenen in ArcGIS 10 mit IJSONWriter und der JSONWriter CoClass rollen: help.arcgis.com/de/sdk/10.0/Arcobjects_CPP/componenthelp/…
Jason Scheirer

arcpys AsShape / __ geo_interface__ ist praktisch, aber geben Sie keine Polygone mit Innenringen ein
ValveLondon

6

Sie sollten sich GeoJSON.Net von Vish ansehen: http://viswaug.wordpress.com/2008/05/11/geojsonnet-a-net-library-to-produce-geojson-output/

Es sollte ziemlich einfach sein, es zu erweitern, um ArcObjects-Geometrien zu verwenden.

Sie können sich auch den GeoJSON-Exporter ansehen, den ich für SharpMap erstellt habe (Sie müssen dies bei Google tun, da ich mit StackExchange keinen zweiten Hyperlink veröffentlichen kann). Die Geometrieobjekte in SharpMap haben eine sehr ähnliche Struktur wie die in ArcObjects, sodass sie auch recht einfach zu erweitern sein sollten.


Viele gute Hinweise, aber wie bei den meisten anderen Optionen müsste ich meine eigene Implementierung schreiben, was der Weg ist, den ich gegangen bin.
BlinkyBill


1

Am besten schreiben Sie Ihr eigenes Framework. Verwenden Sie Bogenobjekte, damit Sie Geometrien verwenden können, die in einer beliebigen Art von Geodatabase / Shapefile / Coverage gespeichert sind. Es sollte nicht zu schwer sein, es zu tun.


1
Es ist ziemlich einfach, eine für einfache Geometrien zu schreiben, weniger, wenn Sie die exotischeren Fälle unterstützen müssen. Dies ist jedoch der Weg, den ich gegangen bin.
BlinkyBill

0

Ich sehe keine vorhandene Bibliothek, aber diese C # REST-Schnittstelle von ArcDeveloper bietet einen Anfang. Es gibt auch diese von CC-AO lizenzierte Python-Toolbox zum Exportieren einer Feature-Class nach GeoJSON, die in die Rechnung passen sollte. Sie behandelt die fünf wichtigsten Vektortypen.

Die GeoJSON-Spezifikation ist unkompliziert und sollte nicht zu aufwändig zu implementieren sein, wenn die Toolbox nicht Ihren Anforderungen entspricht.


Leider muss die Python-Option, obwohl sie zur Rechnung passt, in einem Serverkontext verwendet werden, in dem die Verwendung des Geoverarbeitungsobjekts Threading- und Skalierungsprobleme verursacht.
BlinkyBill

0

ESRI verfügt über dieses kostenlose Python-Skript, das von Feature-Class zu JSON, Geojson oder CSV konvertiert. esri2open


0

Ein bisschen spät, aber ich dachte, es ist eine nützliche Ergänzung ...

Ich benutze ArcGIS.PCL, was sehr gut funktioniert. Ermöglicht die Interaktion mit ArcGIS und das Ausspucken von Geometrien als GeoJson.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.