Vous êtes sur la page 1sur 52

Cartographie

Version provisoire

Gérard Blanchet

7 Septembre 2007
2
Table des matières

Chapitre 1 Introduction 5

Chapitre 2 Géométrie de l’ellipsoı̈de 9


2.1 Systèmes cartographiques . . . . . . . . . . . . . . . . . . . . . . 9
2.1.1 Quelques définitions . . . . . . . . . . . . . . . . . . . . . 9
2.1.2 Géométrie . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Systèmes de coordonnées sur l’ellipsoı̈de . . . . . . . . . . . . . . 9
2.2.1 Longueur d’arc de méridien . . . . . . . . . . . . . . . . . 12
2.2.2 Changement de systèmes de coordonnées . . . . . . . . . 12
2.3 Altitudes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.1 Pesanteur et géoı̈de . . . . . . . . . . . . . . . . . . . . . . 14
2.3.2 Les altitudes . . . . . . . . . . . . . . . . . . . . . . . . . 15

Chapitre 3 Projections 19
3.1 Les types de projections . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.1 Nature des représentations . . . . . . . . . . . . . . . . . 19
3.1.2 Représentations . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2 Projection de Lambert . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.1 Projection conforme de Lambert . . . . . . . . . . . . . . 20
3.2.2 Projection de Lambert à une parallèle automécoı̈que . . . 21
3.2.3 Projection de Lambert à deux parallèles automécoı̈ques . 21
3.2.4 Les projections de Lambert utilisées en France . . . . . . 22
3.3 Les projections UTM . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3.1 Les projections UTM, transformation directe . . . . . . . 25
3.3.2 Les projections UTM, transformation inverse . . . . . . . 27

Chapitre 4 Programmes 29
4.1 Les fonctions de calcul utilisées . . . . . . . . . . . . . . . . . . . 29
4.1.1 Lambert . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2 Exemple d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2.1 UTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3 Programmes C . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.3.1 Lambert . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.3.2 UTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Chapitre 5 Annexes 45
5.1 Mercator sphérique . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.2 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.3 Eléments divers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.4 Données diverses . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4 Cartographie

Bibliographie 49

Index 51
Chapitre 1

Introduction

L’origine des cartes (voir référence 13, page 50) est impossible à préciser. Une
des premières connues date de l’époque babylonienne, environ 6000 ans avant
J-C. On considère que l’utilisation des sciences en cartographie date du IV-ème
siècle avant J-C (Dicéarque de Messine). Les premières cartes prenant en compte
le “volume” de la terre datent du XVI-ème siècle (Gerhard Kremer, 1512-1594)
et sont basées sur une projection de Mercator. La terre est supposée sphérique.
Une projection (figure 1.1 ) sur un cylindre tangent à l’équateur est effectuée de
telle sorte que les angles à la surface de la sphère et sur la carte soient égaux
(projection conforme) (voir paragraphe 5.1 en annexe).

M P
P
M

Figure 1.1 Projection de Mercator

Tous les systèmes cartographiques nécessitent quatre informations :


1. un modèle de volume pour la terre : les dimensions d’un ellipsoı̈de, lequel
peut être local ou global (cas le plus général en raison de l’utilisation
maintenant universelle du GPS),
2. un modèle de la surface terrestre (le géoı̈de de référence ou surface d’équi-
gravité de référence),
3. un système de projection de l’ellipsoı̈de sur une surface développable
(référence 14, page 50),
4. un système de coordonnées.
Lambert (1728-1777), Bonne (1727-1794) et Gauss (1777-1855) ont apporté
aux premières projections cylindriques un certain nombre d’améliorations qui
6 Cartographie

Figure 1.2 Carte de France de Mercator

ont conduit à la cartographie moderne et les premières cartes dignes de ce nom


ont été mises en œuvre par Picard (1669-1671) et Cassini (1733-1740) (cartes
topographiques au 1:86400, voir figure 1.3 ).

Figure 1.3 Extrait de carte de Cassini (source : BNF)

Avant 2001 le système de référence était le NTF (Nouvelle triangulation de la


France), avec l’ellipsoı̈de de Clarke 1880 IGN, le méridien d’origine étant défini
par Paris-Panthéon. Les longitudes et latitudes étaient indiquées en grades. On
utilisait les quatre projections dites Lambert I (Nord), II (Centre), III (Sud),
IV (Corse) et II étendue (ensemble de la France). La précision attendue était de
l’ordre du centimètre par kilomètre (sauf pour le Lambert IIe). Les altitudes sont
mesurées relativement au niveau moyen de la mer à Marseille (le marégraphe).
Les demi grand et petit axes de l’ellipsoı̈de sont a = 6378249,1450 et
b = 6356514,869550.
Introduction 7

Le système RFG93
La loi d’aménagement du territoire de 1999 indique que toutes les références
géographiques doivent être rattachées au “système national de référence de
coordonnées géographiques, planimétriques et altimétriques”. Celui-ci est
compatible avec le système européen ETRS89. Le décret d’application su
26/12/2000 définit les systèmes de référence à utiliser en France métropolitaine
et dans les départements d’outre-mer :

Système
Zone géodésique Ellipsoı̈de Projection
France RGF93 IAG GRS 1980 Lambert-93
Guadeloupe WGS84 IAG GRS 1980 UTM Nord fuseau 20
Martinique WGS84 IAG GRS 1980 UTM Nord fuseau 20
Guyane RGFG95 IAG GRS 1980 UTM Nord fuseau 22
Réunion RGR92 IAG GRS 1980 UTM Sud fuseau 40
Les ellipsoı̈des GRS80 ou WGS84 (World Geodetic System 1984) ne diffèrent
que de quelques millimètres. Le choix de l’ellipsoı̈de WGS84 est lié à l’avènement
du GPS. Le méridien d’origine est celui de Greenwich. Les longitudes et
latitudes sont indiquées en degrés sexagésimaux. Les systèmes GPS donnent
une hauteur ellipsoı̈dale. Les GPS fournissent aujourd’hui une correction et
l’altitude délivrée est proche des altitudes indiquées sur les cartes (hauteur
par rapport au niveau de la mer). La projection utilisée pour la France
métropolitaine est la projection Lambert-93.
Le géoı̈de utilisé pour les altitudes est le géoı̈de WGS84 défini par pas de
0,25˚par la NIMA (National Imagery and Mapping Agency).
Le passage de la NTF au RGF93 (Réseau Géodésique Français) se fait
à l’aide d’une translation et d’une rotation. On utilise en outre un facteur
d’échelle et une table de transformation (GR3DF97A) permettant d’affiner le
positionnement sur la carte.

Le système UTM
Le système UTM (Universal Transverse Mercator) est une projection
cylindrique conforme de Lambert. Dans cette représentation, le méridien moyen
et l’équateur sont des droites perpendiculaires [3]. La projection s’effectue à
partir du centre de la terre sur un cylindre tangent à l’équateur. La terre est
divisée en “bandes” de 6˚numérotées de 1 à 60 (la France se trouve dans les
bande 30, 31 et 32). Les bandes sont subdivisées en 20 bandes de 80˚Sud à
84˚Nord et repérées par des lettres. Les coordonnées sont données en mètres.
Le méridien de référence de chaque fuseau est le méridien central du fuseau dont
on fixe la valeur à 500 000 m, tandis que la latitude de l’équateur a pour valeur
0 [2].

Les altitudes
Le problème des altitudes est celui de la définition d’un “niveau zéro”. Celui-
ci a longtemps été défini en France métropolitaine à l’aide du marégraphe de
Marseille qui fournissait un niveau moyen de référence. En fait des mesures
gravimétriques montrent que la surface de niveau zéro (surface d’équi-gravité)
8 Cartographie

présente de nombreuses irrégularités. On définit ainsi une surface de référence


désignée par géoı̈de. Un modèle mathématique de cette surface a été défini : le
quasi-géoı̈de. Les altitudes “normales” sont prises relativement à cette surface.
En France ce modèle est désigné par QGF98. Une table de valeurs dite
grille RAF98, donne en tout point de la France la différence de hauteur entre
l’ellipsoı̈de GRS80 (système RGF93) et le QGF98. Cette grille est importante
puisqu’elle permet de passer d’une hauteur ellipsoı̈dale fournie par un GPS à
une altitude par rapport au QGF98 (système de nivellement légal IGN69) (voir
[4]).

Figure 1.4 Repère altimétrique

Figure 1.5 Héliotrope de Gauss utilisé, et modiifé, par F. Perrier à partir de 1870
pour la révision de la méridienne de la France
Chapitre 2

Géométrie de l’ellipsoı̈de

2.1 Systèmes cartographiques


2.1.1 Quelques définitions
Equation de l’ellipse :

x = a cos ψ
[2.1]
y = b sin ψ

La distance focale est donnée par c = a2 − b2 . Les foyers sont en F ′ (−c, 0)
et F (c, 0). Si M est un point de l’ellipse, alors M F + M F ′ = 2a. On appelle
première excentricité e, deuxième excentricité e′ et aplatissement les quantités :
a2 − b2 a2 − b2
e2 = 2
et e′2 =
a b2
a−b
f=
a
Dans le système NTF (Nouvelle Triangulation de la France), avec l’ellipsoı̈de
“Clarke 1880 IGN”, a = 6378249, 2, f = 1/293,466021, e = 0,08248325676.
Dans le système RGF93 (Réseau Géodésique Français), a = 6 378 137, f =
1/298,257 222 101, e = 0,081 819 191 043.

2.1.2 Géométrie
Le point N de la figure 2.1 a pour latitude paramétrique l’angle ψ. Ses
coordonnées sont :

 x = a cos λ cos ψ
y = a sin λ cos ψ [2.2]
y = b sin ψ

2.2 Systèmes de coordonnées sur l’ellipsoı̈de


Un vecteur normal a pour composantes :

 x = a cos λ cos ϕ
~
N y = a sin λ cos ϕ [2.3]
y = b sin ϕ

