Batch-Import von Daten (Intelligence)

Zusammenfassung

Importiert Verzeichnisse von KML- und KMZ-Dateien, Shapefiles, Excel-Arbeitsblättern, tabellarischen Textdateien, GeoJSON- und GPX-Dateien in Feature-Classes in einer Geodatabase.

Verwendung

  • Der Speicherort der Eingabedaten wird standardmäßig nach KML-Dateien (.kml), KMZ-Dateien (.kmz), Shapefiles (.shp), Excel-Arbeitsmappen (.xlsx und .xls), tabellarischen Textdateien (.csv, .txt und .tab), GeoJSON-Dateien (.geojson) und GPX-Dateien (.gpx) rekursiv durchsucht. Mit dem Parameter Filter können die zu importierenden Dateien begrenzt werden.

  • Raster oder Boden-Overlays in einer KML- oder KMZ-Datei werden in der Ziel-Geodatabase in ein Mosaik-Dataset konvertiert. Die vom Mosaik-Dataset referenzierten Quell-Raster werden in ihrem nativen Format in einem nach dem Mosaik-Dataset benannten Unterordner gespeichert. Dieser befindet sich im selben Verzeichnis wie die Ziel-Geodatabase. Diese Dateien haben denselben Namen wie die Ziel-Geodatabase, an den _Rasters angehängt wird. Wenn Ihre Ziel-Geodatabase beispielsweise C:\Data\OperationalData.gdb lautet, wird unter OperationalData_Rasters ein Ordner mit dem Namen C:\Data erstellt.

  • Stellen Sie beim Importieren von Dateien in eine Enterprise-Geodatabase sicher, dass die Datenbankverbindungsdatei (.sde) im Parameter Ziel-Geodatabase als UNC-Pfad angegeben ist und dass die Enterprise-Geodatabase auf den Pfad zugreifen kann.

  • KML- und KMZ-Eingaben bis zur KMZ-Version 2.2 des Open Geospatial Consortium KML-Standards werden allgemein unterstützt. Punktpositionen, die die Registerkarte "Adresse" bei der Geokodierung verwenden, werden nicht unterstützt. Im Quell-KML ist eine gültige Längen- und Breitengradposition erforderlich.

  • Das Standardtrennzeichen für tabellarische Textdateien mit den Erweiterungen .csv oder .txt ist ein Komma und für Dateien mit der Erweiterung .tab ein Tabulator. Um eine Eingabetabelle mit einem nicht dem Standard entsprechenden Trennzeichen zu verwenden, muss das Trennzeichen mit einer schema.ini-Datei angegeben werden. Weitere Informationen finden Sie in der Microsoft-Dokumentation unter Datei "Schema.ini" (Textdateitreiber).

  • Bei Eingabe-Excel-Arbeitsblättern und tabellarischen Textdateien wird nur eine Punktgeometrie unterstützt.

  • Die GeoJSON-Spezifikation unterstützt mehrere Geometrietypen. Für jeden Geometrietyp in der GeoJSON-Eingabedatei wird mithilfe der Benennungskonvention SourceGeoJSONFile_GeometryType eine eigene Feature-Class erstellt. Wenn die GeoJSON-Datei beispielsweise den Namen World Airports.geojson hat und die Geometrietypen Punkt, Multipoint, Polylinie und Polygon enthält, erhalten die Feature-Classes die Namen World Airports_Points, World Airports_Multipoint, World Airports_Polylines und World Airports_Polygons.

  • Bei Koordinatensystemen sind beim Ausführen dieses Werkzeugs folgende Punkte zu berücksichtigen:

    • Bei Shapefiles, KML-, KMZ-, GeoJSON- und GPX-Dateien ist das Koordinatensystem des Ausgabe-Datasets mit dem des Eingabe-Datasets identisch. Gemäß den KML- und GPX-Spezifikationen muss das Koordinatensystem des Eingabe-Datasets vom Typ "GCS WGS1984" sein.
    • Bei Excel-Arbeitsmappen und tabellarischen Textdateien muss das Koordinatensystem der Eingabe vom Typ "GCS WGS1984" sein, und die Koordinatenwerte für den Längengrad und den Breitengrad sind in Dezimalgrad anzugeben.

  • Wenn eine der Längengrad- oder Breitengrad-Eingabekoordinaten für ein Feature ungültig ist (NULL- oder nicht-numerische Werte), ist das entsprechende Feature eine NULL-Geometrie. Das Werkzeug Geometrie überprüfen kann zum Prüfen auf NULL-Geometrien in der Ausgabe verwendet werden.

  • Tabellarische Textdateien (.csv, .txt und .tab) und Excel-Arbeitsblätter müssen eine Spalte für den Längengrad und eine Spalte für den Breitengrad enthalten. longitude, long, lon, x_coordinate, x_coord und x sind gültige Längengradspalten. latitude, lat, y_coordinate, y_coord und y sind gültige Breitengradspalten. Wenn die Quelle mehrere gültige Längen- und Breitengradspalten enthält, wird die erste gültige Spalte verwendet.

  • Alle Arbeitsblätter in einer Excel-Arbeitsmappe werden importiert.

  • Die Symbolisierung wird wie folgt auf die Ausgabe-Layer angewendet, die der Karte entsprechend der Symbolisierung in den Quelldatendateien hinzugefügt wurde:

    Hinweis:
    Im ArcGIS Pro-Projekt muss zur Beibehaltung der Symbolisierung bei der Werkzeugausführung eine aktive Karte vorhanden sein. Wenn das Werkzeug außerhalb eines ArcGIS Pro-Projekts – also über ein eigenständiges Python-Skript – ausgeführt wird, bleibt die Symbolisierung nicht erhalten.
    • Bei Ausgabe-Layern, die über KML- oder KMZ-Dateien erstellt wurden, wird die Symbolisierung aus der KML- oder KMZ-Quelldatei extrahiert und auf die Ausgabe-Layer angewendet. Diese Symbolisierung kann außer Kraft gesetzt werden, indem in dem Ordner, in dem sich die KML- oder KMZ-Datei befindet, eine Layer-Datei (.lyrx oder .lyr) bereitgestellt wird. Der Basisname der Layer-Datei muss mit dem Basisnamen der Quelldatendatei übereinstimmen. An diesen wird ein Unterstrich (_) und der Geometrietyp (Punkte, Polylinien oder Polygone) des Layers angefügt, der außer Kraft gesetzt werden soll. Wenn die KML-Datei beispielsweise den Namen World Airports.kml hat, die Geometrietypen Punkt-, Linien- und Polygon-Features enthält, und Sie die Symbolisierung für alle Geometrietypen außer Kraft setzen möchten, erhalten die Layer-Dateien die Namen World Airports_Points.lyrx, World Airports_Polylines.lyrx und World Airports_Polygons.lyrx. Bei den Werten der Geometrietypen muss die Groß-/Kleinschreibung beachtet werden. Wenn für einen bestimmten Geometrietyp keine Layer-Datei vorhanden ist, wird die Symbolisierung aus der KML- oder KMZ-Quelldatei auf den Ausgabe-Layer angewendet.
    • Bei Ausgabe-Layern, die nicht über KML- oder KMZ-Dateien erstellt wurden, wird die Symbolisierung auf den Ausgabe-Layer angewendet, wenn in dem Ordner, in dem sich die Quelldatendatei befindet, eine Layer-Datei (.lyrx oder .lyr) vorhanden ist. Der Basisname der Layer-Datei muss außer bei Excel-Arbeitsblättern und GeoJSON-Dateien mit dem Basisnamen der Quelldatendatei übereinstimmen. Bei Excel-Arbeitsblättern muss der Basisname der Layer-Datei mit dem Namen der Quelldatendatei übereinstimmen, an den ein Unterstrich (_) und der Name des Arbeitsblatts angehängt wird. Wenn die Excel-Datei beispielsweise den Namen World.xlsx hat und ein Arbeitsblatt mit dem Namen "Cities (2018)" enthält, muss die Layer-Datei den Namen World_Cities (2018).lyrx oder World_Cities (2018).lyr erhalten. Bei GeoJSON-Dateien muss der Basisname der Layer-Datei mit dem Namen der Quelldatendatei übereinstimmen, an den ein Unterstrich (_) und der Ausgabegeometrietyp (Punkte, Multipoints, Polylinien und Polygone) angehängt wird. Wenn keine Layer-Datei vorhanden ist, wird ein Standardsymbol auf den Ausgabe-Layer angewendet.

