Étiquette | Explication | Type 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.
| Boolean |
Inclure des valeurs Z (Facultatif) | Indique si les valeurs Z des entités sont incluses dans le fichier JSON.
| Boolean |
Inclure des valeurs M (Facultatif) | Indique si les valeurs M des entités sont incluses dans le fichier JSON.
| Boolean |
Sortie vers GeoJSON (Facultatif) | Indique si la sortie est créée au format 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.
| 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.
| Boolean |
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
arcpy.conversion.FeaturesToJSON(in_features, out_json_file, {format_json}, {include_z_values}, {include_m_values}, {geoJSON}, {outputToWGS84}, {use_field_alias})
Nom | 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 fichier JSON.
| Boolean |
include_m_values (Facultatif) | Indique si les valeurs M des entités sont incluses dans le fichier JSON.
| Boolean |
geoJSON (Facultatif) | Indique si la sortie est créée au format GeoJSON, conformément à 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 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")
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")
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")
Environnements
Vous avez un commentaire à formuler concernant cette rubrique ?