10 Cartographie

a
b

ψ a
λ

Figure 2.1 Latitude paramétrique ψ

Q
D

b
N

ψ
θ ϕ C
O a

Figure 2.2 Latitudes géographique ϕ et géocentrique θ

ϕ est la latitude géographique. Le point N dans le plan (Oz, ~uλ ) est donné par
(a cos ψ, b sin ψ).
On a a/b = tan ϕ/ tan ψ et on a défini e′2 = (a2 − b2 )/b2 .

 CM sin ϕ = CN sin ψ
 cos ϕ = a

tan ψ [2.4]

 CN = a tan ψ
CM cos ϕ = b sin ψ

sin2 ψ a2
CM2 = b2 cos
 2
2 2

 2 ϕ = b sin ψ(1 + b2 tan ψ)
CN a √ sin ψ

⇒ sin ϕ = CM sin ψ = b [2.5]
1+e′2 sin2 ψ
 ⇒ cos ϕ = √ cos ψ


′2 2
1+e sin ψ

On a aussi :
1
q
p
2
= 1 − e2 sin2 ϕ [2.6]
1+ e′2 sin ψ
Le vecteur tangent le long d’un méridien a pour composantes (−a sin ψ, b cos ψ)
(figure 2.3 ). La variation le long d’un parallèle est donnée par a cos ψdλ.
Géométrie de l’ellipsoı̈de 11

a
b

a
λ

Figure 2.3 Variation à la surface de l’ellipsoı̈de

⇒ ds2 = (a2 sin2 ψ + b2 cos2 ψ)dψ 2 + a2 cos2 ψdλ2 [2.7]


D’après 2.5 on a :
sin ϕ a
p = sin ψ [2.8]
e2
1 − sin ϕ 2 b
cos ϕ
p = cos ψ [2.9]
1 − e2 sin2 ϕ

cos ϕdϕ e2 sin2 ϕ cos ϕdϕ


+ = [2.10]
(1 − e2 sin2 ϕ)1/2 (1 − e2 sin2 ϕ)3/2
(1 + e2 sin2 ϕ) cos ϕdϕ a
= cos ψdψ [2.11]
(1 − e2 sin2 ϕ)1/2 b
sin ϕdϕ e2 cos2 ϕ sin ϕdϕ
+ =
(1 − e2 sin2 ϕ)1/2 (1 − e2 sin2 ϕ)3/2
(1 + e2 cos2 ϕ) sin ϕdϕ
= sin ψdψ [2.12]
(1 − e2 sin2 ϕ)1/2

Dans l’espace λ, ϕ, et en notant w = (1 − e2 sin2 ϕ)1/2 , cela donne :


ds2 = (a2 sin2 ψ + b2 cos2 ψ)dψ 2 + a2 cos2 ψdλ2
b2 a2
= 2
dψ 2 + 2 cos2 ϕdλ2 [2.13]
w w
Or :
b dϕ b dψ b dϕ
tan ϕ = tan ψ ⇒ = ⇒ dψ = [2.14]
a cos2 ϕ a cos2 ψ a w2

b4 a2
⇒ ds2 = dϕ 2
+ cos2 ϕdλ2
a2 w6 w2
a2 (1 − e2 )2 2 a2
= dϕ + 2 cos2 ϕdλ2 [2.15]
w6 w
Les coordonnées λ et ϕ définissent un système de coordonnées orthogonales
non symétriques. On se définit un système de coordonnées ϕ et L, latitude
12 Cartographie

isométrique, qui soit symétrique (il faut vérifier que L est fonction croissante de
ϕ). Cela implique que :
a2 a2 (1 − e2 )2 2
2
cos2 ϕdL2 = dϕ [2.16]
w w2
h  π ϕ i e 1 + e sin ϕ
L = ln tan + − ln [2.17]
4 2 2 1 − e sin ϕ

2.2.1 Longueur d’arc de méridien


D’après 2.15, l’élément de longueur, noté dβ, le long d’un méridien est donné
par :
a(1 − e2 )
dsm = dβ = dϕ [2.18]
w3
Considérons l’équation de l’ellipse dans un plan méridien :

x = a cos ψ
z = b sin ψ
Le calcul direct du rayon de courbure est donné par :
(x′2 + z ′2 )3/2 (a2 sin2 ψ + b2 cos2 ψ)3/2
R = =
x′ z” − x”z ′ ab
(a2 sin2 ψ + b2 (1 − sin2 ψ))3/2
=
ab
b2 b2 a(1 − e2 )
= (1 + e′2 sin2 ψ)3/2 = 3
=
a aw w3
On retrouve bien le résultat donné dans 2.15.
L’intégration de 0 à ϕ donne la longueur de l’arc entre l’équateur et le point
de latitude ϕ. Cette intégration se fait numériquement de la façon suivante :
β = a(b0 ϕ + b1 sin 2ϕ + b2 sin 4ϕ + b3 sin 6ϕ + b4 sin 8ϕ) [2.19]
2 4 6 8
e 3e 5e 175e
b0 = 1 − 4 −
64 − 256 − 16384
2 4 6
105e8
b1 = − 3e8 − 3e 45e
32 − 1024 − 4096
avec 15e4 45e6 525e8 [2.20]
b2 = 256 + 1024 + 16384
35e6 175e8
b3 = − 3072 − 12288
315e8
b4 = 131072

2.2.2 Changement de systèmes de coordonnées


On considère un point M quelconque de l’espace et sa projection M∗ normale
sur l’ellipsoı̈de. Les coordonnées géographiques de M sont λ, ϕ, h où h est la
hauteur de M au-dessus de l’ellipsoı̈de. Etant donné M∗ et les relations 2.10 et
2.13, on a :
 ∗
 x = a cos λ cos ψ = a cos λ cos ϕ/w
y ∗ = a sin λ cos ψ = a sin λ cos ϕ/w [2.21]
z = b2 sin ϕ/(aw)
 ∗
Géométrie de l’ellipsoı̈de 13

Le vecteur unitaire normal a pour composantes :



 cos λ cos ϕ
sin λ cos ϕ [2.22]
sin ϕ

Le point M a alors pour coordonnées :



X = wa + h cos λ cos ϕ




Y = wa + h sin λ cos ϕ

[2.23]
  
 Z = b2 + h sin ϕ

aw

function [X,Y,Z]=lph2xyz(lambda,phi,ht)
%%================================%
%% Conversion pour WGS84 %
%% (a=6378137; e2=0.00669438002;) %
%%================================%
a=6378137; e2=0.00669438002;
sp=sin(phi); cp=cos(phi);
w=sqrt(1-e2*sp*sp);
X=(a/w+ht)*cos(lambda)*cp;
Y=(a/w+ht)*sin(lambda)*cp;
Z=((1-e2)*a/w+ht)*sp;
return

Le passage des coordonnées géographiques à cartésiennes est plus délicat. Il


impose une méthode itérative dont une solution est donnée par B. R. Bowring
[1].
p q Y
Rxy = X 2 + Y 2 ; Rxyz = Rxy 2 + Z 2 ; λ = atan [2.24]
X
ae2
  
z
u = atan (1 − f ) + [2.25]
Rxy Rxyz
z(1 − f ) + ae2 sin3 u
 
ϕ = atan [2.26]
(1 − f )(Rxy − ae2 cos3 u)
p
h = Rxy cos ϕ + Z sin ϕ − a 1 − e2 sin2 ϕ [2.27]

function [lambda,phi,ht]=xyz2lph(X,Y,Z)
%%================================%
%% Conversion pour WGS84 %
%% (a=6378137; e2=0.00669438002;) %
%%================================%
a=6378137; e2=0.00669438002;
f=1-sqrt(1-e2); Rxy=sqrt(X*X+Y*Y);
R=sqrt(X*X+Y*Y+Z*Z);
lambda=atan(Y/X);
mu=atan(((1-f)+(e2*a/R))*Z/Rxy);
num=Z*(1-f)+e2*a*sin(mu)^3;
den=(1-f)*(Rxy-e2*a*cos(mu)^3)
phi=atan(num/den);
ht=(Rxy*cos(phi))+Z*sin(phi)-(a*sqrt(1-e2*sin(phi)^2));
return
14 Cartographie

b
M
h

M*

ψ ϕ
O a

Figure 2.4 Conversion de système de coordonnées

2.3 Altitudes
2.3.1 Pesanteur et géoı̈de
La surface d’un liquide au repos fournit une équipotentielle du champ de
pesanteur 1 . Les mesures d’altitudes devraient donc se faire relativement à une
équipotentielle W dont dérive le champ de pesanteur, ~g = gradW ~ , ce qui permet
de définir une surface de référence : le géoı̈de (figure 2.5 ). Cette équipotentielle,
de potentiel noté W0 , est celle qui coı̈ncide au mieux avec le niveau moyen des
océans. Ce dernier ne correspond en fait pas exactement avec le géoı̈de en raison
de phénomènes tels que attraction de la lune, vents marins. . . .
Le potentiel de pesanteur au point A est défini par :
Z A Z A
W (A) − W0 = ~
~g dl = − gdh
A0 A0

On définit ainsi la cote géopotentielle d’un point A comme le travail pour se


rendre d’un point A0 de la surface du géoı̈de (surface de référence) au point A.
A la surface des continents, pour peu que l’on dispose de mesures gravimétriques
précises, on peut évaluer la cote géopotentielle par :
N
X −1
W (A) − W0 ≈ − gk δhk
k=0

De la même façon que l’on se donne un modèle ellipsoı̈dal pour la géométrie


de la terre, on définit un champ de pesanteur normal de la façon suivante :

1. On choisit (généralement) un ellipsoı̈de géocentrique E,

2. E tourne sur lui-même à la vitesse ω,

3. La masse de l’ellipsoı̈de est celle de la terre augmentée du poids de


l’atmosphère,
1 Les éléments de ce paragraphe proviennent du document IGN “Conversion
altimétrique. . . ” dont la référence est donnée page 50.
Géométrie de l’ellipsoı̈de 15

Ligne de force

Equipotentielle
A

Equipotentielle de référence A0

Figure 2.5 Surfaces équipotentielles et champs de pesanteur

4. E est une équipotentielle du champ normal et le potentiel choisi est celui


de la géoı̈de W0 .
Le module du vecteur de pesanteur normal sur l’ellipsoı̈de est :
aγe cos2 ϕ + bγp sin2 ϕ
γ0 = p (Formule de Somigliana) [2.28]
a2 cos2 ϕ + b2 sin2 ϕ
où γe et γp sont respectivement les pesanteurs normales équatoriale et polaire
sur l’ellipsoı̈de et ϕ la latitude géographique.

γp h
M
γo
Me

ϕ
γe

Figure 2.6 Pesanteur normale en un point

Etant donné G constante de la gravitation universelle, M la masse de la


terre, en posant :
a−b ω 2 a2 b
f= et m =
a GM
on calcule le module γ de l’accélération normale de la pesanteur à la hauteur h
(figure 2.6 ) par :
 
2 3
γ = γ0 1 − (1 + f + m − 2f sin2 ϕ)h + 2 h2
a a

2.3.2 Les altitudes


L’utilisation de la cote géopotentielle, bien que séduisante en raison de son
invariance vis-à-vis du chemin suivi pour passer du point A0 à A (figure 2.5 ),
s’avère peu pratique pour mesurer des altitudes : différence entre altitude et
dénivelée mesurée, unités en m2 /s2 . . . Pour cette raison, on définit plusieurs
types d’altitudes en divisant cette cote géopotentielle par une valeur de g.
16 Cartographie

Définition 2.1 L’altitude d’un point M est sa hauteur par rapport à une surface
de référence peu différente du géoı̈de. Comme seule est invariante la différence
de potentiel, on est amené à introduire la définition suivante :

∗ W (A) − W (M )
HM = ∗
γM

où indique la possibilité de définition de plusieurs types d’altitudes.

Selon la valeur prise pour γM , on définit altitudes orthométrique, dynamique
ou normale :

1. Altitude orthométrique : celle-ci est évaluée le long d’une ligne du champ


de pesanteur M0 -M (figure 2.7 ).

Hortho
h
A gk
Géoïde
M0
Ellipsoïde N

Figure 2.7 Altitude orthométrique

Sa définition est :

W (A) − W (M )
Hortho =
γm

où γm est la moyenne des valeurs entre les pesanteurs calculées (valeurs
théoriques, formule 2.28) aux points M0 et M.Hortho est peu différente
de la hauteur ≪ au-dessus du niveau de la mer ≫.
Le calcul de l’altitude orthométrique fait intervenir une approximation
de ∂g/∂H. On utilise généralement une approximation dite de Bruns
(altitudes orthométriques de Helbert)

∂g
≈ −2gJ + 4πGρ − 2ω 2
∂H

dont une évaluation numérique a été donnée par Poincaré-Prey :


 
∂g
≈ −0,848 10−6 s−2
∂H moyen

Vues les courbures des champs de gravité, la hauteur ellipsoı̈dale et


Hortho + distance entre géoı̈de et ellipsoı̈de ne diffèrent que de moins d’un
mm.
Géométrie de l’ellipsoı̈de 17

2. Altitude dynamique :

W (A) − W (M )
Hdynamique =
γ45˚,0m

où γ45˚,0m est la valeur théorique (formule 2.28) de la pesanteur pour ϕ =


45˚ à l’altitude 0 m. Les altitude dynamiques sont utilisées, accompagnées
d’une correction, pour le calcul des altitudes normales. Elles sont par elles-
mêmes trop imprécises pour servir de référence.

3. L’altitude normale est définie en considérant une ligne de force du champ


normal et en évaluant W le long de cette ligne entre l’ellipsoı̈de et
l’équipotentielle dont le potentiel normal est égal au potentiel au point
M (surface sphéropotentielle).

W(M)
Q
U=W(M)

A Hnormale
Géoïde
M0

Ellipsoïde N
Q0

Figure 2.8 Altitude normale

W (A) − W (M )
HN =
γN

où γN est l’accélération normale moyenne calculée entre Q et Q0 sur la


ligne de force du champ normal.

L’altitude normale dépend du choix d’un ellipsoı̈de de référence mais pas de la


répartition des masses dans la croute terrestre.

Définition 2.2 Le quasi-géoı̈de est la surface équipotentielle dont l’altitude


normale est nulle.

Si, pour les altitudes dynamiques et orthométriques, la surface de référence


est le géoı̈de, pour les altitudes normales, c’est le quasi-géoı̈de.

Un système d’altitude est défini par des constantes et des algorithmes qui
jouent sur le système de référence :

− le type d’altitude,

− un point de référence (en principe proche de la valeur délivrée par le


marégraphe),
18 Cartographie

− un réseau de repères de nivellement avec un ensemble de relevés


gravimétriques,

− un moyen de calcul des altitudes des repères.


Chapitre 3

Projections

3.1 Les types de projections


3.1.1 Nature des représentations
Représentations :
1. Equivalentes qui conservent les surfaces : utilisées pour informations
cadastrales ;
2. Conformes qui conservent les angles : utilisées en navigation ;
3. Equidistantes qui conservent les distances sur les méridiens.
Les autres représentations sont dites aphylactiques.

Considérons un plan quelconque, doté d’un repère O~i~j. Les points de ce


