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

时间:2014-09-12 13:03:45

标签: python excel model arcpy arcmap

我想要导入到ArcMap的几列XY数据。要手动执行此操作,我在转换工具下运行Excel To Table脚本,然后右键单击表格并选择显示XY数据,对每对XY值重复。我构建了一个模型,将“Excel to Table”脚本的输出提供给“Make XY Event Layer”工具的输入。问题是我不能在没有导入任何电子表格的情况下选择任何X字段或Y字段,但是当我运行它时,我得到“No X Field Value”和“No Y Field Value”错误。然后我构建了一个模型,将“Excel to Table”脚本的输出提供给我编写的脚本以显示XY数据。当我运行该模型时,我得到:“ExecuteError:无法执行。参数无效.ERROR 000728:表中不存在Latitude_decimal_degrees_字段”。可以使用Python或模型构建器完成此过程,如果是,如何完成?

1 个答案:

答案 0 :(得分: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)

享受!