上次记录了使用 ArcGIS 处理 DEM 栅格(TIF 格式)并导入数据库的方法和步骤。我又遇到新的问题了,虽然说课题组做的建筑节能气象参数的数据成果都是 1km(0.083°) 经度的,但是不同人做的栅格 TIF 像元大小还是有差异的;而且使用的坐标也有差异。如下表:
名称 | 像元大小(X, Y) | 地理坐标 |
---|---|---|
气象 DEM | 975.3953276, 975.3953276 | WGS_1984_UTM_Zone_48N |
LUCC DEM | 1000, 1000 | Albers_Conic_Equal_Area |
坡度坡向 DEM | 8.06202500512313E-03, 8.06202500512313E-03 | Abidjan_1987_To_WGS_1984 |
地形 DEM | 0.008062025, 0.008062025 | WGS_1984 |
以上像元大小经度的差异、地理坐标的差异,都导致了栅格转点的经纬度有差异;分辨率的不同,也导致了最后导出的数据条目也不同,这就造成了非常大的数据处理困难,甚至会导致合并错误 ERROR 010328,这是栅格属性一致性导致的错误。
1. 使用投影栅格工具一致地理坐标
我们现在 ArcGIS 里导入 .tif 文件,然后选择一个作为坐标基底(我一般就选地形 DEM),其他的 .tif 全部就像你的坐标基底进行匹配转换。
在 ArcGIS 中打开 ArcToolbox > 数据管理工具 > 投影与变换 > 栅格 > 投影栅格。选择其他的 .tif 文件,并依次进行坐标变换,我这里都统一为 WGS 1984。
2. 使用重采样工具一致像元大小
接下来再次进行操作,打开 ArcToolbox > 数据管理工具 > 栅格 > 栅格处理 > 重采样。输出像元大小选择与地形 DEM 相同。
操作完成后,同样的每个 .tif 文件都会生成一份新的。
3. 栅格叠加
接下来,进行栅格叠加,在叠加之前把需要的 .tif 文件全部移除掉。在 ArcToolbox > Spatial Analyst 工具 > 局部分析 > 合并(ArcToolbox > Spatial Analyst Tools > Local > Combine)中导入全部的 .tif 进行合并,合并后就会得到 Combine_tif。
接下来就是栅格转点(Raster to Point)、生成经纬度,最后导出成文本模式供 Python 处理入库。接下来的步骤可以接着先前的这篇内容。
需要注意的是,这个过程将会非常缓慢,你不仅可以喝杯咖啡,甚至还可以出门旅个游(开玩笑)。总是速度是非常慢的,听说换成 64 位的 ArcGIS Pro 会有 10 倍以上的速度提升(而且其使用的是 Python 3,不像 ArcGIS 使用的是 Pyhton 2.7),但是我没有授权许可,你们需要提速的话可以试试。(论坛上也有人遇到了同样的问题:https://zhihu.geoscene.cn/question/38674)