ASTGTM2高程数据、GDAL仿射六系数的问题理解——基于Unity3d实现

1、dem高程数据获取
地理空间数据云网站获取ASTGTM2_S01E110数据段数据;
数字高程模型一般都是投影坐标系,具体投影坐标系统可以查看CRS(coordinates reference system)。
ASTGTM2高程数据、GDAL仿射六系数的问题理解——基于Unity3d实现_第1张图片
2、unity3d运行,你可以得到仿射变换六系数及在projNet.dll这个API帮助下的地心坐标系,下图:
ASTGTM2高程数据、GDAL仿射六系数的问题理解——基于Unity3d实现_第2张图片
显示仿射变换系数:109.999861111111,0.000277777777777778,0,0.000138888888888889,0,-0.000277777777777778
3、问题
(1)为什么仿射变换将栅格数据(平面的)变成地理(大地/经纬度)坐标系?
由文库上的GDAL学习笔记
在这里插入图片描述
由上我们知道栅格数据(平面的)经仿射变换变成了实际位置坐标,也就是地理(大地/经纬度)系,但是转换后单位不一定是度。
但根据博文 https://www.cnblogs.com/liuyunfeifei/articles/3519045.html
在这里插入图片描述
再加上我们获取的ASTGTM2高程数据是wgs84椭球体(下载附带的readme文档),所以我们转换后坐标系是wgs84经纬度坐标系,单位是度。
在这里插入图片描述
(2)为什么仿射系数是109.999861111111,0.000277777777777778,0,0.000138888888888889,0,-0.000277777777777778,这个与S01E110高程数据的关系?
高程数据段S01E110表示南纬1度,东经110度,它的像素是3601*3601个,1度X1度的矩形框,黑框显示:
ASTGTM2高程数据、GDAL仿射六系数的问题理解——基于Unity3d实现_第3张图片
红点处就是ASTGTM2_S01E110数据段命名出处,S01E110是以southwest西南像素点作为命名规则。这个可以从readme获得论证。ASTGTM2高程数据、GDAL仿射六系数的问题理解——基于Unity3d实现_第4张图片
六系数理解:
ASTGTM2高程数据、GDAL仿射六系数的问题理解——基于Unity3d实现_第5张图片

系数中GT(0)=109.999861111111,GT(3)=0.000138888888888889表示northwest西北点坐标。
GT(1)=0.000277777777777777表示西东向像素分辨率
GT(5)=-0.000277777777777777表示南北向像素分辨率
且经纬度坐标轴经度是西到东增长,纬度是北到南减少,赤道为0,北纬为正,南纬为负。而经纬度系的原点又在1度X1度区块的西北点,所以GT(1)为正,GT(5)为负。
分辨率计算:
1度的地图分成3600个像素,精度1’’,地理对应约30m,所以这个图叫30M 分辨率数字高程数据。
1/3600’’=0.000277777777777777
30m*3600=108公里,经纬度跨1度约110km。

你可能感兴趣的:(unity3d游戏开发)