我正在尝试使用开放数据(避免像谷歌这样的许可限制)计算远足路线的海拔数据。
我能够使用 readGDAL(来自 RGDAL 包)读取我国的公共 DEM(分辨率为 10 米),并且 proj4string(mygrid) 给了我:
"+proj=utm +zone=32 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0"
.asc 文件的开头是:
ncols 9000
nrows 8884
xllcorner 323256,181155
yllcorner 4879269,74709
cellsize 10
NODATA_value -9999
978 998 1005 1008 1012 1016 1020 1025 .....
.....
..... 400 Megabytes of elevation values ....
.....
我需要做的就是从这个网格中获取路线特定节点的高程数据,以便能够计算高程增益、负斜率、最小/最大高度......
我使用漂亮的包 OSMAR 从 OpenStreetMap 带来路线数据,所以我的路线的数据表是这样的:
RouteId NodeId lat lon
1 -13828 -8754 45.36743 7.753664
2 -13828 -8756 45.36762 7.753878
3 -13828 -8758 45.36782 7.754344
4 -13828 -8760 45.36794 7.754541
....
但我不知道如何在 DEM 坐标参考系中转换纬度/经度坐标,然后如何带来相应的网格值(对最近点进行某种平均?)
我在谷歌上搜索到的所有文档都是为了渲染网格图,而不是从中提取值。
任何帮助将不胜感激!
干杯,MB
PS第二个问题应该是:“有几个网格图块,如果一条路线跨越两个或多个图块我该怎么办?合并它们,引用两者......”