Spa*_*man 13
或者,您可以使用从地理名称中查找的包,并从srtm3数字高程模型中获取值:
> require(geonames)
> GNsrtm3(54.481084,-3.220625)
srtm3 lng lat
1 797 -3.220625 54.48108
Run Code Online (Sandbox Code Playgroud)
或者gtopo30型号:
> GNgtopo30(54.481084,-3.220625)
gtopo30 lng lat
1 520 -3.220625 54.48108
Run Code Online (Sandbox Code Playgroud)
geonames在CRAN上,所以install.packages("geonames")将获得它.
这两个模型之间的区别是因为它们只是基于卫星数据的近似值.不要期望从这里找到山脉.
Ric*_*ton 11
更新:Earthtools不再存在,所以这个答案已经过时了.我推荐@ Spacedman的回答.
正如DWin所说,这有两个部分:用Web服务找到一个好的数据源,然后在R中解析它.这个答案使用了earthtools.org 服务.
library(RCurl)
library(XML)
latitude <- 52.4822
longitude <- -1.8946
url <- paste(
"http://www.earthtools.org/height",
latitude,
longitude,
sep = "/"
)
page <- getURL(url)
ans <- xmlTreeParse(page, useInternalNodes = TRUE)
heightNode <- xpathApply(ans, "//meters")[[1]]
(height <- as.numeric(xmlValue(heightNode)))
Run Code Online (Sandbox Code Playgroud)
有 R 包(例如 RCurl)允许 Web 查询。还有网络资源,进一步的细节将需要......好吧,......更多细节。
http://gisdata.usgs.net/xmlwebservices2/elevation_service.asmx?op=getElevation
| 归档时间: |
|
| 查看次数: |
6434 次 |
| 最近记录: |