#1 Fri 12 July 2024 09:40
- pyjoubert
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Mar 2006
- Messages: 343
QGIS/Python: Recuperer le Z d un point XY en Python
Bonjour,
Je vais essayer d'être clair dans la description de mon besoin ;-)
Je dispose d'un fichier TIF dans lequel chaque pixel contient l'altitude. (voir capture faite dans FME inspector).
Je voudrais qu'en PYQGIS (donc en python) faire une fonction qui passerait en argument les coordonnée XY d'un point, (ou le pont même) et qui retournerait le Z de ce point
du style
Code:
def WBO_DonnerAltitudePoint(X,Y): ... ... return (Z)
Avez-vous une idée de comment faire ?
Merci et bonne journée
PYJ
Hors ligne
#2 Fri 12 July 2024 15:39
Re: QGIS/Python: Recuperer le Z d un point XY en Python
Bonjour,
Des pistes ici : https://gis.stackexchange.com/questions … ouse-click
Bon aprèm.
Hors ligne
#3 Fri 12 July 2024 17:13
- pyjoubert
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Mar 2006
- Messages: 343
Re: QGIS/Python: Recuperer le Z d un point XY en Python
Nickel avec les 2 lignes suivantes
Code:
... provider = raster.dataProvider() value = provider.identify(QgsPointXY(x, y),QgsRaster.IdentifyFormatValue).results()[1] return(value)
Merci
PYJ
Hors ligne
#4 Mon 15 July 2024 07:23
- pyjoubert
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Mar 2006
- Messages: 343
Re: QGIS/Python: Recuperer le Z d un point XY en Python
Bonjour,
Question subsidiaire, est-ce qu'il a un moyen que cette couche TIF servant de MNT, soit chargée, utilisable mais non visible dans la carte et dans la liste des couches ?
Bref, comme une couche technique !
Merci et bonne journée
PYJ
Hors ligne
#5 Mon 15 July 2024 09:27
- YoLecomte
- Participant assidu
- Lieu: Epinal
- Date d'inscription: 7 Jul 2015
- Messages: 260
Re: QGIS/Python: Recuperer le Z d un point XY en Python
Bonjour,
Il vous suffit d'instancier un QgsRasterLayer dans votre plugin/script. rien ne vous oblige à l'ajouter au canvas.
Code:
raster = QgsRasterLayer('path/to/your/layer.tif', 'mnt') provider = raster.dataProvider() value = provider.identify(QgsPointXY(x, y),QgsRaster.IdentifyFormatValue).results()[1] return(value)
Hors ligne
#6 Mon 15 July 2024 09:38
- pyjoubert
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Mar 2006
- Messages: 343
Re: QGIS/Python: Recuperer le Z d un point XY en Python
Ça marche,
Merci
Hors ligne