Extraction des caractéristiques de la couverture terrestre à partir de l'imagerie satellite

14

Je suis intéressé par une solution open source à faible coût pour créer des couches SIG de couverture terrestre qui utilisent à la fois des algorithmes d'extraction spectrale et texturale. J'ai utilisé PCI Geomatica, ENVI et Feature Analyst VLS dans le passé; cependant ces solutions dépassent un peu ma gamme de prix, des recommandations de logiciels?

oeuvre21
la source

Réponses:

8

Si je vous comprends bien, vous recherchez une procédure de classement supervisé. Quelques informations théoriques: http://rst.gsfc.nasa.gov/Sect1/Sect1_17.html

Ceci est certainement possible grâce à l'herbe: http://grass.osgeo.org/wiki/Image_classification#Supervised_classification_2

Comme alternative, vous pouvez également regarder la saga (je ne dis pas que c'est mieux, je la connais mieux moi-même), qui joue également bien avec qgis et R. Il y a des vidéos qui le montrent sur ce site: http: // www.uni-koblenz-landau.de/landau/fb7/umweltwissenschaften/landscape-ecology/Teaching/geostat (téléchargez les fichiers de données pour obtenir les présentations).

Dans tous les programmes SIG, vous allez définir un certain nombre de points de référence ou de polygones dans un type de terrain, qui seront ensuite extrapolés au reste de la zone. Voici un exemple de classification d'utilisation des terres:

entrez la description de l'image ici

Et en fait, si vous avez dessiné vos polygones d'entraînement dans n'importe quel programme SIG, vous pouvez utiliser R pour prédire. Faites une superposition avec vos grilles, puis utilisez n'importe quel système de prédiction que vous aimez (par exemple rpart si vous voulez des arbres de classification). Plus d'informations dans ce livre autour de la page 222: http://www.lulu.com/product/file-download/a-practical-guide-to-geostatistical-mapping/14938111

Il y a beaucoup plus à dire, vos ensembles d'entraînement devraient être représentatifs de votre zone d'étude (il serait peut-être même préférable de générer des points aléatoires dans R et de les classer). Vous devez également choisir soigneusement vos jeux de données auxiliaires et vous pouvez en générer de nouveaux si, par exemple, la texture est une propriété importante.

-

Si tout ce que vous voulez faire est d'extraire des régions ou des entités (sans les classer), un algorithme de segmentation est probablement ce que vous voulez. Un exemple (implémenté dans SAGA GIS) est discuté dans cet article: http://mirror.transact.net.au/pub/sourceforge/s/project/sa/saga-gis/SAGA%20-%20Documentation/GGA115/gga115_03 .pdf

johanvdw
la source
Merci beaucoup pour votre réponse. Il semble que vous sachiez exactement comment on peut atteindre mes objectifs. Ce que j'apprécierais vraiment, c'est de clarifier un peu plus votre réponse. Je m'intéresse spécifiquement aux étapes impliquées afin de pouvoir enseigner au programme quelles fonctionnalités sont correctes et lesquelles sont incorrectes jusqu'à ce que toutes (ou la plupart) des fonctionnalités correctes soient extraites.
NetConstructor.com
Fournissez plus d'informations (dans votre question, pas dans les commentaires) quelles sont exactement les fonctionnalités que vous souhaitez extraire. En dehors de cela: s'il y a un chevauchement dans le signal (voir lien nasa) de différents types d'utilisation des terres (ou quoi que vous cartographiez), la classification automatisée ne fonctionnera pas bien.
johanvdw
3

Vous pourriez le faire avec GRASS.

Vous allez d'abord travailler avec des données raster:

  • Je vais vous signaler ce tutoriel . Voir la partie raster.
  • Vous utiliserez r.mapcalc et r.reclass pour extraire les fonctionnalités souhaitées.
  • r.to.vect vous permettra de vectoriser vos données.

Enfin, vous manipulerez des données vectorielles . v.db.select et v.class vous aideront.

simo
la source
1
Cette approche utilise un seul raster, ce qui est généralement insuffisant.
johanvdw
Il parle d'une région (une image ou plusieurs). Quoi qu'il en soit, les images peuvent être fusionnées.
simo