Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 生成高程剖面 方法_Python_Profile_Gdal_Elevation - Fatal编程技术网

Python 生成高程剖面 方法

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文

我有一个点数组[[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文件中获取高度信息相当快。然而,从大型DSM文件中获取高度信息需要更长的时间。 对于大致相同数量的点(33370),在小型DSM文件中需要1.983694553秒。但在大型DSM文件中,需要9.140556812秒

该时间仅用于获取高程。它不包括其他操作,如打开DSM文件

问题: 有没有比我现在做的更好的方法来获取多个点的高程?有没有办法优化ReadAsArray


附言:Python/GDAL的新功能。谢谢大家!

我不介意等10秒钟,让它加载。但也许你可以将其矢量化。@FChm我也不介意,但客户会:D.矢量化是指对光栅文件进行矢量化?你能详细说明一下吗?抱歉,新来的。仍然在学习9.34秒包括打开文件,还是仅仅获取高程?根据解决方案可能没有优化ReadAsArray.Hi@lusitanica,9.34秒包括打开文件的时间和生成点数的时间。但这些时间非常小,如果我们只计算获取高程的时间,那么它大约是9.14秒。道歉。我应该在问题中说明这一点。将更新问题。