Suite

Comment obtenir les valeurs de pixel de pixels individuels relevant d'une table attributaire de polygone à shapefile ou CSV?

Comment obtenir les valeurs de pixel de pixels individuels relevant d'une table attributaire de polygone à shapefile ou CSV?


Je veux pouvoir écrire les valeurs de pixel de chaque pixel tombant sous un polygone sur une table attributaire de polygones ou un fichier CSV. J'ai environ 1200 polygones et un fichier GeoTiff géoréférencé avec des valeurs NDVI. Bien que je comprenne qu'il existe de nombreux outils disponibles pour calculer les statistiques zonales et que j'ai essayé les statistiques zonales, le plugin LecoS et rasterstats (tous QGIS), ils ne fournissent tous que des statistiques récapitulatives (moyenne, médiane, min, max, etc.) mais pas de pixel individuel valeurs. Donc à peu près ne sont d'aucune utilité ici. J'ai également jeté un œil au code source de rasterstats, mais je n'ai pas trouvé de moyen rapide de modifier les paramètres de sortie zonaux en fonction de mes besoins. Je me demande donc s'il existe une solution basée sur GDAL, QGIS, python?

TL; DR : Je voudrais écrire les valeurs de pixels de tous les pixels tombant sous un polygone sur un CSV ou une table attributaire de fichier de formes (1200 polygones).


Si vous souhaitez obtenir toutes les valeurs de pixels en tant que valeur par ligne, il existe un moyen de le faire facilement, mais cela peut être assez exigeant en mémoire / temps de traitement des données si vous disposez d'un énorme ensemble de données de grille.

Le moyen est de convertir le raster en points, puis sélectionner les points par polygones.

  1. Enregistrer le raster sous format xyz et charger comme valeurs de texte délimitées sous forme de points (peut également être converti de raster en points via boîte à outils de traitement - Grass / r.to.vect)
  2. utilisation Vector / Outils de gestion des données / Attributs de jointure par emplacement pour affecter la valeur d'ID de polygone dans la table de points
  3. supprimez les points avec une colonne d'ID de polygone vide (Null) et enregistrez la couche de points au format CSV ou sélectionnez tout dans le tableau des points et collez-le dans votre éditeur de feuille de calcul préféré

Voir la vidéo: Lapin crétin pixels arts