Résumé
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.
Syntaxe
arcpy.conversion.FeaturesToJSON(in_features, out_json_file, {format_json}, {include_z_values}, {include_m_values}, {geoJSON}, {outputToWGS84}, {use_field_alias})
Paramètre | Explication | Type 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.
| Boolean |
include_z_values (Facultatif) | Indique si les valeurs Z des entités sont incluses dans le format JSON.
| Boolean |
include_m_values (Facultatif) | Indique si les valeurs M des entités sont incluses dans le format JSON.
| Boolean |
geoJSON (Facultatif) | Indique si la sortie est créée au format GeoJSON en respectant la spécification GeoJSON.
| 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.
| Boolean |
use_field_alias (Facultatif) | Spécifie si le fichier en sortie utilisera des alias de champ pour les attributs d’entités.
| Boolean |
Exemple de code
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")
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")
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")
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?