Suite

Comment obtenir une élévation à partir du format USGEO dted uniquement à l'aide des applications gdal

Comment obtenir une élévation à partir du format USGEO dted uniquement à l'aide des applications gdal


J'ai besoin d'obtenir la hauteur par position longue lat en utilisant les utilitaires gdal


En supposant que vous utilisiez python pour appeler la bibliothèque GDAL… tout d'abord, vous devez trouver quelle cellule (colonne et ligne) sur vos données raster contient ces coordonnées lat/long. Ensuite, regardez la valeur de cette cellule comme hauteur.

Ce sera plus facile si vous utilisez un tableau numpy pour représenter la valeur de hauteur du raster.

Vous pouvez écrire le code de ce python :

import os depuis osgeo import ogr, gdal depuis gdalconst import * import numpy as np # Input DEM filename = raw_input("Input DEM FILE : ") dem = gdal.Open( filename, GA_ReadOnly ) geotransform = dem.GetGeoTransform() DEM_Value = np .array(dem_surface.GetRasterBand(1).ReadAsArray(), dtype ="float") #Raster to Array # Déterminer le paramètre de base du raster Col = dem.RasterXSize Row = dem.RasterYSize Origin_X = geotransform[0] Origin_Y = geotransform[3 ] Cell_Size = geotransform[1] CRS = dem.GetProjection() # assurez-vous que CRS est sur le système de coordonnées géographiques car vous utilisez lat/long #Coordinate dans la ligne et la colonne X = input("Input longitude Coordinate :") Y = input ("Coordonnée de latitude d'entrée :") # Ceci est une formule pour définir la base de colonne et de ligne de la cellule sur X et Y # Essayez de l'esquisser pour que vous puissiez comprendre ou peut-être qu'il y a quelque chose qui ne va pas avec ma formule col_x = int(((X - Origin_X) /Cell_Size)+1) row_y = int(((Origin_Y - Y)/Cell_Size)+1) #Obtenir la valeur de la cellule en hauteur H = DEM_Value[row_y-1][col_x-1] # pourquoi il doit être réduit de 1 ? parce que l'index du tableau commence à partir de 0 print H

J'espère que cela vous sera utile…


Voir la vidéo: TA VIE EST EN RETARD PARCE QUE TU TARDES À OBÉIR À DIEU - PASTEUR MARCELLO TUNASI