Syntax

arcpy.intelligence.BatchImportData(in_data, target_gdb, {filter}, {include_sub_folders}, {include_groundoverlay})
ParameterErklärungDatentyp
in_data
[in_data,...]

Die Verzeichnisse, die die Datendateien enthalten, die in Geodatabase-Feature-Classes konvertiert werden sollen.

Folder
target_gdb

Die Ziel-Geodatabase, in der Ausgabe-Feature-Classes gespeichert werden.

Workspace
filter
(optional)

Ein Filter für die Daten, die der Geodatabase hinzugefügt werden. Die Platzhalterzeichen für den Filter funktionieren für den vollständigen Pfad zu den Eingabedaten und werden im Folgenden aufgeführt:

  • *: Steht für beliebig viele Zeichen
  • ?: Steht für genau ein Zeichen
  • [ Bereich ]: Steht für genau ein Zeichen im Bereich
  • [! Bereich ]: Steht für beliebig viele Zeichen, die in dem Bereich nicht enthalten sind
Dem Filter können mehrere Muster hinzugefügt werden, wobei die einzelnen Muster durch einen senkrechten Strich bzw. ein Pipe-Trennzeichen (|) voneinander getrennt werden. Leerzeichen vor oder nach dem Trennzeichen sind nicht zulässig. Bei Mustervergleichen muss die Groß-/Kleinschreibung nicht beachtet werden. Mit dem Muster *airport.shp, *AIRPORT.SHP oder *Airport.shp wird also immer dasselbe Shapefile importiert.

