El AsShape La documentación proporciona ejemplos que funcionan muy bien.
Sin embargo, me han dado lo que creo que es un GeoJSON válido que es una FeatureCollection de dos polígonos cada uno con una Label.
Se valida bien con el Formateador y validador de JSON pero cuando trato de AsShape en él, según el código de abajo, lanza un AssertionError en FeatureCollection.
Supongo que esto se debe a que AsShape no es compatible con FeatureCollections, por lo que me pregunto si hay otro enfoque que pueda utilizar.
import arcpy
polyX2_string = {"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[151.669111722222,-28.8913181547568],[151.669712422222,-28.890733765868],[151.670252222222,-28.8896441436458],[151.670847433333,-28.8891966436458],[151.670976977778,-28.8865389769791],[151.670112977778,-28.8846608880903]]]},"properties":{"Label":"National Park"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[151.711278388889,-28.8201784658692],[151.710854355556,-28.8192543325359],[151.7100674,-28.8187800769803],[151.709037344444,-28.8184233992026],[151.707838755556,-28.8182234992026],[151.705821266667,-28.8180901992026],[151.705597933333,-28.8194629992025],[151.705198088889,-28.8212781880914]]]},"properties":{"Label":"National Park"}}]}
polygon = arcpy.AsShape(polyX2_string)
0 votos
Bueno, de entrada, no funcionará porque una forma sólo puede tener una característica, aunque esa característica puede estar compuesta por múltiples partes. Además, parece que una FeatureCollection puede contener diferentes tipos de características, mientras que un shapefile o feature class sólo puede contener un tipo de característica. Por lo tanto, necesitará alguna lógica adicional para descomponer el objeto JSON en características individuales, así como para que coincida sólo con el tipo de característica soportado por su clase de característica.
0 votos
Gracias blah238 - Voy a trabajar con el desarrollador que está escribiendo el GeoJSON que ingiero, para ver si el polígono (s) se puede pasar como polígonos en lugar de FeatureCollections.