Skip to Content

Pourquoi mes couches ne se superposent elles pas ?


Voici une question récurrente sur le forumSIG à laquelle je réponds de nombreuses fois. Je me suis dit qu'il serait peut être bon de faire un petit article afin de clarifier certaines choses et ainsi limiter ce genre de questions.

La plupart du temps ces questions se retrouvent dans des forums dédiés au logiciel utilisé, sous entendant souvent soit un problème d'utilisation du logiciel ou pire un problème du logiciel en lui même ("j'ai tout fait comme il faut mais ça ne marche pas ...")

Pourtant, même si une méconnaissance du logiciel utilisé existe également, le problème majeur n'est pas cette méconnaissance mais plutôt une méconnaissance de ses propres données ainsi qu'une méconnaissance de concepts fondamentaux des SIG et pour ce qui nous intéresse dans cet article, les systèmes de référence spatiale. En effet, en général, la première question que je pose est : "dans quel système de référence spatiale se trouve les couches ?", la réponse est souvent :

  • Je ne sais pas,
  • Le logiciel me dit ça,
  • Comment peux on le savoir ?
  • ...

Il ne s'agit pas dans cet article de faire un cours sur les systèmes de référence spatiale car j'avoue que j'en serai bien incapable (et je dis ça par expérience pour avoir essayé de la faire par ailleurs), mais je vais essayer de faire le point sur quelques éléments clés afin de donner quelques pistes avant de poser une question sur le forumSIG.

Repartons de notre question initiale, pourquoi mes couches ne se superposent elles pas ?

A cela on peut voir plusieurs raisons :

  • Les couches sont dans des systèmes de référence spatiale différents,
  • Les couches sont enregistrées dans un système identique, malheureusement c'est une erreur.
  • Le logiciel utilisé ne sait pas reprojeter à la volée
  • d'autres possibilités ?

Je ne traiterai ici que la première raison.

Lorsque l'on débute un projet avec des données diverses, les premières questions à se poser à mon avis, sont :

  • Quelles sont ces données ?
  • A quoi correspondent-elles ?
  • D'où proviennent-elles ?
  • Sur quelle zone sont-elles ?
  • Sous quel format sont-elles ?
  • Et surtout pour ce qui nous intéresse ici, dans quel système de référence spatiale sont-elles ?

C'est cette dernière question que les utilisateurs de logiciels SIG qui n'ont pas de connaissances théoriques suffisantes sur les SIG oublient souvent de se poser en imaginant que le logiciel va tout faire pour eux et que s'il ne le fait pas il s'agit probablement d'une erreur de conception.

