#1 Thu 18 March 2010 14:36
- wwave
- Participant occasionnel
- Lieu: Paris
- Date d'inscription: 21 Jul 2006
- Messages: 13
[Proj4 4.4.6] Définiton d'un système
Bonjour,
J'ai un problème de compréhension de la rédaction d'un fichier proj.
Par exemple, je sais qu'une ellipsoïde ne se définit que par a et b.
La commande proj -le donne la liste des ellipsoides gérées mais si je souhaite en définir une nouvelle (1) ou modifier les valeurs de a et b (2), que dois je faire ?
(1) écrire :
*
Code:
+ellps=nouveau_nom +a=valeur_a +b=valeur_b
* ou juste
Code:
+a=valeur_a +b=valeur_b suffit ?
(2) écrire :
*
Code:
+ellps=nom +a=nouvelle_valeur_a +b=nouvelle_valeur_b
* ou juste
Code:
+a=nouvelle_valeur_a +b=nouvelle_valeur_b suffit ?
Ensuite, le méridien dans proj4 est le nom d'une ville (greenwich, paris, lisbonne, etc). Si je souhaite mettre comme méridien copenhague, comment dois je faire ? je n'ai pas trouvé de paramètre qui permet de donner la longitude du méridien d'origine.
Avec les datums : comment calculer les valeurs passées au paramètre towgs84 ? En effet, si je souhaite ajouter un nouveau datum, que dois écrire et comment trouver ces valeurs ?
Pour les projections, je comprends bien qu'une projection non définie dans proj4 ne peut pas se définir dans la chaine mais peut être dans un fichier de configuration....
Je me doute que je pose énormément de questions mais je trouve que la doc proj4 est vraiment trop simple.
Merci d'avance de votre aide !
WwAvE
Hors ligne
#2 Thu 18 March 2010 21:19
Re: [Proj4 4.4.6] Définiton d'un système
D'après ce que je comprend de la doc et de l'esprit du programme, on ne définit ou ne met pas à jour de nouveaux ellipsoïdes. On peut simplement utiliser les paramètres qu'on veut si vraiment on ne trouve pas le bon ellipsoïdes dans ceux enregistrés dans proj (commande "proj +ellps=list"). Donc seule la deuxième proposition peut se concevoir.
Pour le méridien origine, quand je lis http://trac.osgeo.org/proj/wiki/GenParm … meMeridian les exemples sont avec le nom, mais la valeur de longitude convient aussi. À noter que je remarque que seul le programme cs2cs utilise ce paramètre.
Avec les datums et les valeurs de +towgs84, il n'y a pas 36 méthodes, et il faut aller sur le terrain et comparer des points du système géodésique avec ce que donne le GPS (WGS84). Souvent c'est l'agence gouvernementale qui entretient le réseau géodésique qui réalise ce genre d'opération.
Un type de projection non définie dans proj, tu penses à quelque chose en particulier ?
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#3 Thu 08 April 2010 17:56
- wwave
- Participant occasionnel
- Lieu: Paris
- Date d'inscription: 21 Jul 2006
- Messages: 13
Re: [Proj4 4.4.6] Définiton d'un système
Je ne comprends vraiment pas cette librairie....
J'essaie de tester les conversions de coordonnées.
Mon 1er test : définir la zone 31 N UTM / WGS84 avec mes propres arguments sur l'ellipsoïde.
Si je compare avec le système définit dans proj4 je n'ai pas les mêmes résultats. Par contre les arguments pour définir la projection (x_0, y_0, etc...) n'ont aucun effet...
Code:
cs2cs +proj=utm +lon_0=3 +lat_0=0 +x_0=500000 +y_0=0 +k_0=0.99960000000000004 +units=m +a=6378137 +b=6358000 +no_defs +to +proj=lonlat +datum=WGS84 points.txt 1d16'22.114"E 81d2'47.027"N 0.000 cs2cs +proj=utm +zone=31 +datum=WGS84 +no_defs +to +proj=lonlat +datum=WGS84 points.txt 1d16'16.079"E 81d3'24.75"N 0.000
Après j'essaie de travailler sur le système de sortie c'est à dire WGS84. Je remplace datum=WGS84 par +a=... et +b=... et ça ne change jamais le résultat mais si je met des valeurs un peu "folles" là il ne veut pas.
Avec vous des idées ?
Hors ligne
#4 Thu 08 April 2010 22:52
- rouault
- Participant assidu
- Date d'inscription: 26 Apr 2009
- Messages: 168
Re: [Proj4 4.4.6] Définiton d'un système
Plusieurs choses :
1) Ton paramètre b pour wgs84 n'est pas correct. Réessaye avec b=6356752.314 et tu obtiendras des résultats identiques
2) La projection utm n'accepte qu'un seul paramètre, +zone=. Ou alternativement +lon_0 peut être utilisé (cf ftp://ftp.remotesensing.org/proj/OF90-284.pdf accessible depuis la page principale du wiki de proj : http://trac.osgeo.org/proj/wiki). Tous les autres paramètres sont donc joyeusement ignorés
3) Depuis proj 4.6.0, les transformations entre ellipsoides ne sont plus effectuées à moins qu'un datum shift soit explicité. Cf http://trac.osgeo.org/proj/wiki/FAQ#Why … 0and4.6.0. Concrètement :
cs2cs +proj=utm +utm=31 +units=m +datum=WGS84 +no_defs +to +proj=lonlat +datum=WGS84
500000 4500000
3dW 40d39'3.083"N 0.000
cs2cs +proj=utm +utm=31 +units=m +datum=WGS84 +no_defs +to +proj=lonlat +ellps=airy
500000 4500000
3dW 40d39'3.083"N 0.000
(aucune différence de résultat : aucune transformation d'ellipsoide n'est effectuée car la projection de destination ne permet pas de déterminer le décalage entre les 2 ellipsoides)
cs2cs +proj=utm +utm=31 +units=m +datum=WGS84 +no_defs +to +proj=lonlat +datum=OSGB36
500000 4500000
2d59'56.399"W 40d38'57.04"N -25.349
Ah! Ca change. Le datum OSGB36 utilise l'ellipsoide airy mais définit le datum shift
cs2cs +proj=utm +utm=31 +units=m +datum=WGS84 +no_defs +to +proj=lonlat +ellps=airy +towgs84=446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894
500000 4500000
2d59'56.399"W 40d38'57.04"N -25.349
Même résultat qu'au dessus, car +datum=OSGB36 ait du point de vue de proj un alias de +ellps=airy +towgs84=446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894
Finalement, tout s'explique ;-)
Hors ligne
#5 Fri 09 April 2010 10:02
- wwave
- Participant occasionnel
- Lieu: Paris
- Date d'inscription: 21 Jul 2006
- Messages: 13
Re: [Proj4 4.4.6] Définiton d'un système
Merci beaucoup pour toute cette réponse. Comme écrit : "tout s'explique!"
Hors ligne