Zusammenfassung
Konvertiert Features in das 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
Wenn die JSON-Repräsentation in der Ausgabedatei ein lesbares Format aufweisen soll, können Sie die Formatierung aktivieren. 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 (geoJSON='GEOJSON' in Python), um eine .geojson-Dateiausgabe zu erstellen, die der GeoJSON-Spezifikation entspricht. Die Standardausgabe ist Esri JSON.
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.
Syntax
arcpy.conversion.FeaturesToJSON(in_features, out_json_file, {format_json}, {include_z_values}, {include_m_values}, {geoJSON}, {outputToWGS84}, {use_field_alias})
Parameter | Erklärung | Datentyp |
in_features | Die Features, die in JSON 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 Z-Werte der Features in JSON einbezogen werden.
| Boolean |
include_m_values (optional) | Gibt an, ob M-Werte der Features in JSON einbezogen werden.
| Boolean |
geoJSON (optional) | Gibt an, ob die Ausgabe als GeoJSON 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, 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.FeaturesToJSON_conversion(os.path.join("outgdb.gdb", "myfeatures"),
"myjsonfeatures.json", "NOT_FORMATTED",
"Z_VALUES", "M_VALUES")
Konvertieren Sie eine Teilmenge von Features in JSON, indem Sie 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.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")
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja