XY 转线 (数据管理)

描述

创建要素类,其中包含基于表的起点 x 坐标字段、起点 y 坐标字段、终点 x 坐标字段和终点 y 坐标字段中的值构建的大地测量线要素。

使用方法

  • 每条大地测量线均通过一组特定的表示起点 x 和 y 坐标以及终点 x 和 y 坐标的字段值构建。这些字段和值将包含在输出中。

  • 测地线是地球表面上的曲线。但在输出中,测地线要素不是以参数(真)曲线形式存储的,而是以表示测地线路径的增密折线形式进行存储。如果测地线的长度相对较短,则在输出中可能由直线表示。随着线长度的增加,需要使用更多的折点来表示路径。

  • 如果输出的是文件地理数据库中的要素类,则 Shape_Length 字段中的值始终使用由空间参考参数所指定的输出坐标系的单位;并且该值表示折线的平面长度。要测量测地线的长度或距离,请使用 ArcGIS Pro 测量工具并在测量之前相应地选择测地线等角航线大椭圆选项。

语法

arcpy.management.XYToLine(in_table, out_featureclass, startx_field, starty_field, endx_field, endy_field, {line_type}, {id_field}, {spatial_reference}, {attributes})
参数说明数据类型
in_table

输入表。可以是文本文件、CSV 文件、Excel 文件、dBASE 表或地理数据库表。

Table View
out_featureclass

包含增密测地线的输出要素类。

Feature Class
startx_field

输入表中的数值字段,其中包含在 spatial_reference 参数所指定的输出坐标系中进行定位的线的起点 x 坐标(或经度)。

Field
starty_field

输入表中的数值字段,其中包含在 spatial_reference 参数所指定的输出坐标系中进行定位的线的起点 y 坐标(或纬度)。

Field
endx_field

输入表中的数值字段,其中包含在 spatial_reference 参数所指定的输出坐标系中进行定位的线的终点 x 坐标(或经度)。

Field
endy_field

输入表中的数值字段,其中包含在 spatial_reference 参数所指定的输出坐标系中进行定位的线的终点 y 坐标(或纬度)。

Field
line_type
(可选)

指定要构造的测地线类型。

  • GEODESIC 测地线类型,可以最准确地表示将构造的地球表面任意两点之间的最短距离。测地线的数学定义十分复杂冗长,因此此处略去该定义。这是默认设置。
  • GREAT_CIRCLE测地线类型,可以表示将构造的地球表面与通过地心的平面的相交线上任意两点之间的路径。根据空间参考参数所指定的输出坐标系,在基于椭球体的坐标系中,该线表示大椭圆;在基于球体的坐标系中,该线表示唯一的大圆(球面上最大半径的圆)。
  • RHUMB_LINE测地线类型,又称为等角航线 (loxodrome line),可以表示将构造的通过以极点为起点的等方位角所定义的椭球体表面上的任意两点之间的路径。等角航线在墨卡托投影中显示为直线。
  • NORMAL_SECTION测地线类型,可以表示将构造的由椭球体表面与通过椭球体表面上两点并垂直于两点起点处椭球面的平面相交而定义的椭球面上任意两点之间的路径。因此,从 A 点到 B 点与从 B 点到 A 点的法向截面线不同。
String
id_field
(可选)

输入表中的字段。此字段和值均包含在输出中,可用于连接输出要素和输入表中的记录。

Field
spatial_reference
(可选)

输出要素类的空间参考。可以指定空间参考作为以下任一内容:

  • .prj 文件的路径,例如 C:/workspace/watershed.prj
  • 要应用其空间参考的要素类或要素数据集的路径,例如 C:/workspace/myproject.gdb/landuse/grassland
  • SpatialReference 对象,例如 arcpy.SpatialReference("C:/data/Africa/Carthage.prj")

Spatial Reference
attributes
(可选)

指定是否将其余输入字段写入输出要素类。

  • NO_ATTRIBUTES不会将其余输入字段写入输出要素类。这是默认设置。
  • ATTRIBUTES其余输入字段将包含在输出要素类中。还将向输出要素类添加新字段 ORIG_FID 以存储输入要素 ID 值。
Boolean

代码示例

XYToLine 示例(独立脚本)

下面的示例用于将 DBF 表转换为两点大地测量线。

# Import system modules
import arcpy
# Set local variables
input_table = r"c:\workspace\city2city.dbf"
out_lines = r"c:\workspace\flt4421.gdb\routing001"
# XY To Line
arcpy.XYToLine_management(input_table, out_lines, "LOND1", "LATD1", "LOND2",
                          "LATD2", "GEODESIC", "idnum")

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题