JSON vers entités (Conversion)

Synthèse

Outil de géotraitement ArcGIS qui convertit des collections d’entités dans un fichier de format Esri JSON (.json) ou GeoJSON (.geojson) en classe d’entités.

Utilisation

  • Si la propriété hasZ ou hasM du fichier .json en entrée est définie sur True, des valeurs z et m sont attribuées aux entités en sortie.

  • Si l’entrée est un fichier .geojson, vous devez sélectionner le type de géométrie à convertir en classe d’entités. GeoJSON prend en charge plusieurs types d’entités au sein du même fichier. Une classe d’entités doit se composer d’entités du même type.

  • Les champs de texte de la sortie sont très longs (2 milliards de caractères) car les spécifications de format JSON et GeoJSON n’incluent pas de propriété de longueur pour les attributs de texte. Dans un souci d’optimisation des performances de conversion, une longueur fixe importante est utilisée ce qui permet d’éviter de lire toutes les valeurs pour déterminer le plus grand nombre de caractères.

  • Les spécifications de format JSON et GeoJSON n’incluent pas de méthode standard de stockage des valeurs datetime. Une valeur datetime peut être représentée sous forme de valeur entière de secondes depuis l’heure Unix epoch. Pour convertir ce nombre en une valeur datetime, utilisez l’outil Calculer un champ ou une expression Python, telle que datetime.datetime.fromtimestamp(!date_field!).

  • Lorsque l’entrée est un fichier .geojson, les attributs du premier enregistrement permettent de définir la structure de la classe d’entités en sortie.

Paramètres

ÉtiquetteExplicationType de données
Fichier JSON ou GeoJSON en entrée

Fichier .json or .geojson en entrée qui est converti en classe d’entités.

L’extension du fichier en entrée détermine le format utilisé par l’outil pour une conversion correcte. Dans le cas d’un fichier au format JSON Esri, utilisez l’extension .json ; dans le cas de fichiers au format GeoJSON, utilisez l’extension .geojson.

File
Classe d’entités en sortie

Classe d’entités en sortie qui contient les entités issues du fichier .json ou .geojson.

Feature Class
Type de géométrie
(Facultatif)

Indique le type de géométrie qui servira pour la conversion du format GeoJSON en entités. Ce paramètre est uniquement utilisé lorsque l’entrée est un fichier .geojson. Si le fichier .geojson ne contient aucun des types de géométrie spécifiés, la classe d’entités en sortie est vide.

  • PointLes points seront convertis en entités.
  • Multi-pointLes multi-points seront convertis en entités.
  • PolyligneLes polylignes seront converties en entités.
  • PolygoneLes polygones seront convertis en entités.
String

arcpy.conversion.JSONToFeatures(in_json_file, out_features, {geometry_type})
NomExplicationType de données
in_json_file

Fichier .json or .geojson en entrée qui est converti en classe d’entités.

L’extension du fichier en entrée détermine le format utilisé par l’outil pour une conversion correcte. Dans le cas d’un fichier au format JSON Esri, utilisez l’extension .json ; dans le cas de fichiers au format GeoJSON, utilisez l’extension .geojson.

File
out_features

Classe d’entités en sortie qui contient les entités issues du fichier .json ou .geojson.

Feature Class
geometry_type
(Facultatif)

Indique le type de géométrie qui servira pour la conversion du format GeoJSON en entités. Ce paramètre est uniquement utilisé lorsque l’entrée est un fichier .geojson. Si le fichier .geojson ne contient aucun des types de géométrie spécifiés, la classe d’entités en sortie est vide.

  • POINTLes points seront convertis en entités.
  • MULTIPOINTLes multi-points seront convertis en entités.
  • POLYLINELes polylignes seront converties en entités.
  • POLYGONLes polygones seront convertis en entités.
String

Exemple de code

Exemple d’utilisation de l’outil JSONToFeatures (fenêtre Python)

Le script Python suivant montre comment utiliser la fonction JSONToFeatures.

import arcpy
import os
arcpy.env.workspace = "c:/data"
arcpy.conversion.JSONToFeatures("myjsonfeatures.json", os.path.join("outgdb.gdb", "myfeatures"))