#1 Fri 30 December 2022 11:26
- loic58471
- Participant occasionnel
- Date d'inscription: 29 Sep 2017
- Messages: 38
QGIS: Creation d'une Projection personnalisee - PROJ4
Bonjour,
Je cherche à créer une projection personnalisée afin de pouvoir intégrer à un SIG tout un tas de documents d'archives d'un site archéologique soudanais, documentation géographique qui a été constituée dans un repère local.
Par la mesure au DGPS des points de repères physiques encore présents, puis par recalage graphique du maillage de ces points dans le système local sur le même maillage en système officiel actuel (ADINDAN) j'ai réussi à recaler le système local par rapport à ce système général et déduire ainsi, notamment, ses coordonnées à l'origine et sa rotation.
En résumé j'ai les coordonnées en système ADINDAN (une projection UTM) de l'origine ainsi que de n'importe quel point sur l'axe des abscisse ou l'axe des ordonnées d'une grille d'un système local (la rotation peut aussi être mesurée) et j'aimerai créer une projection personnalisée à partir de ça.
J'ai essayé avec le module QGIS basé sur proj4, j'ai consulté l'aide de la page web du système PROJ et j'ai peur d'être complètement largué, je n'arrive à rien.
Question: est-on obligé, pour passer d'un SCR à un autre, de passer par l'intermédiaire du WGS84? Et auriez vous un début de piste pour m'orienter sur une manière de faire, un algorithme à utiliser, des paramètres à déterminer? CS2CS parait adapté mais je n'arrive pas à l'utiliser.
J'ai passé plusieurs heures à essayer de faire fonctionner tout ça mais sans succès, je me crispe beaucoup de ne pouvoir utiliser un outil qui me semble aussi adapté à ce dont j'ai besoin et qui m'épargnerai encore plus d'heures à géoréférencer des documents dont les points d'amer sont on ne peut plus approximativement déterminables.
Si vous êtes compétent à utiliser cette machine du diable, je prends volontiers tout conseil...
Hors ligne
#2 Fri 30 December 2022 13:51
Re: QGIS: Creation d'une Projection personnalisee - PROJ4
Bonjour,
Difficile de vous répondre ne connaissant pas votre système ADINDAN, le principal étant de connaitre justement votre système et en premier lieu sur quel ellipsoïde il se base car en gros pour changer de système, il vous faut détricoter et retricoter, c.à.d : coordonnées en projections source => coordonnées géographiques ellipsoide source (a) => coordonnées cartésiennes source => chgt ellipsoide (7 param) => coordonnées cartésiennes dest => coord géographiques dest (b)=> coord en projections dest sachant que l'on peut eventuellement passer de (a) à (b) par une transformation mathématique.
Pour passer des coordonnées cartésiennes srce à coordonnées cartésiennes destination, on utilise avec proj4 un intermédiaire qui est les coord cartésiennes WGS84 cela permet pour n'importe quel ellipsoide de passer de l'un à l'autre par une seule série de paramètre du syteme X => WGS84 et inversement de WGS84 => X et ainsi avec deux series de paramètres de passer de n'importe quelle source vers n'importe quelle destination.
Quand les ellipsoides origine sont trop déformés parcequ'ancien (mesures faites avec la précision de l'époque) et pour améliorer la précision de la correspondance entre les deux systèmes (le source avec ses imperfections et le destination en général meilleur), on utilise des grilles permettant d'adapter n'importe quel modèle mathématique ver un autre modèle mathématique.
ci joint schéma d'un système basé sur proj4 (mais grille ALS n'existe pas sur proj4)
[img]http://c.panel.free.fr/data/proj4_schema.png[/img]
Dernière modification par christian (Fri 30 December 2022 14:17)
Hors ligne
#3 Fri 30 December 2022 14:01
Re: QGIS: Creation d'une Projection personnalisee - PROJ4
Post Scriptum :
-CS2CS vous permet de faire toutes ces étapes d'un trait (mais cela neccessitte de bien lui fournir en paramètre toutes les étapes (surtout si les codes EPSG n'existent pas ou si vous ne les connaissez pas)
-proj4 passe obligatoirement par l'ellipsoide WGS84 pour les raisons exposées (sinon combinaison de N*N paramètres au lieu de 2) à ma connaissance (mais mes connaissances sont anciennes)
Hors ligne
#4 Sat 31 December 2022 16:55
- loic58471
- Participant occasionnel
- Date d'inscription: 29 Sep 2017
- Messages: 38
Re: QGIS: Creation d'une Projection personnalisee - PROJ4
Ok merci Christian pour ces précisions fort intéressantes.
Je comprends donc la mécanique générale, je précise que le code EPSG du sytème Adindan est le 20136. C'est une projection UTM localisée autour du méridien 36 et qui concerne le Soudan dans sa globalité.
Mon système local n'a en revanche lui pas de code EPSG car tout ce qu'il y a de plus officieux, il n'est basé sur aucun éllipsoïde. Il a simplement été déterminé pour les levés topographiques d'une île d'environ 12 km de long sur 4 km de large comme une grille locale avec une origine et une orientation nord approximative, implanté il y une 30aine d'année au tachéomètre.
D'après ce que vous expliquez je ne vois pas trop en revanche comment je dois procéder, faut-il que j'effectue des calculs géodésiques moi même qui me permettront de déterminer les paramètres à utiliser pour la syntaxe PROJ4? Si oui quels paramètres précis suffiraient dans mon cas?
Hors ligne
#5 Mon 02 January 2023 13:54
Re: QGIS: Creation d'une Projection personnalisee - PROJ4
Des personnes plus compétentes sur QGIS pourront probablement vous aider ici, mais s'agissant d'un levé terrestre de plus de 30 ans et dont je doute que la tolérance sur 12 km soit inférieure à 10cm, une simple transformation d'helmert (2D) entre vos deux systèmes devrait être suffisante, non ?
PS: cette simple recherche sur google peut vous aider : https://gis.stackexchange.com/questions … is-helmert
Dernière modification par christian (Mon 02 January 2023 14:15)
Hors ligne
#6 Wed 04 January 2023 11:17
- loic58471
- Participant occasionnel
- Date d'inscription: 29 Sep 2017
- Messages: 38
Re: QGIS: Creation d'une Projection personnalisee - PROJ4
Oui parfaitement une transformation Helmert sera tout à fait suffisante.
Merci pour le lien c'est assez intéressant en effet.
Je vais étudier la doc PROJ plus profondément dans ce sens mais je ne trouve pour le moment pas la manière d'en faire un SCR, je comprends bien le fonctionnement comme un traitement ponctuel mais je ne trouve pas la syntaxe qui permettrait d'en faire un SCR dans l'interface QGIS.
Quelqu'un aurait-il l'expérience de la création dans QGIS d'un SCR personnalisé qui aurait fonctionné avec une transformation Helmert?
Hors ligne
#7 Fri 24 February 2023 09:57
- loic58471
- Participant occasionnel
- Date d'inscription: 29 Sep 2017
- Messages: 38
Re: QGIS: Creation d'une Projection personnalisee - PROJ4
Je réponds ici à ma propre question de départ afin d'exposer la solution trouvée.
A la base je voulais simplement afficher mes données en repère local sur ma projection ADINDAN en indiquant des correspondances de coordonnées entre différents points, en système local puis en système national. Je me suis rendu compte que conceptuellement ça ne fonctionnait pas car la relation n'est pas linéaire entre mes système de coordonnées qui possèdent chacun une déformation géométrique propre à la notion de projection.
Il me fallait donc passer par le WGS84, comme l'explique bien Christian au dessus.
J'ai donc fini par créer ma propre projection et non une équivalence entre des systèmes de coordonnées déjà projetés.
Le type de projection le plus adapté m'a paru être la projection oblique mercator qui me permet d'orienter le nord de ma projection comme je veux, j'ai l'impression que la plupart des autres sont naturellement orienté au nord par défaut.
Tout ensuite est assez bien expliqué sur la page web de Proj: https://proj.org/operations/projections/omerc.html
Il me fallait donc simplement déterminer comme paramètres:
-"+lonc" et "+lat_0" les coordonnées WGS84 du centre de ma projection, que j'ai placé au centre de mon site sur un point de coordonnées connues dans les différents systèmes, les déformations géométriques dues à la projections seront ainsi imperceptibles à notre échelle avant des centaines de km; mon site faisant tout au plus 20km d'ampleur, cela convenait,
- gamma et alpha dont je n'ai vraiment pas compris la raison d'être en duo, semblant agir exactement sur la même chose c'est à dire la rotation du cylindre de projection selon la relation:
rotation (sens horaire) = alpha - gamma
les valeurs sont en degrés.
- "x_0" et "y_0" sont les coordonnées dans mon repère local du centre de projection dont j'ai indiqué les coordonnées wgs84 ci dessus
Cela me donne en définitive la formule proj4 suivante:
+proj=omerc +lonc=29.33132998 +lat_0=20.23684520 +gamma=0.03 +alpha=0 +x_0=5449.08 +y_0=20202.74 +ellps=WGS84
Ça fonctionne vraiment bien, le problème maintenant c'est de régler les décalages, fixer les incohérences et erreurs de mesure topographiques mais ça c'est une autre histoire.
Hors ligne