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.

Jason Scheirer
quelle
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.

Bill Dollins
quelle
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.

George Silva
quelle
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.

scw
quelle
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

klewis
quelle
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.

Gavin
quelle