Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#1 Fri 12 July 2024 09:40

pyjoubert
Participant assidu
Lieu: Lyon
Date d'inscription: 21 Mar 2006
Messages: 338

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


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#2 Fri 12 July 2024 15:39

Sylther
Participant assidu
Lieu: Mtp
Date d'inscription: 17 May 2016
Messages: 159

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: 338

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 Hier 07:23

pyjoubert
Participant assidu
Lieu: Lyon
Date d'inscription: 21 Mar 2006
Messages: 338

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 Hier 09:27

YoLecomte
Participant assidu
Lieu: Epinal
Date d'inscription: 7 Jul 2015
Messages: 249

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 Hier 09:38

pyjoubert
Participant assidu
Lieu: Lyon
Date d'inscription: 21 Mar 2006
Messages: 338

Re: QGIS/Python: Recuperer le Z d un point XY en Python

Ça marche,
Merci

Hors ligne

 

Pied de page des forums

Powered by FluxBB