You are on page 1of 15

Convers3

Documentation version 3.07

Par Eric DAVID : vtopo@free.fr

INSTALLATION DE CONVERS .........................................................................................................................................................2

UTILISATION DE CONVERS .............................................................................................................................................................2


2.1
FENETRE PRINCIPALE .........................................................................................................................................................................2
2.1.1
Convention de saisie et daffichage des coordonnes ...............................................................................................................2
2.1.2
Saisie des coordonnes convertir ...........................................................................................................................................2
2.1.3
Affichage des coordonnes converties ......................................................................................................................................2
2.1.4
Conversions par grille...............................................................................................................................................................3
2.2
PARAMETRAGE ..................................................................................................................................................................................3
2.2.1
Ellipsodes .................................................................................................................................................................................3
2.2.2
Systmes godsiques ................................................................................................................................................................3
2.2.3
Projections ................................................................................................................................................................................4
2.3
TABLEAU DE CONVERSIONS ...............................................................................................................................................................4
2.4
SAUVEGARDE AU FORMAT XML .......................................................................................................................................................5

CONVERSAPI3.DLL .............................................................................................................................................................................6
3.1
ENUMERATIONS .................................................................................................................................................................................6
3.1.1
Units ........................................................................................................................................................................................6
3.1.2
Mridiens ..................................................................................................................................................................................6
3.2
CLASSE LOCATION.............................................................................................................................................................................6
3.2.1
Donnes membres .....................................................................................................................................................................6
3.2.2
Mthodes ...................................................................................................................................................................................6
3.2.3
Exemple .....................................................................................................................................................................................7
3.3
STRUCTURE PROJECTIONTYPE ...........................................................................................................................................................7
3.3.1
Donnes Membres .....................................................................................................................................................................7
3.3.2
Exemple .....................................................................................................................................................................................8
3.4
CLASSE CONVERSION ........................................................................................................................................................................8
3.4.1
Donnes membres .....................................................................................................................................................................8
3.4.2
Mthodes ...................................................................................................................................................................................8
3.5
UTILISATION DE CONVERSAPI3.DLL EN C# .....................................................................................................................................11
3.6
UTILISATION DE CONVERSAPI3.DLL AVEC EXCEL ...........................................................................................................................12
3.7
TYPES DE PROJECTIONS RECONNUES PAR CONVERSAPI3.DLL ..........................................................................................................13

1 Installation de Convers
Excutez Convers3.msi.
Convers ncessite le framework .NET 3.5, il est donc possible que celui-ci soit tlcharg pendant linstallation de Convers.

2 Utilisation de Convers
Convers est un logiciel de conversion de coordonnes gographiques qui permet de convertir des coordonnes exprimes en
Latitude/Longitude dans diffrents systmes godsiques ou bien en X/Y dans diffrentes projections.

2.1

Fentre principale

La fentre principale de Convers permet deffectuer les conversions proprement dites. Elle est spare en 2 zones distinctes : Dpart et
Arrive. La zone Dpart permet de saisir les coordonnes convertir et certains paramtres, la zone Arrive est utilise pour afficher les
coordonnes converties. Au milieu se trouve une zone permettant de slectionner une ventuelle grille de conversion. Au lancement de
Convers, les options valides sont celles correspondant la dernire conversion effectue.

2.1.1 Convention de saisie et daffichage des coordonnes


Les latitudes Nord seront positives et les latitudes Sud ngatives (de 90 90 ou de 100gr 100 gr).
Les longitudes Est seront positives et les longitudes Ouest ngatives (de 180 180 ou de 200gr 200gr).
Les zones UTM Nord seront positives et les zones UTM Sud ngatives (de -60 60).

2.1.2 Saisie des coordonnes convertir


Slectionner le systme godsique ou la projection correspondant aux coordonnes convertir dans la liste intitule Dpart. Convers
affiche alors automatiquement le type des donnes saisir : Latitude/Longitude ou X/Y en fonction de la slection.
Slectionner le systme godsique ou la projection correspondant aux coordonnes converties dans la liste intitule Arrive.
Si les donnes sont de type Latitude/Longitude, choisir lunit des angles et le mridien dorigine (Greenwich ou Paris) dans le cadre
intitul Paramtres avant de commencer la saisie. Dans le cas ou lon a saisi des valeurs avant de choisir lunit des angles, Convers
neffectue aucune conversion dangles.
Si les donnes sont de type X/Y, choisir lunit des distances dans le dans le cadre intitul Paramtres avant de commencer la saisie. Dans
le cas ou lon a saisi des valeurs avant de choisir lunit des distances, Convers neffectue aucune conversion de distance.
Plusieurs units sont votre disposition pour saisir les latitudes et longitudes. Le tableau suivant rcapitule ces possibilits.
Lexemple considre le mme angle de 443517.634" converti en diffrentes units.
Unit
Degrs.MnSec
Degrs.Mn
Degrs dc.
Grades
Radians

