2014-09-12 195 views
0

我有幾列要導入到ArcMap的XY數據。要手動執行此操作,我在轉換工具下運行Excel To Table腳本,然後右鍵單擊表並選擇顯示XY數據,對每對XY值重複。我建立了一個模型,將「Excel to Table」腳本的輸出提供給「Make XY Event Layer」工具的輸入。問題是我不能在沒有導入任何電子表格的情況下選擇任何X字段或Y字段,但是當我運行它時,我會得到「無X字段值」和「無Y字段值」錯誤。然後,我建立了一個模型,將「Excel to Table」腳本的輸出提供給我編寫的用於顯示XY數據的腳本。當我運行這個模型時,我得到:「ExecuteError:無法執行,參數無效ERROR 000728:字段Latitude_decimal_degrees_在表內不存在」。這個過程可以用Python或Model Builder來完成,如果是這樣,怎麼做?使用Python或模型構建器創建XY圖層

+0

你的腳本是什麼樣子的?你的意思是'不按我想要的方式工作'? – GISGe 2014-09-12 13:12:01

+0

確保您的字段名稱實際存在,它們是有效的(不是用數字表示,沒有空格),並且Excel字段格式由ArcGIS以數字形式讀取。添加具有唯一ID的字段有時也有幫助。 – GISGe 2014-09-12 13:30:57

+0

在哪個版本的Excel中提供原始數據?您還使用了哪種版本的ArcMap。根據您的Excel文件的版本,ArcMap可能會支持也可能不支持。我知道在ArcMap 10.1和更高版本中,不支持2007年及以後的Excel文件。 – Ashatz11 2014-09-18 18:35:11

回答

0

我的理解是,您擁有一個包含多個座標字段的地理數據庫表或DBF,並且您希望爲每個XY座標對創建多個功能圖層。如果是這樣,在Python的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) 

享受!