Suite

Afficher la ligne/colonne du point dans le raster à l'aide de QGIS ?


Est-il possible dans QGIS d'afficher l'index de colonne et de ligne de pixel en raster ?

Je veux dire quelque chose de similaire à l'outil de valeur.


Oui c'est possible. Vous devez calculer les coordonnées des pixels en termes de ligne et de colonne. Pour la programmation, il est nécessaire de connaître les coordonnées des points et ces informations raster : largeur, hauteur, unités raster par pixel x, unités raster par pixel y, étendue xmin et ymax. Le code extrait dans un plugin QGIS pour ce faire pourrait être :

… def display_point(self, point, button): # rapporte les coordonnées de la carte à partir d'un canevas click coords = "{}, {}".format(point.x(), point.y()) self.dlg.lineEdit.setText (str(coords)) self.dlg.show() layer = self.wcb.currentLayer() si layer n'est pas None : width = layer.width() height = layer.height() xsize = layer.rasterUnitsPerPixelX() ysize = layer.rasterUnitsPerPixelY() extend = layer.extent() ymax = extend.yMaximum() xmin = extend.xMinimum() #row dans les coordonnées des pixels row = int(((ymax - point.y()) / ysize) + 1) #ligne dans les coordonnées en pixels colonne = int(((point.x() - xmin) / xsize) + 1) si ligne <= 0 ou colonne <=0 ou ligne > hauteur ou colonne > largeur : ligne = "out de l'étendue" colonne = "hors étendue" else: row = "pas de raster" colonne = "pas de raster" self.dlg.lineEdit_2.setText(str(row)) self.dlg.lineEdit_3.setText(str(column)) …

Cela fonctionne bien comme vous pouvez le voir sur l'image suivante :

Si vous n'avez pas d'expérience dans la programmation de plugins, vous pouvez adapter le code ci-dessus pour fonctionner sur la console Python de QGIS.

Sans aucune programmation, vous pouvez essayer cette approche :

1) Obtenez l'étendue et la résolution raster à partir des propriétés de la couche.

2) Utilisez ces informations (xinit_r, yinit_r, cell_size) dans la table des attributs de la couche vectorielle de points (voir l'image ci-dessous). Les coordonnées x, y ont été obtenues avec les options de géométrie du calculateur de terrain.

Les valeurs de n_ligne et n_colonne ont également été obtenus en utilisant le calculateur de champ (voir les images suivantes pour les équations) :


Voir la vidéo: Qgis Tutorial 48: Buffer autour de lignes (Octobre 2021).