生成高程Profi

2024-04-25 23:45:13 发布

您现在位置:Python中文网/ 问答频道 /正文

接近

我有一个点数组[[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\U波段是光栅波段 px是x\u偏移量 py是y\u偏移量

问题

小型DSM文件(~80 MB)与大型DSM文件(~5 GB)

从小型DSM文件中获取高度信息相当快。然而,从大型DSM文件中获取高度信息需要较长的时间。 对于大致相同数量的点(33370),在小型DSM文件中需要1.983694553秒。但在大型DSM文件中,需要9.140556812秒。你知道吗

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

问题

有没有比我现在做的更好的方法来获取多个点的高程?有没有办法优化ReadAsArray?你知道吗

Python/GDAL新手。谢谢您!你知道吗


Tags: 文件py信息高度波段时间ds数组