Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 18 March 2015 17:14

MissT
Participant occasionnel
Lieu: Cayenne
Date d'inscription: 25 Sep 2014
Messages: 22

FwTools 2.4.7 - Assembler des fichiers .asc proprement

Bonjour à tous,

je débute sous FwTools et, même si on doit revenir à un environnement DOS, je dois admettre que c'est d'une puissance extrême!

J'ai des lots de dalles asc provenant de prétraitements de données Lidar et je voudrai les fusionner par secteur. Les dalles sont rassemblées dans des dossiers et j'arrive à la fusionner avec la ligne suivante:

Code:

gdalbuildvrt MNE_fleuveX.asc *.asc

En 2 secondes, c'est bouclé.

Mais quand je regarde le résultat en détail, ça ne me convient pas:
- les zones de saisie du Lidar présentent les bonnes valeurs
- les zones sans données des dalles ont pris la valeur 0 et
- celles hors de l'emprise des dalles prennent la valeur no data.
(cf PJ pour voir le résultat. C'est du RGFG95 UTM22N)

Comment faire pour que les no data restent en no data (et non en zéro)?

Question subsidiaire: comment se fait-il que le résultat de la fusion fasse 4Ko alors que la somme des dalles initiales fait 17.8Mo ????


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#2 Wed 18 March 2015 17:50

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: FwTools 2.4.7 - Assembler des fichiers .asc proprement

Le VRT est un fichier texte, normal qu'il doit tout petit smile C'est une sorte de "raccourci" vers les données sources.

Je pense que la réponse au problème du nodata est dans les paramètres de gdalbuildvrt :

gdalbuildvrt [-tileindex field_name]
             [-resolution {highest|lowest|average|user}]
             [-te xmin ymin xmax ymax] [-tr xres yres] [-tap]
             [-separate] [-b band] [-sd subdataset]
             [-allow_projection_difference] [-q]
             [-addalpha] [-hidenodata]
             [-srcnodata "value [value...]"] [-vrtnodata "value [value...]"]
             [-a_srs srs_def]
             [-input_file_list my_liste.txt] [-overwrite] output.vrt [gdalfile]*


-vrtnodata value [value...]:
(starting with GDAL 1.7.0) Set nodata values at the VRT band level (different values can be supplied for each band). If more than one value is supplied all values should be quoted to keep them together as a single operating system argument. If the option is not specified, intrinsic nodata settings on the first dataset will be used (if they exist). The value set by this option is written in the NoDataValue element of each VRTRasterBand element. Use a value of None to ignore intrinsic nodata settings on the source datasets.


donc j'en déduis que d'ajouter -vrtnodata None devrait faire l'affaire ?

EDIT : à vérifier, c'est peut être au niveau de -srcnodata aussi.

Dernière modification par Robin (Wed 18 March 2015 17:52)

Hors ligne

 

#3 Wed 18 March 2015 17:55

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: FwTools 2.4.7 - Assembler des fichiers .asc proprement

PS : le fichier joint à ton message n'est pas MNE_FleuveX.asc mais MNE_FleuveX.vrt. Attention, ce n'est pas le résultat final ! Pour finaliser et passer du VRT à un fichier en dur, il faut passer par gdal_translate.

Voilà le contenu :

Code:

<VRTDataset rasterXSize="1773" rasterYSize="2663">
  <GeoTransform> 3.5829353000000003e+005, 9.9806699752971439e-001, 0.0000000000000000e+000, 3.6226823978199076e+005, 0.0000000000000000e+000,-9.9806699752971439e-001</GeoTransform>
  <VRTRasterBand dataType="Float32" band="1">
    <NoDataValue>-9.99900000000000E+003</NoDataValue>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">MNE_OYAPOC_Sikini_0430.asc</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="844" RasterYSize="807" DataType="Float32" BlockXSize="844" BlockYSize="1"/>
      <SrcRect xOff="0" yOff="0" xSize="844" ySize="807"/>
      <DstRect xOff="0" yOff="0" xSize="845" ySize="808"/>
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">MNE_OYAPOC_Sikini_0431.asc</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="121" RasterYSize="150" DataType="Float32" BlockXSize="121" BlockYSize="1"/>
      <SrcRect xOff="0" yOff="0" xSize="121" ySize="150"/>
      <DstRect xOff="844" yOff="658" xSize="121" ySize="150"/>
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">MNE_OYAPOC_Sikini_0432.asc</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="569" RasterYSize="1002" DataType="Float32" BlockXSize="569" BlockYSize="1"/>
      <SrcRect xOff="0" yOff="0" xSize="569" ySize="1002"/>
      <DstRect xOff="276" yOff="806" xSize="570" ySize="1003"/>
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">MNE_OYAPOC_Sikini_0433.asc</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="455" RasterYSize="1003" DataType="Float32" BlockXSize="455" BlockYSize="1"/>
      <SrcRect xOff="0" yOff="0" xSize="455" ySize="1003"/>
      <DstRect xOff="844" yOff="806" xSize="455" ySize="1003"/>
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">MNE_OYAPOC_Sikini_0434.asc</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="112" RasterYSize="224" DataType="Float32" BlockXSize="112" BlockYSize="1"/>
      <SrcRect xOff="0" yOff="0" xSize="112" ySize="224"/>
      <DstRect xOff="734" yOff="1808" xSize="112" ySize="223"/>
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">MNE_OYAPOC_Sikini_0435.asc</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="927" RasterYSize="853" DataType="Float32" BlockXSize="927" BlockYSize="1"/>
      <SrcRect xOff="0" yOff="0" xSize="927" ySize="853"/>
      <DstRect xOff="844" yOff="1808" xSize="928" ySize="854"/>
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">MNE_OYAPOCK_Sikini.asc</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="1773" RasterYSize="2663" DataType="Float32" BlockXSize="128" BlockYSize="128"/>
      <SrcRect xOff="0" yOff="0" xSize="1773" ySize="2663"/>
      <DstRect xOff="0" yOff="0" xSize="1773" ySize="2663"/>
      <NODATA>-9999</NODATA>
    </ComplexSource>
    <SimpleSource>
      <SourceFilename relativeToVRT="1">MNE_OYAPOK_SIKINI_OEG_201312.asc</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="1770" RasterYSize="2659" DataType="Float32" BlockXSize="1770" BlockYSize="1"/>
      <SrcRect xOff="0" yOff="0" xSize="1770" ySize="2659"/>
      <DstRect xOff="0" yOff="0" xSize="1773" ySize="2663"/>
    </SimpleSource>
  </VRTRasterBand>
</VRTDataset>

Dernière modification par Robin (Wed 18 March 2015 17:58)

Hors ligne

 

#4 Wed 18 March 2015 18:19

MissT
Participant occasionnel
Lieu: Cayenne
Date d'inscription: 25 Sep 2014
Messages: 22

Re: FwTools 2.4.7 - Assembler des fichiers .asc proprement

Robin, encore des bonnes réponses lumineuses qui m'éblouissent la cervelle! Le fait que le fichier produit soit un txt raccourci vers les dalles initiales explique sa légèreté.
Je vais explorer le gdal_translate pour convertir en asc (puis en tif car il m'en faut une copie dans ce format).
Je te tiens au courant.

Hors ligne

 

#5 Thu 19 March 2015 18:39

MissT
Participant occasionnel
Lieu: Cayenne
Date d'inscription: 25 Sep 2014
Messages: 22

Re: FwTools 2.4.7 - Assembler des fichiers .asc proprement

Après pas mal d'essais, j'ai un peu avancé: j'ai désormais une valeur unique de zéro partout où ça devrait être nul.
Pour aboutir à mes geotiff et asc, j'ai utilisé les commandes suivantes:

Code:

gdalbuildvrt sortie.vrt *.asc -vrtnodata none -srcnodata "-9999"
gdal_translate -of GTiff -a_nodata "-9999" sortie.vrt export.tiff
gdal_translate -of AAIGrid  -a_nodata "-9999" sortie.vrt export.asc

Ce qui m'embête encore, c'est que zéro, c'est une valeur. Comment faire en sorte d'avoir nodata (-9999) à la place de zéro?

Hors ligne

 

#6 Fri 20 March 2015 00:30

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: FwTools 2.4.7 - Assembler des fichiers .asc proprement

Ce n'est pas pas fwtools, mais tente ta chance avec grass
http://grass.osgeo.org/grass64/manuals/r.null.html

The function of r.null is to explicitly create the NULL-value bitmap file. The intended usage is to fix "old" maps that don't have a NULL-value bitmap file (i.e. to indicate if zero is valid value or is to be converted to NULL). The module does not work with reclassified maps.
The design is flexible. Ranges of values can be set to NULL and/or the NULL value can be eliminated and replace with a specified value.

The setnull parameter is used to specify values in the ranges to be set to NULL. A range is either a single value (e.g., 5.3), or a pair of values (e.g., 4.76-34.56). Existing NULL-values are left NULL, unless the null argument is requested.

Hors ligne

 

#7 Fri 20 March 2015 11:36

MissT
Participant occasionnel
Lieu: Cayenne
Date d'inscription: 25 Sep 2014
Messages: 22

Re: FwTools 2.4.7 - Assembler des fichiers .asc proprement

Robin, c'est gentil de proposer une autre solution mais...
1/ je débroussailles pour des collègues non experts en SIG
2/ je ne suis pas loin du but
3/ j'en profite pour développer un petit outil sommaire qui va automatiser le traitement d'un dossier ou d''un ensemble de dossiers (et j'en suis au stade où il faut juste que je trouve la bonne syntaxe)...

Hors ligne

 

#8 Mon 23 March 2015 12:17

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: FwTools 2.4.7 - Assembler des fichiers .asc proprement

Ca marche.

Par curiosité, comment comptes tu "créer" l'outil ?Par exemple, que tes collègues se mettent dans le bon répertoire et lancent un batch ?

Hors ligne

 

#9 Mon 23 March 2015 12:33

MissT
Participant occasionnel
Lieu: Cayenne
Date d'inscription: 25 Sep 2014
Messages: 22

Re: FwTools 2.4.7 - Assembler des fichiers .asc proprement

Pour automatiser les tâches répétitives (ou mettre à dispo un outil utilisant des fenêtres DOS...) 1/ pour des non-experts 2/ sur des logiciels sans langage de programmation, j'utilise AutoIt, un langage de programmation TRES facile à prendre en main qui permet de manipuler des fenêtres, des frappes de texte, etc.
Dans le cas présent, l'utilisateur final choisit le dossier à traiter ou le dossier dont les sous-dossiers sont à traiter (les asc à fusionner doivent être regroupés dans un dossier) dans une vraie fenêtre et clic-ok ==> l'appli balance les codes à exécuter dans FWTools.

C'est pourquoi je cherche la syntaxe exacte à utiliser pour créer ces @¤%* de dalles finales avec des valeurs nulles hors zones d'acquisition LIDAR...

Hors ligne

 

#10 Mon 23 March 2015 16:38

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: FwTools 2.4.7 - Assembler des fichiers .asc proprement

Ca me plaît comme idée, ce AutoIt ! Je vais regarder ça.

Peut être faudrait il en amont affecter une valeur NULL de ton choix pour la maîtriser par la suite ?
Ceci dit, je suppose qu'il doit y avoir moyen d'agir au niveau du VRT et des commandes sus mentionnées.

Éventuellement, peux-tu envoyer 2 dalles qui te posent souci sur mon mail ? J'aimerais tester, si tu veux bien.

Hors ligne

 

#11 Mon 23 March 2015 17:29

MissT
Participant occasionnel
Lieu: Cayenne
Date d'inscription: 25 Sep 2014
Messages: 22

Re: FwTools 2.4.7 - Assembler des fichiers .asc proprement

Hop! Mail parti!

Hors ligne

 

#12 Tue 24 March 2015 19:00

MissT
Participant occasionnel
Lieu: Cayenne
Date d'inscription: 25 Sep 2014
Messages: 22

Re: FwTools 2.4.7 - Assembler des fichiers .asc proprement

Hé hé! Prem's!
J'ai trouvé avec le concours d'homologues locaux.

option vrtnodata contraint les zones sans dalles (trou entre les dalles) à prendre la valeur nulle.
L'option srcnodata impose la valeur à considérer comme nulle dans le fichier source. Et comme le prestataire à rendu des dalles avec parfois des -999 ou d'autres -9999, on rencontrait un problème.
Quand on n'impose pas cette valeur srcnodata, le gdalbuildvrt utilise la valeur nodata définie dans le(s) fichier(s) asc. Ainsi, avec la syntaxe suivante, on agglomère tous les fichiers acs d'un dossier en un vrt considérant les valeurs null de chaque asc et les données hors dalles en null

Code:

gdalbuildvrt FichierSauv .vrt *.asc -vrtnodata none

Pour créer les geotiff ou asc ou autres, le paramètre de l'option -a_nodata (valeur à considérer comme nulle) ne devait pas être "-9999" mais none (puisque c'est la valeur qu'on a choisi pour créer le vrt). Ainsi:

Code:

gdal_translate -of GTiff -a_nodata none FichierSauv.vrt FichierSauv.tiff
gdal_translate -of AAIGrid -a_nodata none FichierSauv.vrt FichierSauv.asc

Merci pour vos éclairages!

Hors ligne

 

#13 Wed 25 March 2015 08:59

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: FwTools 2.4.7 - Assembler des fichiers .asc proprement

Pour un petit retour rapide sur ce que tu m'as envoyé, j'ai utilisé basiquement pour voir ce qui suit dans un .bat :

Code:

gdalbuildvrt AssemblageMNT.vrt *.asc
gdal_translate -of GTiff AssemblageMNT.vrt export.tiff

Au final j'ai sous QGIS un MNT jointif qui se limite aux valeurs du MNT et qui est "transparent" au delà.

Je suppose que le problème venait de MNE_OYAPOK_SIKINI_OEG_201312.asc (mais je ne l'ai pas eu dans ton envoi), car il n'avait pas de mention "NoData" dans la ligne le concernant dans le VRT.

Merci de ton retour qui permet notamment de mieux sécuriser les assemblages pour éviter les problèmes évoqués smile

Hors ligne

 

#14 Mon 23 November 2015 23:30

Elise
Participant assidu
Lieu: Argentat (19)
Date d'inscription: 16 Oct 2005
Messages: 528
Site web

Re: FwTools 2.4.7 - Assembler des fichiers .asc proprement

Bonjour,


MissT a écrit:

Hé hé! Prem's!
J'ai trouvé avec le concours d'homologues locaux.


Et ce petit outil qui permet d'assembler des asc, il serait dispo pour des :

MissT a écrit:

1/ pour des non-experts 2/ sur des logiciels sans langage de programmation, j'utilise AutoIt, un langage de programmation TRES facile à prendre en main


Merci :-)

elise

Dernière modification par Elise (Mon 23 November 2015 23:31)


Géoscope
  11 rue de l'Hospice - 19400 Argentat
  Tél. : 09 60 47 51 16

Hors ligne

 

#15 Tue 24 November 2015 12:42

MissT
Participant occasionnel
Lieu: Cayenne
Date d'inscription: 25 Sep 2014
Messages: 22

Re: FwTools 2.4.7 - Assembler des fichiers .asc proprement

Bonjour Elise,
Je ne comprend pas l'objet de ton message, à part citer des bouts de messages...

Hors ligne

 

#16 Tue 24 November 2015 17:34

Elise
Participant assidu
Lieu: Argentat (19)
Date d'inscription: 16 Oct 2005
Messages: 528
Site web

Re: FwTools 2.4.7 - Assembler des fichiers .asc proprement

Bonjour,

Je faisais référence à l'outil que tu as semble-t-il mis au point pour assembler plusieurs fichiers asc. Si j'ai bien saisi le fil de la discussion.

Cordialement,
Elise


Géoscope
  11 rue de l'Hospice - 19400 Argentat
  Tél. : 09 60 47 51 16

Hors ligne

 

Pied de page des forums

Powered by FluxBB