Format
Degrs Minutes Secondes
Degrs Minutes
Degrs dcimaux
Grades
Radians

Exemple
443517.634"
4435.294
445882317
49.5424796gr
0.7782115

Saisie
44.3517634
44.35294
44.5882317
49.5424796
0.7782115

On peut alors saisir les coordonnes convertir, que Convers convertit automatiquement au fur et mesure de la saisie, si les donnes
saisies sont correctes. En cas derreur de saisie, des indications apparaissent droite de la valeur errone.

2.1.3 Affichage des coordonnes converties


Les coordonnes saffichent en Latitude/Longitude ou en X/Y selon la slection effectue dans la liste Arrive.
Il est possible de slectionner lunit daffichage des angles ou des distances et le mridien dorigine dans le cadre intitul Units (la
conversion se fait automatiquement) et le mridien dorigine (Greenwich ou Paris) dans le cadre intitul Origine.
Laffichage du rsultat est format selon les conventions en vigueur.

2.1.4 Conversions par grille


Pour les conversions entre certains systmes godsiques, il existe des grilles prdfinies, permettant un calcul plus prcis. Convers3
permet lutilisation de ces grilles. Pour effectuer une conversion par grille, il suffit de slectionner la grille souhaite dans la liste
droulante, le nom de la grille se composant du nom abrg des systmes godsiques concerns spars par _. Par exemple pour passer de
NTF RGF93 ou de Lambert II tendu Lambert 93, on peut utiliser la grille NTF_RGF93. La conversion est possible dans les deux sens.
Si la grille correspond aux donnes convertir, et que le point concern se trouve dans la zone dlimite par la grille alors cette dernire
est utilise et lindication 9 saffiche droite de la grille. Dans le cas contraire, la conversion est ralise par la mthode standard et
aucune indication de saffiche.
Il est possible dajouter de nouvelles grilles en fonctions de vos besoins, Convers3 acceptant les grilles au format NTV2 (extension .gsb).
Lajout se fait simplement en renommant le fichier .gsb selon la convention prcise plus haut et en le copiant dans le rpertoire de
Convers3, C:\Program Files\Convers3. Il faut ensuite relancer Convers3.

2.2

Paramtrage

Convers est livr avec la plupart des ellipsodes couramment utilises, les systmes godsiques : WGS84, ED50, NTF, RGF93 et les
projections : Lambert (zones I, II, II tendu, III, IV), Lambert Carto (zones I, II, III), Lambert 93 (y compris les zones CC42 CC50),
UTM / WGS84, UTM / ED50. D'autres ellipsodes, systmes godsiques et projections peuvent tre ajouts pour correspondre vos
besoins. Les donnes sont stockes dans une base de donnes Access qui se trouve dans le mme dossier que Convers : Convers.mdb

2.2.1 Ellipsodes
Le bouton Ellipsodes affiche une boite de dialogue permettant lajout, la modification et la suppression dellipsodes. Cette boite de
dialogue contient les paramtres ncessaires la dfinition dun ellipsode.
Nom abrg
Nom complet
Demi grand axe (A)
Demi petit axe (B)
Aplatissement inverse (1/F)

Nom abrg de lellipsode


Nom complet de lellipsode
Demi grand axe de lellipsode en mtres
Demi petit axe de lellipsode en mtres
Aplatissement inverse de lellipsode

2 boutons droite des zones de saisie de B et 1/F permettent de choisir la valeur saisir, A, B, et 1/F tant lis par une relation
mathmatique. Selon les documentations, on trouve les valeurs de A et B ou de A et 1/F.
Le bouton Nouveau cre un nouvel ellipsode. Il faut saisir un nom abrg qui doit tre unique.
Le bouton Supprimer supprime lellipsode slectionn.
Le bouton Enregistrer enregistre les modifications.
Le bouton Annuler annule les modifications.

2.2.2 Systmes godsiques


Le bouton Datums affiche une boite de dialogue permettant lajout, la modification et la suppression de systmes godsiques. Cette boite
de dialogue contient les paramtres ncessaires la dfinition dun systme godsique.
Nom abrg
Nom complet
Ellipsode de rfrence
Tx
Ty
Tz
Rx
Ry
Rz
Echelle

Nom abrg du systme.