Nachfolgend finden Sie einige Beispiele für Filter:

  • Verwenden Sie zum Importieren aller Shapefiles *.shp.
  • Verwenden Sie zum Importieren aller Shapefiles und aller KML-Dateien *.shp|*.kml.
  • Verwenden Sie zum Importieren aller Dateien mit der Zeichenfolge "airport" im Dateipfad oder im Dateinamen *airport*.
  • Verwenden Sie zum Importieren aller GeoJSON-Dateien mit der Zeichenfolge "airport" im Dateipfad oder im Dateinamen *airport*.geojson.
  • Verwenden Sie zum Importieren aller KMZ-Dateien mit der Zeichenfolge "airport" und zwei beliebigen angehängten Zeichen im Namen *airport??.kmz.
  • Verwenden Sie zum Importieren aller Dateien mit einer Jahreszahl zwischen 1990 und 1997 im Dateipfad oder im Dateinamen *199[0-7]*.
  • Verwenden Sie zum Importieren aller Shapefiles mit exakt dem Ordnernamen "airfacilities" im Dateipfad *\airfacilities\*.shp.

String
include_sub_folders
(optional)

Gibt an, ob Unterordner rekursiv untersucht werden.

  • SUBFOLDERSAlle Unterordner werden untersucht. Dies ist die Standardeinstellung.
  • NO_SUBFOLDERSNur der Ordner der obersten Ebene wird untersucht.
Boolean
include_groundoverlay
(optional)

Gibt an, ob KML- oder KMZ-Boden-Overlays (Raster, Luftaufnahmen usw.) in die Ausgabe einbezogen werden.

Seien Sie vorsichtig, wenn die KMZ-Datei auf einen Service verweist, der Raster-Bilddaten bereitstellt. Das Werkzeug versucht, die Raster-Bilddaten in allen verfügbaren Maßstäben zu übertragen. Dieser Prozess kann lange dauern und den Service möglicherweise überlasten.

  • GROUNDOVERLAYBoden-Overlays sind in der Ausgabe enthalten. Dies ist die Standardeinstellung.
  • NO_GROUNDOVERLAYBodenüberlagerungen sind nicht in der Ausgabe enthalten.
Boolean

Abgeleitete Ausgabe

NameErklärungDatentyp
out_geodatabase

Die aktualisierte Ziel-Geodatabase.

Workspace

Codebeispiel

BatchImportData – Beispiel 1 (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion BatchImportData im unmittelbaren Modus verwendet wird:

import arcpy 
arcpy.BatchImportData_intelligence("c:/data/sourcedata", "c:/data/output.gdb", "", "SUBFOLDERS", "NO_GROUNDOVERLAY")
BatchImportData – Beispiel 2 (eigenständiges Skript)

Das folgende Python-Skript veranschaulicht die Verwendung der Funktion BatchImportData in einem eigenständigen Skript:

# Name: BatchImportData_Example2.py
# Description: Imports all shapefiles with 'airport' in the file name or file
#              path within a directory to feature classes in a single geodatabase.
# Requirements: Standard or Advanced license
# Import system modules
import arcpy
# Set local variables
in_data = ["c:/data/sourcedata"]
target_gdb = r"\\data\operationaldata.sde" 
filter = "*airports*.shp" 
include_sub_folders = "NO_SUBFOLDERS" 
# Execute BatchImportData
arcpy.BatchImportData_intelligence(in_data, target_gdb, filter, include_sub_folders)

Umgebungen

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.

Lizenzinformationen

  • Basic: Nein
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen