Cet article vous présente des problèmes connexes sur la façon d'utiliser 10 lignes de code pour lire les informations d'altitude dans DEM en utilisant les coordonnées des points de latitude et de longitude. L'idée principale est d'utiliser GDAL pour lire les données DEM, obtenir la première bande et la lire comme. tableau, puis calculez les numéros de ligne et de colonne en utilisant la longitude et la latitude, et utilisez les numéros de ligne et de colonne pour lire les informations d'altitude. J'espère que cela sera utile à tout le monde.
Apprentissage recommandé : Tutoriel vidéo mysql
Conditions d'implémentation : 1. La bibliothèque nécessaire est GDAL 2. DEMdonnées
ds.GetRasterBand(1)和band.ReadAsArray();
(2) Calculez le numéro de ligne et de colonne en fonction de la longitude et de la latitude
(3) Vous pouvez lire directement ; les informations d'élévation en fonction du numéro de ligne et de colonne.
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. Résultat
4.Vérification Arcgis
Entrez les coordonnées de latitude et de longitude pour localiser le point :
Ajoutez le point à la carte
Utilisez Identité pour afficher les attributs du point :
Les résultats sont cohérents.
Apprentissage recommandé :
Tutoriel vidéo mysqlCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!