Certains logiciels SIG (et c'est le cas pour la plupart) sont capables de reprojeter des données à la volée. Cela signifie qu'ils sont capables d'afficher n couches avec n systèmes de référence spatiale dans un système de référence spatiale défini, celui-ci étant le même qu'une des n couches ou non.

Pour cela le logiciel a besoin d'informations, ces informations sont simples, on associe à une couche un système de référence spatiale et on spécifie un système de référence spatiale en sortie pour le projet. Le problème c'est que si on ne connait pas ces systèmes et que le logiciel n'a pas la possibilité de les retrouver cela ne fonctionnera pas.

Or si on prend un shapefile par exemple, celui ci est composé à minima de 3 fichiers : shp, shx, dbf mais rien n'oblige qu'il y ait un fichier prj (c'est ce fichier qui contient les informations qui nous intéressent).

De plus, d'une part, on ne sait pas non plus si le logiciel que l'on va utiliser est capable d'utiliser ce .prj si il existe ..., d'autre part, il est également possible que ce fichier prj ne soit pas le bon. Bref tout ça pour dire qu'il est bien plus sûr de connaître un minimum ses données et ainsi pouvoir spécifier au logiciel ou tout du moins s'assurer qu'il a les bonnes informations. (de toute façon, à mon avis, de manière générale, il faut tout faire pour éviter d'être esclave d'un logiciel et donc limiter au maximum qu'un logiciel fasse ce qu'il veut sans qu'on puisse intervenir ou vérifier que les paramètres sont bons)

Au delà de cet aspect théorique que tout le monde devrait avoir en tête, nous restons toutefois confrontés au problème de l'absence de cette information, si la donnée vient d'ailleurs et que personne n'a fourni l'information.

Pour cela pas de règles absolues mais quelques recettes pour arriver à retrouver le bon système. En effet si le système de référence spatiale n'est pas toujours connu, les coordonnées elles, sont bien enregistrées dans un système spécifique (en tout cas il faut espérer), c'est cet élément qui peut permettre de retrouver le système initial.

Voila comment je m'y prends pour retrouver les systèmes que je ne connais pas :

  • Dans un logiciel SIG, pour ma part QGIS, j'ouvre ma couche sans préciser de système de référence spatiale particulier ni de reprojection à la volée.
  • Une fois affiché, je regarde les coordonnées que me donnent le logiciel sur l'emprise de ma couche.
  • Avec ces coordonnées brutes si on peut dire, on peut tenter grâce à leurs valeurs de retrouver le système utilisé par la couche.

Au minimum, il faut connaître le lieu représenté par votre couche.

Ensuite 2 possibilités, soit vous avez un peu l'habitude et les valeurs obtenues vous mettront tout de suite sur la voie, soit vous utilisez un outil permettant de reprojeter les valeurs afin de voir si elles tombent à l'endroit représenté par votre couche, vous pouvez par exemple utiliser le site que nous présentions il y a quelques temps sur le portailSIG http://www.portailsig.org/content/un-site-web-pour-convertir-des-coordon..., il y en a d'autres bien sûr.

Celui ci est intéressant car on a un classement des systèmes par Pays ce qui peut permettre de filtrer les systèmes à tester.

Quelques astuces pour limiter les tests en France métropolitaine :

En France les couches utilisent souvent les systèmes lambert (l'ancien et maintenant également le nouveau). Ces systèmes proposent :

  • un système sur l'ensemble de la France métropolitaine :
    • Lambert II étendu pour l'ancien système, coordonnées Y en 1 ou 2 millions
    • et Lambert 93 pour le nouveau, coordonnées Y en 6 millions
  • des découpages en "tranches" selon l'endroit où l'on se trouve :
    • Lambert I, II, III, IV pour l'ancien système (pour chacun de ces systèmes, 2 variantes existent, dont l'un enregistre la coordonnée Y en million de mètres, ce chiffre représentant le million permettant de retrouver la zone sur laquelle on se trouve)
    • RGF93 / CC 42 à 50.

source : georezo http://georezo.net/wiki/main/dico/epsg

on peut les reconnaitre avec les coordonnées Y :

CC42 en 1 million, jusque CC50 en 9 millions, avec tous les intérmédiaires pour les autres CC.

Pour certaines données, en particulier le cadastre, il est souvent d'usage que celui ci utilise les "zones" du lambert donc les lambert zone EPSG 2756x ou maintenant les lambert CC.

Il arrive également des cas plus complexes où les données ont été reprojetées sans paramétrer correctement le logiciel. Par exemple, vous aviez des données en lambert 2 étendu, le logiciel, ou vous, l'avez considéré comme du lambert 3 et vous avez reprojeté en lambert 93 : résultat, bien entendu cela a fait n'importe quoi ... Ce genre de cas est très compliqué à résoudre, la seule solution est la bidouille et de tenter de refaire à l'envers les erreurs jusqu'à arriver à la couche initiale et retrouver son système ... Mais j'espère qu'avec ce petit article vous ne ferez plus ce genre de bétises ;-).

On trouve également des problèmes de définitions des systèmes dans des versions anciennes de logiciels utilisant un mauvais méridien de référence. C'est assez complexe à retrouver ...

Voila quelques éléments qui j'espère vous aideront, s'il fallait conserver une information, cela serait, ne laissez pas faire les logiciels, questionnez vous toujours pour savoir si les paramètres sont les bons et vérifiez toujours !


Site officiel : PortailSIG
Autres Liens : le wiki de georezo sur l'EPSG
Autres Liens : le lambert 93
Autres Liens : The World Coordinate Converter


Creative Commons License
licence Creative Commons Paternité-Pas d'Utilisation Commerciale-Partage des Conditions Initiales à l'Identique Commerciale 2.0 France

Commentaires

