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 correspond à 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 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.

  • 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 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 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 à 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_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 pour améliorer la lisibilité.
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.

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

  • WGS84Les 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_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 Entités vers JSON (fenêtre Python)

Le script ci-dessous pour la fenêtre Python illustre l’utilisation de la fonction FeaturesToJSON 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)

Le script ci-dessous pour la fenêtre Python illustre l'utilisation de la fonction FeaturesToJSON avec les valeurs Z et 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")
Exemple 3 d'utilisation de l'outil Entités vers JSON (script autonome)

Convertissez un sous-ensemble d'entités au format JSON à l'aide des fonctions 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.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")

Rubriques connexes