Antwort
Nein, es ist nicht möglich, mit dem Werkzeug JSON in Features in ArcGIS Pro eine generische JSON-Datei zu importieren. Eine generische JSON-Datei entspricht keinem Standard für die Organisation von Daten. GeoJSON ist jedoch ein spezifisches Format zum Codieren verschiedener Strukturen geographischer Daten. ArcGIS-Produkte sind mit EsriJSON- und GeoJSON-Dateien kompatibel. Die Verwendung einer generischen JSON-Datei mit dem Werkzeug JSON in Features führt zu einem Fehler. Weitere Informationen finden Sie unter ArcGIS Pro: 001558: Fehler beim Analysieren der .json-Datei <Wert>. Erstellen Sie als Problemumgehung ein Spatial ETL-Werkzeug zum Importieren der generischen JSON-Datei als Feature-Class in ArcGIS Pro.
Hinweis: Zum Erstellen des Werkzeugs "Spatial ETL" ist eine Data Interoperability-Lizenz erforderlich.
- Erstellen Sie ein Spatial ETL-Werkzeug im Bereich Katalog, und geben Sie die folgenden FME-Reader- und -Writer-Parameter an.
- Legen Sie im Abschnitt Reader die Option Format auf Text File fest.
- Geben Sie als Dataset die JSON-Datei an. Wählen Sie im Dialogfeld Select Source Text File(s) die Option All files aus, um die JSON-Datei anzuzeigen.
- Legen Sie im Abschnitt Writer Format auf Esri Geodatabase (File Geodb ArcObjects) fest, um die JSON-Datei in eine Feature-Class in einer File-Geodatabase zu konvertieren.
- Navigieren Sie für Dataset zu einer vorhandenen File-Geodatabase, und suchen Sie die konvertierte Feature-Class.
- Klicken Sie auf OK. Das Fenster Spatial ETL Tool wird angezeigt.
- Zum Extrahieren des Inhalts der JSON-Datei in Feature-Attribute fügen Sie den Transformer JSONFragmenter aus dem Fenster Transformer Gallery hinzu, und verbinden Sie ihn mit Reader.
Hinweis: Zum Öffnen des Fensters Transformer Gallery klicken Sie auf View > Windows > Transformer Gallery.
- Legen Sie im Dialogfeld JSONFragmenter Parameters für JSON Attribute die Option "text_line_data" fest.
- Geben Sie für JSON Query die Zeichenfolge json[*] ein.
- Wählen Sie für Flatten Query Result Into Attributes in der Dropdown-Liste die Option Yes aus, und stellen Sie sicher, dass Recursively Flatten Objects/Arrays auf Yes festgelegt ist.
- Klicken Sie mit der rechten Maustaste auf den Transformer JSONFragmenter > Run > Run To This.
- Fügen Sie den Transformer AttributeExposer hinzu, und verbinden Sie ihn mit der vorherigen Transformer-Ausgabe.
- Klicken Sie im Dialogfeld AttributeExposer Parameters auf Import, und wählen Sie From Feature Cache… aus.
- Wählen Sie im Dialogfeld Import Wizard die erforderlichen Attribute aus.
- Klicken Sie auf Import, um das Dialogfeld Import Wizard zu schließen.
- Klicken Sie auf OK, um das Dialogfeld AttributeExposer Parameters zu schließen.
- Fügen Sie den Transformer VertexCreator hinzu, um die Koordinaten an Punkte anzuhängen, und verbinden Sie ihn mit der vorherigen Transformer-Ausgabe.
- Ordnen Sie im Dialogfeld VertexCreator Parameters die Parameter X Value und Y Value den Längengrad- und Breitengrad-Attributwerten aus der JSON -Datei zu.
- Klicken Sie auf OK.
- Fügen Sie einen CoordinateSystemSetter-Transformer hinzu, um alle Features mit einem Koordinatensystem zu verknüpfen. Verbinden Sie ihn mit der vorherigen Transformer-Ausgabe.
- Wählen Sie im Dialogfeld CoordinateSystemSetter Parameters einen Wert aus der Dropdown-Liste Coordinate System aus.
- Klicken Sie auf OK.
- Fügen Sie einen AttributeCreator-Transformer hinzu, um die Attribute aus der JSON-Datei in die Ausgabe-Features zu importieren.
- Geben Sie im Dialogfeld AttributeCreator Parameters in New Attribute den gewünschten Feldnamen ein.
- Klicken Sie für Attribute Value auf die Dropdown-Liste, und wählen Sie Attribute Value aus, um die zugehörigen Attribute auszuwählen.
- Klicken Sie auf OK, um das Dialogfeld AttributeCreator Parameters zu schließen.
- Verbinden Sie manuell die Ausgabe und die Attribute des Transformers AttributeCreator mit dem Writer.
- Doppelklicken Sie auf Writer, um die Eigenschaften des Ausgabe-Feature-Typs zu bearbeiten.
- Wählen Sie auf der Registerkarte General den Geometry-Typ aus. Wählen Sie zum Beispiel geodb_point aus, um die JSON-Datei in eine Point-Feature-Class zu konvertieren.
- Klicken Sie auf OK.
- Klicken Sie auf das Symbol Save und dann auf das Symbol Run,. Die Ausgabe-Feature-Class befindet sich in der File-Geodatabase, die in Schritt 1d angegeben wurde.
- Zum Anzeigen der Daten fügen Sie die Feature-Class in ArcGIS Pro hinzu.
Die folgende Abbildung zeigt eine Point-Feature-Class nach ihrer Konvertierung aus einer JSON-Datei in ArcGIS Pro.