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 sera 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 les valeurs Z des entités dans le format JSON.
| Boolean |
include_m_values (Facultatif) | Incluez les valeurs 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 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", "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