Entités vers JSON (Conversion)

Synthèse

Convertit des entités au format JSON ou GeoJSON. 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

  • Pour améliorer la lisibilité de la représentation JSON dans le fichier en sortie, vous pouvez activer la mise en forme. 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é ou une couche, utilisez les outils Sélectionner une couche par attributs ou Sélectionner une couche par emplacement et sélectionnez le sous-ensemble d'entités à convertir avant l'utiliser l'outil de conversion Entités vers JSON.

  • Sélectionnez le paramètre Output to GeoJSON (Sortie vers GeoJSON) (geoJSON='GEOJSON' dans Python) pour créer un fichier .geojson en sortie qui respecte la spécification GeoJSON. La sortie JSON Esri est la valeur par défaut.

  • Lorsque la sortie est un fichier GeoJSON, vous avez la possibilité de projeter les entités en entrée vers le système de coordonnées WGS 1984, qui est la norme de la spécification GeoJSON. Une transformation géographique par défaut est appliquée, le cas échéant. Si cette option n’est pas utilisée, 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 Use field aliases (Utiliser les alias de champ) pour que la sortie utilise les alias de champs plutôt que les noms de champs.

Paramètres

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

Entités à convertir 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 format JSON.

  • Désactivé : les valeurs Z ne sont pas incluses dans les géométries et la propriété hasZ du format 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 format 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 format JSON.

  • Désactivé : les valeurs M ne sont pas incluses dans les géométries et la propriété hasM du format 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 format JSON est définie sur True (Vrai).

Boolean
Sortie vers GeoJSON
(Facultatif)

Indique si la sortie est créée au format GeoJSON.

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

Boolean
Projeter vers WGS_1984
(Facultatif)

Spécifie si les entités en entrée sont projetées vers le système de coordonnées géographiques WGS_1984 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 vers WGS_1984.
  • Désactivé : les entités ne sont pas projetées vers WGS_1984. 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 utiliseront 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 à convertir 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_FORMATTED Les entités ne seront pas mises en forme. Il s’agit de l’option par défaut.
  • FORMATTEDLes entités seront mises en forme pour améliorer la lisibilité.
Boolean
include_z_values
(Facultatif)

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

  • NO_Z_VALUES Les valeurs Z ne sont pas incluses dans les géométries et la propriété hasZ du format 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 format JSON est définie sur True (Vrai).
Boolean
include_m_values
(Facultatif)

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

  • NO_M_VALUES Les valeurs M ne sont pas incluses dans les géométries et la propriété hasM du format 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 format JSON est définie sur True (Vrai).
Boolean
geoJSON
(Facultatif)

Indique si la sortie est créée au format GeoJSON en respectant la spécification GeoJSON.

  • GEOJSON La sortie est créée au format GeoJSON (.geojson).
  • NO_GEOJSONLa sortie est créée au format Esri JSON (.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 vers le système de coordonnées géographiques WGS_1984 avec une transformation géographique par défaut. Ce paramètre s’applique uniquement lorsque la sortie est au format GeoJSON.

  • WGS84 Les entités sont projetées vers WGS_1984.
  • KEEP_INPUT_SRLes entités ne sont pas projetées vers WGS_1984. 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_NAME Les attributs d’entités en sortie utiliseront 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 Entités vers JSON (fenêtre Python)

Le script de fenêtre Python suivant illustre l'utilisation de la fonction FeaturesToJSON vers JSON pour créer des fichiers JSON et 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")
Exemple 2 d'utilisation de l'outil Entités vers JSON (fenêtre Python)

La fenêtre du script Python ci-dessous indique comment utiliser la fonction FeaturesToJSON dans la fenêtre Python.

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

Convertir un sous-ensemble d'entités vers JSON à l'aide de SelectLayerByAttribute et 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")

Informations de licence

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

Rubriques connexes