Existe-t-il une bibliothèque existante pour convertir les fonctionnalités ArcGIS en Json?

Réponses:

6

ArcGIS 10 a la AsShapefonction pour convertir GeoJSON à des géométries ArcPy, qui imite galbé s » AsShape, et les objets géométriques ArcPy mettent en oeuvre la __geo_interface__norme (également de galbé) pour obtenir des géométries ArcPy avant que GeoJSON.

Jason Scheirer
la source
Bien que ce soit un bon moment, j'aurais aimé qu'ils utilisent une idée similaire à l'interface IXMLSerializer, mais avec Json. Plus cohérent et disponible dans toutes les langues pouvant utiliser ArcObjects.
BlinkyBill
1
Vous pouvez lancer le vôtre dans ArcGIS 10 avec IJSONWriter et JSONWriter CoClass: help.arcgis.com/en/sdk/10.0/Arcobjects_CPP/componenthelp/…
Jason Scheirer
AsShape / __ geo_interface__ d'arcpy est pratique mais ne passez pas dans les polygones avec des anneaux intérieurs: gis.stackexchange.com/questions/10201/…
valveLondon
6

Vous devriez vérifier GeoJSON.Net par Vish: http://viswaug.wordpress.com/2008/05/11/geojsonnet-a-net-library-to-produce-geojson-output/

Il devrait être assez facile de l'étendre pour utiliser les géométries ArcObjects.

En outre, vous pouvez jeter un œil à l'exportateur GeoJSON que j'ai fait pour SharpMap (vous devrez le faire sur Google car StackExchange ne me laissera pas poster un deuxième lien hypertexte). Les objets géométriques de SharpMap ont une structure très similaire à ceux d'ArcObjects, ce qui devrait également être assez facile à étendre.

Bill Dollins
la source
Beaucoup de bons pointeurs là-bas, mais comme la plupart des autres options, je devrais écrire ma propre implémentation, qui est la voie que j'ai empruntée.
BlinkyBill
1

Cette question avec la réponse de Stack Overflow peut fonctionner.

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

Zachary
la source
1
Merci pour la suggestion. Malheureusement, la bibliothèque référencée lit les fichiers de formes de manière native, plutôt que d'utiliser le framework ArcObjects.
BlinkyBill
1

Le mieux est d'écrire votre propre framework. Utilisez des objets arc afin de pouvoir utiliser des géométries stockées dans n'importe quel type de géodatabase / fichier de formes / couverture. Cela ne devrait pas être trop difficile à faire.

George Silva
la source
1
Il est assez facile d'en écrire un pour les géométries simples, moins lorsque vous devez prendre en charge les cas les plus exotiques. C'est cependant la voie que j'ai empruntée.
BlinkyBill
0

Je ne vois aucune bibliothèque existante, mais cette interface C # REST d'ArcDeveloper fournit un début. Il y a aussi cette boîte à outils Python sous licence CC-AO pour exporter une classe d'entités vers GeoJSON qui devrait convenir, elle gère les cinq principaux types de vecteurs.

La spécification GeoJSON est simple et ne devrait pas être trop onéreuse à mettre en œuvre, si la boîte à outils ne répond pas à vos besoins.

scw
la source
Malheureusement, l'option python, bien qu'elle corresponde à la facture, doit être utilisée dans un contexte de serveur, où l'utilisation de l'objet de géotraitement crée des problèmes de threading et de mise à l'échelle.
BlinkyBill
0

ESRI a ce script Python gratuit qui convertit de la classe d'entités en json, geojson ou csv. esri2open

klewis
la source
0

Un peu d'ajout tardif, mais j'ai pensé que c'était un ajout utile ...

J'utilise ArcGIS.PCL qui fonctionne très bien. Vous permet d'interagir avec ArcGIS et de cracher n'importe quelle géométrie en tant que GeoJson.

Gavin
la source