Nom complet du systme. Il apparat dans les listes Dpart et Arrive.
Nom de lellipsode de rfrence.
Translation en X pour passer au systme pivot (WGS84). En mtres
Translation en Y pour passer au systme pivot (WGS84). En mtres
Translation en Z pour passer au systme pivot (WGS84). En mtres
Rotation en X pour passer au systme pivot (WGS84). En secondes dangle
Rotation en Y pour passer au systme pivot (WGS84). En secondes dangle
Rotation en Z pour passer au systme pivot (WGS84). En secondes dangle
Facteur dchelle pour passer au systme pivot (WGS84). En parties par million (ppm)

Pour utiliser les transformations 7 paramtres, il faut cocher la case Conversion 7 paramtres.
Les rotations entre les systmes doivent tre saisis selon la convention IERS (les axes du systme darrive sont ramens parallles aux
axes du systme de dpart). La plupart des logiciels SIG et des rcepteurs GPS utilisent un convention diffrente (les signes de Rx, Ry et
Rz sont alors inverss)
Le bouton Nouveau cre un nouveau systme godsique. Il faut saisir un nom abrg qui doit tre unique.
3

Le bouton Supprimer supprime le systme godsique slectionn.


Le bouton Enregistrer enregistre les modifications.
Le bouton Annuler annule les modifications.

2.2.3 Projections
Le bouton Projections affiche une boite de dialogue permettant lajout, la modification et la suppression de projections. Cette boite de
dialogue contient les paramtres ncessaires la dfinition dune projection.
Nom abrg
Nom complet
Systme godsique
Type de projection
Paramtres

Nom abrg de la projection


Nom complet de la projection. Il apparat dans les listes Dpart et Arrive.
Nom abrg du systme godsique associ la projection.
Dfinit la projection utilise.
Paramtres de la projection. Ils sont variables selon le type de projection. Les noms des paramtres
ncessaires apparaissent automatiquement dans le tableau en fonction du type de projection.

Certains paramtres des projections sont des angles. Convers adopte les conventions de saisie suivantes pour la notation des angles dans
cette boite de dialogue :
Angle en degrs minutes secondes
Angle en degrs minutes
Angle en degrs dcimaux
Angle en grades
Angle en radians

: 4835'54.682" saisir 48.3554682


: 4835.91100' saisir 48.3591100m
: 48.5985228 saisir 48.5985228d
: 53.9983586 saisir 53.9983586g
: 0.8482042 saisir 0.8482042r

Les longitudes seront toujours exprimes par rapport au mridien de Greenwich.


Le bouton Nouveau cre une nouvelle projection. Il faut saisir un nom abrg qui doit tre unique.
Le bouton Supprimer supprime la projection slectionne.
Le bouton Enregistrer enregistre les modifications.
Le bouton Annuler annule les modifications.

2.3

Tableau de conversions

Ce tableau permet deffectuer des conversions en nombre. Le principe de saisie est le mme que pour la fentre principale, laffichage peut
tre soit format soit brut, selon que la case Affichage format soit coche ou non. Le rsultat saffiche automatiquement lorsque les
valeurs ncessaires ont t saisies. Le rsultat sera Err en cas derreur de saisie ou de valeurs errones. Il est possible de copier (Ctrl +
C) ou de coller (Ctrl + V) des donnes partir dun autre logiciel. En cas dutilisation dune grille de conversion, la marque 9 apparatra
pour chaque ligne ayant utilis la grille.
Le bouton Ouvrir ouvre un fichier csv dont le format est le suivant :
1re ligne : Depart;code;unit;[mridien]
2me ligne : Arrivee;code;unit;[mridien]
3me ligne (facultative) : Grille ;grille de conversion
3me ou 4me ligne et suivantes : donnes
Depart et Arrivee (sans accents) sont des mots rservs et doivent figurer en tte des 1re et 2me lignes.
Code est le nom abrg de la projection ou du systme godsique de dpart ou darrive.
Units : 0 = Degrs Minutes Secondes
1 = Degrs Minutes
2 = Degrs dcimaux
3 = Grades
4 = Radians
5 = Mtres
6 = Kilomtres
Mridiens (uniquement si le code correspond un systme godsique) :
1 = Greenwich
2 = Paris
Grille : nom de la grille de conversion utiliser, par exemple NTF_RGF93.
4

Les donnes sont dans lordre suivant :


Si le code correspond un systme godsique : Latitude ;Longitude
Si le code correspond une projection sans zone : X ;Y
Si le code correspond une projection avec zone : X ;Y ;Zone
Exemple de fichier csv convertir :
Depart;UTM.WGS84;5
Arrivee;WGS84;0;1
500000;5500;31
500100;550100;31
Le bouton Enregistrer enregistre un fichier csv. Le format est le mme que celui saisi prcdemment avec en plus le rsultat des calculs
qui peuvent tre formats ou bruts.
Exemple de fichier csv converti :
Depart;UTM.WGS84;5
Arrivee;WGS84;0;1
500000;5500000;31;N 4939'09.2";E 00300'00.0"
500100;5500100;31;N 4939'12.4";E 00300'05.0"
Le bouton Effacer efface la totalit du tableau.

2.4

Sauvegarde au format XML

Cette fonctionnalit permet de sauvegarder la totalit des paramtres de Convers, ellipsodes, systmes godsiques et projections dans un
fichier xml. Elle sert essentiellement aux utilisateurs de ConversApi3.dll (voir plus bas) qui ainsi pourront dfinir la configuration
ncessaire leurs applications avec Convers et utiliser ConversApi3.dll de manire totalement autonome grce sa fonction
dinitialisation partir dun fichier xml.

3 ConversApi3.dll
Convers est livr avec ConversApi3.dll afin de permettre lutilisation de son moteur de calcul pour effectuer des conversions dans vos
propres applications en .Net. Un exemple est fourni en C# dans C:\Program Files\Convers\Exemples\C#. Pour les applications en 64 bits,
une version x64 de ConversApi3.dll est disponible dans C:\Program Files\Convers\x64\ConversApix64.zip.
ConversApi3.dll contient un ensemble de classes dcrites ci-dessous. Le namespace se nomme ConversApi.

3.1

Enumrations

Ces numrations dfinissent les units utilises pour exprimer les coordonnes et les mridiens de rfrence.

3.1.1 Units
enum Units { DMS, DMN, DDEC, GRAD, RAD, MT, KM };
DMS
DMN
DDEC
GRAD
RAD
MT
KM

:
:
:
:
:
:
:

Degrs Minutes Secondes.


Degrs Minutes.
Degrs dcimaux.
Grades.
Radians.
Mtres.
Kilomtres.

3.1.2 Mridiens
enum Meridians { NONE, GREENWICH, PARIS };
NONE
GREENWICH
PARIS

3.2

: Aucun mridien. Utilis pour des coordonnes de type X / Y.


: Mridien de Greenwich. Utilis pour des coordonnes de type Latitude / Longitude.
: Mridien de Paris. Utilis pour des coordonnes de type Latitude / Longitude.

Classe Location

Cette classe correspond la reprsentation dun point avec son systme de coordonnes et ses units. Elle permet le formatage des
coordonnes selon les conventions en vigueur.

3.2.1 Donnes membres


double XLon
double YLat
int Zone
char Designator
String Key
Units Unit
Meridians Mer
String sXLon
String sYLat
String sZone

:
:
:
:
:
:
:
:
:
:

Longitude si le point est exprim en Latitude / Longitude. X si le point est exprim en X /Y.
Latitude si le point est exprim en Latitude / Longitude. Y si le point est exprim en X /Y.
Zone si le point reprsente des coordonnes UTM.
Dsignateur si le point reprsente des coordonnes UTM.
Nom abrg du systme godsique ou de la projection correspondant au point.
Unit dans laquelle est exprim le point
Mridien de rfrence du point sil est exprim en Latitude / Longitude.
Longitude ou X format avec la mthode Format()
Latitude ou Y format avec la mthode Format()
Zone et dsignateur formats avec la mthode Format()

3.2.2 Mthodes
Location()
Constructeur par dfaut.
Location(double xLon, double yLat, String key, Units unit, Meridians mer)
Constructeur utilis pour un point exprim en Latitude / Longitude.
6

double xLon
double yLat
String key
Units unit
Meridians mer

:
:
:
:
:

Longitude.
Latitude.
Nom abrg du systme godsique.
Unit.
Mridien de rfrence.

Location(double xLon, double yLat, String key, Units unit)


Constructeur utilis pour un point exprim en X/Y sans zone .
double xLon
double yLat
String key
Units unit

:
:
:
:

X.
Y.
Nom abrg de la projection.
Unit.

Location(double xLon, double yLat, int zone, char designator, String key, Units unit)
Constructeur utilis pour un point exprim en X/Y avec zone (UTM)
double xLon
double yLat
int zone
char designator
String key
Units unit

:
:
:
:
:
:

X.
Y.
Zone UTM.
Dsignateur UTM.
Nom abrg de la projection.
Unit.

Si on ne connait pas le dsignateur, il est possible de renseigner uniquement la zone, positive pour lhmisphre Nord, ngative
pour lhmisphre Sud, et de positionner le dsignateur '\0'.
Location(Location from)
Constructeur partir dun autre objet Location.
Location from

: Objet dorigine

void Format(Conversion conv)


Formatte laffichage des coordonnes selon les normes en vigueur pour chaque type de donnes.
Conversion conv

: Objet Conversion de rfrence (voir la description de la classe Conversion).

Le rsultat se trouve dans les variables sXLon, sXLat, sZone.