Erreur Python au démarrage de QGis 2.0.1

Je suis utilisatueur de QGis, j’ai un PC marque PH/Système Windows 8 – 64 Bits mise en service depuis le 11 décembre 2013.
J’ai téléchargé entre temps certaines extentions et après une certaine durée aucours de son usage voici le message d’erreur qui s’affiche actuellement sur mon écran lorsque je lance l’appliquation de QGis 20.
Erreur Python
Illustration : Capture d’écran Impossible de charger l'extension view 3d points provoque une erreur lors de l'appel de sa méthode classFactory()

Traceback (most recent call last):
File "C:/PROGRA~1/QGIS Dufour/apps/qgis/./python\qgis\utils.py", line 204, in startPlugin plugins[packageName] = package.classFactory(iface)File"C:\Users\HP/.qgis2/python/plugins\
view3dpoints\__init__.py", line 26, in classFactory from view3dpoints import view3Dpoints
File "C:/PROGRA~1/QGIS Dufour/apps/qgis/./python\qgis\utils.py", line 453, in _importmod = _builtin_import(name, globals, locals, fromlist, level)
File "C:\Users\HP/.qgis2/python/plugins\view3dpoints\view3dpoints.py", line 28, in import visvis File "C:/PROGRA~1/QGIS Dufour/apps/qgis/./python\qgis\utils.py", line 453, in _import mod = _builtin_import(name, globals, locals, fromlist, level) ImportError: No module named visvis
Version de Python : 2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)]
Version de QGIS :2.0.1-Dufour Dufour, d94c044

Chemin vers Python : ['C:/PROGRA~1/QGIS Dufour/apps/qgis/./python', 'C:\\Users\\HP/.qgis2/python', 'C:\\Users\\HP/.qgis2/python/plugins', 'C:/PROGRA~1/QGIS Dufour/apps/qgis/./python/plugins', 'C:\\Program Files (x86)\\ArcGIS\\bin', 'C:\\PROGRA~1\\QGIS Dufour\\bin\\python27.zip', 'C:\\PROGRA~1\\QGIS Dufour\\apps\\Python27\\DLLs', 'C:\\PROGRA~1\\QGIS Dufour\\apps\\Python27\\lib', 'C:\\PROGRA~1\\QGIS Dufour\\apps\\Python27\\lib\\plat-win', 'C:\\PROGRA~1\\QGIS Dufour\\apps\\Python27\\lib\\lib-tk', 'C:\\PROGRA~1\\QGIS Dufour\\bin', 'C:\\PROGRA~1\\QGIS Dufour\\apps\\Python27', 'C:\\PROGRA~1\\QGIS Dufour\\apps\\Python27\\lib\\site-packages', 'C:\\PROGRA~1\\QGIS Dufour\\apps\\Python27\\lib\\site-packages\\PIL', 'C:\\PROGRA~1\\QGIS Dufour\\apps\\Python27\\lib\\site-packages\\win32', 'C:\\PROGRA~1\\QGIS Dufour\\apps\\Python27\\lib\\site-packages\\win32\\lib', 'C:\\PROGRA~1\\QGIS Dufour\\apps\\Python27\\lib\\site-packages\\Pythonwin', 'C:\\PROGRA~1\\QGIS Dufour\\apps\\Python27\\lib\\site-packages\\Shapely-1.2.18-py2.7-win-amd64.egg', 'C:\\PROGRA~1\\QGIS Dufour\\apps\\Python27\\lib\\site-packages\\six-1.3.0-py2.7.egg', 'C:\\PROGRA~1\\QGIS Dufour\\apps\\Python27\\lib\\site-packages\\wx-2.8-msw-unicode']

NB :
- 1 : j’ai désinstallé la version 2.12 et installé la version 2.14 elle marchait normalement mais j’ai rencontré d’énormes difficultés dans la version 2.14 pour générer Graticule « Grille » avec les coordonnées géographiques réelles, ce qui me tente de réutiliser la version précédente.
- 2 :Je ne m’y connais pas du toute en Langage de Programmation
Comment la communauté peut-elle m’orienté face à cette difficulté ?
Vos conseils

SINDOUSS Tanguy Exaucé
ntsindous@gmail.com
Au plaisir de la recherche partagée

