作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试获得给定点与海岸之间的最小距离。我的例子是马德里到海岸的距离:
library(rgeos)
library(maptools)
coast <- readShapeLines("Natural_Earth_quick_start/10m_physical/ne_10m_coastline.shp")
MAD = readWKT("POINT(-3.716667 40.383333)")
gDistance(MAD,coast)
[1] 3.021808
gDistance()
返回的内容。文档说它是以投影为单位的。这是否意味着它是拉特隆度的?如何将其转换为公里?
最佳答案
gDistance(...)
返回点和作为参数提供的要素集之间的最小笛卡尔(欧几里得)距离。由于您的 map 是在长/纬度坐标中,因此您获得的距离以“度”为单位,例如
d = sqrt { (long1 - long2)2 + (lat1 - lat2)2 }
+proj=lcc +lat_1=40 +lat_0=40 +lon_0=0 +k_0=0.9988085293 +x_0=600000 +y_0=600000 +a=6378298.3 +b=6356657.142669561 +pm=madrid +units=m +no_defs
+units=m
(米)。因此,我们需要将点(MAD)和边界重新投影到EPSG-2062。
library(rgeos)
library(maptools)
epsg.2062 <- "+proj=lcc +lat_1=40 +lat_0=40 +lon_0=0 +k_0=0.9988085293 +x_0=600000 +y_0=600000 +a=6378298.3 +b=6356657.142669561 +pm=madrid +units=m +no_defs"
wgs.84 <- "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0"
coast <- readShapeLines("ne_10m_coastline",CRS(wgs.84))
MAD <- readWKT("POINT(-3.716667 40.383333)",p4s=CRS(wgs.84))
gDistance(MAD,coast) # WGS-84 (long/lat) projection, units in "degrees"
# [1] 3.021808
coast.proj <- spTransform(coast,CRS(epsg.2062))
MAD.proj <- spTransform(MAD,CRS(epsg.2062))
gDistance(MAD.proj,coast.proj) #EPSG-2062 projection, units are in meters.
# [1] 305171.2
关于r - 计算点与海岸之间的最小距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21295302/
我是一名优秀的程序员,十分优秀!