Entités vers JSON (Conversion)

Synthèse

Convertit des entités au format JSON ou GeoJSON d'Esri. Les champs, la géométrie et la référence spatiale des entités sont convertis dans leur représentation JSON correspondante et écrits dans un fichier doté d'une extension .json ou .geojson.

Utilisation

  • Vous pouvez activer la mise en forme afin d'améliorer la lisibilité de la représentation JSON dans le fichier en sortie. Le fichier en sortie est mis en forme avec des espaces, des tabulations et des retours chariot pour faciliter sa lecture. Une représentation JSON mise en forme peut être un atout pour développer et tester une application. Elle n’est cependant pas recommandée pour les applications de production, car tous les espaces vides sont inutiles et ignorés par les analyseurs JSON. En outre, la représentation JSON mise en forme peut être sensiblement plus volumineuse que son équivalent JSON et la taille du fichier sera supérieure à sa représentation JSON correspondante. Ceci peut impacter les performances de l'application.

  • La conversion ne prend pas en charge les jointures, les relations ni les pièces jointes des entités.

  • Pour convertir un sous-ensemble d'entités dans une classe d'entités ou une couche, utilisez l'outil Sélectionner une couche par attributs ou Sélectionner une couche par emplacement et sélectionnez le sous-ensemble d'entités à convertir avant d'utiliser l'outil Entités vers JSON.

  • Sélectionnez le paramètre Sortie vers GeoJSON pour créer un fichier .geojson qui respecte la spécification GeoJSON. La spécification GeoJSON ne prend pas en charge les courbes ; les entités en entrée qui contiennent des courbes sont densifiées lors de la conversion.

  • Si la sortie est un fichier .geojson, vous pouvez utiliser le paramètre Projeter dans WGS84 pour projeter les entités en entrée dans le système de coordonnées WGS84, qui est la norme de la spécification GeoJSON. Une transformation géographique par défaut est appliquée, le cas échéant. Si ce paramètre n’est pas utilisé, le fichier .geojson en sortie contient une balise crs qui peut être utilisée dans certaines applications pour définir le système de coordonnées ou le système de référence de coordonnées. Cette balise n’est pas entièrement prise en charge sous la spécification GeoJSON.

  • La sortie de l’outil inclura uniquement les champs attributaires visibles de l’entrée. Pour inclure tous les champs, vous devez les rendre tous visibles. De plus, vous pouvez utiliser le paramètre Utiliser les alias de champ pour utiliser les alias de champs plutôt que les noms de champs dans la sortie.

  • La taille du fichier en sortie ne peut pas dépasser 4 Go. S’il est trop volumineux, réduisez les données en entrée.

Paramètres

ÉtiquetteExplicationType de données
Entités en entrée

Entités qui seront converties au format JSON.

Feature Layer
JSON en sortie

Fichier .json ou .geojson en sortie.

File
JSON mis en forme
(Facultatif)

Indique si la représentation JSON est mise en forme pour améliorer la lisibilité conformément au format PJSON (Pretty JSON) de la spécification de l’API REST d’ArcGIS.

  • Désactivée : les entités ne seront pas mises en forme. Il s’agit de l’option par défaut.
  • Activée : les entités seront mises en forme conformément à la spécification PJSON.

Boolean
Inclure des valeurs Z
(Facultatif)

Indique si les valeurs Z des entités sont incluses dans le fichier JSON.

  • Désactivé : les valeurs Z ne sont pas incluses dans les géométries et la propriété hasZ du fichier JSON n’est pas incluse. Il s’agit de l’option par défaut.
  • Activé : les valeurs Z sont incluses dans les géométries et la propriété hasZ du fichier JSON est définie sur True (Vrai).

Boolean
Inclure des valeurs M
(Facultatif)

Indique si les valeurs M des entités sont incluses dans le fichier JSON.

  • Désactivé : les valeurs M ne sont pas incluses dans les géométries et la propriété hasM du fichier JSON n’est pas incluse. Il s’agit de l’option par défaut.
  • Activé : les valeurs M sont incluses dans les géométries et la propriété hasM du fichier JSON est définie sur True (Vrai).

Boolean
Sortie vers GeoJSON
(Facultatif)

Indique si la sortie est créée au format GeoJSON. ou au format JSON d’Esri.

  • Désactivé : la sortie est créée au format JSON d’Esri (fichier .json). Il s’agit de l’option par défaut.
  • Activé : la sortie est créée au format GeoJSON (fichier .geojson).

Boolean
Projeter dans WGS84
(Facultatif)

Spécifie si les entités en entrée sont projetées dans le système de coordonnées géographiques WGS84 avec une transformation géographique par défaut. Ce paramètre s’applique uniquement lorsque la sortie est au format GeoJSON.

  • Activé : les entités sont projetées dans WGS84.
  • Désactivé : les entités ne sont pas projetées dans WGS84. Le format GeoJSON contient une balise CRS qui définit le système de coordonnées. Il s’agit de l’option par défaut.

Boolean
Utiliser les alias de champs
(Facultatif)

Spécifie si le fichier en sortie utilisera des alias de champ pour les attributs d’entités.

  • Désactivé : les attributs d’entités en sortie n'utilisent pas d'alias de champs ; ils utilisent des noms de champs. Il s’agit de l’option par défaut.
  • Activé : les attributs d’entités en sortie utiliseront des alias de champs.

Boolean

arcpy.conversion.FeaturesToJSON(in_features, out_json_file, {format_json}, {include_z_values}, {include_m_values}, {geoJSON}, {outputToWGS84}, {use_field_alias})
NomExplicationType de données
in_features

Entités qui seront converties au format JSON.

Feature Layer
out_json_file

Fichier .json ou .geojson en sortie.

File
format_json
(Facultatif)

Indique si la représentation JSON est mise en forme pour améliorer la lisibilité conformément au format PJSON (Pretty JSON) de la spécification de l’API REST d’ArcGIS.

  • NOT_FORMATTEDLes entités ne seront pas mises en forme. Il s’agit de l’option par défaut.
  • FORMATTEDLes entités seront mises en forme conformément à la spécification PJSON.
Boolean
include_z_values
(Facultatif)

Indique si les valeurs Z des entités sont incluses dans le fichier JSON.

  • NO_Z_VALUESLes valeurs Z ne sont pas incluses dans les géométries et la propriété hasZ du fichier JSON n’est pas incluse. Il s’agit de l’option par défaut.
  • Z_VALUESLes valeurs Z sont incluses dans les géométries et la propriété hasZ du fichier JSON est définie sur True (Vrai).
Boolean
include_m_values
(Facultatif)

Indique si les valeurs M des entités sont incluses dans le fichier JSON.

  • NO_M_VALUESLes valeurs M ne sont pas incluses dans les géométries et la propriété hasM du fichier JSON n’est pas incluse. Il s’agit de l’option par défaut.
  • M_VALUESLes valeurs M sont incluses dans les géométries et la propriété hasM du fichier JSON est définie sur True (Vrai).
Boolean
geoJSON
(Facultatif)

Indique si la sortie est créée au format GeoJSON, conformément à la spécification GeoJSON, ou au format JSON d’Esri.

  • GEOJSONLa sortie est créée au format GeoJSON (fichier .geojson).
  • NO_GEOJSONLa sortie est créée au format JSON d’Esri (fichier .json). Il s’agit de l’option par défaut.
Boolean
outputToWGS84
(Facultatif)

Spécifie si les entités en entrée sont projetées dans le système de coordonnées géographiques WGS84 avec une transformation géographique par défaut. Ce paramètre s’applique uniquement lorsque la sortie est au format GeoJSON.

  • WGS84Les entités sont projetées dans WGS84.
  • KEEP_INPUT_SRLes entités ne sont pas projetées dans WGS84. Le format GeoJSON contient une balise CRS qui définit le système de coordonnées. Il s’agit de l’option par défaut.
Boolean
use_field_alias
(Facultatif)

Spécifie si le fichier en sortie utilisera des alias de champ pour les attributs d’entités.

  • USE_FIELD_NAMELes attributs d’entités en sortie n'utilisent pas d'alias de champs ; ils utilisent des noms de champs. Il s’agit de l’option par défaut.
  • USE_FIELD_ALIASLes attributs d’entités en sortie utiliseront des alias de champs.
Boolean

Exemple de code

Exemple 1 d’utilisation de l’outil FeaturesToJSON (fenêtre Python)

Le script de la fenêtre Python ci-après montre comment utiliser la fonction FeaturesToJSON pour créer des fichiers .json et .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")
Exemple 2 d’utilisation de l’outil FeaturesToJSON (fenêtre Python)

Le script de la fenêtre Python ci-après montre comment utiliser la fonction FeaturesToJSON avec des valeurs m et des valeurs z.

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")
Exemple 3 d'utilisation de l'outil Entités vers JSON (script autonome)

Commencez par convertir un sous-ensemble d’entités au format JSON à l’aide des fonctions SelectLayerByLocation et SelectLayerByAttribute.

# 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")

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes