Résumé
Convertit des entités au format JSON. Les champs, la géométrie et la référence spatiale des entités seront convertis dans leur représentation JSON correspondante et écrits dans un fichier doté d'une extension .json.
Utilisation
Pour améliorer la lisibilité de la représentation JSON dans le fichier en sortie, vous pouvez activer la mise en forme. La représentation JSON sera alors mise en forme avec des espaces, des tabulations et des retours chariot et sera plus facile à lire. 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 réelles, 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 Sortie vers GeoJSON (geoJSON='GEOJSON' dans Python) pour créer une sortie JSON qui respecte la spécification GeoJSON. La sortie JSON Esri est la valeur par défaut.
Syntaxe
FeaturesToJSON_conversion (in_features, out_json_file, {format_json}, {include_z_values}, {include_m_values}, {geoJSON})
Paramètre | Explication | Type de données |
in_features | Entités à convertir au format JSON. | Feature Layer |
out_json_file | Fichier JSON en sortie. | File |
format_json (Facultatif) | La représentation JSON peut être 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.
| Boolean |
include_z_values (Facultatif) | Incluez la valeur Z des entités dans le format JSON.
| Boolean |
include_m_values (Facultatif) | Incluez la valeur M des entités dans le format JSON.
| Boolean |
geoJSON (Facultatif) | Créez la sortie au format GeoJSON en respectant la spécification GeoJSON.
| 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 Entités 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)
Le script de fenêtre Python suivant illustre l'utilisation de la fonction Entités vers JSON avec des valeurs Z et M.
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)
Convertissez un sous-ensemble d'entités au format JSON à l'aide des options Sélectionner une couche par attributs et Sélectionner une couche par emplacement.
# 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", "lyr")
# Select all cities which overlap the chihuahua polygon
arcpy.SelectLayerByLocation_management("lyr", "intersect", "chihuahua", 0, "new_selection")
# Within selected features, further select only those cities which have a population > 10,000
arcpy.SelectLayerByAttribute_management("lyr", "SUBSET_SELECTION", ' "population" > 10000 ')
# Convert the selected features to JSON
arcpy.FeaturesToJSON_conversion("lyr", r"c:\data\myjsonfeatures.json")
Environnements
Informations de licence
- ArcGIS Desktop Basic: Oui
- ArcGIS Desktop Standard: Oui
- ArcGIS Desktop Advanced: Oui