我试图找到从点到多边形的最短距离。我在地图的海岸线上有一个点,我需要从这一点到海岸线外的多边形的距离。多边形是不规则形状(特定日期水面上的污染物位置)。点和多边形都是经度/纬度坐标,我可以将多边形叠加到地图上。我试着用(geosphere包)
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,多边形是17.17A。该函数声明我可以使用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的新手并且没有先前的编码经验,所以我非常感谢我能得到的任何帮助。谢谢你的任何建议!
答案 0 :(得分:0)
现在调用dist2Line
的方式使它看起来像有4个参数,但签名只有3个。根据文档的第一个参数应该是
点的经度/纬度。可以是两个数字的向量,2列的矩阵(第一个是经度,第二个是纬度)或SpatialPoints *对象。
所以试试
dist2Line(c(-88.1253, 30.2564), may.17.10A, distfun=distHaversine).