이 기사에서는 위도 및 경도 점 좌표를 사용하여 DEM에서 고도 정보를 읽는 데 10줄의 코드를 사용하는 방법에 대한 관련 문제를 소개합니다. 주요 아이디어는 GDAL을 사용하여 DEM 데이터를 읽고 첫 번째 밴드를 얻은 후 다음과 같이 읽는 것입니다. 배열한 다음 경도와 위도를 사용하여 행과 열 번호를 계산하고, 행과 열 번호를 사용하여 고도 정보를 읽는 것이 모든 분들께 도움이 되기를 바랍니다.
추천 학습: mysql 비디오 튜토리얼
구현 조건: 1. 필요한 라이브러리는 GDAL입니다. DEMdata; 받는 사람 DEM 데이터를 가져와서 먼저 첫 번째 밴드를 가져와 배열로 읽습니다. 사용된 함수는 다음과 같습니다.
ds.GetRasterBand(1)和band.ReadAsArray();(2) 경도와 위도에 따라 행과 열 번호를 계산합니다. (3) 직접 읽을 수 있습니다. 행과 열 번호에 따른 고도 정보. 2.코드코드와 설명은 다음과 같습니다.
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.결과932, 즉 표고는 932m입니다4.Arcgis 검증Go To XY 도구를 사용하세요. 도구 모음의 맨 오른쪽
포인트를 찾으려면 위도와 경도 좌표를 입력하세요.
지도에 포인트를 추가하세요.
ID를 사용하여 포인트 속성을 확인하세요.
결과는 일관됩니다.
추천 학습: mysql 비디오 튜토리얼
위 내용은 Python은 위도 및 경도 포인트 좌표를 사용하여 DEM에서 고도 정보 읽기를 구현합니다(자세한 예).의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!