批量导入数据 (情报)

摘要

将 KML、KMZ、shapefile、Excel 工作表、表格文本文件、GeoJSON 和 GPX 文件导入存储在单个地理数据库中的要素类。

使用情况

  • 如果输入数据值为文件夹,则将递归搜索 KML (.kml)、KMZ (.kmz) 文件、shapefile (.shp)、Excel 工作表(.xlsx.xls)、表格文本文件(.csv.txt.tab)、GeoJSON 文件 (.geojson) 和 GPX 文件 (.gpx),将递归搜索其输入数据位置。 过滤器参数可用于限制从文件夹导入哪些文件。

  • .kml.kmz 文件中包含的栅格或地面叠加层将转换为目标地理数据库参数中的镶嵌数据集。 镶嵌数据集引用的源栅格以其原生格式存储在以镶嵌数据集命名的子文件夹中。 其位置与目标地理数据库相同。 这些文件以目标地理数据库值命名,并在名称后追加 _Rasters。 例如,如果您的目标地理数据库值为 C:\Data\OperationalData.gdb,则会在 C:\Data 下创建一个名为 OperationalData_Rasters 的文件夹。

  • 如果要将文件导入到企业级地理数据库,请确保数据库连接文件 (.sde) 被指定为目标地理数据库参数中的 UNC 路径,且企业级地理数据库可访问该路径。

  • 通常支持开放地理空间联盟 KML 标准中 KMZ 2.2 版本以下的 KML 和 KMZ 输入。 不支持使用地址选项卡(按地理编码方式)的点位置。 源 KML 内需要有效的经度和纬度位置。

  • 扩展名为 .csv.txt 的表格文本文件的标准分隔符是逗号,扩展名为 .tab 的表格文本文件的标准分隔符是制表符。 要使用包含非标准分隔符的输入表,必须使用 schema.ini 文件指定分隔符。 有关详细信息,请参阅 Microsoft 文档中的 Schema.ini 文件(文本文件驱动程序)

  • 对于输入 Excel 工作表和表格文本文件,仅支持点几何。

  • GeoJSON 规范支持多种几何类型。 将使用命名约定 SourceGeoJSONFile_GeometryType 为输入 .geojson 文件中的每个几何类型创建单独的要素类。 例如,如果 .geojson 文件命名为 World Airports.geojson,且包含点、多点、折线和面几何类型,则要素类将命名为 World Airports_Points、World Airports_Multipoint、World Airports_Polylines 和 World Airports_Polygons。

  • 运行此工具时,坐标系具有以下注意事项:

    • 对于 shapefile、.kml.kmz.geojson.gpx 文件,输出数据集与输入数据集的坐标系相同。 KML 和 GPX 规范要求输入数据集的坐标系为 GCS WGS1984。
    • 对于 Excel 工作簿和表格文本文件,输出坐标系将为 GCS WGS1984。

  • 如果要素的任何输入坐标无效(空值或无效坐标记法),则相应要素将具有空几何。 检查几何工具可用于识别输出中的空几何。

  • 受支持的表格文本文件(.csv.txt.tab)和 Excel 工作表为以十进制度表示的纬度和经度、美国军事格网参考系 (MGRS) 和美国国家格网 (USNG)。 在源中按以下顺序搜索坐标列:单独列中的纬度和经度、单个列中的纬度和经度、MGRS,最后是 USNG。

    注:

    对于单列中的纬度和经度值,纬度值必须在前,然后是由空格、逗号或斜线分隔的经度。

    有效列名称如下:

    • 纬度 - latitudelaty_coordinatey_coord,以及 y
    • 经度 - longitudelonglonx_coordinatex_coord,以及 x
    • 维度/经度 - latitude_longitudelat_longlat_lonxy_coordinatexy_coordinatesxy_coordxy_coords,以及 xy
    • MGRS 坐标 - mgrsmgrs_coordinatemgrs_coordinatesmgrs_coord,以及 mgrs_coords
    • USNG 坐标 - usngusng_coordinateusng_coordinatesusng_coord,以及 usng_coords

  • 将导入 Excel 工作簿中的所有工作表。

  • 将根据如下源数据文件中的符号系统向添加到地图中的输出图层应用相应的符号系统:

    注:
    在工具执行时,AllSource 工程中必须存在活动地图,以保留符号系统。 如果工具在 AllSource 工程之外运行(即,通过独立 Python 脚本运行),则不会保留符号系统。
    • 对于从 .kml.kmz 文件创建的输出图层,将从源 .kml.kmz 文件中提取符号系统并将其应用于输出图层。 可以在与源 .kml.kmz 文件相同的文件夹中提供一个图层文件(.lyrx.lyr)以覆盖此符号系统。 图层文件与源数据文件必须具有相同的基本名称,并在名称后追加下划线 (_) 和要覆盖图层的几何类型(点、折线或面)。 例如,如果 .kml 文件命名为 World Airports.kml 且包含点、线和面要素,并且您希望覆盖所有几何类型的符号系统,则图层文件将命名为 World Airports_Points.lyrxWorld Airports_Polylines.lyrxWorld Airports_Polygons.lyrx。 几何类型值区分大小写。 如果给定的几何类型不存在图层文件,则会将源 .kml.kmz 文件中的符号系统应用到输出图层。
    • 对于从 .kml.kmz 文件以外的源创建的输出图层,如果在与源数据文件相同的文件夹中存在图层文件(.lyrx.lyr),则会将符号系统应用到输出图层。 图层文件与源数据文件必须具有相同的基本名称(Excel 工作表和 .geojson 文件除外)。 对于 Excel 工作表,图层文件的名称必须与源数据文件的基本名称相同,且名称后追加有下划线 (_) 和工作表名称。 例如,如果 Excel 文件命名为 World.xlsx 且包含名为 Cities (2018) 的工作表,则图层文件必须命名为 World_Cities (2018).lyrxWorld_Cities (2018).lyr。 对于 .geojson 文件,图层文件的名称必须与源数据文件的基本名称相同,且名称后追加有下划线 (_) 和输出几何类型(点、多点、折线和面)。 如果图层文件不存在,则会对输出图层应用默认符号。

参数

标注说明数据类型
输入数据

包含数据文件或要转换为地理数据库要素类的数据文件的目录。

Folder; File
目标地理数据库

将存储输出要素类的目标地理数据库。

Workspace
过滤器
(可选)

应用过滤器以限制导入文件夹的文件。 过滤器的以下通配符适用于输入数据的完整路径:

  • * - 匹配任何字符
  • ? - 匹配单个字符
  • [range] - 匹配范围内的单个字符
  • [!range] - 匹配不再范围内的任意字符
可以通过使用竖线或管道分隔符 (|) 将每个模式分隔开来,从而将多个模式添加到过滤器。 模式比较不区分大小写,因此如果使用 *airport.shp*AIRPORT.SHP*Airport.shp 模式将导入相同的 shapefile。

以下是过滤器示例:

  • 要导入所有 shapefile,请使用 *.shp
  • 要导入所有 shapefile 和所有 .kml 文件,请使用 *.shp|*.kml
  • 要导入文件路径或文件名中包含 airport 的所有文件,请使用 *airport*
  • 要导入文件路径或文件名中包含 airport 的所有 .geojson 文件,请使用 *airport*.geojson
  • 要导入名称中包含 airport 且其后追加有任意两个字符的所有 .kmz 文件,请使用 *airport??.kmz.
  • 要导入文件路径或文件名中包含 1990 到 1997 的所有文件,请使用 *199[0-7]*
  • 要导入文件路径中包含确切文件名 airfacilities 的所有 shapefile,请使用 *\airfacilities\*.shp

String
包括子文件夹
(可选)

指定是否递归搜索子文件夹。

  • 选中 - 浏览所有子文件夹。 这是默认设置。
  • 取消选中 - 仅浏览顶级文件夹。

Boolean
包括地面叠加
(可选)

指定是否在输出中包含 KML 或 KMZ 地面叠加层(栅格、航空照片等)。

KMZ 指向提供栅格影像的服务时,请谨慎使用。 该工具将尝试按所有可用比例转换栅格影像。 此过程也许会较漫长且可能超出服务能力范围。

  • 选中 - 将在输出中包含地面叠加层。 这是默认设置。
  • 未选中 - 地面叠加层不包括在输出中。

Boolean

派生输出

标注说明数据类型
更新后的地理数据库

已更新的目标地理数据库。

Workspace

arcpy.intelligence.BatchImportData(in_data, target_gdb, {filter}, {include_sub_folders}, {include_groundoverlay})
名称说明数据类型
in_data
[in_data,...]

包含数据文件或要转换为地理数据库要素类的数据文件的目录。

Folder; File
target_gdb

将存储输出要素类的目标地理数据库。

Workspace
filter
(可选)

应用过滤器以限制导入文件夹的文件。 过滤器的以下通配符适用于输入数据的完整路径:

  • * - 匹配任何字符
  • ? - 匹配单个字符
  • [range] - 匹配范围内的单个字符
  • [!range] - 匹配不再范围内的任意字符
可以通过使用竖线或管道分隔符 (|) 将每个模式分隔开来,从而将多个模式添加到过滤器。 模式比较不区分大小写,因此如果使用 *airport.shp*AIRPORT.SHP*Airport.shp 模式将导入相同的 shapefile。

以下是过滤器示例:

  • 要导入所有 shapefile,请使用 *.shp
  • 要导入所有 shapefile 和所有 .kml 文件,请使用 *.shp|*.kml
  • 要导入文件路径或文件名中包含 airport 的所有文件,请使用 *airport*
  • 要导入文件路径或文件名中包含 airport 的所有 .geojson 文件,请使用 *airport*.geojson
  • 要导入名称中包含 airport 且其后追加有任意两个字符的所有 .kmz 文件,请使用 *airport??.kmz.
  • 要导入文件路径或文件名中包含 1990 到 1997 的所有文件,请使用 *199[0-7]*
  • 要导入文件路径中包含确切文件名 airfacilities 的所有 shapefile,请使用 *\airfacilities\*.shp

String
include_sub_folders
(可选)

指定是否递归搜索子文件夹。

  • SUBFOLDERS浏览所有子文件夹。这是默认设置。
  • NO_SUBFOLDERS仅浏览顶级文件夹。
Boolean
include_groundoverlay
(可选)

指定是否在输出中包含 KML 或 KMZ 地面叠加层(栅格、航空照片等)。

KMZ 指向提供栅格影像的服务时,请谨慎使用。 该工具将尝试按所有可用比例转换栅格影像。 此过程也许会较漫长且可能超出服务能力范围。

  • GROUNDOVERLAY地面叠加层包括在输出中。 这是默认设置。
  • NO_GROUNDOVERLAY地面叠加层不包括在输出中。
Boolean

派生输出

名称说明数据类型
out_geodatabase

已更新的目标地理数据库。

Workspace

代码示例

BatchImportData 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 BatchImportData 函数。

import arcpy 
arcpy.intelligence.BatchImportData("c:/data/sourcedata", "c:/data/output.gdb", "", "SUBFOLDERS", "NO_GROUNDOVERLAY")
BatchImportData 示例 2(独立脚本)

以下 Python 脚本演示了如何在独立脚本中使用 BatchImportData 函数:

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

# Run BatchImportData
arcpy.intelligence.BatchImportData(in_data, target_gdb, filter, include_sub_folders)

环境

此工具不使用任何地理处理环境。