Le site à connaitre

J'ai trouvé plus pratique pour trouver le système de coordonnées que TWCC ou autre logiciels de conversion de coordonnées où on choisit le système de coordonnées cible au nez : http://dogeo.fr/_apps/projection/

On localise la donnée sur la carte, et la liste du jeu de coordonnées dans les systèmes de coordonnées les plus courants en Métropole est affichée !

Mais il y a aussi l'inverse : on donne la coordonnée, et elle est convertie dans les différentes systèmes possibles et affichée sur la carte, reste plus qu'à pointer le point le plus proche de la cible, et le système de coordonnées est affiché. Idem directement avec un ShapeFile.

Bonjour, merci pour ce rappel

Bonjour,
merci pour ce rappel très clair et bien utile !
Pour ma part, j'ai une autre technique assez simple aussi : j'affiche dans un projet QGIS (où j'ai préalablement désactivé la reprojection à la volée) les contours de la France dans tous les systèmes de projection les plus courants (ie ceux présentés plus haut) par le biais des couches libres de l'IGN par exemple (départements geofla). Puis j'affiche la couche dont je souhaite connaitre la projection et je regarde simplement dans quelles limites la couche se positionne, ce qui m'indique directement la projection.
Au besoin, je n'ai plus qu'à reprojeter avec QGIS ou IGN Map.

Une appli qui peut aider

J'avais fais une petite appli en flash pour aider à trouver quelle était la projection d'une couche (parmis les projections françaises courantes).
Ca peut sans doute aider
http://db-geographic.com/_apps/projection/

On aura remarqué l'erreur

On aura remarqué l'erreur dans la formule présente dans l'illustration sur les coniques conformes 9 zones.

Merci pour la remarque, tu

Merci pour la remarque, tu aurais pu donner l'erreur cela aurait pu intéresser du monde.

Phi2 = Phi0 + 0,75 (au lieu de - 0,75)

Je vois plutôt une inversion

Je vois plutôt une inversion entre X0 et Y0, le X0 étant constant quelque soit les zones. Mais en effet, Phi1 et Phi2 doivent être différents.

Mais comme je n'ai pas les formules exactes sous la main, je ne vais pas indiquer la correction précise. Et non, je ne garde pas jalousement le savoir mystérieux des formules de projections cartographiques, si j'avais vraiment en tête la formule exacte, je l'aurais mise... Et puis je ne voulais pas m'attarder trop sur un petit détail, le texte de l'article étant juste.

Après vérification, sur http://geodesie.ign.fr/contenu/fichiers/Lambert93_ConiquesConformes.pdf c'est bien une inversion entre X0 et Y0 qu'il faut noter, et le Phi1 = Phi0 + 0.75 (ou Phi2, peu importe)

++

Salut JérômeEffectivement

Salut Jérôme
Effectivement c'est tout à fait exacte, je n'avais pas fait attention à l'inversion. Je vais modifier l'illustration en mettant celle proposée dans la fiche que tu indiques.
Ma remarque avait pour but non pas que tu donnes l'erreur exacte mais où elle se situait pour éviter que les personnes peu coutumières de ce genre de formule ne cherche pendant des heures l'erreur.
Tu as raison la figure n'était là que pour illustrer les différentes zones CC, en fait je ne voulais pas les formules au départ, mais l'illustration n'étant pas de moi, je ne voulais pas la modifier.
Merci pour les précisions car finalement, elles sont très importantes pour comprendre comment fonctionne Y0 que j'évoque dans l'article.

Merci pour cet article qui

Merci pour cet article qui reflète bien un problème récurent.

Personnellement je rajouterais en lien http://spatialreference.org/ qui m'a sauvé la mise avec des systèmes de coordonnée exotique ou non.

Il faut connaitre le nom du système de coordonnées (ce qui peut effectivement aller à l'encontre de l'article), mais en contrepartie il donne quelque chose de très visuel, en donnant pas mal d'information sur la projection, la zone, la position, la boite englobante.

Il donne également les éléments pour intégrer dans la plupart des SIG un système inconnu.

Exemple en cherchant CC44 : http://spatialreference.org/ref/epsg/3944/

Poster un nouveau commentaire

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement.