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 Fri 10 July 2009 17:18

Bleuenn
Juste Inscrit !
Date d'inscription: 28 Jul 2008
Messages: 2

Rotation d'une image par mapserver

Bonjour,

j'ai une image que je positionne sur ma carto. Je lui fais subir deux types de transformation : une rotation et un redimensionnement. Je souhaite ensuite géoréférencer mon image en construisant mon fichier de calage et en appelant gdaltindex pour que mapserver l'affiche.

Je n'arrive pas à comprendre les paramètres du fichier de calage (2ème ligne et 3ème ligne) pour exprimer une simple rotation dans un plan 2D.

Pouvez vous m'aider?

Exemple d'un fichier tfw
0.434984984985
0
0
-0.434984984985
242877.3713713718
266820.8084507042

Quelles sont les valeurs à mettre pour lui dire d'exécuter une rotation de 90°?

Merci par avance

Bleuenn

Hors ligne

 

#2 Fri 10 July 2009 17:41

tbonfort
Participant actif
Date d'inscription: 11 Oct 2007
Messages: 87

Re: Rotation d'une image par mapserver

d'apres http://www.omg.unb.ca/~jonnyb/processin … rmat.html, j'essayerais:

0
-0.434984984985
-0.434984984985
0
242877.3713713718
266820.8084507042

en changeant -0.434984984985 en 0.434984984985 selon la direction de rotation.

tiens moi au courant de tes resultats stp, j'ai jamais essayé moi meme.

--
thomas




Bleuenn a écrit:

Bonjour,

j'ai une image que je positionne sur ma carto. Je lui fais subir deux types de transformation : une rotation et un redimensionnement. Je souhaite ensuite géoréférencer mon image en construisant mon fichier de calage et en appelant gdaltindex pour que mapserver l'affiche.

Je n'arrive pas à comprendre les paramètres du fichier de calage (2ème ligne et 3ème ligne) pour exprimer une simple rotation dans un plan 2D.

Pouvez vous m'aider?

Exemple d'un fichier tfw
0.434984984985
0
0
-0.434984984985
242877.3713713718
266820.8084507042

Quelles sont les valeurs à mettre pour lui dire d'exécuter une rotation de 90°?

Merci par avance

Bleuenn

Hors ligne

 

#3 Fri 10 July 2009 18:11

Pierre Dolez
Participant assidu
Lieu: Proville
Date d'inscription: 14 Aug 2008
Messages: 519
Site web

Re: Rotation d'une image par mapserver

Bonjour,
Les 4 premiers paramètres sont les paramètre  XX, XY, YX, YY de la formule
X=XT + XX . xp + XY . yp
Y=YT + YX . xp + YY . yp
Mais attention l'ordre des paramètres n'est pas exactement celui là et je n'ai pas retrouvé mon document
Chacun de ces paramètre est comparable au produit d'un sin (rsp cos) et du rapport d'agrandissement. 
Les paramètres que vous avez indiquent une homothétie-rotation
l'angle de rotation est 0, donc, le facteur comprenant sin est nul.
Puisque vous ne voulez qu'une rotation avec le même rapport d'échelle, il faut trouver les paramètres de la formule
X=XT + A . xp + B . yp
Y=YT + B . xp - A . yp
Attention l'un de 4 signes doit être négatif
où A sin(ang) . R et B = cos(ang) . R
où R est le rapport d'agrandissement, 0.438985... dans votre cas.

Ca parait compliqué, mais c'est très simple.

Il est bien évident que la superposition sera bien meilleure si XX et YY sont différents, ainsi que XY et YX, mais là c'est plus compliqué à calculer.

Cordialement.

Hors ligne

 

#4 Wed 15 July 2009 15:32

Bleuenn
Juste Inscrit !
Date d'inscription: 28 Jul 2008
Messages: 2

Re: Rotation d'une image par mapserver

Bonjour,

merci pour votre aide!!

J'ai procédé ainsi :
1er paramètre : taille du pixel en x * cos (angle rotation)
2ème paramètre : -taille du pixel en x * sin(angle rotation)
3ème paramètre : -taille du pixel en y * sin(angle rotation)
4ème paramètre : -taille du pixel en y * cos (angle rotation)

Puis les coordonnées du pixel le plus en haut à gauche après rotation.

Bonne journée

Bleuenn

Hors ligne

 

#5 Wed 15 July 2009 15:57

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: Rotation d'une image par mapserver

Sur la liste ESRI il y a eu la même discussion, Dominique Lys a fait un document synthétique, ce qui avait occasionné la création d'une page sur le wiki : http://georezo.net/wiki/main:donnees:worldfile


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#6 Fri 24 July 2009 12:20

Pierre Dolez
Participant assidu
Lieu: Proville
Date d'inscription: 14 Aug 2008
Messages: 519
Site web

Re: Rotation d'une image par mapserver

Bonjour,

Je reviens sur ce sujet de transformation de raster parce que les choses ne sont pas claires.
La source d'origine, théoriquement incontestable,
http://webhelp.esri.com/arcgisdesktop/9 … r_datasets

Dans Wikipedia http://fr.wikipedia.org/wiki/World_file  (en francais)
et  http://en.wikipedia.org/wiki/World_file (en anglais)
Dans GeoRezo on trouve http://georezo.net/wiki/main:donnees:worldfile

Le point commun à tous est que les 6 lignes d'un fichier World File sont les paramètres de la formule de transformation affine. Par contre, l'explication de ces paramètres (les 4 premiers) est différente, et naturellement ce n'est pas équivalent.

Je pense que le seul moyen de lever le doute est de faire un essai.
Je propose donc de procéder de la façon suivante : soit un fichier raster quelconque assorti de son fichier WorldFile (suffixe ??w tfw jgw ou autre.
On choisira de préférence un fichier dont les ligne 2 et 3 sont à zéro.
Maintenant on désire faire une rotation de cette image. La constitution du fichier est faite pour celà.
Par exemple, une rotation de 30°  sin(30°)=0.50  cos(30°)=0.8660

Dans le WF de base, il est probable que la valeur de la première ligne est égale à celle de la 4è ligne, sauf le signe.

Modifier le fichier WF selon les explication dans les deux cas
Avec la méthode Wikipedia français, on obtient (L la valeur de la première ligne M la valeur positive de la 4è ligne)
1ère ligne Lx0.8860
2ème ligne Mx0.50
3ème ligne Lx0.50
4ème ligne -Mx0.8860

Si on veut pousser plus loin le calcul, on pourra par exemple doubler la valeur de M.
Observer le résultat.

Faire la même chose en suivant les indications anglaises. Observer le résultat.

Cette petite manip ne prendra que quelques instants, mais je pense qu'il est indispensable de lever le doute.

J'ai mis cette réponse à la suite d'une question identique dans le chapitre géolibre, mais elle est indépendante de tout logiciel.

Merci d'avance pour vos réponses.

Cordialement.

Hors ligne

 

Pied de page des forums

Powered by FluxBB