V ArcGIS Pro můžeme pomocí funkce arcpy.FeaturesToJSON_conversion převést data do formátu GeoJSON, pokud jako 6. parametr funkce použijeme hodnotu GEOJSON. (Bez použití tohoto parametru nebo s hodnotou NO_GEOJSON proběhne převod do výchozího formátu Esri JSON.) V aplikaci ArcMap lze tento parametr použít od verze 10.5.
Pokud chceme pomocí ArcPy přistupovat přímo k objektu s GeoJSON geometrií, můžeme použít v kurzoru u geometrie prvku nedokumentovanou vlastnost __geo_interface__ k získání řetězce této geometrie a pak ji převést do formátu GeoJSON, případně s ní dále pracovat. Níže uvádíme příklad vypisující GeoJSON geometrii prvků ve vybraném souboru SHP. Tuto vlastnost je možné použít i ve starších verzích aplikace ArcMap.
Je vhodné zkontrolovat, zda objekt geometrie není None (pokus získat vlastnost __geo_interface__ takového objektu totiž skončí chybou), a také nahradit kulaté závorky hranatými. Může se totiž stát, že výsledný GeoJSON bude obsahovat chybně kulaté závorky.
import arcpyfc = 'c:/TEMP/ArcCR500_v30/ZEL_STAN.shp'fields = ['ZEL_STAN_','SHAPE@']with arcpy.da.SearchCursor(fc, fields) as cursor: for row in cursor: if row[1] is not None: print(str(row[1].__geo_interface__).replace("(","[").replace(")","]"))
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registrieren Sie ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.