Aide:Systèmes de projection
On décrit ici les systèmes de projection des modèles génériques de paramétrage de carte. Ce sont, pour quelques-unes, des versions approchées des systèmes de pseudo[1] projections cartographiques couramment employées.
La catégorie Catégorie:Modèle exemple de géolocalisation automatisée fournit des tests de rendus. Modèle:ClrModèle:Palette Navigation Géolocalisation
Considérations générales
Modèle:Catégorie principale Le problème consiste à convertir la donnée de coordonnées géographiques (latitude, longitude) en position à l'écran (en Aide:Systèmes de projection/Change) pour une carte donnée. Des modèles génériques de paramétrage de carte correspondent aux différents types de projections cartographiques
Cadrage

Les paramètres à fournir sont (essentiellement), suivant le modèle générique, parmi ces paramètres :
- les latitudes en degrés :
top,latitude,bottom - les longitudes en degrés :
right,longitude,left - les tailles en pixels Aide:Systèmes de projection/Change
Puisqu'en l'état actuel des choses, beaucoup de modèles ne fournissent pas directement les paramètres latitude et longitude. Il existe deux modèles Modèle:M et Modèle:M qui permettent d'obtenir ces valeurs.
Décomposition de la projection
En réalité un modèle de paramétrage de carte ne fournit pas une position à l'écran ;
mais un couple (x,y) Aide:Systèmes de projection/Change.
Les modèles de paramétrage de carte implémentent donc deux fonctions de conversion :
x(lat, long),
y(lat,long)
Ces fonctions satisfont les inégalités[2] :
0 ≤ x(lat, long) ≤ Aide:Systèmes de projection/Change,
0 ≤ y(lat,long) ≤ Aide:Systèmes de projection/Change
où (lat, long) sont les coordonnées géographiques d'un point exprimées en degrés.
Un modèle (générique) de paramétrage de carte retourne donc les coordonnées (x,y) à partir de la donnée des coordonnées (lat,long). Cette conversion se décompose en trois étapes :
- 1) Conversion des degrès en radians :
, ; (, )
- 2) Projection cartographique proprement dite :
- Ici, on considère la Terre comme une sphère parfaite de rayon 1. Les coordonnées géographiques (latitude, longitude) sont ici (,) exprimés en radian. On recherche la conversion en coordonnées (X,Y) du point sur la carte. Le point (0,0) correspondra toujours aux coordonnées (,) et sera le centre de la carte. L'échelle en ce centre est de 1:1[3]. Les fonctions sont donc :
,
- Ces fonctions sont détaillées ci-après.
- 3) Conversion de (X,Y) en (x,y) :
Aide:Systèmes de projection/Change
- et sont (de manière parfois artificielle) :
,
Distance
La distance kilométrique entre deux points géographiques (φ, λ) ; (φ', λ') n'est pas simple à calculer de manière générale. La situation s'améliore lorsque les deux points ont même longitude (i.e., λ=λ') :
D(φ, φ', λ)= |φ-φ'| diam / 2ou même latitude (i.e., φ=φ') :
D(φ, λ, λ')= cos(φ) |λ-λ'| diam / 2Ici diam est le diamètre en km de la planète[4]. Les formules inverses permettent de convertir une distance kilométrique en un angle en radian.
Conversion d'une distance kilométrique verticale
À partir d'un point quelconque (lat, long) donnée en degré, un déplacement d'une distance D vers le Sud se traduit par une variation d'angle :
Aide:Systèmes de projection/Change Aide:Systèmes de projection/Change
Conversion d'une distance kilométrique horizontale
De manière similaire, un déplacement d'une distance D vers l'Ouest à partir du point (lat, long), se traduit par une variation d'angle :
Aide:Systèmes de projection/Change Aide:Systèmes de projection/Change
La projection équirectangulaire
Aide:Systèmes de projection/Change
Échelle
Modèle:Article détaillé Modèle:... Si la carte n'est pas déformée, les deux coefficients et doivent être égaux et donnent l'échelle globale de la carte (non redimensionnée) en pixels par dégrés (de latitude ou, de longitude à l'équateur).
En réalité, Modèle:M est le seul modèle à employer les paramètres left, right ; les autres utilisent simplement longitude. C'est donc qui doit être retenu pour l'échelle.
Déformation
Modèle:Article détaillé La déformation est le rapport entre échelle horizontale et échelle verticale ou encore, pour une distance donnée, le rapport des longueurs (en pixels) de la représentation de cette distance sur un méridien et un parallèle.
où
Modèle:M calcule une déformation locale en un point quelconque de la carte. La formule est
lat, long) = Modèle:M calcule la déformation locale au centre de la carte. Donc :
déformation centrale = déformation(latitude, longitude).On emploie Modèle:M, Modèle:M pour déterminer ce centre.
Notons que Déformations centrale et globale donnent le même résultat pour la Modèle:M. Modèle:Boîte déroulante/début Les formules de projection sont dans ce cas:
x(long)=Aide:Systèmes de projection/Change(long-left)/(right-left)y(lat)=Aide:Systèmes de projection/Change * (top-lat)/(top-bottom)On en déduit que
x(longitude+A)-x(longitude)=Aide:Systèmes de projection/ChangeA/(right-left)y(latitude-B)-y(latitude)=Aide:Systèmes de projection/Change * B/(top-bottom)Ici A=0.01/cos(π/180 latitude), B=0.01. Donc
iwidth/iheight * (top-bottom)/(right-left) * 1/cos(π/180 latitude) = déformation globaleUne déformation de 1 correspond en théorie à une absence de déformation. En réalité, à cause de l'aplatissement de la Terre, le rapport optimal est
| Circonférence équatoriale | 40 075 km | |||
|
|
= |
|
≈ | 1,0017 |
| Circonférence sur un méridien | 40 008 km |
Une déformation supérieure à 1 correspond à un écrasement vertical[5].
Omis Modèle:M, les modèles emploient (ou déformation* lorsque le paramètre déformation existe) au lieu de .
Excentrage
Certaines cartes ont été recadrées. La conséquence de ce recadrage est que le méridien central (qui est vertical et rectiligne) se trouve excentré, voire même, hors carte. Pour prendre cela en charge, certains modèles génériques ont un paramètre alternatif x0 pour fournir la position horizontale en pixels du méridien central sur la carte.
De la formule mathématique à celle du modèle
Récapitulons : Les formules mathématiques de la projection sont
,
et le code d'un modèle (générique ou optimisé) de paramétrage de carte présente la forme suivante :
{{#switch:{{{1}}}
|y={{#expr: y({{{2}}}, {{{3}}})
}}
|x={{#expr: x({{{2}}}, {{{3}}})
}}
<!-- ... -->
}}
où
x(lat, long),
y(lat,long)
sont liés aux formules mathématiques par :
où
, [6].
Pour davantage de souplesse (prise en compte de l'excentrage et de la déformation) et pour alléger la formule, on ajoute les paramètres px0, py0, dx, dy, de sorte que le code du modèle devient (pour les projections complexes) :
{{#switch:{{{1}}}
|y={{#expr: {{{py0|50}}} - ({{{dy}}}) * Y( (pi/180)*({{{2}}}), (pi/180)*({{{3}}}) )
}}
|x={{#expr: {{{px0|50}}} + ({{{dx}}}) * X( (pi/180)*({{{2}}}), (pi/180)*({{{3}}}) )
}}
<!-- ... -->
}}
où dx, dy devraient donc être :
dx=, dy=.
Noter qu'au final, ces formules sont indépendantes de (iwidth, iheight) puisque l'on opère en pourcentage.
Projections cylindres ou pseudo-azimutales
- La transformation verticale
- Chez la plupart de ces systèmes de projection, ; cela signifie que les parallèles sont des droites horizontales régulièrement espacés. La transformation verticale est simplement :
y(lat)=Aide:Systèmes de projection/Change * (top-lat)/(top-bottom)Pseudo projection équirectangulaire
C'est la conversion la plus simple :
,
Méridiens et parallèles forment une grille régulière. L'entrée des valeurs top, bottom, right, left, laisse la place à une possible déformation.
x(long)=Aide:Systèmes de projection/Change (long-left)/(right-left)y(lat)=Aide:Systèmes de projection/Change * (top-lat)/(top-bottom)- Note
- La carte doit normalement résulter d'une projection équirectangulaire. Dans ce cas, il n'y pas de déformation au centre (c'est-à-dire, que l'on aura
déformation=1).
Pseudo projection "linéaire"
Cette conversion est moins approximative car elle tient compte de l'oblicité des méridiens. Méridiens et parallèles demeurent des droites régulièrement espacées.
,
est le développement limité d'ordre 1 de en qui correspond à la projection arquée.
x(lat,long)=Aide:Systèmes de projection/Change1/2+ iheight/iwidth*COEF*(long-longitude)/(top-bottom)Aide:Systèmes de projection/ChangeCOEF= cos(π/180*(top+bottom)/2) - sin(π/180*(top+bottom)/2) * (π/180*(lat-(top+bottom)/2))y(lat)=Aide:Systèmes de projection/Change * (top-lat)/(top-bottom)
Pseudo projection "arquée"
Ici les méridiens sont arqués, les parallèles demeurent des droites régulièrement espacées.
,
Un paramètre supplémentaire a permet d'ajuster l'arquage. Sa valeur doit être positive pour l'hémisphère nord (a=0.4 pour Modèle:M).
x(lat,long)=Aide:Systèmes de projection/Change1/2+ iheight/iwidth*COEF*(long-longitude)/(top-bottom)Aide:Systèmes de projection/ChangeCOEF= cos(π/180*lat)y(lat,long)=Aide:Systèmes de projection/Change * (top-lat-tan(π/180*lat)*a/2*π/180*(long-longitude)^2)/(top-bottom)Projection sur un plan
Projection perspective
La projection la plus naturelle est la vue en perspective, qui correspond à une projection sur un plan tangent à la surface du globe. C'est une projection azimutale. Elle est paramétrée par la donnée d'une échelle, et la donnée de la position d'un point de convergence (la position de l'œil) que l'on donne en coordonnées sphérique : où . Le plan de projection est alors tangent à la sphère au point (le centre de projection).
Si C est le centre de projection, D le point de convergence, la projection d'un point S de la surface du globe est simplement le point P d'intersection de la droite SD avec le plan. Les valeurs (X,Y) sont les coordonnées du vecteur CP dans un repère orthonormé (d'origine C) du plan de projection. et appartiennent au plan et et sur l'axe CD. On choisira bien sur le repère où est dans un plan horizontal (afin que l'axe Nord-Sud soit vertical).
Modèle:Boîte déroulante/début Coordonnées cartésiennes des points (dans le repère du globe) :
Le point P étant sur la droite SD, il s'écrit : . Le point P étant également dans le plan de projection (caractérisé par (x,y,z)C=0), on a .
Pour alléger l'écriture, on pose où et . Donc
.
On en déduit la valeur de :
.
où
D'autre part, le repère du plan de projection est défini par :
et le vecteur CP a (X,Y,0) pour coordonnées dans ce repère. On en déduit P-C = X i' + Y j' ; puis les valeurs X et Y.
Et l'on vérifie :
Enfin Y s'écrit également :
,
où
Voir Vertical Perspective Projection
Projection gnomonique
La projection est gnomonique lorsque d=0. La Terre est donc vue depuis son centre. Voir Gnomonic Projection.
Projection stéréographique
La projection est stéréographique lorsque d=-1. La Terre est donc vue depuis l'antipode du centre de projection. Voir Stereographic Projection.
Projection orthographique
La projection est orthographique lorsque d=. La Terre est donc vue "à l'infinie".
Projection azimutale équivalente de Lambert
Modèle:Article détaillé La projection azimutale équivalente de Lambert est assez proche de la projection perspective et plus particulièrement de la projection stéréographique où les parallèles divergent également.
Les formules ont la même forme générale que celles de la projection perspective
,
mais est plus complexe que :
Sur l'axe vertical central (où ), la formule se simplifie et l'on obtient :
,
Voir Lambert Azimuthal Equal-Area Projection.
Projections coniques
Les caractéristiques de la projection coniques sont (généralement) :
- Les parallèles sont des cercles
- Les méridiens sont des droites régulièrement espacées qui se coupent en un pôle.
La formule générale est
, , où .
où est la latitude top, et la longitude du méridien central, toutes deux exprimées en radian.
Les différences résident donc dans la fonction (de calcul du rayon) et le coefficient [7].
Projection coniques linéaires
Ici les parallèles sont régulièrement espacées ; autrement dit, est linéaire :
G sera la latitude où les méridiens se croisent.
On parle des « projection conique équidistante ». On considère 2 cas (tangent et sécant) :
Projection conique linéaire tangente
Ici la projection ne dépend que (latitude du parallèle tangent). sont des coordonnées polaires. Donc et :
, .
Projection conique équidistante sécante
Modèle:Article détaillé la projection conique équidistante ou projection de Delisle est basée sur 2 latitudes (cône sécant).
, , .
Les 2 dernières formules découlent de la propriété : les longueurs des méridiens sécants sont conservés par la projection Modèle:Boîte déroulante/début Sur la sphère, la longueur (le périmètre) du méridien de latitude est
.
Sa projection est un arc de cercle de rayon et d'angle donc de longueur :
.
La propriété se traduit par le système :
; .
L'on obtient par résolution:
; .
Modèle:Boîte déroulante/fin On voit que le rayon n'est pas a priori nul au pôle. Donc, les méridiens n'intersectent pas au pôle (qui faisant varié la longitude forme un arc de cercle), mais au delà (à la latitude G).
Les projections tangentes correspondent aux cas particuliers où ; .
Voir Conic Equidistant Projection.
Projections coniques non-linéaires
et est non-linéaire.
Projection conique centrale sur le cône tangent
Il s'agit d'une projection centrale sur le cône tangent. Ici les parallèles ne sont plus régulièrement espacées mais se répartissent selon la
, , où , .
Les modèles génériques Modèle:M et Modèle:M mettent en œuvre cette projection. Dans le second, les fonctions trigonométriques ont été remplacées pas des développements limités ; ce qui dégrade très légèrement le résultat ; mais améliore considérablement le temps de calcul.
- Les formules de Modèle:M
y(lat, long) = Aide:Systèmes de projection/Change( y0 + ( iheight/2 - y0 ) * ( 1 - t * DLt ) * DLc ) Aide:Systèmes de projection/Changex(lat, long) = Aide:Systèmes de projection/Change( x0 + ( iheight/2 - y0 ) * ( 1 - t * DLt ) * DLs ) /iwidth
- où
DLtest un DL de : DLt = (lat-latitude) * ( pi/180 + (pi/180)^3 / 3 * (lat-latitude)^2 )DLcest un DL de :DLc = 1- (pi/180)^2 / 2 * (long-longitude)^2 * s^2DLsest un DL de :DLs = (long-longitude) * s * ( pi/180 - (pi/180)^3 / 6 * (long-longitude)^2 * s^2 ) )- avec
= pi/180 (long-longitude) * s= sin(pi/180 * latitude)= tan(pi/180 * latitude)- et
(x0, y0)sont les coordonnées en pixels du pôle sur (ou hors de) l'image (x0 = iwidth/2par défaut).
Projection conique centrale sur un cône sécant
Si et sont les deux méridiens sécants et alors :
.
Ces projections sont en réalité toutes identiques à la projection sur le cône tangent, à une déformation près, puisque l'absence de déformation n'est pas sur le méridien centrale mais sur les deux méridiens sécants.
Pseudo projections coniques complexes
Les cartes actuelles emploient généralement des (pseudo) projections coniques complexes (souvent appelées « projection conique modifiée ») tels que la projection sur un cône sécant, et surtout la projection de Lambert. La formule théorique générale est alors trop complexes pour être implémentées.
Heureusement les modèles Modèle:M et Modèle:M possèdent l'un et l'autre, un paramétrage suffisamment souple pour "émuler" ces systèmes de projections complexes. Ces modèles ne permettent donc qu'une approximation de la projection conique modifiée en paramétrant davantage (ce qui permet un meilleur ajustement en "jouant" sur les paramètres).
Autres projections
Projection polyconique
La projection polyconique n'est pas à proprement parler une projection conique (les méridiens ne sont pas rectilignes) ; mais elle ressemble à un accolement de 2 projections coniques (pour chaque pôles). On doit plutôt la considérer comme une projection azimutale car elle dépend d'un point central (le point tangent). La parallèle centrale de latitude 0, est une droite horizontale qui, en quelque sorte, marque la séparation entre les deux cônes.
,
Voir Mathworld's page on polyconic projections
Pseudo projection sinusoïdale
La projection sinusoïdale[8] est caractérisée par le fait que les méridiens ont une forme sinusoïdale et sont régulièrement espacés (avec un écartement maximal à l'équateur), les parallèles demeurent des droites régulièrement espacées. La latitude est donc celle de la projection équirectangulaire. Donc
,
Pour tenir compte d'un possible excentrage de la carte, le paramétrage est basé (là encore) sur les coordonnées de cadrage left, right, top, bottom.
longitude donne la longitude centrale (où le méridien est une droite); donc (right-left)/2 a priori. Il n'y a pas de paramètre latitude car la latitude centrale est toujours 0.
Plus précisément, left, right seront les longitudes des bords de la carte au niveau de l'équateur ; top, bottom les latitudes des bords de la carte au niveau de longitude.
On obtient :
x(lat,long)=100/(right-left)* [ (longitude-left) + cos(pi/180*lat)*(long-longitude) ]y(lat)=100 * (top-lat)/(top-bottom)- Congruence
- les paramètres
left,rightpeuvent sortir du cadre (pour une carte centrée sur l'océan Pacifique, typiquement). Il serait alors nécessaire de recadrer la longitude fournie (le paramètre3de Modèle:M) dans l'intervalle[left,right]avant projection... ce qui alourdirait considérablement les formules. A partir de la valeurlongfournie, la valeurlong'utilisée serait :
long'= long+360 si long<left; long-360 si right<long; long sinon.- De plus, ce test est trop restrictif car l'intervalle
[left,right]est un minima. - Note : dans le cas particulier où la Terre entière est représentée, on peut plus simplement ajouter
... mod 100à la formule pour rester dans la fourchette0<= =<100.
Voir aussi
- Table of examples and properties of all common projections, from radicalcartography.net
Références
- ↑ On a pris le soin de distinguer sous le terme « pseudo projection » des transformations qui ne peuvent être assimilées à des projections au sens mathématique du terme.
- ↑ cet encadrement n'est bien sur plus valable lorsque le point est hors-carte.
- ↑ c'est-à-dire, une distance de 1 sur la shère donne une distance de 1 sur la carte en son centre ; ou encore en terme mathématique, on a dY=dϕ, dX=dλ au centre.
- ↑ si l'on considère la planète en question comme une sphère parfaite.
- ↑ ou un étirement horizontal, selon le point de vue.
- ↑ Donc
=(pi/180)*({{{2}}});=(pi/180)*({{{3}}});=(pi/180)*({{{latitude}}});=(pi/180)*({{{longitude}}});=(pi/180)*({{{latitude1}}}); etc. - ↑ Si l'on voir la projection comme un éventail, le coefficient détermine l'ouverture de l'éventail
- ↑ La projection sinusoïdale est aussi appelée projection de Samson ou de Flamsteed.