plan ont pour coordonnées x(λ, ψ), y(λ, ψ).
1. Equivalence : on considère les transformées d’un élément de méridien de
longueur dψ et celui d’un élément de parallèle de longueur cos ψdλ :
(
∂x ∂x
dx = ∂ψ dψ

dx = ∂λ dλ
~vλ ∂y et ~v ψ ∂y
dy = ∂ψ dψ dy = ∂λ dλ

L’élément de surface est alors ~vλ ∧ ~vψ .


Une représentation équivalente devrait donc satisfaire :
 
∂x ∂y ∂x ∂y
− = cos ψ [3.1]
∂ψ ∂λ ∂λ ∂ψ

2. Conformité : on conserve les angles, donc en particulier < ~vλ , ~vψ >= 0. De
plus les rapports des longueurs des côtés des rectangles sont conservés :

+ ∂y ∂y = 0
( ∂x ∂x
∂ψ ∂λ2 ∂ψ ∂λ [3.2]
∂y 2 ∂x 2 ∂y 2

∂x
∂ψ + ∂ψ cos2 ψ = ∂λ + ∂λ

3. Equidistance :

∂x 2 ∂y 2
+ =1 [3.3]
∂ψ ∂ψ
20 Cartographie

3.1.2 Représentations

Cylindriques dans lesquelles les images des méridiens


sont des droites parallèles et les images des parallèles
des droites orthogonales aux précédentes ;

Coniques dans lesquelles les images des méridiens


sont des demi-droites concourantes aux pôles et les
parallèles sont des cercles concentriques ;

Azimutales lorsque les images des méridiens sont des


demi-droites concourantes aux pôles et les images des
parallèles des cercles concentriques ;

Mériconique lorsque les images des parallèles sont des


arcs de cercle concentriques autour de l’image du pôle
et l’image d’un méridien est une demi-droite passant
par le poôle, les autres méridiens étant quelconques ;

Méricylindrique lorsque les images des parallèles sont


des droites parallèles, l’image d’un méridien étant
une droite perpendiculaire aux parallèles, les autres
méridiens étant quelconques.

Ces dernières représentations ont des avatars “transverses” ou “obliques”.


Ainsi une représentation conique tranverse voit le sommet du cône dans le plan
équatorial. Une représentation stéréographique est azimutale.

3.2 Projection de Lambert


La projection conique conforme Lambert est utilisée par l’IGN pour transformer
les coordonnées géographiques - longitude λ, latitude ϕ géographique - en
coordonnées cartésiennes (x, y) dans le système cartographique NTF (“Nouvelle
Triangulation de la France”).

3.2.1 Projection conforme de Lambert


La projection de Lambert est conique avec le sommet du cône sur l’axe Oz.
D’après 2.15, on a :

a2 (1 − e2 )2 2 a2
ds2 = 2
dϕ + 2 cos2 ϕdλ2 [3.4]
w w
Le long d’un méridien et le long d’un parallèle de l’ellipsoı̈de on a alors
respectivement :

a(1 − e2 ) a
ds = dϕ et ds = cos ϕdλ [3.5]
w w
Projections 21

z
ρ0
ϕc θ0
ρ
ρ0
P

b M

y
ϕ0
O
a
λ
a x

Figure 3.1 Projection de Lambert avec une seule parallèle automécoı̈que

De même, sur la carte, on a respectivement :


ds = dρ et ds = ρdϕc [3.6]
Les conditions de conformité s’écrivent alors :
dρ ρdϕc
− = [3.7]
Rdϕ N dλ cos ϕ
avec :
a(1 − e2 ) a
R= , N= et w = (1 − e2 sin2 ϕ)1/2
w w
On écrit le système 3.7 sous la forme 3.8 :
dϕc N cos ϕ dρ dρ
= n et − = n ou = −ndL [3.8]
dλ Rdϕ ρ ρ
On obtient :

ϕc = n(λ − λ0 ), ρ = Ce−nL et L = [3.9]
N cos ϕ

3.2.2 Projection de Lambert à une parallèle automécoı̈que


Les conditions pour que la parallèle de latitude géométrique ϕ0 soit
automécoı̈que (figure 3.1 ) sont données par :
ρ0 θ0 = 2πN0 cos ϕ0 et ρ0 = N0 / tan ϕ0 ⇒ θ0 = 2π sin ϕ0 [3.10]
Or, ϕc,max = θ0 = 2π sin ϕ0 = n(λ − λ0 ) = n × 2π ⇒
n = sinϕ0 [3.11]
ρ0 = N0 / tan ϕ0 [3.12]

3.2.3 Projection de Lambert à deux parallèles automécoı̈ques


Il existe deux représentations attachées à la présence de deux parallèles
automécoı̈ques : la représentation sécante et la représentation tangente avec
facteur d’échelle.
22 Cartographie

Projection de Lambert sécante


Cette représentation est plutôt utilisée dans les pays anglo-saxons. On considère
deux parallèles automécoı̈ques aux latitudes ϕ1 et ϕ2 (figure 3.2 ).

z
C ϕc θ0
ρ
P
M1
b M2
M1
M2
ϕ2
y ϕ1
O
λ a

a x

Figure 3.2 Projection de Lambert avec deux parallèles automécoı̈ques

Les conditions pour que les deux parallèles soient automécoı̈ques s’écrivent :

ρ1 θ0 = 2πN1 cos ϕ1 et ρ2 θ0 = 2πN2 cos ϕ2 [3.13]

Ce−nL1 Ce−nL2 1
= =
N1 cos ϕ1 N2 cos ϕ2 n

ln[N2 cos ϕ2 ] − ln[N1 cos ϕ1 ]


n= [3.14]
L1 − L2
N1 cos ϕ1 nL1
C= e [3.15]
n

Projection de Lambert tangente avec facteur d’échelle


On définit l’isomètre centrale ϕ0 et un facteur d’échelle k0 < 1 définissant le
rapport des longueurs sur ce parallèle (rapport désigné par module linéaire). Ce
type de représentation est surtout utilisé en France.

n = sinϕ0 [3.16]
ρ0 = N0 k0 / tan ϕ0 [3.17]

3.2.4 Les projections de Lambert utilisées en France


Les projections de Lambert I, II, III et IV
Les projections utilisées traditionnellement sont des projections conformes de
Lambert “tangentes avec facteur d’échelle” avec une modification pour le calcul
des origines. On parle alors de représentation Lambert cartographique.
On rappelle ici l’algorithme :
Projections 23

Données : X0 , Y0 , λ0 , ϕ0 , k0 .
Calcul des paramètres :
n = sin ϕ0
ρ0 = N0 k0 / tan ϕ0
C = ρ0 enL0
XP = X0 , YP = Y0 + ρ0

Passage des coordonnées géographiques (λ, ϕ) à (X, Y ) :


X = XP + Ce−nL sin n(λ − λ0 )
Y = YP − Ce−nL cos n(λ − λ0 )

a(1−e2 )
Avec : w = (1 − e2 sin2 ϕ)1/2 , R = w , N= a
w, L= Rϕ
N cos ϕ .

Les projections sont numérotées m = I, II, III, IV correspondant


respectivement au nord, centre, sud de la France et à la Corse. La représentation
cartographique modifie Y0 en Y0 + m × 1000000.
La version “Lambert II étendu” est une Lambert II utilisée pour l’ensemble
du territoire.

Les projections Lambert 93


Le système géodésique employé pour cette cartographie désormais officielle est
le RFG93 (Réseau Géodésique Français) associé à l’ellipsoı̈de GRS-1980 :
a = 6 378 137 m
e2 = 0,006 694 380 022 90
f = 1/298,257222101
Les paramètres en sont :
λ0 = 3˚ Est de Greenwich
ϕ0 = 46˚30′ Nord
X0 = 700 000 m
Y0 = 6 000 000 m
ϕ1 = 44˚ Nord
ϕ2 = 49˚ Nord
Avec ces valeurs, les coordonnées planes notées E et N sont telles que 100000 <
E < 1200000 et 6000000 < N < 7100000.
La projection “tangente avec facteur d’échelle” équivalente peut être définie
de la façon suivante :
λ0 = 3˚ Est de Greenwich
ϕ0 = 46,519 430 223 99˚ Nord
X0 = 700 000 m
Y0 = 6 602 157,838 81 m
k0 = 0,999 051 028 637 469 1
24 Cartographie

Le point λ0 , ϕ0 correspond à peu près au barycentre de la France


métropolitaine. La projection conique adoptée étant conforme, il subsiste des
altérations sur les valeurs des longueurs.

Initialisation des paramètres


function [x0,y0,k0,lamdaOR,phiOR,phi1,phi2,a,e]=initParam(meth)
%%===========================================================%
%% Initialisation des parametres selon methode de projection %
%% pour la France metropolitaine %
%% SYNOPSIS: [x0,y0,k0,lamdaOR,phiOR,a,e]=INITPARAM(meth) %
%% meth = ’lI’,’lII’,’lIII’,’lIV’,’lIIe’ ou ’l93’ %
%% x0,y0 = reference %
%% lambdaOR = longitude d’origine %
%% phiOR = latitude d’origine %
%% phi1,phi2 = paralleles automecoiques %
%% k0 = facteur d’echelle %
%% a = demi grand axe %
%% e = premiere excentricite %
%%===========================================================%
meth=upper(meth);
meth=str2mat(meth,blanks(4));

if meth(1,:)==’LI ’ % Lambert I
x0=600000; y0=200000; k0=.99987734;
a=6378249.2; e=.08248325676;
phiOR=0.86393797973719; % 49deg 30mn
lamdaOR=0.04079234433203; % 0gr paris
phi1=0.84820423407768; phi2=0.87957458812756;
return %=============================
elseif meth(1,:)==’LII ’ % Lambert II
x0=600000; y0=200000; k0=.99987742;
a=6378249.2; e=.08248325676;
phiOR=0.81681408993335; % 46deg 48mn
lamdaOR=0.04079234433203; % 0gr paris
phi1=0.80108725771693; phi2=0.83245249213433;
return %=============================
elseif meth(1,:)==’LIII’ % Lambert III
x0=600000; y0=200000; k0=.99987750;
a=6378249.2; e=.08248325676;
phiOR=0.76969020012950; % 44deg 06mn
lamdaOR=0.04079234433203; % 0gr paris
phi1=0.75396986926455; phi2=0.78532998889761;
return %=============================
elseif meth(1,:)==’LIV ’ % Lambert IV
x0=600000; y0=200000; k0=.99994471;
a=6378249.2; e=.08248325676;
phiOR=0.73591807910341; % 42deg 09mn 54gr
lamdaOR=0.04079234433203; % 0gr paris
phi1=0.72536560512783; phi2=0.74643653855112;
return %=============================
elseif meth(1,:)==’LIIe’ % Lambert IIe
x0=600000; y0=200000; k0=.99987742;
a=6378249.2; e=.08248325676;
phiOR=0.81681408993335; % 46deg 48mn
lamdaOR=0.04079234433203; % 0gr paris
Projections 25

phi1=0.80108725771693; phi2=0.83245249213433;
return %=============================
elseif meth(1,:)==’L93 ’ % Lambert-93
x0=700000; y0=6600000; k0=.9990510286;
a=6378137; e=.081819191043;
phiOR=0.81157810217736; % 46deg 30mn
lamdaOR=0.05235987755983; % 3deg paris
phi1=0.76794487087750; phi2=0.85521133347722;
return %=============================
else
error(’Parametre methode incorrect’)
end

3.3 Les projections UTM


Dans le cas de l’UTM (Universal Transverse Mercator) on a affaire à une
projection de Mercator conforme. Elle est valable pour l’ensemble du globe
(voir référence 4, page 49). La projection s’effectue sur un cylindre “transverse”
sécant (son axe principal de symétrie est dans le plan équatorial) de section
ellipsoı̈dale (figure 3.3 ).

M
ϕ
λ

Figure 3.3 Mercator UTM sécante

La terre est découpée en 60 “fuseaux” de 6˚(figure 3.5 ) numérotés de 1 à


60. La France couvre 3 fuseaux :

1. UTM Nord fuseau 30 : entre 6 degrés Ouest et 0 degré Greenwich


(méridien origine en −3˚Est de Greenwich),

2. UTM Nord fuseau 31 : entre 0 degré et 6 degrés Est Greenwich (méridien


origine en 3˚Est de Greenwich),

3. UTM Nord fuseau 32 : entre 6 degrés Est et 12 degrés Est Greenwich


(méridien origine en 9˚Est de Greenwich).

3.3.1 Les projections UTM, transformation directe


Le passage des coordonnées géographiques aux coordonnées cartographiques fait
appel à des développements limités. Le calcul de l’arc de méridien fait en effet
appel à une intégrale elliptique de ϕ.
26 Cartographie

0o 1o 2o 3o 4o 5o 6o
o
51 51o

50o 50o

49 o 49 o

48o 48o

47o 47o

46o 46o

45o 45o

44o 44o

43o 43o

42 o 42 o

41o 41o
0o 1o 2o 3o 4o 5o 6o

Figure 3.4 Fuseau 31

Figure 3.5 Un fuseau UTM

Etant donnée la longitude λ, le numéro de fuseau est donné par :


 
(λ × 180/π) + 180
f= +1 [3.18]
6

où ⌋.⌊ est la partie entière. On en déduit les longitude λ0 et latitude ϕ0 de


référence du fuseau :
(6f − 183)π
λ0 = , ϕ0 = 0 [3.19]
180
La projection utilise un facteur d’échelle k0 = 0,9996. Les coordonnées de
Projections 27

référence sont :

0 si ϕ ≥ 0
X0 = 500 000, Y0 = [3.20]
10 000 000 si ϕ < 0
Voir programmes, page 31.
La latitude croissante ou variable de Mercator traduisant le caractère de
conformité est :
Z ϕ
du   ϕ π 
z= = ln tan + [3.21]
0 cos u 2 4

3.3.2 Les projections UTM, transformation inverse


Voir programmes, page 33.
28 Cartographie
Chapitre 4

Programmes

La plupart des fonctions utilisées ont leur algorithme décrit dans le document
NG-71 de l’IGN.

4.1 Les fonctions de calcul utilisées


4.1.1 Lambert
function Ll=LaISO(e,phirad)
%%=================================================%
%% Latitude isometrique croissante de l’ellipsoide %
%% e = excenticite au point de latitude phirad %
%% phirad = latitude en radian %
%% Doc. NTG-71 IGN ALGO0001 %
%% Jeu d’essai (e,phi,Ll): %
%% 0.08199188998, 0.872664626, 1.00552653649 %
%% 0.08199188998, -.3, -0.30261690063 %
%% 0.08199188998, 0.1999890337, .200000000009 %
%%=================================================%
c=e*sin(phirad); a=tan(phirad/2+pi/4);
Ll=log(a)+e/2*log((1-c)/(1+c));
return

Utilisation des paramètres pour la France


Calcul des paramètres utilisant un cône sécant (deux parallèles automécoı̈ques) :

function [lbc,n,C,xs,ys]=lambertSC(a,e,lb0,phi0,phi1,phi2,x0,y0)
%%=============================================================%
%% Projection de Lambert conique conforme (cas secant) %
%% SYNOPSIS: [lbc,N,C,xs,ys]=... %
%% lambertTG(a,e,lb0,phi0,k0,x0,y0) %
%% a= 1/2 grand axe ellipsoide (m) %
%% e = premiere excenticite ellipsoide %
%% lb0 = longitude origine / meridien origine (rad) %
%% phi0 = latitude origine radians (rad) %
%% phi1 = latitude prem. parall. automecoique (rad) %
%% phi2 = latitude secd. parall. automecoique (rad) %
%% x0,y0 = coord. en projection du point origine (m) %
%% lbc = longitude origine / meridien origine (rad) %
%% n = exposant projection %
30 Cartographie

%% C = constante de projection (m) %


%% xs,ys = coord. pole en projection (m) %
%% Doc. NTG-71 IGN ALGO0054 %
%% JeuX d’essai: %
%% (a,e,lb0,phi0,phi1,phi2,x0,y0)-->(lbc,n,C,xs,ys) %
%% ===(6378388, 0.08199189, 0, 0, -0.575958653, %
%% -0.785398163, 0, 0) %
%% --> (0, -0.63049633, -12453174.1795, 0, -12453174.1795) %
%% ===(6378388, 0.08199189, 0.07623554539, pi/2, %
%% 0.869755744, 0.893026801, 150000, 5400000) %
%% --> (0.07623554539, 0.7716421867, 11565915.8294, 150000, %
%% 5400000) %
%%=============================================================%
lbc=lb0;
Ll1=LaISO(e,phi1); Ll2=LaISO(e,phi2);
Npae1=grnormale(phi1,a,e);
Npae2=grnormale(phi2,a,e);
n=log(Npae2*cos(phi2)/(Npae1*cos(phi1)));
n=n/(Ll1-Ll2);
C=Npae1*cos(phi1)/n * exp(n*Ll1);
xs=x0; ys=y0;
if abs(phi0-(pi/2))>eps
Ll0=LaISO(e,phi0);
ys=y0+C*exp(-n*Ll0);
end
return

Calcul des paramètres utilisant un cône tangent :

function [lbc,N,C,xs,ys]=lambertTG(a,e,lb0,phi0,k0,x0,y0)
%%======================================================%
%% Projection de Lambert conique conforme (cas tangent) %
%% SYNOPSIS: [lbc,N,C,xs,ys]=... %
%% lambertTG(a,e,lb0,phi0,k0,x0,y0) %
%% a= 1/2 grand axe ellipsoide (m) %
%% e = premiere excenticite ellipsoide %
%% lb0 = longitude origine / meridien origine (rad) %
%% phi0 = latitude origine radians (rad) %
%% k0 = facteur d’echelle a l’origine %
%% x0,y0 = coord. en projection du point origine (m) %
%% lbc = longitude origine / meridien origine (rad) %
%% n = exposant projection %
%% C = constante de projection (m) %
%% xs,ys = coord. pole en projection (m) %
%% Doc. NTG-71 IGN ALGO0019 %
%%======================================================%
lbc=lb0;
N=sin(phi0); Ll=LaISO(e,phi0);
expnl=exp(N*Ll);
Npae=grnormale(phi0,a,e);
C=k0*Npae*expnl/tan(phi0);
xs=x0;
ys=y0+k0*Npae/tan(phi0);
return

Programme de test :
Programmes 31

%===== tstlambertSC.m =====


%[x0,y0,k0,lamdaOR,phiOR,phi1,phi2,a,e]=initParam(’l93’)
%===== Jeu 1
lb0=0; phi0=0; x0=0; y0=0;
phi1=-.575958653; phi2=-.785398163;
%===== Jeu 2
lb0=.07623554539; phi0=pi/2;
x0=150000; y0=5400000;
phi1=.869755744; phi2=.893026801;
a=6378388; e=.081991890;
%=====
[lbc,N,C,xs,ys]=lambertSC(a,e,lb0,phi0,phi1,phi2,x0,y0);
[lbc;N;C;xs;ys]

4.2 Exemple d’utilisation


Le jeu d’essai est celui utilisé dans le document IGN/SGN/PMC de l’IGN.

%===== lp2xy.m =====


clear
%===== Jeu d’essai
lambdarad=0.145512099; phirad=0.872664626;
%===== Lambert I --> 1029705.0818 272723.851
%===== n=0.760405966 c=11603796.9767
[x0,y0,k0,lamdaOR,phiOR,phi1,phi2,a,e]=initParam(’lI’)
%[lbc,N,C,xs,ys]=lambertTG(a,e,lamdaOR,phiOR,k0,x0,y0)
[lbc,N,C,xs,ys]=lambertSC(a,e,lamdaOR,phiOR,phi1,phi2,x0,y0)
%=====
Ll=LaISO(e,phirad);
R=C*exp(-N*Ll);
gamma=N*(lambdarad-lamdaOR);
x=xs+R*sin(gamma)
y=ys-R*cos(gamma)
return

4.2.1 UTM
UTM direct
%===== ExpleGEO2UTM.m =====
typEllips=1;
[a,e2]=UTMchoixEllip(typEllips); % Ellipsoide WGS84
%===== Point a projeter, jeu 1
lambda=(55+30/60)*pi/180; phi=(-23-15/60)*pi/180;
%--> 448853.63802558 7428716.77505736
%===== Point a projeter, jeu 2
lambda=(55+37/60)*pi/180; phi=(-23-46/60)*pi/180;
%--> 460940.580991314 7371553.657594543
%===== Meridien central
lambdaOr=56*pi/180;
%===== Origine UTM
xor=0; yor=0;
[X,Y]=Geo2UTM(lambda,phi,1,lambdaOr,xor,yor)

function [a,e2]=UTMchoixEllip(EType,a,e2)
32 Cartographie

%%====================================================%
%% Choix d’ellipsoide de reference
%% SYNOPSIS: [a,e2]=UTMCHOIXELLIP(EType,a,e2) %
%% EType = type d’ellipsoide %
%% 1 --> WGS84 %
%% 2 --> WGS72 %
%% 3 --> E50 %
%% 4 --> Clarke 1886 1/f=294.9786982 %
%% 5 --> Clarke 1886 IGN %
%% 6 --> Bessel 1841 %
%% 0 --> a et e2 sont donnes %
%% a,e2 = 1/2 grand axe et deuxieme excentricite %
%%====================================================%
if nargin==0 | nargin==2 | nargin>3,
error(’Erreur sur le nombre de parametres’);
end
if nargin==3, return; end
if EType==1,
a=6378137; e2=0.00669438002;
elseif EType==2,
a=6378135; e2=0.00669431778;
elseif EType==3,
a=6378388; e2=0.00672267002;
elseif EType==4,
a=6378206.4; e2=0.00676865800;
elseif EType==5,
a=6378249.200; e2=0.00680348765;
elseif EType==6,
a=6377397.155; e2=0.00667437208;
end
return

function [XS,YS]=Geo2UTM(lambda,phi,tE,lambdaOr,xor,yor)
%%=======================================================%
%% SYNOPSIS: [X,Y]=GEO2UTM(lambda,phi,lambdaOr,xor,yor) %
%% lambda,phi = longitude, latitude ppoint a projeter %
%% tE = type d’ellipsoide %
%% lambdaOr = longitude meridien central %
%% xor,yor = origine pour translation %
%% XS,YS = coordonnees calculees %
%% Defaults: xor,yor=0,0, lambdaOr=56deg, tE=WGS84 %
%% Source: C. DEPLUS, IPGP, deplus@ipgp.jussieu.fr %
%%=======================================================%
if nargin<6 | nargin<5, xor=0; yor=0; end
if nargin <4, lambdaOr=56*pi/180; end
if nargin <3, tE=1; end
if nargin <2, error(’Erreur sur le nombre de parametres’);
end
[a,e2]=UTMchoixEllip(tE);
k0=.9996; % Facteur d’echelle
x0=500000; if phi<0, y0=10000000; end
%=====
x1=asin(cos(phi)*sin(lambda-lambdaOr));
X=log(tan(pi/4+x1/2));
Y=atan(tan(phi)/cos(lambda-lambdaOr))-phi;
RN=a/sqrt(1-e2*sin(phi)*sin(phi));
Programmes 33

x1=e2*cos(phi)*cos(phi)/6/(1-e2);
Y=RN*Y*(1+3*x1*X*X);
[GEL]=GELMER(phi,a,e2);
Y=Y+GEL;
X=RN*X*(1+x1*X*X);
XS=x0+k0*X;
YS=y0+k0*Y;
return

function [GEL]=GELMER(phi,a,e2)
%%==================================================%
%% SYNOPSIS: [GEL]=GELMER(phi,a,e2) %
%% phi = latitude %
%% a,e2 = 1/2 grand axe et premiere excentricite %
%% au carre %
%% GEL = %
%%==================================================%
T5(1) = 1+e2*(3/4+e2*(45/64+e2*(175/256+e2*11025/16384)));
T5(2) = e2*(3/4+e2*(15/16+e2*(525/512+e2*2205/2048)));
T5(3) = e2*e2*(15/64+e2*(105/256+e2*2205/4096));
T5(4) = e2*e2*e2*(35/512+e2*315/2048);
T5(5) = (e2^4)*315/16384;
%==========
B = T5(1)*phi;
%==========
for k=1:4
DB = T5(k+1)*sin(2*k*phi)/2/k;
if(rem(k,2)~=0), DB = -DB; end
B =B+DB;
end
GEL = B*a*(1-e2);
return

UTM inverse
function [lambda,phi]=UTM2Geo(X,Y,tE,lbOrg,xor,yor,n,k0,tol)
%%========================================================%
%% SYNOPSIS: [lambda,phi]=UTM2Geo(XS,YS,tE,lbOrg,xor,yor) %
%% Source: IGN NTG-76 (algo. 31) %
%% tol = tolerance %
%%========================================================%

[a,e2]=UTMchoixEllip(tE); % e2=(prem. exc.)!2


e=sqrt(e2);
[lbor,n,XS,YS]=coefUTM(a,e,k0,lborg,phior,xor,yor)

%===== Coefficients (ALGO29)


e14=e2*e2; e16=e14*e2; e18=e16*e2;
C(1)=1-e2/4-3*e14/64-5*e16/256-175*e18/16384;
C(2)=e2/8+e14/48+7*e16/2048+e18/61440;
C(3)=e14/768+3*e16/1280+559*e18/368640;
C(4)=17*e16/30720+283*e18/430080;
C(5)=4397*e18/41287680;
%=====
e=sqrt(e2);
[lbor,n,XS,YS]=coefUTM(a,e,k0,lborg,phior,xor,yor);
%=== (ALGO0031)
34 Cartographie

zp=(Y-YS)/n/C(1) + j*(X-XS)/n/C(1);
z=zp-C(2)*sin(2*zp)-C(3)*sin(4*zp);
z=z-C(4)*sin(6*zp)-C(5)*sin(8*zp);
L=real(z); Ls=imag(z);
lbd=lbor+atan(sinh(Ls)/cos(L));
Phi=asin(sin(L)/cosh(Ls));
L=LaISO(0,Phi); phi=LaISO2La(L,e,tol);

function [lbor,n,XS,YS]=coefUTM(a,e,k0,lborg,phior,xor,yor)

%===== Developpement de l’arc de meridien


lbor=lborg; XS=xor;
n=k0*a; e2=e*e;
%===== Coefficients (ALGO25)
e14=e2*e2; e16=e14*e2; e18=e16*e2;
C(1)=1-e2/4-3*e14/64-5*e16/256-175*e18/16384;
C(2)=-3*e2/8-3*e14/32-45*e16/1024-105*e18/4096;
C(3)=15*e14/256+45*e16/1024+525*e18/16384;
C(4)=-35*e16/3072-175*e18/12288;
C(5)=315*e18/131072;
%===== Calcul arc de meridien (ALGO26)
beta=C(1)*phior+C(2)*sin(2*phior)+C(3)*sin(4*phior);
beta=beta+C(4)*sin(6*phior)+C(5)*sin(8*phior);
%=====
YS=yor-n*beta;

%===== tstALGO0031.m
NTst=3;
if NTst==1
lbor=0.05235987756; n=6375836.6448;
XS=500000; YS=0;
e=0.08199188998000; e2=e*e;
X=683770.885; Y=5402786.998;
tol=10^(-11);
elseif NTst==2
lbor=-0.05235987756; n=6375697.8456;
XS=500000; YS=0;
e=0.08248340004; e2=e*e;
X=271145.460; Y=3847883.538;
tol=10^(-11);
elseif NTst==3
lbor=-0.03490658504; n=6375020.4813;
XS=400000; YS=-5527063.815;
e=0.08167337382; e2=e*e;
X=537281.173; Y=235442.15;
tol=10^(-11);
end
%===== Coefficients (ALGO29)
e14=e2*e2; e16=e14*e2; e18=e16*e2;
C(1)=1-e2/4-3*e14/64-5*e16/256-175*e18/16384;
C(2)=e2/8+e14/48+7*e16/2048+e18/61440;
C(3)=e14/768+3*e16/1280+559*e18/368640;
C(4)=17*e16/30720+283*e18/430080;
C(5)=4397*e18/41287680;
%====================
zp=(Y-YS)/n/C(1) + j*(X-XS)/n/C(1);
Programmes 35

z=zp-C(2)*sin(2*zp)-C(3)*sin(4*zp);
z=z-C(4)*sin(6*zp)-C(5)*sin(8*zp);
L=real(z); Ls=imag(z);
lbd=lbor+atan(sinh(Ls)/cos(L))
Phi=asin(sin(L)/cosh(Ls));
L=LaISO(0,Phi); phi=LaISO2La(L,e,tol)

4.3 Programmes C
4.3.1 Lambert
//===== tstlambertTG.c =====
#include <stdio.h>
#include <math.h>
#include <float.h>
#include "lambertSC.h"

double PI;

int main(void)
{
//entrees:
double lb0,phi0,x0,y0,phi1,phi2,a,e;
//sorties:
double lbc,N,C,xs,ys;

PI=4.*atan(1.);
//===== Jeu 1
lb0=0; phi0=0; x0=0; y0=0;
phi1=-.575958653; phi2=-.785398163;
//===== Jeu 2
lb0=.07623554539; phi0=PI/2;
x0=150000; y0=5400000;
phi1=.869755744; phi2=.893026801;
a=6378388; e=.081991890;
//=====

lambertSC(a,e,lb0,phi0,phi1,phi2,x0,y0,&lbc,&N,&C,&xs,&ys);

printf("\nlbc:%.17f\n n:%.17f\n C:%.17f",lbc,N,C);


printf("\nxs:%.17f\n ys:%.17f\n",xs,ys);
}

#include <math.h>
#include <float.h>
double PI;//pi, a initialiser toujours: 4*atan(1)

double LaISO(double e,double phirad)


/*=================================================
Latitude isometrique croissante de l’ellipsoide
e = excenticite au point de latitude phirad
phirad = latitude en radian
Doc. NTG-71 IGN ALGO0001
=================================================*/
{
double Ll,a,c;
a=tan(phirad/2 + PI/4);
36 Cartographie

c=e*sin(phirad);
Ll=log(a)+(e/2)*log((1-c)/(1+c));
return Ll;
}

double grnormale(double phirad,double a,double e)


{
/*=============================================
Calcul de la grande normale de l’ellipsoide
SYNOPSIS: N=GRNORMALE(phirad,a,e)
phirad = Latitude, radians
a = 1/2 grand axe ellipsoide
e = Premiere excenticite ellipsoide
N = Grande normale
Doc. NTG-71 IGN ALGO0021
=============================================*/
double N,sp;
sp=e*sin(phirad);
N=a/sqrt(1-sp*sp);
return N;
}

void lambertSC (double a,double e,double lb0,double phi0,\


double phi1,double phi2,double x0,double y0,\
double *lbc,double *n,double *C,double *xs,double *ys)
{
/*======================================================
Projection de Lambert conique conforme (cas secant)
Entrees:
a = 1/2 grand axe ellipsoide (m)
e = premiere excenticite ellipsoide
lb0 = longitude origine / meridien origine (rad)
phi0 = latitude origine radians (rad)
phi1 = latitude prem. parall. automecoique (rad)
phi2 = latitude secd. parall. automecoique (rad)
x0,y0 = coord. en projection du point origine (m)

Sorties:
lbc = longitude origine / meridien origine (rad)
n = exposant projection
C = constante de projection (m)
xs,ys = coord. pole en projection (m)
Doc. NTG-71 IGN ALGO0054
======================================================*/

double Ll0,Ll1,Ll2,Npae1,Npae2,PI;
double epsilon=1.E-15;
*lbc=lb0;
Ll1=LaISO(e,phi1);
Ll2=LaISO(e,phi2);
Npae1=grnormale(phi1,a,e);
Npae2=grnormale(phi2,a,e);
*n=log(Npae2*cos(phi2)/(Npae1*cos(phi1)));
*n= *n /(Ll1-Ll2);
*C=Npae1*cos(phi1) / *n * exp(*n * Ll1);
*xs=x0; *ys=y0;
if(fabs(phi0-(PI/2)) > epsilon)
Programmes 37

{
Ll0=LaISO(e,phi0);
*ys=y0+*C*exp(- *n * Ll0);
}
}

double LaISO(double e,double phirad);


double grnormale(double phirad,double a,double e);
void lambertSC (double a,double e,double lb0,double phi0,\
double phi1,double phi2,double x0,double y0,\
double *lbc,double *N,double *C,double *xs,double *ys);

//#define PI (3.14159265358979323846)
//extern double PI;

#include <math.h>

int initParam (char *meth,double *x0,double *y0,double *lambdaOR,\


double *phiOR,double *phi1,double *phi2,double *k0,\
double *a,double *e)
{
/*===========================================================
Initialisation des parametres selon methode de projection
pour la France metropolitaine
SYNOPSIS: [x0,y0,k0,lamdaOR,phiOR,a,e]=INITPARAM(meth)

entree: meth = ’lI’,’lII’,’lIII’,’lIV’,’lIIe’ ou ’l93’

sorties:
x0,y0 = reference
lambdaOR = longitude d’origine
phiOR = latitude d’origine
phi1,phi2 = paralleles automecoiques
k0 = facteur d’echelle
a = demi grand axe
e = premiere excentricite
===========================================================*/
if(strcasecmp(meth,"LI")==0) // Lambert I
{
*x0=600000; //x0
*y0=200000; //y0
*lambdaOR=0.04079234433203; //lamdaOR, 0gr paris
*phiOR=0.86393797973719; //phiOR, 49deg 30mn
*phi1=0.84820423407768; //phi1
*phi2=0.87957458812756; //phi2
*k0=.99987734; //k0
*a=6378249.2; //a
*e=.08248325676; //e
return 0;
}//===================================================
else if(strcasecmp(meth,"LII")==0) // Lambert II
{
*x0=600000; //x0
*y0=200000; //y0
*lambdaOR=0.04079234433203; //lamdaOR, 0gr paris
*phiOR=0.81681408993335; //phiOR, 46deg 48mn
38 Cartographie

*phi1=0.80108725771693; //phi1
*phi2=0.83245249213433; //phi2
*k0=.99987742; //k0
*a=6378249.2; //a
*e=.08248325676; //e
return 0;
}//===================================================
else if(strcasecmp(meth,"LIII")==0) // Lambert III
{
*x0=600000; //x0
*y0=200000; //y0
*lambdaOR=0.04079234433203; //lamdaOR, 0gr paris
*phiOR=0.76969020012950; //phiOR, 44deg 06mn
*phi1=0.75396986926455; //phi1
*phi2=0.78532998889761; //phi2
*k0=.99987750; //k0
*a=6378249.2; //a
*e=.08248325676; //e
return 0;
}//===================================================
else if(strcasecmp(meth,"LIV")==0) // Lambert IV
{
*x0=600000; //x0
*y0=200000; //y0
*lambdaOR=0.04079234433203; //lamdaOR, 0gr paris
*phiOR=0.73591807910341; //phiOR, 42deg 09mn 54gr
*phi1=0.72536560512783; //phi1
*phi2=0.74643653855112; //phi2
*k0=.99994471; //k0
*a=6378249.2; //a
*e=.08248325676; //e
return 0;
}//===================================================
else if(strcasecmp(meth,"LIIe")==0) // Lambert IIe
{
*x0=600000; //x0
*y0=200000; //y0
*lambdaOR=0.04079234433203; //lamdaOR, 0gr paris
*phiOR=0.81681408993335; //phiOR, 46deg 48mn
*phi1=0.80108725771693; //phi1
*phi2=0.83245249213433; //phi2
*k0=.99987742; //k0
*a=6378249.2; //a
*e=.08248325676; //e
return 0;
}//===================================================
else if(strcasecmp(meth,"L93")==0) // Lambert-93
{
*x0=700000; //x0
*y0=6600000; //y0
*lambdaOR=0.05235987755983; //lamdaOR, 3deg paris
*phiOR=0.81157810217736; //phiOR, 46deg 30mn
*phi1=0.76794487087750; //phi1
*phi2=0.85521133347722; //phi2
*k0=.9990510286; //k0
*a=6378137; //a
Programmes 39

*e=.081819191043; //e
return 0;
}//===================================================
else
{
printf("\nErreur: Parametre methode incorrect");
return -1;
}
}

OBJS=lambertSC.o
EXE=TestLamberSC.exe
all: $(OBJS) tstlambertSC.c
gcc -o $(EXE) tstlambertSC.c $(OBJS)

lambertSC.o: lambertSC.c
gcc -c lambertSC.c

clean:
rm $(EXE) $(OBJS)

4.3.2 UTM
#include <stdio.h>
#include "UTM.h"

int main(void)
{
int typEllips;
double a,e2;
typEllips=1;
UTMchoixEllip(typEllips,&a,&e2);// Ellipsoide WGS84
printf("TypeEllipse:%d a:%.8f,e2:%.8f\n",typEllips,a,e2);
double lambda,lambdaOr,phi,xor,yor;
double X,Y;

//===== Meridien central


lambdaOr=56*PI/180;
//===== Origine UTM
xor=0; yor=0;

//===== Point a projeter, jeu 1


lambda=((double)55+(double)30/(double)60)*PI/(double)180;
phi=((double)-23-(double)15/(double)60)*PI/(double)180;
printf("lambda:%.8f phi:%.8f\n",lambda,phi);
printf("attendus:X:%.8f X:%.8f\n",448853.63802558,7428716.77505736);
Geo2UTM(lambda,phi,1,lambdaOr,xor,yor,&X,&Y);
printf("calcules:X:%.8f Y:%.8f\n",X,Y);
//--> 448853.63802558 7428716.77505736

//===== Point a projeter, jeu 2


lambda=((double)55+(double)37/(double)60)*PI/(double)180;
phi=((double)-23-(double)46/(double)60)*PI/(double)180;
printf("lambda:%.8f phi:%.8f\n",lambda,phi);
printf("attendus:X:%.8f Y:%.8f\n",460940.580991314,7371553.657594543);
Geo2UTM(lambda,phi,1,lambdaOr,xor,yor,&X,&Y);
printf("calcules:X:%.8f Y:%.8f\n",X,Y);
40 Cartographie

//--> 460940.580991314 7371553.657594543


}

#include <math.h>
//==================================================%
// SYNOPSIS: [GEL]=GELMER(phi,a,e2) %
// phi = latitude %
// a,e2 = 1/2 grand axe et deuxieme excentricite %
// GEL = %
//==================================================%

#define PRECALC
//#define DEBUGINFO

//dfinition des T5:


double T51(double e2)
{
#ifdef PRECALC
return (1+e2*((0.75)+e2*((0.703125)+e2*((0.68359375)+
e2*(0.67291259765625)))));//recalculerle dernier
#else
return (1+e2*((3/4)+e2*((45/64)+e2*((175/256)+e2*(11025/16384)))));
#endif
}
double T52(double e2)
{
#ifdef PRECALC
return (e2*((0.75)+e2*((0.9375)+e2*((1.025390625)+e2*(1.07666015625)))));
#else
return (e2*((3/4)+e2*((15/16)+e2*((525/512)+e2*(2205/2048)))));
#endif
}
double T53(double e2)
{
#ifdef PRECALC
return (e2*e2*((0.234375)+e2*((0.41015625)+e2*(0.538330078125))));
#else
return (e2*e2*((15/64)+e2*((105/256)+e2*(2205/4096))));
#endif
}
double T54(double e2)
{
#ifdef PRECALC
return (e2*e2*e2*((0.068359375)+e2*(0.15380859375)));
#else
return (e2*e2*e2*((35/512)+e2*(315/2048)));
#endif
}
double T55(double e2)
{
#ifdef PRECALC
return((e2*e2*e2*e2)*(0.01922607421875));//a recalculer aussi
#else
return((e2*e2*e2*e2)*(315/16384));
#endif
}

double GELMER(double phi,double a,double e2)


{
#ifdef DEBUGINFO
printf("==Calcul GELMER:\nphi:%.30f\na:%.30f\ne2:%.30f\n",phi,a,e2);
Programmes 41

#endif
int kk;
double B,DB,GEL;
//==========
B=T51(e2)*phi;
//==========
for(kk=1;kk<=4;kk++)
{
switch(kk)
{
case 1:
DB=T52(e2);
break;
case 2:
DB=T53(e2);
break;
case 3:
DB=T54(e2);
break;
case 4:
DB=T55(e2);
break;
}
DB=DB*sin(2*kk*phi)/2/kk;
if(fmod(kk,2)!=0)
{
DB=-DB;
}
B=B+DB;
}
GEL = B*a*(1-e2);
#ifdef DEBUGINFO
printf("GELMER(phi,a,e2):%.30f\n",GEL);
#endif
return GEL;
}

#define PI 3.14159265358979323846

void UTMchoixEllip(int EType,double *a,double *e2);


double GELMER(double phi,double a,double e2);
void Geo2UTM(double lambda,double phi,double tE,double lambdaOr,
double xor,double yor,double *XS,double *YS);

//====================================================
// Choix d’ellipsoide de reference
// SYNOPSIS: [a,e2]=UTMCHOIXELLIP(EType,a,e2)
// EType = type d’ellipsoide
// 1 --> WGS84
// 2 --> WGS72
// 3 --> E50
// 4 --> Clarke 1886 1/f=294.9786982
// 5 --> Clarke 1886 IGN
// 6 --> Bessel 1841
// 0 --> a et e2 sont donnes
// a,e2 = 1/2 grand axe et deuxieme excentricite
//====================================================
void UTMchoixEllip(int EType,double *a,double *e2)
42 Cartographie

{
if(EType==1)
{
*a=6378137;
*e2=0.00669438002;
}
else if(EType==2)
{
*a=6378135;
*e2=0.00669431778;
}
else if(EType==3)
{
*a=6378388;
*e2=0.00672267002;
}
else if(EType==4)
{
*a=6378206.4;
*e2=0.00676865800;
}
else if(EType==5)
{
*a=6378249.200;
*e2=0.00680348765;
}
else if(EType==6)
{
*a=6377397.155;
*e2=0.00667437208;
}
}

#include <math.h>
#include "UTM.h"

//=======================================================%
// SYNOPSIS: [X,Y]=GEO2UTM(lambda,phi,lambdaOr,xor,yor) %
// lambda,phi = longitude, latitude ppoint a projeter %
// tE = type d’ellipsoide %
// lambdaOr = longitude meridien central %
// xor,yor = origine pour translation %
// XS,YS = coordonnees calculees %
// Defaults: xor,yor=0,0, lambdaOr=56deg, tE=WGS84 %
// Source: C. DEPLUS, IPGP, deplus@ipgp.jussieu.fr %
//=======================================================%
void Geo2UTM(double lambda,double phi,double tE,double lambdaOr,double xor,double yor,double
{
double a,e2;
double k0,x0,y0,x1,RN,X,Y,GEL;

UTMchoixEllip(tE,&a,&e2);
k0=.9996; // Facteur d’echelle
x0=500000;
if(phi<0)
{y0=10000000;}

x1=asin(cos(phi)*sin(lambda-lambdaOr));
Programmes 43

X=log(tan(PI/4+x1/2));
Y=atan(tan(phi)/cos(lambda-lambdaOr))-phi;
RN=a/sqrt(1-(e2*sin(phi)*sin(phi)));
x1=e2*cos(phi)*cos(phi)/6/(1-e2);
Y=RN*Y*(1+3*x1*X*X);
GEL=GELMER(phi,a,e2);
Y=Y+GEL;
X=RN*X*(1+x1*X*X);
*XS=x0+k0*X;
*YS=y0+k0*Y;
}

OBJS=UTMchoixEllip.o GELMER.o Geo2UTM.o


EXE=ExpleGEO2UTM.exe

all: $(OBJS) ExpleGEO2UTM.c UTM.h


gcc -o $(EXE) ExpleGEO2UTM.c $(OBJS)

UTMchoixEllip.o: UTMchoixEllip.c UTM.h


gcc -c UTMchoixEllip.c

GELMER.o: GELMER.c UTM.h


gcc -c GELMER.c

Geo2UTM.o: Geo2UTM.c UTM.h


gcc -c Geo2UTM.c

clean:
rm $(EXE) $(OBJS)

Récapitulatif de la construction du programme de test :


blanchet% gcc -c ExpleGEO2UTM.c
blanchet% gcc -c GELMER.c
blanchet% ... compilations
blanchet% make -f makefile
blanchet%
44 Cartographie
Chapitre 5

Annexes

5.1 Mercator sphérique


On considère que la terre est sphérique. L’élément de surface sur la sphère unité
a les dimensions cos ψdλ et dψ. Sur le cylindre on obtient λ, c’est-à-dire que
l’on a divisé par cos ψ (figure 5.1 ).

ψ R
λ

Figure 5.1 Exemple

Pour conserver les proportions (donc les angles) on fait la même chose avec
la latitude : dψ → dψ/ cos ψ. L’ordonnée associée à l’angle ψ est donc donnée
par :
Z ψ   
du ψ π
z= = ln tan + [5.1]
0 cos u 2 4

5.2 Exemples
Exemple 5.1 (Mercator sphérique) On considère l’intersection d’une
sphère unité avec un plan parallèle à Ox et passant par les points (0, 1, 0) et
0, 0, ha (figure 5.2 ).
Le programme de tracé de la projection de Mercator (figure 5.3 ) pour
quelques valeurs de ha est le suivant :
%===== EXPLEMERCATOR.M
ha=1.2; ppas=.01;
psiref=[0:ppas:pi]; spsir=sin(psiref);
46 Cartographie

psimax=asin(2*ha/(ha*ha+1));
psi=[0:ppas:psimax]; spsi=sin(psi); cpsi=cos(psi);
xp=sqrt(2*ha*spsi-(ha*ha+1)*spsi.*spsi)/ha; xm=-xp;
y=1-spsi/ha; z=spsi;
figure(1); plot3(xp,y,z,xm,y,z); hold on
plot3(cos(psiref),spsir,zeros(size(psiref)))
plot3(zeros(size(psiref)),cos(psiref),spsir)
plot3([0 0],[1 0],[0 2])
hold off
view([137.5,30]); grid
set(gca,’xlim’,[-1 1],’ylim’,[-1 1],’zlim’,[0 1])
%===== Calcul de la projection
sinlp=(ha-spsi)./cpsi / ha; lambda=asin(sinlp);
zm=log(tan(psi/2+pi/4));
figure(2); lambdeg=lambda*180/pi;
plot(lambdeg,zm*180/pi,’-’,180-lambdeg,zm*180/pi);

0.8

0.6

0.4

0.2

0
−1 −1
−0.5 −0.5
0 0
0.5 0.5
1 1

Figure 5.2 Exemple

5.3 Eléments divers


Considérons l’élément de longueur ds d’une trajectoire d’un point M(u, v) définie
par (x(u, v), y(u, v), z(u, v)).
On peut écrire :
∂x
du + ∂x

 dx = ∂u ∂v dv
2 2 2 2 ∂y ∂y
ds = dx + dy + dz avec dy = ∂u du + ∂v dv
∂z ∂z
dz = ∂u du + ∂v dv

!2 !2
~
∂ OM ~
∂ OM ~ ∂ OM
∂ OM ~
= du2 + dv 2 + 2 dudv
∂u ∂v ∂u ∂v
= Edu2 + Gdv 2 + 2F dudv
Annexes 47

(3)
120

100
(2)
80
Latitude

(1,5)
60

40
(1,2)
20

−20
20 40 60 80 100 120 140 160
Longitude

Figure 5.3 Projection de Mercator pour plusieurs valeurs de ha

La surface est régulière si et seulement si ses points sont réguliers, c’est-à-dire


si :
~
∂ OM ∂ OM~
∧ 6= 0
∂u ∂v
On notera que :
2
~ ~
∂ OM ∂ OM
∧ = EF − G2

∂u ∂v

Le vecteur :
~ ~
∂ OM
∧ ∂ OM
∂u ∂v
~n =
EF − G2
est le vecteur unitaire normal.
Les coordonnées (u, v) sont dites symétriques si, en tout point :

~ ∂ OM
∂ OM ~
= ⇒ E = G et F = 0

∂u ∂v

5.4 Données diverses


Lambert belge (http://www.ngi.be/FR/FR2-1-4.shtm) :
− Origine : xs = 150000,013 et ys = 5400088,438 ;
− Latitude origine : ϕ0 = 90˚ ;
− Méridien central : λ0 = 4˚22′ 02”952 E ;
− Première parallèle automécoı̈que : ϕ1 = 49˚50′ 00”00204 N ;
− Deuxième parallèle automécoı̈que : ϕ1 = 51˚10′ 00”00204 N.
48 Cartographie
Bibliographie

[1] Bowring. “The accuracy of geodetic latitude and height equations ”. Survey
Review, pages pp202–pp206, October 1985.
[2] Paul Correia. Guide pratique du GPS. Eyrolles, 2004.
[3] Ministère EMR Canada. Le quadrillage universel transverse de Mercator de
la Direction des levés et de la cartographie. Imprimeur de la Reine, 1969.
[4] J.-M. Nocquet & H. Duquenne & C. Boucher & A. Harmel & P.
Willis. “Conversion altimétrique rfg93-ign69, correction des altitudes gps
en france”. Groupe de Travail Permanent “Positionnement Statique et
Dynamique” du Conseil National de l’Information Géographique, Février
2000.

Quelques liens
1. Didier Bouteloup, “Cours de Géodésie”, Ecole Nationale des Sciences Géo-
graphiques, http://www.ensg.ign.fr/.
2. “RGF93 et Lambert 93”, Gilles Troispoux, Pôle géomatique du CERTU-
METATTM (Centre d’Etudes sur les Réseaux de Transport et l’
Urbanisme/Ministère de l’Equipement, des Transports, de l’Aménagement
du territoire, du Tourisme et de la Mer).
3. Site de l’Institut Géographique National http://www.ign.fr/
4. Site de l’IGN, notes sur le système UTM
http://www.ign.fr/affiche rubrique.asp?rbr id=1735
5. Extraits de l’atlas de Mercator
http://www.walkingtree.com/
6. Eléments de base sur les projections
http://hypo.ge-dip.etat-ge.ch/www/math/html/node51.html
7. Calcul de projections
http://mathworld.wolfram.com/topics/MapProjections.html
8. Anciennes cartes
http://www.henry-davis.com/MAPS/Ren/Ren1/carto.html
50 Cartographie

9. Pages sur les cartes de mercator et Lambert


http://www.du.edu/ jcalvert/math/mathom.htm

10. Ensemble de vieilles cartes disponibles s̀ur le site de la BNF


http://carte.the-ben.com/carte.php

11. Le système UTM au Canada (Cartes topographiques du Canada)


http://maps.nrcan.gc.ca/cartes101/mtu 2.html

12. Document IGN sur l’altitude


http://www.ign.fr/telechargement/education/fiches/relief/Altitude.pdf

13. Histoire des cartes


http://www.cristobal-colon.net/cartographie/C12p1.htm

14. Surfaces développables


http://www.mathcurve.com/surfaces/developpable/developpable.shtml
Index

Altitude Géoı̈de, 8, 14
dynamique, 16
normale, 16 Lambert, 20
orthométrique, 16 Latitude
Aplatissement, 9 géocentrique, 10
isométrique, 12
Cartographique (projection de paramétrique, 9
Lambert), 22 Latitude croissante, 27
Champ de pesanteur, 14
normal, 14 MakeFile
Coordonnées makefile, 39, 41
géographiques, 12 Module linéaire, 22
symétriques, 45
Cote géopotentielle, 14 Passage
coord. géogr. à cartésiennes, 13
Deuxième excentricité, 9 Potentiel de pesanteur, 14
Déclarations Première excentricité, 9
lambertSC.h, 37 Programme
UTM.h, 41 ExpleGEO2UTM.c, 39
lp2xy.m, 31
Fonction tstALGO0031.m, 34
coefUTM.m, 34 tstlambertSC.c, 35
ExpleGEO2UTM.m, 31 tstlambertSC.m, 30
GELMER.c, 40 Projection
GELMER.m, 33 de Lambert cartographique, 22
Geo2UTM.c.h, 41 de Lambert sécante, 22
Geo2UTM.m, 32 de Lambert tangente, 21, 22
initParam.c, 37
initParam.m, 24 QGF98, 8
LaISO.m, 29 Quasi-géoı̈de, 8
lambertSC.c, 35
lambertSC.m, 29 RAF98, 8
lambertTG.m, 30 Représentation
lph2xyz.m, 13 aphylactique, 19
UTM2Geo.m, 33 azimutale, 20
UTMchoixEllip.c.h, 41 conforme, 19
UTMchoixEllip.m, 31 conique, 20
xyz2lph.m, 13 cylindrique, 20
mériconique, 20
Grille RAF98, 8 méricylindrique, 20

51
52 Cartographie

équidistante, 19
équivalente, 19
RFG, 23
Régulier(e), 45
Réseau Géodésique Français, 23

Universal Transverse Mercator, 25


UTM, 25

Variable de Mercator, 27
Vecteur
unitaire normal, 45