Features in JSON (Konvertierung)

Zusammenfassung

Konvertiert Features in das Esri JSON- oder GeoJSON-Format. Die Felder, die Geometrie und der Raumbezug von Features werden in die entsprechende JSON-Repräsentation konvertiert und in eine Datei mit der Erweiterung .json oder .geojson geschrieben.

Verwendung

  • Sie können die Formatierung aktivieren, um die JSON-Repräsentation in der Ausgabedatei besser lesbar zu machen. Die Ausgabedatei wird mit Leerstellen, Tabulatoren und Zeilenumbrüchen formatiert, um die Lesbarkeit zu verbessern. Eine formatierte JSON kann beim Entwickeln und Testen von Anwendungen nützlich sein. Es wird für Produktionsanwendungen jedoch nicht empfohlen, da alle Leerstellen unnötig sind und von JSON-Parsern ignoriert werden. Zudem kann formatiertes JSON erheblich umfangreicher sein als das JSON-Äquivalent und die Dateigröße übersteigt die der entsprechenden JSON-Repräsentation. Dies kann Auswirkungen auf die Anwendungs-Performance haben.

  • Die Konvertierung unterstützt keine Verbindungen, Beziehungen und Anlagen der Features.

  • Um eine Untermenge von Features in eine Feature-Class oder einen Layer zu konvertieren, verwenden Sie die Werkzeuge Layer nach Attributen auswählen oder Layer lagebezogen auswählen, und wählen Sie die Untermenge der zu konvertierenden Features, bevor Sie Features in JSON verwenden.

  • Verwenden Sie den Parameter Ausgabe in GeoJSON, um eine .geojson-Datei zu erstellen, die der GeoJSON-Spezifikation entspricht. Die GeoJSON-Spezifikation unterstützt keine Kurvengeometrie; Eingabe-Features, die Kurven enthalten, werden bei der Konvertierung verdichtet.

  • Wenn die Ausgabe eine .geojson-Datei ist, können Sie Eingabe-Features auf das Koordinatensystem WGS 1984 projizieren. Dies ist der Standard für die GeoJSON-Spezifikation. Bei Bedarf wird eine geographische Standardtransformation angewendet. Wenn diese Option nicht verwendet wird, enthält die .geojson-Datei ein crs-Tag, mit dem in einigen Anwendungen das Koordinatensystem oder das Koordinatenbezugssystem definiert werden kann. Dieses Tag wird in der GeoJSON-Spezifikation nicht vollständig unterstützt.

  • Die Werkzeugausgabe enthält ausschließlich sichtbare Attributfelder aus der Eingabe. Wenn alle Felder enthalten sein sollen, müssen Sie alle Felder sichtbar machen. Darüber hinaus können Sie mit dem Parameter Feld-Aliasnamen festlegen, dass in der Ausgabe Feld-Aliasnamen anstelle der Feldnamen verwendet werden.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Features

Die Features, die in das JSON-Format konvertiert werden sollen.

Feature Layer
Ausgabe-JSON

Die .json- oder .geojson-Ausgabedatei.

File
Formatiertes JSON
(optional)

Gibt an, ob JSON in ähnlicher Weise wie das PJSON-Format (Pretty JSON) der ArcGIS REST API-Spezifikation formatiert wird, um die Lesbarkeit zu verbessern.

  • Deaktiviert: Die Features werden nicht formatiert. Dies ist die Standardeinstellung.
  • Aktiviert: Die Features werden entsprechend der PJSON-Spezifikation formatiert.

Boolean
Z-Werte einbeziehen
(optional)

Gibt an, ob die Z-Werte der Features in JSON einbezogen werden.

  • Deaktiviert: Die Z-Werte werden nicht in Geometrien einbezogen, ebenso wie die Eigenschaft hasZ von JSON. Dies ist die Standardeinstellung.
  • Aktiviert: Die Z-Werte werden nicht in Geometrien einbezogen, und die Eigenschaft hasZ von JSON wird auf "true" festgelegt.

Boolean
M-Werte einbeziehen
(optional)

Gibt an, ob die M-Werte der Features in JSON einbezogen werden.

  • Deaktiviert: Die M-Werte werden nicht in Geometrien einbezogen, ebenso wie die Eigenschaft hasM von JSON. Dies ist die Standardeinstellung.
  • Aktiviert: Die M-Werte werden nicht in Geometrien einbezogen, und die Eigenschaft hasM von JSON wird auf "true" festgelegt.

Boolean
Ausgabe in GeoJSON
(optional)

Gibt an, ob die Ausgabe im GeoJSON-Format erstellt wird.

  • Deaktiviert: Die Ausgabe wird im Esri JSON-Format (.json-Datei) erstellt. Dies ist die Standardeinstellung.
  • Aktiviert: Die Ausgabe wird im GeoJSON-Format (.geojson-Datei) erstellt.

Boolean
Auf WGS_1984 projizieren
(optional)

