In diesem Artikel erfahren Sie, wie Sie mithilfe von 10 Codezeilen die Höheninformationen in DEM mithilfe von Breiten- und Längengradkoordinaten lesen. Die Hauptidee besteht darin, GDAL zum Lesen von DEM-Daten zu verwenden, das erste Band zu erhalten und es als zu lesen Array, berechnen Sie dann die Zeilen- und Spaltennummern anhand des Längen- und Breitengrads und verwenden Sie die Zeilen- und Spaltennummern, um die Höheninformationen zu lesen. Ich hoffe, dass dies für alle hilfreich ist.
Empfohlenes Lernen: MySQL-Video-Tutorial
Implementierungsbedingungen: 1. Die benötigte Bibliothek ist GDAL; 2. DEMdata;
ds.GetRasterBand(1)和band.ReadAsArray();
(2) Berechnen Sie die Zeilen- und Spaltennummer entsprechend dem Längen- und Breitengrad.
Sie können direkt lesen die Höheninformationen entsprechend der Zeilen- und Spaltennummer.
2. Code
from osgeo import gdal gdal.UseExceptions() #以湖北DEM数据为例 ds = gdal.Open('./data/hubei_wgs84.tif') band = ds.GetRasterBand(1) elevation = band.ReadAsArray() nrows, ncols = elevation.shape x0, dx, dxdy, y0, dydx, dy = ds.GetGeoTransform() #指定经纬度点坐标 latitude,longitude=31.15,111.24 #根据经纬度计算行列号,dx=dy为分辨率,不相等的时候(y0-latitude)/dx改为(y0-latitude)/-dy new_ncols,new_nrows=int((y0-latitude)/dx),int((longitude-x0)/dx) #根据行列号读取并打印输出指定坐标点高程 print(elevation[new_ncols][new_nrows])
3. Ergebnis
Verwenden Sie Identität, um die Punktattribute anzuzeigen:
Die Ergebnisse sind konsistent. Empfohlenes Lernen:MySQL-Video-Tutorial
Das obige ist der detaillierte Inhalt vonPython implementiert das Lesen von Höheninformationen in DEM mithilfe von Breiten- und Längengrad-Punktkoordinaten (detailliertes Beispiel).. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!