使用Python或模型构建器创建XY图层

0 投票
1 回答
1830 浏览
提问于 2025-04-21 07:35

我有几列XY数据想要导入到ArcMap里。手动操作的话,我需要在转换工具下运行“Excel转表格”的脚本,然后右键点击表格,选择“显示XY数据”,这个过程要对每一对XY值重复进行。我建立了一个模型,把“Excel转表格”脚本的输出作为“制作XY事件图层”工具的输入。问题是,在没有导入任何电子表格的情况下,我无法在开始时选择任何X字段或Y字段,但当我运行这个模型时,会出现“No X Field Value”和“No Y Field Value”的错误。接着,我又建立了一个模型,把“Excel转表格”脚本的输出连接到我写的一个脚本,用来显示XY数据。当我运行这个模型时,出现了“ExecuteError: 执行失败。参数无效。错误 000728: 表中不存在字段 Latitude_decimal_degrees_”。请问这个过程能用Python或者模型构建器来完成吗?如果可以,怎么做呢?

1 个回答

0

我的理解是,你有一个包含多个坐标字段的地理数据库表或者DBF文件,你想为每一对XY坐标创建多个要素图层。如果是这样的话,可以在ArcMap的Python窗口中运行下面的代码,这样就可以实现你的需求:

import arcpy
Table= r"C:\SomeDataPath\MyTable"
# Replace 'X' and 'Y' in each sublist with the name of the respective X and Y 
# field for each coordinate pair in the table and replace 'lyrName' with the
# name you want to  give to the FeatureLayer to be created. 
# Expand with more sublists as needed
CoordinateFields = [
                    ["X", "Y", "lyrName"], 
                    ["X", "Y", "lyrName"], 
                    ["X", "Y", "lyrName"]
                   ]
SR = arcpy.SpatialReference("Name of the Projection used by coordinates")
for CoordinatePair in CoordinateFields:
    arcpy.MakeXYEventLayer_management(Table, 
                                      CoordinatePair[0], 
                                      CoordinatePair[1], 
                                      CoordinatePair[2],
                                      SR)

祝你好运!

撰写回答