Czy istnieje biblioteka do konwersji funkcji ArcGIS na Json?

9

Czy istnieje biblioteka umożliwiająca konwersję typów ArcGIS IFeature do i z Json / GeoJson?

BlinkyBill
źródło
Zestaw
nicogis

Odpowiedzi:

6

ArcGIS 10 ma AsShapefunkcję konwersji GeoJSON do arcpy geometrii, która naśladuje Zgrabna jest AsShaperealizacji i arcpy przedmiotów geometrii __geo_interface__poziomu (także z kształtnych) do uzyskania arcpy geometrii powrotem jako GeoJSON.

Jason Scheirer
źródło
Chociaż jest to dobry czas, wolałbym, aby użyli podobnego pomysłu do interfejsu IXMLSerializer, ale z Jsonem. Bardziej spójny i dostępny we wszystkich językach, które mogą korzystać z ArcObjects.
BlinkyBill,
1
Możesz rzucić własne w ArcGIS 10 z IJSONWriter i JSONWriter CoClass: help.arcgis.com/en/sdk/10.0/Arcobjects_CPP/componenthelp/…
Jason Scheirer
ArcSh's AsShape / __ geo_interface__ jest przydatny, ale po prostu nie przepuszczaj żadnych wielokątów z wewnętrznymi pierścieniami: gis.stackexchange.com/questions/10201/…
valveLondon
6

Powinieneś sprawdzić GeoJSON.Net przez Vish: http://viswaug.wordpress.com/2008/05/11/geojsonnet-a-net-library-to-produ-geojson-output/

Rozbudowanie go o geometrie ArcObjects powinno być dość łatwe.

Możesz także spojrzeć na eksportera GeoJSON, który zrobiłem dla SharpMap (musisz to zrobić w Google, ponieważ StackExchange nie pozwoli mi opublikować drugiego hiperłącza). Obiekty geometrii w SharpMap mają bardzo podobną strukturę do tych w ArcObjects, więc ich rozszerzenie również powinno być dość łatwe.

Bill Dollins
źródło
Jest tam wiele dobrych wskazówek, ale podobnie jak większość innych opcji, musiałbym napisać własną implementację, którą wybrałem.
BlinkyBill,
1

Najlepszym rozwiązaniem jest napisanie własnych ram. Używaj obiektów Arcobject, aby móc korzystać z geometrii przechowywanych w dowolnym rodzaju geobazy / pliku kształtu / zasięgu. Nie powinno to być zbyt trudne.

George Silva
źródło
1
Łatwo jest napisać jedną dla prostych geometrii, tym bardziej, gdy trzeba wspierać bardziej egzotyczne przypadki. To jest jednak droga, którą wybrałem.
BlinkyBill,
0

Nie widzę żadnej istniejącej biblioteki, ale ten interfejs REST w języku C # od ArcDeveloper zapewnia początek. Istnieje również licencjonowany zestaw narzędzi Python CC-AO do eksportu klasy obiektów do GeoJSON, który powinien pasować do rachunku, obsługuje pięć głównych typów wektorów.

Specyfikacja GeoJSON jest prosta i nie powinna być zbyt uciążliwa do wdrożenia, jeśli zestaw narzędzi nie spełnia twoich potrzeb.

scw
źródło
Niestety, opcja python, choć pasuje do rachunku, musi być używana w kontekście serwera, gdzie użycie obiektu geoprzetwarzania stwarza problemy z wątkami i skalowaniem.
BlinkyBill,
0

ESRI ma darmowy skrypt Pythona, który konwertuje z klas elementów na json, geojson lub csv. esri2open

Klewis
źródło
0

Trochę późno, ale pomyślałem, że to przydatny dodatek ...

Używam ArcGIS.PCL, który działa bardzo dobrze. Umożliwia interakcję z ArcGIS i wypluwanie dowolnej geometrii jako GeoJson.

Gavin
źródło