簡體   English   中英

如何在R中的地圖上找到從點到多邊形邊緣的最短距離(點在多邊形外部)

[英]How do I find the shortest distance from a point to a polygon edge on a map in R (point is outside polygon)

我試圖找到從點到多邊形的最短距離。 我在制作的地圖的海岸線上有一個點,並且需要從該點到海岸線外的多邊形的距離。 多邊形是不規則形狀(在特定的一天在水面上的污染物位置)。 點和多邊形都在經度/緯度坐標中,我可以將多邊形覆蓋在地圖上。 我嘗試使用(地理球套餐)

dist2Line(-88.1253, 30.2564, may.17.10A, distfun=distHaversine)

但我收到一條錯誤消息,提示``dist2Line(-88.1253,30.2564,may.17.10A,distfun = distHaversine)中的錯誤:未使用的參數(may.17.10A)''

我試圖在點坐標周圍添加方括號,但又收到另一條錯誤消息。 海岸線上該點的坐標為-88.1253、30.2564,多邊形為may.17.10A。 該函數指出,我可以將SpatialPolygons *對象用作變量,並且我認為

may.17.10A

會是一個嗎?

多邊形的代碼來自包含.dbf,.prj,.sbn,.sbx,.sph和.shx文件的目錄:

may.17.10 <- readOGR("directory/20100517_Composite", "20100517_Composite")
may.17.10A<- spTransform(may.17.10, CRS("+proj=longlat +datum=WGS84"))

正如我在之前的問題中提到的那樣,我是R語言的新手,並且沒有任何編碼經驗,因此我非常感謝我能獲得的任何幫助。 感謝您的任何建議!

您現在調用dist2Line的方式使其看起來像有4個參數,而簽名只有3個。 根據文檔的第一個參數應為

點的經度/緯度。 可以是兩個數字的向量,也可以是兩列的矩陣(第一列是經度,第二列是緯度)或SpatialPoints *對象。

所以嘗試

dist2Line(c(-88.1253, 30.2564), may.17.10A, distfun=distHaversine).

暫無
暫無

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

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