创建 XY 事件图层 (数据管理)

摘要

根据表中定义的 X 和 Y 坐标创建点要素图层。 如果源表包含 z 坐标(高程值),则您也可以在创建事件图层时指定该字段。 由此工具创建的图层是临时图层。

使用情况

  • 此工具创建的输出点要素图层是临时性的,在会话结束后将不会保留。 可以使用复制要素要素转点导出要素工具将此事件图层导出为磁盘上的要素类。

  • 无法通过编辑控件以交互方式移动输出图层的点,因为事件图层无法进行编辑。 除了直接移动这些点之外,还可以更改输入表中的 X 和 Y 坐标属性,然后重新创建事件图层,或将事件图层保存在磁盘上的要素类中,随后再对该要素类进行编辑。

  • 扩展名为 .csv.txt 的表格文本文件的标准分隔符是逗号,扩展名为 .tab 的表格文本文件的标准分隔符是制表符。 要使用具有非标准分隔符的输入表格,您必须首先使用 schema.ini 文件来指定用于表格的正确分隔符。

  • 如果输入表中没有 ObjectID 字段,将无法进行选择或将连接添加到生成的图层。

参数

标注说明数据类型
XY 表

定义将要创建的点要素位置的表(包含 x 和 y 坐标)。

Table View
X 字段

输入表中包含 X 坐标(或经度)的字段。

Field
Y 字段

输入表中包含 Y 坐标(或纬度)的字段。

Field
图层名称

输出点事件图层的名称。

Feature Layer
空间参考
(可选)

X 字段Y 字段参数中指定的坐标的空间参考。 这将是输出事件图层的空间参考。

Spatial Reference
Z 字段
(可选)

输入表中包含 Z 坐标的字段。

Field

arcpy.management.MakeXYEventLayer(table, in_x_field, in_y_field, out_layer, {spatial_reference}, {in_z_field})
名称说明数据类型
table

定义将要创建的点要素位置的表(包含 x 和 y 坐标)。

Table View
in_x_field

输入表中包含 X 坐标(或经度)的字段。

Field
in_y_field

输入表中包含 Y 坐标(或纬度)的字段。

Field
out_layer

输出点事件图层的名称。

Feature Layer
spatial_reference
(可选)

in_x_fieldin_y_field 参数中指定的坐标的空间参考。 这将是输出事件图层的空间参考。

Spatial Reference
in_z_field
(可选)

输入表中包含 Z 坐标的字段。

Field

代码示例

MakeXYEventLayer 示例(Python 窗口)

以下 Python 窗口脚本演示了如何使用 MakeXYEventLayer 函数。

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.MakeXYEventLayer("firestations.dbf", "POINT_X", "POINT_Y", 
                                  "firestations_points", "", "POINT_Z")
MakeXYEventLayer 示例(独立脚本)

以下独立 Python 脚本演示了如何使用 MakeXYEventLayer 函数。


# Description: Creates an XY layer and exports it to a layer file

# import system modules 
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data"
 
# Set the local variables
in_Table = "firestations.dbf"
x_coords = "POINT_X"
y_coords = "POINT_Y"
z_coords = "POINT_Z"
out_Layer = "firestations_layer"
saved_Layer = r"c:\output\firestations.lyr"

# Set the spatial reference
spRef = r"NAD_1983_UTM_Zone_11N"

# Make the XY event layer...
arcpy.management.MakeXYEventLayer(in_Table, x_coords, y_coords, out_Layer, 
                                  spRef, z_coords)

# Save to a layer file
arcpy.management.SaveToLayerFile(out_Layer, saved_Layer)

相关主题