Resumen
JavaScript Object Notation (JSON) es un formato de intercambio de datos sencillo y basado en texto, utilizado para compartir datos SIG entre ArcGIS y otros sistemas. La herramienta De JSON a entidades crea una clase de entidad a partir de un archivo JSON, pero no a partir de una URL JSON. No obstante, la extensión ArcGIS Data Interoperability para Desktop ofrece la función de convertir una URL JSON en una clase de entidad mediante la herramienta Spatial ETL. La clase de entidad de salida contiene los campos, el tipo de geometría y la referencia espacial definidos en la URL JSON.
El siguiente script muestra algunas partes de una URL JSON que contiene las coordenadas X (longitud) e Y (latitud) de cada entidad.
[
{
"json_featuretype":"Metadata"
,"ExtractDate":"2018-10-23"
,"ExtractFrequency":"Daily"
}
,{
"json_featuretype":"CurrentIssues"
,"STREETNUMBER":"320"
,"STREET":"PALM STREET"
,"TOTALUNITS":60
,"BUSINESSOPERATOR":"0707"
,"TOTALOUTSTANDING":1
,"LATITUDE":49.28261413
,"LONGITUDE":-123.10664756
}
,{
"json_featuretype":"CurrentIssues"
,"STREETNUMBER":"404"
,"STREET":"PALM STREET"
,"TOTALUNITS":71
,"BUSINESSOPERATOR":"Central City"
,"TOTALOUTSTANDING":1
,"LATITUDE":49.2816849
,"LONGITUDE":-123.10713559
}
,{
"json_featuretype":"CurrentIssues"
,"STREETNUMBER":"1656"
,"STREET":"COCOA STREET"
,"TOTALUNITS":46
,"BUSINESSOPERATOR":"Housing Society"
,"TOTALOUTSTANDING":2
,"LATITUDE":49.27733406
,"LONGITUDE":-123.07200187
}
Procedimiento
Las siguientes instrucciones describen cómo convertir una URL JSON en una clase de entidad mediante la extensión ArcGIS Data Interoperability en ArcMap:
Nota:
Se requiere una licencia de Data Interoperability para poder crear la herramienta Spatial ETL.
- Cree una herramienta Spatial ETL en el panel Catálogo y especifique los siguientes parámetros de lector y escritor de FME.
- En la sección Lector, establezca el Formato en JSON (JavaScript Object Notation).
- En Dataset, especifique la URL JSON.
- En la sección Escritor, establezca el Formato en Geodatabase de Esri (ArcObjects de geodatabase de archivos) para convertir la URL JSON en una clase de entidad de geodatabase de archivos.
- En Dataset, busque una geodatabase de archivos existente para ubicar la clase de entidad convertida.
- Haga clic en Aceptar. Aparece la ventana Herramienta Spatial ETL.
- En la ventana Herramienta Spatial ETL, agregue el transformador VertexCreator al lienzo del espacio de trabajo desde la ventana Galería de transformadores. Para abrir la ventana, haga clic en Ver > Ventanas > Galería de transformadores.
- Arrastre y suelte para agregar el transformador VertexCreator y conectarlo al lector.
- En el cuadro de diálogo Parámetros de VertexCreator, asigne a los parámetros Valor X y Valor Y los valores de atributo de longitud y latitud, respectivamente, indicados en la URL JSON.
- Haga clic en Aceptar.
- Agregue un transformador CoordinateSystemSetter para etiquetar todas las entidades con un sistema de coordenadas.
- Arrastre y suelte para agregar el transformador CoordinateSystemSetter y conectarlo a la salida del transformador anterior.
- En el cuadro de diálogo Parámetros de CoordinateSystemSetter, seleccione el Sistema de coordenadas.
- Haga clic en Aceptar.
- Agregue un transformador AttributeCreator para importar los atributos de la URL JSON a las entidades de salida.
- Arrastre y suelte para agregar el transformador AttributeCreator y conectarlo a la salida del transformador anterior.
- En el cuadro de diálogo Parámetros de AttributeCreator, haga clic en Importar. Se abre el cuadro de diálogo del Asistente de importación.
- En el parámetro Formato, seleccione JSON (JavaScript Object Notation).
- En el parámetro Dataset, inserte la URL JSON y haga clic en Siguiente.
- Especifique si desea importar los datos de los nombres o de los valores de los atributos en los tipos de entidades seleccionadas y haga clic en Siguiente.
- Seleccione los atributos que desea importar en las secciones Nuevo atributo y Valor de atributo, y haga clic en Importar.
- Haga clic en Aceptar para cerrar el cuadro de diálogo Parámetros de AttributeCreator.
- Conecte manualmente la salida y los atributos del transformador AttributeCreator al escritor.
- Haga doble clic en el escritor para editar las propiedades del tipo de entidad de salida.
- En la pestaña General, seleccione el tipo de Geometría. Por ejemplo, seleccione geodb_point para convertir la URL JSON en una clase de entidad de punto.
- Haga clic en Aceptar.
- Haga clic en Guardar y luego en Ejecutar . La clase de entidad de salida se encuentra en la geodatabase de archivos especificada en el paso 1(d). Para ver los datos, agregue la clase de entidad a ArcMap.
La siguiente imagen muestra una clase de entidad de punto convertida a partir de una URL JSON en ArcMap.