Comment extraire des valeurs d'un raster par points?
Je préfère ne pas à Arcgis.
Je préfère dans Qgis ou Mapwindow ou d'autres SIG open source.
raster
point
open-source-gis
Vassilis
la source
la source
Réponses:
QGIS "Point Sampling Tool" devrait être le plugin que vous recherchez.
Voici une description détaillée de son utilisation: http://pvanb.wordpress.com/2010/02/15/sampling-raster-values-at-point-locations-in-qgis/
Mise à jour basée sur le commentaire de Paolo:
le plugin n'est plus la seule solution, et n'est plus toujours la solution la plus simple. Une solution alternative est la fonction Saga «Ajouter des valeurs raster au point» dans la boîte à outils de traitement. Voir pour plus de détails http://pvanb.wordpress.com/2014/07/01/sampling-raster-values-at-point-locations-in-qgis-an-update/
la source
Dans PostGIS 2.0, vous pouvez faire:
Assurez-vous que votre raster est très petit en mosaïque lorsque vous le chargez (-t 10x10 avec le chargeur).
la source
J'avais des problèmes avec les outils QGIS et SAGA GUI mentionnés dans ce fil (
Raster values to points
échouait pour une raison quelconque et lançait des erreurs inutiles et GRASS av.sample
créé une toute nouvelle couche qui n'était pas utile). Après avoir échoué avec les outils de l'interface graphique pendant un certain temps, j'ai essayé de le faire dans la calculatrice de champ. Cela a très bien fonctionné et j'ai pu contrôler le processus un peu mieux que les interfaces graphiques ne le permettent, et faire d'autres calculs en cours de route.Supposons que vous ayez un calque nommé
pts
et un autre nommérast
, tous deux dans le même système de coordonnées. Vous souhaitez échantillonnerrast
à chaque paire X, Y représentée danspts
.Si vous n'avez jamais utilisé la calculatrice de champ auparavant, c'est assez simple. Vous entrerez votre calcul dans la case "Expression", et Q vous donnera un certain nombre de variables et d'opérations dans la colonne du milieu, avec le texte d'aide dans la colonne de droite. Je vais diviser ce processus en quatre étapes:
Ouvrez la table des attributs de la
pts
couche avec laquelle vous souhaitez échantillonner.Une fois dans la boîte de dialogue Calculatrice de champ, choisissez si vous souhaitez créer un nouveau champ ou modifier un champ existant dans votre
pts
couche.Ensuite, créez une expression pour remplir le nouveau ou l'existant
pts
colonne d'attribut . Vous pourriez commencer par modifier le code d'expression qui a fonctionné pour moi:raster_value()
un nom de couche raster'rast'
, un numéro de bande1
et la géométrie du point àmake_point()
.$x
et$y
sont des variables de géométrie qui dépendent de l'emplacement du point dans chaque ligne de la table attributaire.Cette méthode permet également des opérations arithmétiques comme la soustraction de la valeur d'une autre couche raster appelée
other_rast
à partirrast
, ce qui m'a sauvé un tas de temps sur les outils de l' interface graphique. Exemple ci-dessous:Notez encore que les trois couches
pts
,rast
etother_rast
doit être dans le même système de coordonnées pour que cette méthode fonctionne.la source
Essayez d'utiliser QGIS 3.2.2 et SAGA (installés par défaut dans QGIS): la fonction "Valeurs raster en points" fera tout pour vous: elle prend un fichier image et le convertit en une forme point-vecteur en prenant les informations de l'image raster.
la source
Les outils GME de Hawthorne Beyer le font bien via la ligne de commande et permettent un batch facile avec des boucles 'for'.
isectpntrst(in="path/to/shapefile", raster="path/to/raster", field="fieldname")
Référence de la commande isectpntrst GME
la source
Dans GRASS GIS, vous pouvez soit interroger la carte dans l'interface graphique ou utiliser http://grass.osgeo.org/gdp/html_grass64/r.what.html
la source
http://gis-techniques.blogspot.com/2012/10/extract-raster-values-from-points.html a un guide étape par étape pour utiliser le package R Raster extraire des valeurs raster à partir de points.
la source
Vous pouvez l'utiliser: http://www.saga-gis.org/saga_module_doc/2.1.3/shapes_grid_3.html
C'est dans la boîte à outils SAGA de Qgis! Il fait tout en une seule étape :)
la source
Voici une fonction que j'ai écrite en utilisant python et gdal. La fonction prend une liste de rasters et une trame de données pandas contenant les coordonnées du point et renvoie une trame de données pandas avec les coordonnées du point, les centroïdes pour les cellules raster respectives et les valeurs de cellule respectives. La fonction fait partie du paquet chorospy en cours de développement (trouvé ici ).
Exemple de la façon de l'exécuter étant donné que les rasters se trouvent dans votre répertoire de travail actuel:
la source
Si vous avez accès à FME, vous pouvez utiliser l'un des deux transformateurs de FME Workbench.
Le RasterCellCoercer ( « Decomposes toutes les fonctions de trame numérique d'entrée en des points individuels ou des polygones. Une caractéristique de vecteur est sortie pour chaque cellule de la trame. »)
Le PointOnRasterValueExtractor ( « Prend en fonctions d'aiguillage et une seule trame de référence. La sortie se compose de la valeur de la bande et de la palette (s) à l'emplacement de chaque point ») .
la source
Pensée rapide:
la source