簡體   English   中英

查找不規則多邊形窗口限制的單獨但鏈接的點之間的歐幾里得距離

[英]Finding euclidean distance between separate but linked points confined by an irregular polygon window

我遵循了在R {spatstat}中找到點之間的歐幾里得距離的文章,並通過不規則的多邊形窗口將其限制在末端,並使其全部正常工作。 但是,在我的情況下,我想讓數據A中的距離點到數據B中的點,但前提是兩個數據集具有相同的ID值。 我的問題可以遵循以下示例:在點之間用R {spatstat}查找歐幾里得距離,該點受不規則多邊形窗口限制,但具有兩個Pts數據框,而我不想在Pts中找到點之間的距離,而是想找到如果Pts1 $ ID == Pts2 $ ID(假設您添加了ID列),則為Pts1和Pts2。 Pts1和Pts2中都有許多ID級別。

免責聲明:編寫此代碼時無需測試任何代碼,因此無法保證它能正常工作,但是它提供了解決問題的直接方法。

函數gdistance::costDistance接受第三個參數來指定從第二個參數中的點到第三個參數中的點的距離,因此擁有數據A和數據B應該沒有問題。

現在,為每個ID執行此操作:將每個ID的點集分別拆分為單獨的集,然后在for循環中為每個ID執行距離代碼,該怎么辦?

如果ABdata.frames具有坐標的data.frames以及IDAIDB是具有相同水平的因子,這些因子指示點的ID,則可以拆分成列表並像這樣計算距離(假設您已經從鏈接的答案中運行了適當的代碼至):

Alist <- split(A, IDA)
Blist <- split(B, IDB)
rslt <- list()
for(i in seq_along(Alist)){
    rslt[[i]] <- costDistance(tr1, Alist[[i]], Blist[[i]])
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM