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

GEODATA DAYS 2024

#1 Fri 20 January 2012 18:20

Gus
Juste Inscrit !
Date d'inscription: 27 Aug 2007
Messages: 4

Identifier fichiers .ecw couvrant l'emprise d'une commune

Bonjour,

J'ai un dossier de fichiers .ecw (ortho de l'IGN) et je cherche un utilitaire qui permet d'identifier les fichiers couvrant l'emprise d'une commune  particulière (shapefile Communes de l'IGN disponible).

A la main ... c'est un peu long !

Merci pour votre aide.
G

Hors ligne

 

#2 Fri 20 January 2012 21:26

phil008
Participant occasionnel
Date d'inscription: 10 Sep 2011
Messages: 23

Re: Identifier fichiers .ecw couvrant l'emprise d'une commune

Si tu as le support de l'ECW, tu peux utiliser gdaltindex pour générer un shapefile constitué de dalles correspondant (dans les attributs) à tes différents fichiers ecw . Après il te suffiras de superposer ce shapefile par dessus ta carte des communes pour connaitre les fichiers qui couvrent l'emprise des communes qui t'intéressent.

Code:

gdaltindex dossier/index.shp dossier/*.ecw

Hors ligne

 

#3 Fri 20 January 2012 23:10

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9860
Site web

Re: Identifier fichiers .ecw couvrant l'emprise d'une commune

Bonsoir,

Tu as deux plugins qui te permettent de gérer ce genre de chose. Il faut
que je les retrouve. L'un permet de créer un fichier vecteur des étendues
des tuiles l'autre de charger la tuile d'un simple clic.

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

 

#4 Sat 21 January 2012 10:29

Gus
Juste Inscrit !
Date d'inscription: 27 Aug 2007
Messages: 4

Re: Identifier fichiers .ecw couvrant l'emprise d'une commune

Merci à tous les 2 pour vos réponses.

Pour être un peu plus précis, je cherche à assembler les dalles (.ecw) couvrant l'emprise d'une commune pour générer un nouvel .ecw.
Pour cela, j'utilise un fichier de commande (.bat) pour automatiser le regroupement de ces dalles par commune à partir des données ortho IGN de tout un département :
- Assemblage virtuel par
  gdalbuildvrt -input_file_list <liste des fichiers .ecw à assembler>
- puis assemblage physique des .ecw  (qui est très long d'ailleurs ... ce n'est peut-être pas le meilleur moyen d'assembler les .ecw) par
  gdal_translate       

Mon problème est de constituer en batch les fichiers <liste des fichiers .ecw>, un fichier par commune et contenant la liste des dalles couvrant la commune.

J'ai essayé gdaltindex, c'est effectivement pratique en affichant le label <location> de la couche de connaître le nom du fichier correspondant.
Merci, bien que cette solution ne soit pas batch, c'est déjà plus pratique que de chercher les bonnes dalles en fonction de leur nom de fichier ...

G.

Dernière modification par Gus (Sat 21 January 2012 10:39)

Hors ligne

 

#5 Sat 21 January 2012 12:17

phil008
Participant occasionnel
Date d'inscription: 10 Sep 2011
Messages: 23

Re: Identifier fichiers .ecw couvrant l'emprise d'une commune

A mon avis, vouloir créer un nouveau raster pour chaque commune, c'est beaucoup de traitement pour rien (avec les opérations très longues d'assemblage que ça suppose + le nombre de communes) et pas mal d'espace disque en moins (car tes communes peuvent partager les même images ecw)... à moins que tu aies une raison spéciale de vouloir faire ainsi: tu peux dans ce cas faire une requête spatiale pour lister quelles sont les dalles qui intersectent chaque commune et préparer ton batch à partir de la liste.

Sinon le plus pratique c'est que tu conserves tes dalles, et que tu crées un fichier VRT comme tu l'as mentionné. Lorsque tu l'ouvres sous QGIS, il va pointer vers tes ECW et les charger automatiquement.

Code:

gdalbuildvrt dossier/index.vrt dossier/*.tif

Ou tu peux aussi créer un VRT pour chaque commune à partir d'une liste de dalles ecw avec l'option -input_file_list (comme tu l'indiques) à ouvrir sous QGIS egalement.

Dernière modification par phil008 (Sat 21 January 2012 12:30)

Hors ligne

 

#6 Sat 21 January 2012 14:04

YoP
Participant occasionnel
Date d'inscription: 8 Nov 2007
Messages: 17

Re: Identifier fichiers .ecw couvrant l'emprise d'une commune

Bonjour,

Les deux extensions dont parlait Yves sont Image boundaries et Image show and hide.
Image boundaries va créer une grille vecteur des limites des dalles situées dans un répertoire.
Image show and hide permet d'afficher les images liées à une grille en cliquant simplement dessus.

Y

Hors ligne

 

#7 Sat 21 January 2012 17:55

Gus
Juste Inscrit !
Date d'inscription: 27 Aug 2007
Messages: 4

Re: Identifier fichiers .ecw couvrant l'emprise d'une commune

phil008, tes remarques (espace disque et temps d'assembalge) sont très justes.
Je travaille de la sorte pour déployer dans une commune uniquement les parties de cartes de son territoire, qui doivent alimenter un logiciel qui ne prend nativement que les .ecw sous forme d'un seul fichier, pas les assemblages virtuels (.vrt).

Il serait possible d'ajouter des extensions à ce logiciel pour traiter les .vrt, mais alors ça compliquerait le déployement du logiciel (nécessité de copier des composants dans system32 ...).
Les temps de traitement pour l'assemblage des .ecw me font quand même hésiter ...

Avec ogr2ogr et l'option -clipsrc / clipsrclayer, je ne suis pas arrivé à faire une requête spatiale sur un assemblage de .ecw  (.vrt ou index.shp). Peut être que cela n'est pas possible sur ce type de fichier ?

Il me semble que la requête spatiale dont tu parles pil008, doit se faire dans QGIS.
De même les extensions Image boundaries et Image show and hide dont palent Yves et YoP doivent être pour QGIS ?
Actuellement je n'utilise pas QGIS.

Merci à tous pour vos conseils.

Hors ligne

 

#8 Sat 21 January 2012 19:29

phil008
Participant occasionnel
Date d'inscription: 10 Sep 2011
Messages: 23

Re: Identifier fichiers .ecw couvrant l'emprise d'une commune

ok, si ça ne concerne qu'une seule commune en particulier, c'est rapide à faire je pense (à condition que ta version de GDAL supporte l'ECW en écriture)

Identifie les fichiers ecw qui couvrent ta commune, à l'aide de index.shp (généré avec gdaltindex, voir plus haut). Copie-colle ces fichiers dans un nouveau répertoire et exécute la commande suivante pour les assembler:

Code:

gdal_merge.py -o global.ecw *.ecw

Après si tu veux, tu peux aller encore plus loin dans l'optimisation, en découpant ton raster suivant des coordonnées correspondant à l'emprise de ta commune. Exemple:

Code:

gdal_translate -projwin 0.5 48.5 1.2 47.0 entree.ecw sortie.ecw

(coordonnées dans l'ordre: coin gauche supérieur, coin droit inférieur)

Hors ligne

 

Pied de page des forums

Powered by FluxBB