我想遍歷屬性表(例如INPUT),確定存在交互的最小距離,然後將該距離加上FID寫入新表(例如OUTPUT)。爲簡單起見,我已將ArcGIS中的屬性表導出爲.csv。如何遍歷shapefile屬性表並將結果寫入R中的新.csv表?
下面是一些簡化的示例數據 http://i.imgur.com/blDQfVS.png
例如,對於FID 001沒有相互作用,002的相互作用是在5000米,對於003有以2000m的相互作用,以及用於004那裏是0米處的相互作用。
我有邏輯想通了,但我很難寫輸出到表。這就是我來了這麼遠(我只是用打印這裏爲了排除故障):
# Process rows and determine the minimum zone of influence
for (i in 1:nrow(INPUT)){
ifelse(INPUT$BUFFER_0k[i]>0, print("0"),
ifelse(INPUT$BUFFER_2k[i]>0, print("2000"),
ifelse(INPUT$BUFFER_5k[i]>0, print("5000"), print("NA"))))
我已經試過的東西更換打印像
csvFile="C:\\...\\output.csv"
write.csv(c(INPUT$FID[i], "0"), file=csvFile, append=TRUE)
,我甚至不能像下面的工作,以取代簡單的打印聲明
print(c(INPUT$FID[i]>0, "0"))
我欣賞任何建議。
邏輯不清楚給我。你如何確定交互的地方? –
如果該值大於0,則兩個要素已相交,並且相交要素的FID將被存儲而不是0. – user3343890
這不是您的示例輸出顯示的內容。它顯示了一些相交距離,它顯示它們爲*每個* FID(雖然是的,它可能是NA)。我的問題是:你如何計算這些距離? –