Python 生成高程剖面 方法
我有一个点数组[[lon1,lat1],[lon2,lat2],…,[lonN,latN]]。我在点之间循环并在每个点上生成高程,如下所示:Python 生成高程剖面 方法,python,profile,gdal,elevation,Python,Profile,Gdal,Elevation,我有一个点数组[[lon1,lat1],[lon2,lat2],…,[lonN,latN]]。我在点之间循环并在每个点上生成高程,如下所示: for point in points: ... alt = ds_band.ReadAsArray(px, py, 1, 1) # push the alt to an array 在哪里,, ds_波段是光栅波段 px是x_偏移量 py是y_偏移量 问题 小型DSM文件(~80MB)与大型DSM文件(~5GB) 从小型DSM文
for point in points:
...
alt = ds_band.ReadAsArray(px, py, 1, 1)
# push the alt to an array
在哪里,,
ds_波段是光栅波段
px是x_偏移量
py是y_偏移量
问题
小型DSM文件(~80MB)与大型DSM文件(~5GB)
从小型DSM文件中获取高度信息相当快。然而,从大型DSM文件中获取高度信息需要更长的时间。
对于大致相同数量的点(33370),在小型DSM文件中需要1.983694553秒。但在大型DSM文件中,需要9.140556812秒
该时间仅用于获取高程。它不包括其他操作,如打开DSM文件
问题:
有没有比我现在做的更好的方法来获取多个点的高程?有没有办法优化ReadAsArray
附言:Python/GDAL的新功能。谢谢大家! 我不介意等10秒钟,让它加载。但也许你可以将其矢量化。@FChm我也不介意,但客户会:D.矢量化是指对光栅文件进行矢量化?你能详细说明一下吗?抱歉,新来的。仍然在学习9.34秒包括打开文件,还是仅仅获取高程?根据解决方案可能没有优化ReadAsArray.Hi@lusitanica,9.34秒包括打开文件的时间和生成点数的时间。但这些时间非常小,如果我们只计算获取高程的时间,那么它大约是9.14秒。道歉。我应该在问题中说明这一点。将更新问题。