Resumen
Convierte entidades al formato JSON o GeoJSON. Los campos, la geometría y la referencia espacial de las entidades se convertirán a su correspondiente representación JSON y se escribirán en un archivo con una extensión .json o .geojson.
Uso
Si desea que la representación JSON en el archivo de salida sea más fácil de leer, puede habilitar la aplicación de formato. El archivo de salida se formateará con espacios, tabulaciones y retornos de carro para mejorar la legibilidad. Una notación JSON formateada puede ser beneficiosa para el desarrollo y pruebas de aplicaciones. Sin embargo, no se recomienda para aplicaciones de producción, ya que todos los espacios en blanco son innecesarios y omitidos por los analizadores de JSON. Además, la notación JSON formateada puede ser mucho mayor que su equivalente JSON y el tamaño del archivo será superior al de su correspondiente representación JSON. Esto puede afectar al rendimiento de las aplicaciones.
La conversión no admite uniones, relaciones ni asociaciones de las entidades.
Para convertir un subconjunto de entidades en una clase de entidad o una capa de entidades, use las herramientas Seleccionar capa por atributo o Seleccionar capa por ubicación y seleccione el subconjunto de entidades que se van a convertir antes de utilizar De entidades a JSON.
Utilice el parámetro Salida a GeoJSON (geoJSON='GEOJSON' en Python) para crear una salida de archivo .geojson conforme a la especificación GeoJSON. La salida JSON de Esri es el valor predeterminado.
Si la salida es un archivo GeoJSON, tiene la opción de proyectar las entidades de entrada en el sistema de coordenadas WGS 1984, que es el estándar de la especificación GeoJSON. Se aplicará una transformación geográfica predeterminada si es necesario. Si no se usa está opción, el archivo GeoJSON de salida contendrá una etiqueta crs que se puede utilizar en algunas aplicaciones para definir el sistema de coordenadas o el sistema de referencia de coordenadas. Esta etiqueta no es totalmente compatible con la especificación de GeoJSON.
La salida de la herramienta solo incluirá campos de atributos visibles de la entrada. Para incluir todos los campos, debe hacerlos todos visibles. Asimismo, puede usar el parámetro Usar alias de campos para hacer que la salida utilice los alias de los campos en lugar de los nombres de los campos.
Sintaxis
arcpy.conversion.FeaturesToJSON(in_features, out_json_file, {format_json}, {include_z_values}, {include_m_values}, {geoJSON}, {outputToWGS84}, {use_field_alias})
Parámetro | Explicación | Tipo de datos |
in_features | Las entidades que se van a convertir a JSON. | Feature Layer |
out_json_file | El archivo JSON o GeoJSON de salida. | File |
format_json (Opcional) | Especifica si el archivo JSON se formateará para mejorar la legibilidad de forma similar al formato PJSON (Pretty JSON) de la especificación API REST de ArcGIS.
| Boolean |
include_z_values (Opcional) | Especifica si se incluirán los valores z de las entidades en el JSON.
| Boolean |
include_m_values (Opcional) | Especifica si se incluirán los valores m de las entidades en el JSON.
| Boolean |
geoJSON (Opcional) | Especifica si la salida se creará como GeoJSON, de acuerdo con la especificación de GeoJSON.
| Boolean |
outputToWGS84 (Opcional) | Especifica si las entidades de entrada se proyectarán al sistema de coordenadas geográficas WGS_1984 con una transformación geográfica predeterminada. Este parámetro solo se aplica cuando la salida es GeoJSON.
| Boolean |
use_field_alias (Opcional) | Especifica si el archivo de salida utilizará los alias de los campos para los atributos de entidades.
| Boolean |
Muestra de código
El siguiente script de la ventana de Python muestra cómo se usa la función FeaturesToJSON para crear archivos JSON y PJSON.
import arcpy
import os
arcpy.env.workspace = "c:/data"
arcpy.FeaturesToJSON_conversion(os.path.join("outgdb.gdb", "myfeatures"),
"myjsonfeatures.json")
arcpy.FeaturesToJSON_conversion(os.path.join("outgdb.gdb", "myfeatures"),
"mypjsonfeatures.json", "FORMATTED")
El siguiente script de la ventana de Python muestra cómo se usa la función FeaturesToJSON con valores Z y M.
import arcpy
import os
arcpy.env.workspace = "c:/data"
arcpy.FeaturesToJSON_conversion(os.path.join("outgdb.gdb", "myfeatures"),
"myjsonfeatures.json", "NOT_FORMATTED",
"Z_VALUES", "M_VALUES")
Convierta un subconjunto de entidades a JSON usando SelectLayerByAttribute y SelectLayerByLocation.
# Import system modules
import arcpy
# Set the workspace
arcpy.env.workspace = "c:/data/mexico.gdb"
# Make a layer from the feature class
arcpy.MakeFeatureLayer_management("cities", "cities_lyr")
# Select all cities that overlap the chihuahua polygon
arcpy.SelectLayerByLocation_management("cities_lyr", "intersect", "chihuahua",
0, "new_selection")
# Within selected features, further select only those cities that have a
# population > 10,000
arcpy.SelectLayerByAttribute_management("cities_lyr", "SUBSET_SELECTION",
'"population" > 10000')
# Convert the selected features to JSON
arcpy.FeaturesToJSON_conversion("cities_lyr", r"c:\data\myjsonfeatures.json")
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí