XY 表转点 (数据管理)

摘要

根据表中的 x、y 和 z 坐标创建点要素类。

使用情况

  • 输入表参数值中的属性字段将传输到输出要素类。

  • 坐标系参数中指定的坐标系将应用于输出。 该坐标系确定如何解释输入表中的 x、y 和 z 坐标。 由于此工具通常用于包含经度值和纬度值的表,因此默认坐标系是 WGS84 地理坐标系。 如果输入表中的字段包含 x 和 y 坐标,则指定相应的投影坐标系。

    如果已设置输出坐标系环境,则输出要素类将从在坐标系参数中指定的坐标系重新投影到该坐标系。

  • 当已指定 Z 字段参数值时,默认坐标系还包括 WGS84 垂直坐标系。 如果 z 值未以米为单位,请修改坐标系以使用正确的高程单位。

  • x 和 y 坐标值为 0 和空值时视为有效,将包含在输出中。 坐标为 0 时将在该位置放置输出点要素;坐标为空则放置空几何。

  • 如果地理坐标系中的 x 和 y 坐标值小于 -400 或大于 400,则视为无效。 将不创建输出记录,并将在工具消息中出现警告消息以指示无效的输入 ID。

  • 输入的 x、y 和 z 坐标字段必须为数值字段。 仅可使用以下格式的坐标值作为此工具的输入:

    • 地理坐标系中的十进制度数
    • 投影坐标系中的线性测量,使用数值指示相对于原点位置具有 x 和 y 偏移的位置。

    其他坐标格式或注记可用作转换坐标注记法工具的输入。

    了解有关坐标和投影的详细信息

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

参数

标注说明数据类型
输入表

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

Table View
输出要素类

包含输出点要素的要素类。

Feature Class
X 字段

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

Field
Y 字段

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

Field
Z 字段
(可选)

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

Field
坐标系
(可选)

x 和 y 坐标的坐标系。 这将是输出要素类的坐标系。

Spatial Reference

arcpy.management.XYTableToPoint(in_table, out_feature_class, x_field, y_field, {z_field}, {coordinate_system})
名称说明数据类型
in_table

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

Table View
out_feature_class

包含输出点要素的要素类。

Feature Class
x_field

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

Field
y_field

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

Field
z_field
(可选)

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

Field
coordinate_system
(可选)

x 和 y 坐标的坐标系。 这将是输出要素类的坐标系。

Spatial Reference

代码示例

XYTableToPoint 示例(Python 窗口)

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

import arcpy
arcpy.env.workspace = r"c:\output.gdb"
arcpy.management.XYTableToPoint(r"c:\data\tree.csv", "tree_points",
                                "longitude", "latitude", "elevation",
                                arcpy.SpatialReference(4759, 115700))
XYTableToPoint 示例 2(独立脚本)

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

# XYTableToPoint.py
# Description: Creates a point feature class from input table

# import system modules 
import arcpy

# Set environment settings
arcpy.env.workspace = r"c:\output.gdb"

# Set the local variables
in_table = r"c:\data\tree.csv"
out_feature_class = "tree_points"
x_coords = "longitude"
y_coords = "latitude"
z_coords = "elevation"

# Make the XY event layer...
arcpy.management.XYTableToPoint(in_table, out_feature_class,
                                x_coords, y_coords, z_coords,
                                arcpy.SpatialReference(4759, 115700))

# Print the total rows
print(arcpy.management.GetCount(out_feature_class))