Etiqueta | Explicación | Tipo de datos |
Entidades de entrada | Entidades que se convertirán en formato JSON. | Feature Layer |
JSON de salida | El archivo .json o .geojson de salida. | File |
JSON con formato (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 |
Incluir valores Z (Opcional) | Especifica si se incluirán los valores z de las entidades en el JSON.
| Boolean |
Incluir valores M (Opcional) | Especifica si se incluirán los valores m de las entidades en el JSON.
| Boolean |
Salida a GeoJSON (Opcional) | Especifica si la salida se creará en formato GeoJSON o en formato JSON de Esri.
| Boolean |
Proyecto a WGS84 (Opcional) | Especifica si las entidades de entrada se proyectarán al sistema de coordenadas geográficas WGS84 con una transformación geográfica predeterminada. Este parámetro solo se aplica cuando la salida es GeoJSON.
| Boolean |
Usar alias de campos (Opcional) | Especifica si el archivo de salida utilizará los alias de los campos para los atributos de entidades.
| Boolean |
Resumen
Convierte entidades al formato JSON o GeoJSON de Esri. 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
Puede habilitar el formato para que la representación JSON en el archivo de salida sea más legible. 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. 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 para crear un archivo .geojson conforme a la especificación GeoJSON. La especificación GeoJSON no admite la geometría de las curvas; las entidades de entrada que contengan curvas se densificarán durante la conversión.
Si la salida es un archivo .geojson, puede utilizar el parámetro Proyecto a WGS84 para proyectar las entidades de entrada en el sistema de coordenadas WGS84, 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 este parámetro, 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 utilizar los alias de los campos en la salida en lugar de los nombres de los campos.
El archivo de salida no puede tener más de 4 GB de tamaño. Reduzca los datos de entrada si son demasiado grandes.
Parámetros
arcpy.conversion.FeaturesToJSON(in_features, out_json_file, {format_json}, {include_z_values}, {include_m_values}, {geoJSON}, {outputToWGS84}, {use_field_alias})
Nombre | Explicación | Tipo de datos |
in_features | Entidades que se convertirán en formato 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á en el formato GeoJSON, de acuerdo con la especificación de GeoJSON o en formato JSON de Esri.
| Boolean |
outputToWGS84 (Opcional) | Especifica si las entidades de entrada se proyectarán al sistema de coordenadas geográficas WGS84 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
La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función FeaturesToJSON para crear archivos .json y .pjson.
import arcpy
import os
arcpy.env.workspace = "c:/data"
arcpy.conversion.FeaturesToJSON(os.path.join("outgdb.gdb", "myfeatures"),
"myjsonfeatures.json")
arcpy.conversion.FeaturesToJSON(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.conversion.FeaturesToJSON(os.path.join("outgdb.gdb", "myfeatures"),
"myjsonfeatures.json", "NOT_FORMATTED",
"Z_VALUES", "M_VALUES")
Convierta un subconjunto de entidades a JSON usando las funciones SelectLayerByLocation y SelectLayerByAttribute primero.
# Import system modules
import arcpy
# Set the workspace
arcpy.env.workspace = "c:/data/mexico.gdb"
# Make a layer from the feature class
arcpy.management.MakeFeatureLayer("cities", "cities_lyr")
# Select all cities that overlap the chihuahua polygon
arcpy.management.SelectLayerByLocation("cities_lyr", "intersect", "chihuahua",
0, "new_selection")
# Within selected features, further select only those cities that have a
# population > 10,000
arcpy.management.SelectLayerByAttribute("cities_lyr", "SUBSET_SELECTION",
'"population" > 10000')
# Convert the selected features to JSON
arcpy.conversion.FeaturesToJSON("cities_lyr", r"c:\data\myjsonfeatures.json")
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí