En una entrada anterior se vio cómo empezar a cargar datos de tráfico con Python para visualizarlos en ArcGIS Pro. A continuación se va a seguir incluyendo código para que se puedan visualizar dichos datos JSON en ArcGIS Pro.
El siguiente bloque de código se va a crear un diccionario para las entidades que son de tipo línea. Y se cargarán las entidades en la variable data_raw. Con el método append(), se van a agregar las entidades del tipo de geometría específicos al diccionario apropiado, en este caso sólo hay de un tipo .
data_features = dict(type=data_raw['type'], features=[]) for feat in data_raw['features']: if feat['geometry']['type'] == 'LineString': data_features['features'].append(feat)
Si se quiere averiguar cuántas entidades tenemos en dicho archivo o en una posición determinada deberemos pasar las siguientes líneas de código.
len(data_features['features']) data_features['features'][9]['id']
A continuación, guardará el diccionario como un archivo JSON en el mismo directorio temporal donde guardó el JSON original ( temp_dir ). Ejecutará la función os.path.join() para crear rutas de archivo para el nuevo JSON.
Luego, creará la declaración with y usará la función json.dump() para guardar los diccionarios como archivos JSON. Con la función print() se podrá mostrar la ruta.
features_json_path = os.path.join(temp_dir, 'linestring.json') with open(features_json_path, 'w') as linestring_json_file: json.dump(data_features, linestring_json_file, indent=4) print(features_json_path)
Ahora que se crearon los archivos JSON, ejecutará la función arcpy.conversion.JSONToFeatures() para convertirlos en una “Feature Class” que se guardarán en la geodatabase anteriormente creada.
arcpy.conversion.JSONToFeatures(features_json_path, 'tráfico')
Dicha feature class se mostrará directamente en el visor y se le puede aportar una simbología dónde se muestre los niveles de tráfico en la ciudad de Santiago de Compostela.
Deje su comentario