Entidades a JSON (Conversión)

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, 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.

Parámetros

EtiquetaExplicaciónTipo de datos
Entidades de entrada

Las entidades que se van a convertir a 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.

  • Desactivado: las entidades no se formatearán. Esta es la opción predeterminada.
  • Activado: las entidades se formatearán según la especificación PJSON.

Boolean
Incluir valores Z
(Opcional)

Especifica si se incluirán los valores z de las entidades en el JSON.

  • Desactivado: los valores z no se incluirán en las geometrías y no se incluirá la propiedad hasZ del JSON. Esta es la opción predeterminada.
  • Activado: los valores z se incluirán en las geometrías y la propiedad hasZ del JSON se establecerá en true.

Boolean
Incluir valores M
(Opcional)

Especifica si se incluirán los valores m de las entidades en el JSON.

  • Desactivado: los valores m no se incluirán en las geometrías y no se incluirá la propiedad hasM del JSON. Esta es la opción predeterminada.
  • Activado: los valores m se incluirán en las geometrías y la propiedad hasM del JSON se establecerá en true.

Boolean
Salida a GeoJSON
(Opcional)

Especifica si la salida se creará en formato GeoJSON.

  • Desactivado: la salida se creará en el formato JSON de Esri (archivo .json). Esta es la opción predeterminada.
  • Activado: la salida se creará con el formato GeoJSON (archivo .geojson).

Boolean
Proyectar a WGS_1984
(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.

  • Activado: las entidades se proyectarán a WGS_1984.
  • Desactivado: las entidades no se proyectarán a WGS_1984. El GeoJSON contendrá una etiqueta CRS que define el sistema de coordenadas. Esta es la opción predeterminada.

Boolean
Usar alias de campos
(Opcional)

Especifica si el archivo de salida utilizará los alias de los campos para los atributos de entidades.

  • Desactivado: los atributos de entidad de salida no utilizarán los alias de campo; utilizarán los nombres de campo. Esta es la opción predeterminada.
  • Activado: los atributos de entidades de salida utilizarán los alias de los campos.

Boolean

arcpy.conversion.FeaturesToJSON(in_features, out_json_file, {format_json}, {include_z_values}, {include_m_values}, {geoJSON}, {outputToWGS84}, {use_field_alias})
NombreExplicaciónTipo de datos
in_features

Las entidades que se van a convertir a 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.

  • NOT_FORMATTEDLas entidades no se formatearán. Esta es la opción predeterminada.
  • FORMATTEDLas entidades se formatearán para mejorar la legibilidad.
Boolean
include_z_values
(Opcional)

Especifica si se incluirán los valores z de las entidades en el JSON.

  • NO_Z_VALUESLos valores z no se incluirán en las geometrías y no se incluirá la propiedad hasZ del JSON. Esta es la opción predeterminada.
  • Z_VALUESLos valores z se incluirán en las geometrías y la propiedad hasZ del JSON se establecerá en true.
Boolean
include_m_values
(Opcional)

Especifica si se incluirán los valores m de las entidades en el JSON.

  • NO_M_VALUESLos valores m no se incluirán en las geometrías y no se incluirá la propiedad hasM del JSON. Esta es la opción predeterminada.
  • M_VALUESLos valores m se incluirán en las geometrías y la propiedad hasM del JSON se establecerá en true.
Boolean
geoJSON
(Opcional)

Especifica si la salida se creará en el formato GeoJSON, de acuerdo con la especificación de GeoJSON.

  • GEOJSONLa salida se creará con el formato GeoJSON (archivo .geojson).
  • NO_GEOJSONLa salida se creará en el formato JSON de Esri (archivo .json). Esta es la opción predeterminada.
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.

  • WGS84Las entidades se proyectarán a WGS_1984.
  • KEEP_INPUT_SRLas entidades no se proyectarán a WGS_1984. El GeoJSON contendrá una etiqueta CRS que define el sistema de coordenadas. Esta es la opción predeterminada.
Boolean
use_field_alias
(Opcional)

Especifica si el archivo de salida utilizará los alias de los campos para los atributos de entidades.

  • USE_FIELD_NAMELos atributos de entidad de salida no utilizarán los alias de campo; utilizarán los nombres de campo. Esta es la opción predeterminada.
  • USE_FIELD_ALIASLos atributos de entidades de salida utilizarán los alias de los campos.
Boolean

Muestra de código

Ejemplo 1 de FeaturesToJSON (ventana de Python)

El siguiente script 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.FeaturesToJSON_conversion(os.path.join("outgdb.gdb", "myfeatures"), 
                                "myjsonfeatures.json")
arcpy.FeaturesToJSON_conversion(os.path.join("outgdb.gdb", "myfeatures"), 
                                "mypjsonfeatures.json", "FORMATTED")
Ejemplo 2 de FeaturesToJSON (ventana de Python)

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")
Ejemplo 3 de FeaturesToJSON (script independiente)

Convierta un subconjunto de entidades a JSON usando las funciones 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.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")