Beschriftung | Erläuterung | Datentyp |
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.
| Boolean |
Z-Werte einbeziehen (optional) | Gibt an, ob die Z-Werte der Features in JSON einbezogen werden.
| Boolean |
M-Werte einbeziehen (optional) | Gibt an, ob die M-Werte der Features in JSON einbezogen werden.
| Boolean |
Ausgabe in GeoJSON (optional) | Gibt an, ob die Ausgabe im GeoJSON-Format erstellt wird.
| 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.
| Boolean |
Feld-Aliasnamen verwenden (optional) | Gibt an, ob in der Ausgabedatei Feld-Aliasnamen für Feature-Attribute verwendet werden.
| Boolean |
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
arcpy.conversion.FeaturesToJSON(in_features, out_json_file, {format_json}, {include_z_values}, {include_m_values}, {geoJSON}, {outputToWGS84}, {use_field_alias})
Name | Erläuterung | Datentyp |
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.
| Boolean |
include_z_values (optional) | Gibt an, ob die Z-Werte der Features in JSON einbezogen werden.
| Boolean |
include_m_values (optional) | Gibt an, ob die M-Werte der Features in JSON einbezogen werden.
| Boolean |
geoJSON (optional) | Gibt an, ob die Ausgabe im GeoJSON-Format erstellt wird und der GeoJSON-Spezifikation entspricht.
| 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.
| Boolean |
use_field_alias (optional) | Gibt an, ob in der Ausgabedatei Feld-Aliasnamen für Feature-Attribute verwendet werden.
| Boolean |
Codebeispiel
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")
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")
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")