Bibliothèques de type « early binding » versus « late binding »
Le caractère universel du système WGS84 rend tentante l’idée de l’utiliser comme système pivot,
afin de simplifier l’implémentation d’une bibliothèque de transformation de coordonnées.
La transformation d’une coordonnée d’un référentiel A vers un référentiel B
pourrait se faire en transformant d’abord de A vers WGS84, puis de WGS84 vers B.
Il suffirait ainsi de stocker dans chaque objet GeodeticDatum
les informations nécessaires à la transformation vers WGS84.
Cette approche était encouragée dans la version 1 du format WKT, qui définissait un élément TOWGS84[…]
remplissant ce rôle.
Cette approche est désignée par EPSG sous le nom de « early binding »
car elle associe des informations sur la transformations de coordonnées très tôt dans la définition des objets géodésiques,
souvent directement au moment de la construction d’un object GeographicCRS
.
Bien que EPSG reconnaisse que cette approche soit couramment employée, elle n’est pas recommandée pour plusieurs raisons:
- Il existe parfois plusieurs transformations allant d’un référentiel A vers B, chacune étant plus précise pour une région géographique donnée.
- Certaines opérations sont conçues spécifiquement pour transformer de A vers B et n’ont pas la même précision qu’aurait une autre transformation faisant un détour par WGS84.
- WGS84 lui-même subit parfois des révisions, ce qui en fait une cible mouvante (bien que très lentement) pour les bibliothèques de transformations de coordonnées.
- Il existe d’autres systèmes globaux qui pourraient servir de pivot, par exemple le Galileo Reference Frame (GTRF) mis en place par le concurrent européen du GPS.
Exemple:
la base de données géodésiques EPSG définie une cinquantaine de transformations de NAD27 vers NAD83.
Dans une approche de type « early binding », le même système de référence « NAD27 » représenté dans le format WKT 1
aurait besoin d’être défini avec un élément TOWGS84[-8, 160, 176]
pour des coordonnées aux États-Unis,
ou avec un élément TOWGS84[-10, 158, 187]
pour coordonnées aux Canada.
Différents paramètres existent aussi pour d’autres régions telles que Cuba.
Il n’est donc pas possible de représenter une telle diversité en associant un seul élément TOWGS84[…]
à un système de référence des coordonnées.
Même en restreignant l’usage d’un référenciel au domaine de validité de son élément TOWGS84[…]
,
ces transformations resteraient approximatives avec une précision de 10 mètres dans le cas des États-Unis.
Des transformations plus précises existent sous la forme des grilles de changements de référentiel NADCON,
mais ces grilles sont pour des transformations de NAD27 vers NAD83
(qui se déplacent ensemble sur la même plaque continentale) et non vers WGS84 (qui se déplace indépendamment).
Cette différence était souvent ignorée lorsque l’on considérait que NAD83 et WGS84
étaient pratiquement équivalents, mais cette supposition est aujourd’hui à prendre avec plus de précautions.
EPSG recommande plutôt d’utiliser une approche dite « late binding »,
selon laquelle les méthodes et paramètres nécessaires aux transformations de coordonnées sont définis pour des paires
de référentiels « A vers B » (éventuellement complétées par leurs domaines de validité)
plutôt qu’associés à des référentiels pris isolément.
Apache SIS est une implémentation de type « late binding »,
bien qu’une réminiscence de l’approche « early binding » existe toujours
sous la forme de la propriété DefaultGeodeticDatum.getBursaWolfParameters()
.
SIS n’utilise cette dernière que comme solution de dernier recours
s’il ne peut pas appliquer l’approche « late binding » avec les systèmes de références donnés.