Création d'une image TIFF géoréférencée à partir de plusieurs images sources géoréférencées
- Auteur
- Institut national de l'information géographique et forestière
L'implémentation de cette commande se trouve dans le fichier mergeNtiff.cpp
Pour réaliser la fusion des images en entrée, on traite différemment :
- les images qui sont superposables à l'image de sortie (même SRS, mêmes résolutions, mêmes phases) : on parle alors d'images compatibles, pas de réechantillonnage nécessaire.
- les images non compatibles mais de même SRS : un passage par le réechantillonnage (plus lourd en calcul) est indispensable.
- les images non compatibles et de SRS différents : un passage par la reprojection (encore plus lourd en calcul) est indispensable.
Détails du chaînage des différentes classes d'image :
---
config:
theme: neutral
flowchart:
htmlLabels: false
---
flowchart TB
img1@{ shape: proc, label: "FileImage"}
img1_notes@{ shape: braces, label: "1 par image en entrée
en lecture
avec un éventuel convertisseur"}
img1 -.- img1_notes
subgraph paquet[" "]
direction TB
img2@{ shape: proc, label: "MirrorImage"}
img2_notes@{ shape: braces, label: "4 par image en entrée
si reprojection ou réechantillonnage"}
img2 -.- img2_notes
img3@{ shape: proc, label: "ExtendedCompoundImage"}
img3_notes@{ shape: braces, label: "1 par paquet d'image en entrée compatibles entre elles"}
img3 -.- img3_notes
subgraph styled["Si un style est appliqué"]
direction TB
subgraph img4["Au choix"]
direction LR
img41@{ shape: proc, label: "EstompageImage"}
img42@{ shape: proc, label: "PenteImage"}
img43@{ shape: proc, label: "AspectImage"}
img41 ~~~ img42 ~~~ img43
end
img4_notes@{ shape: braces, label: "Si le style contient une section associée"}
img4 -.- img4_notes
img5@{ shape: proc, label: "PaletteImage"}
img5_notes@{ shape: braces, label: "Si le style contient une palette non vide"}
img5 -.- img5_notes
end
subgraph img6["Au choix"]
direction LR
img61@{ shape: proc, label: "None"}
img62@{ shape: proc, label: "ResampledImage"}
img63@{ shape: proc, label: "ReprojectedImage"}
end
end
paquet_notes@{ shape: braces, label: "Par paquet d'images en entrée compatibles entre elles"}
paquet -.- paquet_notes
img7@{ shape: proc, label: "ExtendedCompoundImage"}
img3 -- en fin des images sources --> img1
img3 -- en tête des images sources --> img2 --> img1
img5 --> img4
styled --> img3
img7 -- "Si le paquet d'images en entrée est en phase avec la sortie" --- img61
img7 -- "Si le paquet d'images en entrée a la même projection que la sortie déphasé" --> img62
img7 -- "Si le paquet d'images en entrée a une projection différente de la sortie" --> img63
img6 --> styled
img8@{ shape: proc, label: "FileImage"}
img8_notes@{ shape: braces, label: "image en sortie
en écriture"}
img8 -.- img8_notes
img7 write@-- est lue ligne par ligne pour écrire --> img8
write@{ animate: true }
classDef optionnal stroke-dasharray: 5 5;
class img2,img41,img42,img43,img5,styled optionnal
class img61 invisible