3.2.3 Exemple
Location loc1 = new Location(5.47307, 45.38582, "WGS84", Units.DMS, Meridians.GREENWICH);
Location loc2 = new Location(869.269, 2078.565, "LT2E", Units.KM);
Location loc3 = new Location(717540, 5058899, 31, '\0', "UTMWGS84", Units.MT);
loc1. Format(conv);
Console.WriteLine(loc1.sYLat + "

" + loc1.sXLon); // N 4534'54.7" E 00523'43.3"

Les systmes godsiques et projections "WGS84", "LT2E", "UTMWGS84" doivent avoir t dfinis dans lobjet conv (voir la
description de la classe Conversion).

3.3

Structure ProjectionType

Cette structure donne des informations sur les paramtres des types de projections.

3.3.1 Donnes Membres


String Key

: Nom abrg de la projection.


7

String Name
String[] Param

: Nom complet de la projection.


: Nom des paramtres de la projection.

La classe Conversion contient une liste de ProjectionType permettant dobtenir les informations sur toutes les projections reconnues par
ConversApi3.dll.

3.3.2 Exemple
foreach (ProjectionType pt in Conv.ProjectionTypes)
{
Console.WriteLine(pt.Key + " " + pt.Name);
foreach (String str in pt.Param)
Console.WriteLine(str);
}

3.4

Classe Conversion

Cette classe permet deffectuer les conversions de coordonnes. Elle doit tre initialise soit partir dun fichier xml soit laide de
mthodes permettant de dfinir tous les paramtres ncessaires. Elle possde galement plusieurs mthodes utilitaires. Les mthodes
gnrent des exceptions avec une description explicite en cas derreur.
Avant de pouvoir effectuer des conversions, il est ncessaire de paramtrer lobjet Conversion, soit avec la mthode ReadXml, soit avec
les mthodes dajout dellipsodes (AddEllipsoid), de systmes godsiques (AddDatum), et de projections (AddProjection).
Les ellipsodes devront tre ajouts avant les systmes godsiques et les systmes godsiques avant les projections, ceci afin de garantir
la cohrence des donnes.

3.4.1 Donnes membres


List<ProjectionType> ProjectionTypes

: Liste des projections reconnues par ConversApi3.dll.

3.4.2 Mthodes
Conversion()
Constructeur.
void AddEllipsoid(String key, String descr)
Ajoute un ellipsode.
: Nom abrg de lellipsode.
: Paramtres sous la forme [nom];[a];[b];[1/f]

String key
String descr
nom
a
b
1/f

:
:
:
:

Nom complet de lellipsode.


Demi grand axe en mtres.
Demi petit axe en mtres.
Aplatissement inverse.

Si b est diffrent de 0 alors 1/f doit tre gal 0 et rciproquement, ces 2 valeurs tant dpendantes lune de lautre.
void AddEllipsoid(String key, String name, double a, double b, double invF)
Ajoute un ellipsode.
String
String
double
double
double

key
name
a
b
invF

:
:
:
:
:

Nom abrg de lellipsode.


Nom complet de lellipsode.
Demi grand axe en mtres.
Demi petit axe en mtres.
Aplatissement inverse.

Si b est diffrent de 0 alors 1/f doit tre gal 0 et rciproquement, ces 2 valeurs tant dpendantes lune de lautre.
8

void AddDatum(String key, String descr)


Ajoute un systme godsique.
: Nom abrg du systme godsique.
: Paramtres sous la forme [nom];[ellipsode];[tx];[ty];[tz];[rx];[ry];[rz];[echelle]

String key
String descr
nom
ellipsode
tx, ty, tz
rx, ry, rz
echelle

:
:
:
:
:

Nom complet du systme godsique.


Nom abrg de lellipsode de rfrence.
Translations en X, Y, Z en mtres.
Rotations en X,Y, Z en mtres. Uniquement pour les transformations 7 paramtres.
Facteur dchelle en ppm (parties par million). Uniquement pour les transformations 7 paramtres.

Pour les transformations 3 paramtres, il suffit de renseigner nom, ellipsode, tx, ty, tz.
void AddDatum(String key, String name, String ellips, double tx, double ty, double tz)
Ajoute un systme godsique pour des transformations 3 paramtres.
String
String
String
double

key
name
ellips
tx, ty, tz

:
:
:
:

Nom abrg du systme godsique.


Nom complet du systme godsique.
Nom abrg de lellipsode de rfrence.
Translations en X, Y, Z en mtres.

void AddDatum(String key, String name, String ellips, double tx, double ty, double tz,
double rx, double ry, double rz, double scale)
Ajoute un systme godsique pour des transformations 7 paramtres.
String
String
String
double
double
double

key
: Nom abrg du systme godsique.
name
: Nom complet du systme godsique.
ellips
: Nom abrg de lellipsode de rfrence.
tx, ty, tz : Translations en X, Y, Z en mtres.
rx, ry, rz : Rotations en X, Y, Z en secondes dangle.
scale
: Facteur dchelle en ppm (parties par million).

void AddProjection(String key, String descr)


Ajoute une projection.
String key
String descr
nom
type
sysgeo
p1
p2
pn

:
:
:
:
:
:

: Nom abrg de la projection.


: Paramtres sous la forme [nom];[type];[sysgeo];[p1][p2];. ;[pn]

Nom complet de la projection.


Type de projection. (Voir en 3.5 les projections supportes).
Systme godsique de rfrence.
Paramtre 1 de la projection.
Paramtre 2 de la projection.
Paramtre n de la projection.

Les paramtres doivent tre dans lordre spcifi pour chaque projection (Voir en 3.5). Les valeurs des paramtres doivent
respecter les conventions de saisie dtailles en 2.2.3.
void AddProjection(String key, String name, String typeProj, String datum, String []param)
Ajoute une projection.
String
String
String
String
String

key
name
typeProj
datum
[]param

:
:
:
:
:

Nom abrg de la projection.


Nom complet de la projection.
Type de projection. (Voir en 3.5 les projections supportes).
Systme godsique de rfrence.
Tableau de paramtres.
9

Les paramtres doivent tre dans lordre spcifi pour chaque projection (Voir en 3.5). Les valeurs des paramtres doivent
respecter les conventions de saisie dtailles en 2.2.3.
void LoadGrid(String file)
Charge une grille de conversion.
: Chemin complet de la grille charger.

String file
void Clear()

Rinitialise lobjet Conversion. Efface les ellipsodes, systmes godsiques, projections et systme godsique de rfrence.
bool Convert(Location from, Location to, String grid = )
Effectue une conversion.
Location from
Location to
String grid

: Position convertir.
: Position convertie.
: Nom de la grille de conversion

Voir la description de la classe Location en 3.2.


La variable from doit contenir les coordonnes du point convertir (XLon et YLat), le nom abrg du systme godsique ou de
la projection dans laquelle sont exprimes les coordonnes (Key), lunit (Unit), le mridien de rfrence (Mer) sil sagit de
coordonnes en Latitude / Longitude, la zone (Zone) sil sagit de coordonnes UTM.
La variable to doit contenir le nom abrg du systme godsique ou de la projection dans laquelle serontt exprimes les
coordonnes (Key), lunit (Unit), le mridien de rfrence (Mer) sil sagit de coordonnes en Latitude / Longitude. Au retour,
les coordonnes (XLon et YLat) seront renseignes, ainsi que la zone et le dsignateur sil sagit de coordonnes UTM.
La variable grid est le nom dune grille de conversion au format NTV2, qui sera utilise si les coordonnes sont lintrieur de la
grille (fichier .gsb). Si cette variable nest pas renseigne, la conversion sera ralise sans grille de manire classique.
Valeur de retour : true si la grille prcise a t utilise, false sinon ou si aucune grille nest prcise.
bool IsDatum(String key)
Dtermine si le nom abrg key correspond un systme godsique dj dfini dans lobjet Conversion.
String key

: Nom abrg.

Valeur de retour : true si le nom abrg correspond un systme godsique, false sinon.
bool IsEllippsoid(String key)
Dtermine si le nom abrg key correspond un ellipsode dj dfini dans lobjet Conversion.
String key

: Nom abrg.

Valeur de retour : true si le nom abrg correspond un ellipsode, false sinon.


bool IsProjection(String key)
Dtermine si le nom abrg key correspond une projection dj dfinie dans lobjet Conversion.
String key

: Nom abrg.

Valeur de retour : true si le nom abrg correspond une projection, false sinon.
bool IsGrid(String grid)
Dtermine si la grille de nom grid est charge en mmoire.
String grid : Nom de la grille de conversion.
10

Valeur de retour : true si la grille est charge, false sinon.


bool MinMaxZone(String key, out int minZone, out int maxZone)
Obtient les zones minimale et maximale dune projection zone automatique.
String key : Nom abrg de la projection.
int minZone : Zone minimale.
int maxZone : Zone maximale.
Si la projection ne correspond pas une projection avec calcul de zone automatique, minZone et maxZone vaudront 0.
Valeur de retour : true si le nom abrg correspond une projection avec calcul de zone automatique, false sinon.
Dictionary<String,String> ReadXml(String file, bool append = false)
Initialise lobjet Conversion partir dun fichier xml.
String file : Chemin et nom du fichier xml.
bool append : Mode de lecture (true pour ajouter, false pour initialiser)
Le format du fichier est le mme que celui obtenu en utilisant la sauvegarde au format xml de Convers (Voir 2.4). En mode
initialisation, tous les lments de lobjet Conversion seront effacs avant lajout des nouveaux. En mode ajout les lments ayant
un code dj existant dans lobjet Conversion ne seront pas ajouts.
Valeur de retour : Dictionnaire des lments ajouts. Key contient le type (E pour les ellipsodes, D pour les systme godsiques,
P pour les projections) suivi dun ; et du code de llment. Value contient la description des lments (voir les mthodes
AddEllipsoide, AddDatum, et AddProjections pour la description de chaque lment).
void WriteXml(String file)
Enregistre les paramtres de lobjet Conversion dans un fichier xml.
String file : Chemin et nom du fichier xml.
bool ZoneAuto(String key)
Dtermine si la projection de nom abrg key permet le calcul de zone automatique.
String key

: Nom abrg de la projection.

Valeur de retour : true si le nom abrg correspond une projection avec calcul de zone automatique, false sinon.

3.5

Utilisation de ConversApi3.dll en C#

Cet exemple est fourni avec Convers3, il souvre avec Visual Studio (2008 et suivants) : Menu Dmarrer de Windows, Convers 3,
Exemples, C#, Exemple.sln.
using
using
using
using
using
using

System;
System.Collections.Generic;
System.Linq;
System.Text;
System.IO;
ConversApi;

namespace Exemple
{
class Program
{
static void Main(string[] args)
{
Conversion Conv = new Conversion();
if (File.Exists("Convers.xml")) // Configuration partir d'un fichier xml
{
Conv.ReadXml("Convers.xml");
}
else // Configuration manuelle

11

{
// Ajout des ellipsodes
Conv.AddEllipsoid("WGS84", "WGS 1984", 6378137, 6356752.314245, 0);
Conv.AddEllipsoid("CLRK80IGN", "Clarke 1880 IGN", 6378249, 6356515, 0);
// Ajout des systmes godsiques
Conv.AddDatum("WGS84", "World Geodetic System 1984", "WGS84", 0, 0, 0);
Conv.AddDatum("NTF", "Nouvelle Triangulation Franaise", "CLRK80IGN", -168, -60, 320);
// Ajout des projections
Conv.AddProjection("UTM.WGS84", "Universal Transverse Mercator / WGS84;UTM;WGS84;0.9996");
Conv.AddProjection("LT2E", "Lambert France zone II tendue;LAMBCC2;NTF;45.5356108;47.4145652;
2.2014025;52g;6e5;2.2e6");
}
// Point convertir en Lambert II tendu (kilomtres)
Location from = new Location(869.269, 2078.565, "LT2E", Units.KM);
// Rsultat en Lat / Lon WGS84 (degrs minutes secondes, Greenwich)
Location to = new Location(0,0,"WGS84",Units.DMS,Meridians.GREENWICH);
// Conversion et affichage du rsultat
Conv.Convert(from, ref to);
from.Format(Conv);
to.Format(Conv);
Console.WriteLine("Lambert II tendu : X = {0} Y = {1}", from.sXLon, from.sYLat);
Console.WriteLine("WGS84
: {0} {1}", to.sYLat, to.sXLon);
// Conversion en UTM
to.Key = "UTM.WGS84";
to.Unit = Units.MT;
to.Mer = Meridians.NONE;
Conv.Convert(from, ref to);
to.Format(Conv);
Console.WriteLine("UTM / WGS84

: {0:00}{1} {2} {3}", to.Zone, to.Designator, to.sXLon, to.sYLat);

Console.Read();
}
}
}

3.6

Utilisation de ConversApi3.dll avec Excel

Il est possible dutiliser ConversApi3.dll en VBA avec Excel. Avant toute utilisation des classes de ConversApi3.dll il peut tre ncessaire
de la rfrencer dans Excel bien que normalement le rfrencement se fasse de manire automatique lors de linstallation de Convers3.
Pour cela, ouvrir le module Visual Basic dExcel puis procder au rfrencement grce au menu Outil Rfrences afin de rfrencer
C:\Program Files\Convers3\ConversApi3.tlb. Une fois le rfrencement effectu, laccs aux fonctionnalits de ConversApi3.dll sera
possible.
Lexemple suivant est fourni avec Convers3. Pour louvrir : Menu Dmarrer de Windows, Convers 3, Exemples, Excel, Exemple.xls. A
partir de la version 2007 dExcel il faut activer les macros aprs louverture du fichier. Selon lendroit o Convers3 sera install, il faudra
peut-tre modifier le chemin du fichier Convers.xml pass en paramtre la fonction ReadXml. En cas derreur dinitialisation la fonction
renverra 99 pour les coordonnes converties. Un exemple de conversion avec grille NTV2 est galement fourni.
' Variables globales
Dim Init As Integer
Dim conv As New ConversApi3.Conversion
Public Function ConversCoords3(ByVal d1 As Range, ByVal lpszFrom As String, ByVal iUnit1 As Integer, ByVal iMer1 As
Integer, ByVal lpszTo As String, ByVal iUnit2 As Integer, ByVal iMer2 As Integer) As Variant
' Dclarations
Dim loc1 As New ConversApi3.Location
Dim loc2 As New ConversApi3.Location
' Initialisation partir de Convers.xml, ne faire qu'une seule fois
If Init = 0 Then

12

Call conv.ReadXml("C:\Program Files\Convers3\Exemples\Excel\Convers.xml", 0) ' Windows XP


If Not conv.IsDatum(WGS84) Then
Call conv.ReadXml("C:\Program Files (x86)\Convers3\Exemples\Excel\Convers.xml", 0) ' Windows 7
End If
If conv.IsDatum(WGS84) Then Init = 1 Else Init = -1
End If
If Init = 1 Then
' Initialisation du point convertir
loc1.xlOn = d1(1, 1)
loc1.YLat = d1(1, 2)
If d1.Count > 2 Then loc1.Zone = d1(1, 3)
loc1.Key = lpszFrom
loc1.Unit = iUnit1
loc1.Mer = iMer1
' Initialisation du rsultat
loc2.Key = lpszTo
loc2.Unit = iUnit2
loc2.Mer = iMer2
' Conversion
Call conv.Convert(loc1, loc2)
' Retour du rsultat sous forme de matrice
ConversCoords3 = Array(loc2.xlOn, loc2.YLat, loc2.Zone)
Else
ConversCoords3 = Array(99, 99, 99)
End If
End Function

3.7

Types de projections reconnues par ConversApi3.dll

Cylindrique Equidistante (Equirectangulaire)


Code type
Paramtres

: EQUIRECT
: Mridien central, Latitude d'origine, X l'origine (m), Y l'origine (m).

Laborde Madagascar
Code type
Paramtres

: LABORDE
: Facteur d'chelle, Azimut, Mridien central, Latitude d'origine, X l'origine (m), Y l'origine (m).

Lambert Conforme Conique (2 parallles)


Code type
Paramtres

: LAMBCC2
: 1er parallle scant, 2nd parallle scant, Latitude dorigine, Mridien central, X lorigine (m), Y lorigine (m).

Lambert Conforme Conique (1 parallle)


Code type
Paramtres

: LAMBCC1
: Facteur d'chelle l'origine, Mridien central, Latitude d'origine, X l'origine (m), Y l'origine (m)

Lambert Conforme Conique (2 parallles) Belgique 1972


Code type
Paramtres

: LAMB72
: 1er parallle scant, 2nd parallle scant, Latitude dorigine, Mridien central, X lorigine (m), Y lorigine (m).

Lambert Conique Tronque


Code type
Paramtres

: LAMBCT
: Facteur d'chelle l'origine, Mridien central, Latitude d'origine, X l'origine (m), Y l'origine (m).

Mercator Oblique (Hotine) type A


Code type

: MEROBLIQA
13

Paramtres

: Facteur d'chelle, Latitude 1er point, Longitude 1er point, Latitude 2me point, Longitude 2me point, Latitude
d'origine, X l'origine (m);Y l'origine (m)

Mercator Oblique (Hotine) type B


Code type
Paramtres

: MEROBLIQB
: Facteur d'chelle, Azimut, Mridien central, Latitude d'origine, X l'origine (m), Y l'origine (m)

Mercator Transverse
Code type
Paramtres

: MERTRANS
: Facteur d'chelle, Mridien central, Latitude d'origine, X l'origine (m), Y l'origine (m)

Miller Cylindrique
Code type
Paramtres

: MILLER
: Mridien central, X l'origine (m), Y l'origine (m).

Strographique Equatoriale
Code type
Paramtres

: STEREQUA
: Facteur d'chelle, Mridien central, X l'origine (m), Y l'origine (m)

Strographique Oblique
Code type
Paramtres

: STEROBLIQ
: Facteur d'chelle, Mridien central, Latitude d'origine, X l'origine (m), Y l'origine (m)

Suisse (Oblique Conforme Cylindrique)


Code type
Paramtres

: SWISS
: Mridien central, Latitude d'origine, X l'origine (m), Y l'origine (m)

Universal Transverse Mercator (UTM)


Code type
Paramtres

: UTM
: Facteur dchelle.

Universal Transverse Mercator (UTM) Zone fixe


Code type
Paramtres

: UTMZONE
: Facteur dchelle, Zone (Nord > 0, Sud < 0).

14

You might also like