#1 Thu 19 April 2012 09:33
- jonathan
- Participant assidu
- Date d'inscription: 16 May 2006
- Messages: 263
GRASS - problèmes liés à la résolution
Bonjour,
Je souhaite exécuter la commande de ligne de vue de grass. J'utilise un masque contenant environ 60000 lignes et colonnes.
Code:
r.los --overwrite --verbose input=mnt1_bati1@PERMANENT output=vue_7km_A_mnt_bati coordinate=x,y obs_elev=1 max_dist=7000
J'obtiens ce message d'erreur :
Code:
ERROR: G_malloc: unable to allocate 225089280 bytes at setup.c:64
Le problème est que cela correspond à un peu plus de 200MO or je dispose de 4GO de RAM. Il doit y avoir un truc (?)
Ce problème m'amène à la question des limites que rencontre Grass et comment s'en affranchir (une région limitée à 10000 lignes et colonnes me parait limitée). J'ai par exemple alloué beaucoup de swap sur un de mes disques or cela ne résout pas ce genre de problème (je suis sous windows).
Quelles solutions avez-vous mis en place pour pallier ces difficultés ?
Merci.
Hors ligne
#2 Thu 19 April 2012 10:55
- Sylvain_M
- Membre
- Lieu: Lyon
- Date d'inscription: 3 Aug 2009
- Messages: 298
Re: GRASS - problèmes liés à la résolution
Salut,
ce genre de message dit qu'il manque 200Mo de mémoire, pas qu'il n'y a besoin que de 200Mo au total !
si on fait un calcul rapide de ta zone de masque en partant sur le principe qu'il n'y a qu'une carte 8 bit à charger, ça donne 60 000 x 60 000 x 8 / (1024 ^ 3) = 26,822 Go => la quantité de mémoire nécessaire pour charger entièrement les données dépense un peu des 4Go de ram
dans la doc (http://grass.osgeo.org/grass64/manuals/ … r.los.html) on trouve l'info suivante: "Try to keep the columns and rows under 1000." => 60 000 ça doit donner un temps de calcul bien long ! il serait sans doute pas mal de faire un premier calcul pour dégrossir les zones à étudier plus précisément ...
Hors ligne
#3 Thu 19 April 2012 17:11
- jonathan
- Participant assidu
- Date d'inscription: 16 May 2006
- Messages: 263
Re: GRASS - problèmes liés à la résolution
Merci pour la réponse.
Lors des traitements on peut facilement dépasser sa capacité mémoire. Il faudrait que je teste sous linux si on peut résoudre ce problème avec la swap (sans aller dans l'extrême comme ma zone de 14km avec un pas de 50cm )
Dernière modification par jonathan (Thu 19 April 2012 17:12)
Hors ligne
#4 Thu 19 April 2012 22:12
- diophamidou
- Participant assidu
- Date d'inscription: 18 Jan 2006
- Messages: 243
Re: GRASS - problèmes liés à la résolution
Bonsoir, j'ai eu le même problème pour vectoriser un raster issu d'un un mnt dont la maille est de 1m. Quand je baisse ma résolution qui était de 1m et je passe à 3m la vectorisation se fait. Ma question est la suivante : est ce que le fait d'avoir baisser la résolution n'altère pas le résultat obtenu?
Merci de votre aide
Hors ligne
#5 Fri 20 April 2012 10:13
- jonathan
- Participant assidu
- Date d'inscription: 16 May 2006
- Messages: 263
Re: GRASS - problèmes liés à la résolution
Bonjour,
Oui. Le résultat n'est valable que pour la résolution dans laquelle il a était produit. La résolution devant en plus correspondre à la donnée source.
C'est là qu'est le problème il me semble. Dans mon cas, si je "rasterise" une couche vectorielle de bâtiment avec un pas de 25 mètres qui correspond au pas du MNT, alors je dégrade fortement la donnée bâtiment.
La donnée vectorielle parait beaucoup plus souple mais tout le potentiel de grass disparait (?)
Hors ligne
#6 Fri 20 April 2012 15:42
- Sylvain_M
- Membre
- Lieu: Lyon
- Date d'inscription: 3 Aug 2009
- Messages: 298
Re: GRASS - problèmes liés à la résolution
tout dépend de l'utilisation qui doit en être fait : il peut être plus intéressant d'avoir une couche de bâtiment précise sur un MNT moins précis. de toute manière en zone habitée les pentes sont rarement très importantes, donc la différence d'un pixel MNT à un autre est beaucoup moins problématique que le passage d'un pixel de bâtiment à un autre !
Hors ligne
#7 Fri 20 April 2012 20:13
Re: GRASS - problèmes liés à la résolution
Bonjour,
Si, tu diminues ta résolution. Désolé mais cela me paraît évident
Par contre ce qui l'est moins dans GRASS c'est la possibilité de travailler
par zone, en fait on dira par région. Tu définies une première région en
haut à gauche, tu réalises ton traitement, tu la décales vers la droite, tu
fais ton traitement.
À la fin tu fusionnes.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#8 Sat 21 April 2012 17:26
- diophamidou
- Participant assidu
- Date d'inscription: 18 Jan 2006
- Messages: 243
Re: GRASS - problèmes liés à la résolution
Merci Yves cela a répondu parfaitement à mon besoin. J'ai partitionné la région en 2. j'ai vectorisé les deux zones avec la résolution d'origine du mnt puis avec la fonction v.patch j'ai fusionné mes deux couches vecteurs.
Hors ligne