Gibt an, ob die Eingabe-Features mit einer geographischen Standardtransformation auf das geographische Koordinatensystem WGS_1984 projiziert werden. Dieser Parameter gilt nur, wenn die Ausgabe "GeoJSON" ist.

  • Aktiviert: Features werden auf WGS_1984 projiziert.
  • Deaktiviert: Features werden nicht auf WGS_1984 projiziert. Die GeoJSON enthält ein CRS-Tag, mit dem das Koordinatensystem definiert wird. Dies ist die Standardeinstellung.

Boolean
Feld-Aliasnamen verwenden
(optional)

Gibt an, ob in der Ausgabedatei Feld-Aliasnamen für Feature-Attribute verwendet werden.

  • Deaktiviert: Für Ausgabe-Feature-Attribute werden keine Feld-Aliasnamen, sondern Feldnamen verwendet. Dies ist die Standardeinstellung.
  • Aktiviert: Für Ausgabe-Feature-Attribute werden Feld-Aliasnamen verwendet.

Boolean

arcpy.conversion.FeaturesToJSON(in_features, out_json_file, {format_json}, {include_z_values}, {include_m_values}, {geoJSON}, {outputToWGS84}, {use_field_alias})
NameErläuterungDatentyp
in_features

Die Features, die in das JSON-Format konvertiert werden sollen.

Feature Layer
out_json_file

Die .json- oder .geojson-Ausgabedatei.

File
format_json
(optional)

Gibt an, ob JSON in ähnlicher Weise wie das PJSON-Format (Pretty JSON) der ArcGIS REST API-Spezifikation formatiert wird, um die Lesbarkeit zu verbessern.

  • NOT_FORMATTEDDie Features werden nicht formatiert. Dies ist die Standardeinstellung.
  • FORMATTEDDie Features werden formatiert, um die Lesbarkeit zu verbessern.
Boolean
include_z_values
(optional)

Gibt an, ob die Z-Werte der Features in JSON einbezogen werden.

  • NO_Z_VALUESDie Z-Werte werden nicht in Geometrien einbezogen, ebenso wie die Eigenschaft hasZ von JSON. Dies ist die Standardeinstellung.
  • Z_VALUESDie Z-Werte werden nicht in Geometrien einbezogen, und die Eigenschaft hasZ von JSON wird auf "true" festgelegt.
Boolean
include_m_values
(optional)

Gibt an, ob die M-Werte der Features in JSON einbezogen werden.

  • NO_M_VALUESDie M-Werte werden nicht in Geometrien einbezogen, ebenso wie die Eigenschaft hasM von JSON. Dies ist die Standardeinstellung.
  • M_VALUESDie M-Werte werden nicht in Geometrien einbezogen, und die Eigenschaft hasM von JSON wird auf "true" festgelegt.
Boolean
geoJSON
(optional)

Gibt an, ob die Ausgabe im GeoJSON-Format erstellt wird und der GeoJSON-Spezifikation entspricht.

  • GEOJSONDie Ausgabe wird im GeoJSON-Format (.geojson-Datei) erstellt.
  • NO_GEOJSONDie Ausgabe wird im Esri JSON-Format (.json-Datei) erstellt. Dies ist die Standardeinstellung.
Boolean
outputToWGS84
(optional)

Gibt an, ob die Eingabe-Features mit einer geographischen Standardtransformation auf das geographische Koordinatensystem WGS_1984 projiziert werden. Dieser Parameter gilt nur, wenn die Ausgabe "GeoJSON" ist.

  • WGS84Features werden auf WGS_1984 projiziert.
  • KEEP_INPUT_SRFeatures werden nicht auf WGS_1984 projiziert. Die GeoJSON enthält ein CRS-Tag, mit dem das Koordinatensystem definiert wird. Dies ist die Standardeinstellung.
Boolean
use_field_alias
(optional)

Gibt an, ob in der Ausgabedatei Feld-Aliasnamen für Feature-Attribute verwendet werden.

  • USE_FIELD_NAMEFür Ausgabe-Feature-Attribute werden keine Feld-Aliasnamen, sondern Feldnamen verwendet. Dies ist die Standardeinstellung.
  • USE_FIELD_ALIASFür Ausgabe-Feature-Attribute werden Feld-Aliasnamen verwendet.
Boolean

Codebeispiel

FeaturesToJSON – Beispiel 1 (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie Sie die Funktion FeaturesToJSON verwenden können, um .json- und .pjson-Dateien zu erstellen.


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")
FeaturesToJSON – Beispiel 2 (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie Sie die Funktion FeaturesToJSON mit Z- und M-Werten verwenden.

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")
FeaturesToJSON – Beispiel 3 (eigenständiges Skript)

Konvertieren Sie eine Teilmenge der Features in JSON, indem Sie die Funktionen SelectLayerByAttribute und SelectLayerByLocation verwenden.

# 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")