Return-Path:
X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io
Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io
Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183])
by cust-asf2.ponee.io (Postfix) with ESMTP id 9BFA2200C7F
for ; Tue, 9 May 2017 15:10:04 +0200 (CEST)
Received: by cust-asf.ponee.io (Postfix)
id 9A986160BB3; Tue, 9 May 2017 13:10:04 +0000 (UTC)
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
by cust-asf.ponee.io (Postfix) with SMTP id 7734B160BCD
for ; Tue, 9 May 2017 15:10:02 +0200 (CEST)
Received: (qmail 54871 invoked by uid 500); 9 May 2017 13:10:01 -0000
Mailing-List: contact commits-help@sis.apache.org; run by ezmlm
Precedence: bulk
List-Help:
List-Unsubscribe:
List-Post:
List-Id:
Reply-To: sis-dev@sis.apache.org
Delivered-To: mailing list commits@sis.apache.org
Received: (qmail 54862 invoked by uid 99); 9 May 2017 13:10:01 -0000
Received: from Unknown (HELO svn01-us-west.apache.org) (209.188.14.144)
by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 09 May 2017 13:10:01 +0000
Received: from svn01-us-west.apache.org (localhost [127.0.0.1])
by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id 3551A3A5315
for ; Tue, 9 May 2017 13:10:00 +0000 (UTC)
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: svn commit: r1794573 [9/10] - in /sis/site/trunk/book: en/ fr/
Date: Tue, 09 May 2017 13:09:59 -0000
To: commits@sis.apache.org
From: desruisseaux@apache.org
X-Mailer: svnmailer-1.0.9
Message-Id: <20170509131000.3551A3A5315@svn01-us-west.apache.org>
archived-at: Tue, 09 May 2017 13:10:04 -0000
Modified: sis/site/trunk/book/fr/referencing.html
URL: http://svn.apache.org/viewvc/sis/site/trunk/book/fr/referencing.html?rev=1794573&r1=1794572&r2=1794573&view=diff
==============================================================================
--- sis/site/trunk/book/fr/referencing.html [UTF-8] (original)
+++ sis/site/trunk/book/fr/referencing.html [UTF-8] Tue May 9 13:09:58 2017
@@ -32,374 +32,379 @@
Content below this point is copied in "../../content/book/fr/developer-guide.html"
by the 'org.apache.sis.internal.book.Assembler' class in 'sis-build-helper' module.
-->
-
- Systèmes de références spatiales
-
-
- Pour donner une position sur la Terre, on peut utiliser des noms tels que celui d’une ville ou une adresse postale
- — on parle alors de références spatiales par identifiants —
- ou on peut donner des valeurs numériques valides dans un système de coordonnées donné telles que les latitudes et longitudes
- — on parle alors de références spatiales par coordonnées.
- Chaque système de référence implique des approximations telles que
- le choix de la forme géométrique (géoïde, ellipsoïde, etc.) utilisée comme approximation de la forme de la Terre,
- le choix des propriétés géométriques (angles, distances, etc.) à préserver lors de la représentation d’une carte sur une surface plane, et
- les pertes de précision lorsque l’on doit transformer des coordonnées vers des systèmes utilisant un référentiel différent.
-
- Une fausse croyance très répandue est que l’on peut éviter cette complexité en choisissant un seul système de référence des coordonnées
- (typiquement WGS84) comme système universel pour toutes les données.
- Les chapitres suivants expliqueront pourquoi la réalité n’est pas si simple.
- Qu’un système universel réponde ou non aux besoins d’une application dépend de la précision désirée,
- ainsi que du type de calculs que l’on souhaite effectuer avec les coordonnées.
- Sauf indication contraire, Apache SIS tente d’assurer une précision de 1 centimètre pour les coordonnées sur la Terre.
- Mais la maîtrise de cette précision nécessite le respect de certaines conditions:
-
-
- - Rester dans la zone de validité du système telle que donnée par
ReferenceSystem.getDomainOfValidity()
.
- - Savoir que les mesures de distances dans une projection cartographique donnée ne sont vraies qu’à certains endroits,
- appelés par exemple « parallèles standards ».
- - Vérifier la précision des transformations de coordonnées, par exemple avec
-
CoordinateOperation.getCoordinateOperationAccuracy()
.
- - Trouver les paramètres les plus appropriées pour une transformation de coordonnées requiert l’usage d’une base de données géodétiques telles que EPSG.
- Déclarer ces paramètres directement dans le CRS (par exemple avec un élément
TOWGS84
) n’est souvent pas suffisant.
-
-
+
- Bibliothèques de type « early binding » versus « late binding »
+ Systèmes de références spatiales
- 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:
+ Pour donner une position sur la Terre, on peut utiliser des noms tels que celui d’une ville ou une adresse postale
+ — on parle alors de références spatiales par identifiants —
+ ou on peut donner des valeurs numériques valides dans un système de coordonnées donné telles que les latitudes et longitudes
+ — on parle alors de références spatiales par coordonnées.
+ Chaque système de référence implique des approximations telles que
+ le choix de la forme géométrique (géoïde, ellipsoïde, etc.) utilisée comme approximation de la forme de la Terre,
+ le choix des propriétés géométriques (angles, distances, etc.) à préserver lors de la représentation d’une carte sur une surface plane, et
+ les pertes de précision lorsque l’on doit transformer des coordonnées vers des systèmes utilisant un référentiel différent.
+
+ Une fausse croyance très répandue est que l’on peut éviter cette complexité en choisissant un seul système de référence des coordonnées
+ (typiquement WGS84) comme système universel pour toutes les données.
+ Les chapitres suivants expliqueront pourquoi la réalité n’est pas si simple.
+ Qu’un système universel réponde ou non aux besoins d’une application dépend de la précision désirée,
+ ainsi que du type de calculs que l’on souhaite effectuer avec les coordonnées.
+ Sauf indication contraire, Apache SIS tente d’assurer une précision de 1 centimètre pour les coordonnées sur la Terre.
+ Mais la maîtrise de cette précision nécessite le respect de certaines conditions:
- - 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.
+ - Rester dans la zone de validité du système telle que donnée par
ReferenceSystem.getDomainOfValidity()
.
+ - Savoir que les mesures de distances dans une projection cartographique donnée ne sont vraies qu’à certains endroits,
+ appelés par exemple « parallèles standards ».
+ - Vérifier la précision des transformations de coordonnées, par exemple avec
+
CoordinateOperation.getCoordinateOperationAccuracy()
.
+ - Trouver les paramètres les plus appropriées pour une transformation de coordonnées requiert l’usage d’une base de données géodétiques telles que EPSG.
+ Déclarer ces paramètres directement dans le CRS (par exemple avec un élément
TOWGS84
) n’est souvent pas suffisant.
+
+
+ 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.
+
+
+
+ Le module sis-referencing
de Apache SIS fournit un ensemble de classes implémentant
+ les différentes spécialisations de l’interface ReferenceSystem
ainsi que leurs composantes.
+ Ces implémentations permettent de stocker une description des systèmes de références spatiales
+ ainsi que leurs méta-données telles que la zone de validité.
+ Toutefois ces objets n’effectuent aucune opération sur les coordonnées.
+ Les conversions ainsi que les transformations de coordonnées sont le travail d’une autre famille de classes,
+ dont la racine est l’interface CoordinateOperation
.
+ Ces classes seront discutées dans une autre section.
+
+
+
+
+ Composantes d’un système de références par coordonnées
+
+ Les systèmes de références spatiales par coordonnées fournissent les informations nécessaires pour faire
+ correspondre des coordonnées numériques à des positions dans le monde réel. Dans Apache SIS,
+ ils sont pratiquement tous représentés par des classes dont le nom se termine en CRS
+ (l’abréviation de Coordinate Reference System en anglais). Ces objets contiennent:
+
+
+ - Un référentiel (datum en anglais),
+ qui indique entre autres quel ellipsoïde utiliser comme approximation de la forme de la terre.
+ - Une description de chaque axe (nom, direction, unité de mesure, limites).
+ - Parfois une liste de paramètres permettant de convertir les coordonnées d’un autre système.
+ C’est le cas notamment lorsqu’on utilise des projections cartographiques.
+
+
+ Ces systèmes sont décrits par la norme ISO 19111 (Referencing by Coordinates),
+ qui remplace en grande partie une norme plus ancienne mais encore utilisée pour certains aspects,
+ OGC 01-009 (Coordinate Transformation Services).
+ Ces normes sont complétées par deux autres standards définissant des formats d’échanges:
+ ISO 19136 et 19162 pour respectivement
+ le Geographic Markup Language (GML) — un format XML précis mais verbeux —
+ et le Well-Known Text (WKT) — un format texte plus facile à lire par les humains.
+
+
+ Géoïde et ellipsoïde
+
+ La surface topographique réelle étant difficile à représenter mathématiquement, elle n’est pas utilisée directement en cartographie.
+ Une autre surface un peu plus facilement utilisable est le géoïde,
+ une surface sur laquelle la force gravitationnelle a partout la même valeur (surface équipotentielle du champ de gravité terrestre).
+ Cette surface est en tout point perpendiculaire à la direction indiquée par un fil à plomb (verticale du lieu).
+ Le géoïde coïnciderait avec le niveau moyen des mers s’il n’y avait ni vent ni courants marins permanents comme le Gulf Stream.
+
+ Tout en étant nettement plus lisse que la surface topographique,
+ le géoïde présente des creux et des bosses liés à l’inégale distribution des masses de la Terre.
+ Pour une utilisation mathématiquement plus aisée, le géoïde est donc approximé par un ellipsoïde.
+ Cette « figure de la Terre » est représentée dans GeoAPI par l’interface Ellipsoid
,
+ qui constitue un élément fondamental des systèmes de références de type GeographicCRS
et ProjectedCRS
.
+ Plusieurs dizaines d’ellipsoïdes sont couramment employés pour la définition de référentiels.
+ Certains offrent une excellente approximation pour une région précise
+ au détriment des régions pour lesquelles le référentiel n’a pas été conçu,
+ et d’autres offrant un compromis pour l’ensemble de la planète.
+
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.
-
-
-
- Le module sis-referencing
de Apache SIS fournit un ensemble de classes implémentant
- les différentes spécialisations de l’interface ReferenceSystem
ainsi que leurs composantes.
- Ces implémentations permettent de stocker une description des systèmes de références spatiales
- ainsi que leurs méta-données telles que la zone de validité.
- Toutefois ces objets n’effectuent aucune opération sur les coordonnées.
- Les conversions ainsi que les transformations de coordonnées sont le travail d’une autre famille de classes,
- dont la racine est l’interface CoordinateOperation
.
- Ces classes seront discutées dans une autre section.
-
-
-
-
- Composantes d’un système de références par coordonnées
-
- Les systèmes de références spatiales par coordonnées fournissent les informations nécessaires pour faire
- correspondre des coordonnées numériques à des positions dans le monde réel. Dans Apache SIS,
- ils sont pratiquement tous représentés par des classes dont le nom se termine en CRS
- (l’abréviation de Coordinate Reference System en anglais). Ces objets contiennent:
-
-
- - Un référentiel (datum en anglais),
- qui indique entre autres quel ellipsoïde utiliser comme approximation de la forme de la terre.
- - Une description de chaque axe (nom, direction, unité de mesure, limites).
- - Parfois une liste de paramètres permettant de convertir les coordonnées d’un autre système.
- C’est le cas notamment lorsqu’on utilise des projections cartographiques.
-
-
- Ces systèmes sont décrits par la norme ISO 19111 (Referencing by Coordinates),
- qui remplace en grande partie une norme plus ancienne mais encore utilisée pour certains aspects,
- OGC 01-009 (Coordinate Transformation Services).
- Ces normes sont complétées par deux autres standards définissant des formats d’échanges:
- ISO 19136 et 19162 pour respectivement
- le Geographic Markup Language (GML) — un format XML précis mais verbeux —
- et le Well-Known Text (WKT) — un format texte plus facile à lire par les humains.
-
-
- Géoïde et ellipsoïde
-
- La surface topographique réelle étant difficile à représenter mathématiquement, elle n’est pas utilisée directement en cartographie.
- Une autre surface un peu plus facilement utilisable est le géoïde,
- une surface sur laquelle la force gravitationnelle a partout la même valeur (surface équipotentielle du champ de gravité terrestre).
- Cette surface est en tout point perpendiculaire à la direction indiquée par un fil à plomb (verticale du lieu).
- Le géoïde coïnciderait avec le niveau moyen des mers s’il n’y avait ni vent ni courants marins permanents comme le Gulf Stream.
-
- Tout en étant nettement plus lisse que la surface topographique,
- le géoïde présente des creux et des bosses liés à l’inégale distribution des masses de la Terre.
- Pour une utilisation mathématiquement plus aisée, le géoïde est donc approximé par un ellipsoïde.
- Cette « figure de la Terre » est représentée dans GeoAPI par l’interface Ellipsoid
,
- qui constitue un élément fondamental des systèmes de références de type GeographicCRS
et ProjectedCRS
.
- Plusieurs dizaines d’ellipsoïdes sont couramment employés pour la définition de référentiels.
- Certains offrent une excellente approximation pour une région précise
- au détriment des régions pour lesquelles le référentiel n’a pas été conçu,
- et d’autres offrant un compromis pour l’ensemble de la planète.
-
- Exemple:
- la base de données géodétiques EPSG définit entre autres les ellipsoïdes « WGS 84 », « Clarke 1866 », « Clarke 1880 »,
- « GRS 1980 » and « GRS 1980 Authalic Sphere » (une sphère de même surface que l’ellipsoïde GRS 1980).
- Un ellipsoïde peut être utilisé en divers endroits de la planète ou peut être très spécifique à une région précise.
- Par exemple au début du XXe siècle aux États-Unis, l’état du Michigan utilisait pour ses cartes un ellipsoïde basé
- sur l’ellipsoïde « Clarke 1866 » mais auquel la longueur des axes a été allongée de 800 pieds.
- Cette modification visait à tenir compte du niveau moyen de l’état au dessus du niveau de la mer.
-
-
- Référentiel géodésique
-
- Pour définir un système géodésique dans un pays, l’état met en place un ellipsoïde de référence
- qui épouse au mieux sur l’ensemble du pays la forme locale du géoïde.
- L’écart entre cet ellipsoïde de référence et les creux et les bosses du géoïde reste généralement inférieur à 100 mètres.
- Les paramètres qui permettent de lier un Ellipsoid
à la surface de la Terre (par exemple la position de son centre)
- sont représentées par un objet de type GeodeticDatum
, que l’on traduit en français par « référentiel géodésique ».
- Plusieurs GeodeticDatum
peuvent utiliser le même Ellipsoid
, mais centré ou orienté différemment.
-
- Avant l’avènement des satellites, les mesures géodésiques se déroulaient exclusivement à la surface de la terre.
- En conséquence, deux îles ou continents qui ne sont pas à portée visuelle l’un de l’autre n’étaient pas rattachés géodésiquement entre eux.
- Ainsi les référentiels North American Datum 1983 (NAD83) et
- European Datum 1950 (ED50) sont indépendants l’un de l’autre:
- leurs ellipsoïdes de référence ont des centres distincts et des dimensions différentes.
- Une même coordonnée géographique correspondra à des positions différentes dans le monde réel
- selon que la coordonnée se réfère à l’un ou l’autre de ces référentiels.
-
- L’invention du GPS a précipité la création d’un système géodésique mondial,
- nommé WGS84.
- L’ellipsoïde de référence est alors unique et centré au centre de gravité de la terre.
- Les GPS donnent à tout moment la position absolue du récepteur rapportée à ce système géodésique.
- Mais WGS84 étant un système mondial, il peut diverger significativement des systèmes locaux.
- Par exemple l’écart entre WGS84 et le système européen ED50 est de l’ordre de 150 mètres,
- et l’écart moyen par rapport au système de l’île de la Réunion 1947 est de 1,5 kilomètres.
- Il ne faut donc pas rapporter aveuglement des positions GPS sur une carte.
- Des correspondances avec les systèmes régionaux peuvent être nécessaires
- et sont représentées dans GeoAPI sous forme d’objets de type Transformation
.
-
- Les généralisation de l’usage du système WGS84 tend à réduire le besoin d’utiliser
- les objets Transformation
pour les données récentes, mais ne l’élimine pas complètement.
- La Terre bouge sous l’effet de la tectonique des plaques et de nouveaux systèmes sont définis chaque année pour en tenir compte.
- Par exemple bien que le référentiel NAD83 a été défini à l’origine comme pratiquement équivalent à WGS84,
- il existe maintenant (en 2016) un écart d’environ 1.5 mètres entre ces deux systèmes.
- Le référentiel Japanese Geodetic Datum 2000 était aussi défini comme pratiquement équivalent à WGS84,
- mais le nouveau référentiel Japanese Geodetic Datum 2011 s’en écarte.
- Le référentiel WGS84 lui-même, sensé correspondre à une définition à un instant donné,
- a subit des révisions dues notamment à l’amélioration de la précision des instruments.
- Ainsi il existe aujourd’hui au moins six versions de WGS84.
- En outre beaucoups de bordures ont été définies légalement dans des référentiels plus anciens, par exemple NAD27 aux États-Unis.
- Mettre à jour dans un nouveau référentiel peut obliger à transformer des lignes droites ou des formes géométriques simples en des formes plus irrégulières
- si on ne veut pas que des parcelles de terrain changent de propriétaire.
-
-
- Systèmes de coordonnées
- TODO
-
- Ordre des axes
-
- L’ordre des axes est spécifié par l’autorité (typiquement une agence nationale) qui définit le
- système de référence des coordonnées (CRS).
- L’ordre dépend du type de CRS ainsi que du pays qui l’a définit.
- Dans le cas des CRS de type géographique,
- l’ordre (latitude, longitude) est utilisé par les géographes et les pilotes depuis des siècles.
- Toutefois des développeurs de logiciels tendent à préférer l’ordre (x, y) pour tous systèmes de coordonnées.
- Ces différentes pratiques entraînent des définitions contradictoires de l’ordre des axes pour pratiquement tous les CRS
- de type GeographicCRS
, pour certains ProjectedCRS
dans l’hémisphère sud (Afrique du Sud, Australie, etc.)
- et pour certaines projections polaires entre autres.
-
- Les standards OGC récents demandent d’ordonner les axes tel que spécifié par l’autorité qui a définit le CRS.
- Mais des standards OGC plus anciens utilisaient l’ordre (x, y) inconditionnellement,
- en ignorant les spécifications des autorités sur ce point.
- Beaucoup de logiciels continuent d’utiliser cet ordre (x, y),
- peut-être parce qu’une telle uniformisation rend l’implémentation et l’utilisation des CRS en apparence plus simple.
- Apache SIS supporte les deux conventions avec l’approche suivante:
- par défaut, SIS construit les CRS avec les axes dans l’ordre définit par l’autorité.
- Ces CRS sont construits par des appels à la méthode CRS.forCode(String)
,
- et l’ordre des axes effectif peut être vérifié après la création du CRS par un appel à System.out.println(crs)
.
- Mais si l’ordre (x, y) est désiré pour des raisons de compatibilité avec d’anciens standards OGC ou avec d’autres logiciels,
- alors les CRS peuvent être modifiés de manière à avoir la longitude en premier avec un appel à la méthode suivante:
-
- CoordinateReferenceSystem crs = …; // CRS obtenu de n’importe quelle façon.
+ la base de données géodétiques EPSG définit entre autres les ellipsoïdes « WGS 84 », « Clarke 1866 », « Clarke 1880 »,
+ « GRS 1980 » and « GRS 1980 Authalic Sphere » (une sphère de même surface que l’ellipsoïde GRS 1980).
+ Un ellipsoïde peut être utilisé en divers endroits de la planète ou peut être très spécifique à une région précise.
+ Par exemple au début du XXe siècle aux États-Unis, l’état du Michigan utilisait pour ses cartes un ellipsoïde basé
+ sur l’ellipsoïde « Clarke 1866 » mais auquel la longueur des axes a été allongée de 800 pieds.
+ Cette modification visait à tenir compte du niveau moyen de l’état au dessus du niveau de la mer.
+
+
+ Référentiel géodésique
+
+ Pour définir un système géodésique dans un pays, l’état met en place un ellipsoïde de référence
+ qui épouse au mieux sur l’ensemble du pays la forme locale du géoïde.
+ L’écart entre cet ellipsoïde de référence et les creux et les bosses du géoïde reste généralement inférieur à 100 mètres.
+ Les paramètres qui permettent de lier un Ellipsoid
à la surface de la Terre (par exemple la position de son centre)
+ sont représentées par un objet de type GeodeticDatum
, que l’on traduit en français par « référentiel géodésique ».
+ Plusieurs GeodeticDatum
peuvent utiliser le même Ellipsoid
, mais centré ou orienté différemment.
+
+ Avant l’avènement des satellites, les mesures géodésiques se déroulaient exclusivement à la surface de la terre.
+ En conséquence, deux îles ou continents qui ne sont pas à portée visuelle l’un de l’autre n’étaient pas rattachés géodésiquement entre eux.
+ Ainsi les référentiels North American Datum 1983 (NAD83) et
+ European Datum 1950 (ED50) sont indépendants l’un de l’autre:
+ leurs ellipsoïdes de référence ont des centres distincts et des dimensions différentes.
+ Une même coordonnée géographique correspondra à des positions différentes dans le monde réel
+ selon que la coordonnée se réfère à l’un ou l’autre de ces référentiels.
+
+ L’invention du GPS a précipité la création d’un système géodésique mondial,
+ nommé WGS84.
+ L’ellipsoïde de référence est alors unique et centré au centre de gravité de la terre.
+ Les GPS donnent à tout moment la position absolue du récepteur rapportée à ce système géodésique.
+ Mais WGS84 étant un système mondial, il peut diverger significativement des systèmes locaux.
+ Par exemple l’écart entre WGS84 et le système européen ED50 est de l’ordre de 150 mètres,
+ et l’écart moyen par rapport au système de l’île de la Réunion 1947 est de 1,5 kilomètres.
+ Il ne faut donc pas rapporter aveuglement des positions GPS sur une carte.
+ Des correspondances avec les systèmes régionaux peuvent être nécessaires
+ et sont représentées dans GeoAPI sous forme d’objets de type Transformation
.
+
+ Les généralisation de l’usage du système WGS84 tend à réduire le besoin d’utiliser
+ les objets Transformation
pour les données récentes, mais ne l’élimine pas complètement.
+ La Terre bouge sous l’effet de la tectonique des plaques et de nouveaux systèmes sont définis chaque année pour en tenir compte.
+ Par exemple bien que le référentiel NAD83 a été défini à l’origine comme pratiquement équivalent à WGS84,
+ il existe maintenant (en 2016) un écart d’environ 1.5 mètres entre ces deux systèmes.
+ Le référentiel Japanese Geodetic Datum 2000 était aussi défini comme pratiquement équivalent à WGS84,
+ mais le nouveau référentiel Japanese Geodetic Datum 2011 s’en écarte.
+ Le référentiel WGS84 lui-même, sensé correspondre à une définition à un instant donné,
+ a subit des révisions dues notamment à l’amélioration de la précision des instruments.
+ Ainsi il existe aujourd’hui au moins six versions de WGS84.
+ En outre beaucoups de bordures ont été définies légalement dans des référentiels plus anciens, par exemple NAD27 aux États-Unis.
+ Mettre à jour dans un nouveau référentiel peut obliger à transformer des lignes droites ou des formes géométriques simples en des formes plus irrégulières
+ si on ne veut pas que des parcelles de terrain changent de propriétaire.
+
+
+ Systèmes de coordonnées
+ TODO
+
+ Ordre des axes
+
+ L’ordre des axes est spécifié par l’autorité (typiquement une agence nationale) qui définit le
+ système de référence des coordonnées (CRS).
+ L’ordre dépend du type de CRS ainsi que du pays qui l’a définit.
+ Dans le cas des CRS de type géographique,
+ l’ordre (latitude, longitude) est utilisé par les géographes et les pilotes depuis des siècles.
+ Toutefois des développeurs de logiciels tendent à préférer l’ordre (x, y) pour tous systèmes de coordonnées.
+ Ces différentes pratiques entraînent des définitions contradictoires de l’ordre des axes pour pratiquement tous les CRS
+ de type GeographicCRS
, pour certains ProjectedCRS
dans l’hémisphère sud (Afrique du Sud, Australie, etc.)
+ et pour certaines projections polaires entre autres.
+
+ Les standards OGC récents demandent d’ordonner les axes tel que spécifié par l’autorité qui a définit le CRS.
+ Mais des standards OGC plus anciens utilisaient l’ordre (x, y) inconditionnellement,
+ en ignorant les spécifications des autorités sur ce point.
+ Beaucoup de logiciels continuent d’utiliser cet ordre (x, y),
+ peut-être parce qu’une telle uniformisation rend l’implémentation et l’utilisation des CRS en apparence plus simple.
+ Apache SIS supporte les deux conventions avec l’approche suivante:
+ par défaut, SIS construit les CRS avec les axes dans l’ordre définit par l’autorité.
+ Ces CRS sont construits par des appels à la méthode CRS.forCode(String)
,
+ et l’ordre des axes effectif peut être vérifié après la création du CRS par un appel à System.out.println(crs)
.
+ Mais si l’ordre (x, y) est désiré pour des raisons de compatibilité avec d’anciens standards OGC ou avec d’autres logiciels,
+ alors les CRS peuvent être modifiés de manière à avoir la longitude en premier avec un appel à la méthode suivante:
+
+
+CoordinateReferenceSystem crs = …; // CRS obtenu de n’importe quelle façon.
crs = AbstractCRS.castOrCopy(crs).forConvention(AxesConvention.RIGHT_HANDED)
-
- Parmi les anciens standards de l’OGC qui utilisaient un ordre des axes non-conforme,
- un standard influent était la version 1 du format Well Known Text (WKT).
- D’après ce format largement utilisé, les définitions WKT 1 sans éléments AXIS[…]
explicites
- doivent être interprétés comme ayant ses axes dans l’ordre (longitude, latitude) ou (x, y).
- Dans la version 2 du format WKT, les éléments AXIS[…]
ne sont plus optionnel
- et devrait contenir explicitement un sous-élément ORDER[…]
pour rendre l’ordre voulu encore plus évident.
- Mais si les éléments AXIS[…]
sont malgré tout omis dans une définition WKT 2,
- alors Apache SIS utilise l’ordre (latitude, longitude) par défaut.
- Pour résumer:
-
-
- - L’ordre par défaut d’un CRS géographique en WKT 1 est (longitude, latitude) tel que spécifié par le standard OGC 01-009.
- - L’ordre par défaut d’un CRS géographique en WKT 2 est (latitude, longitude), mais c’est une interprétation spécifique de SIS
- vu que la norme ISO 19162 ne mentionne pas de comportement par défaut.
-
-
- Pour éviter des ambiguïtés, les utilisateurs sont encouragés à toujours fournir explicitement les éléments AXIS[…]
dans leurs WKT.
- Le format WKT sera présenté plus en détails dans les sections suivantes.
-
-
- Systèmes géographiques
- TODO
-
- Format Well-Known Text
- TODO
-
- Projections cartographiques
-
- Les projections cartographiques représentent une surface courbe (la Terre) sur une surface plane (une carte ou un écran d’ordinateur)
- en contrôlant les déformations: on peut préserver les angles ou les surfaces, mais pas les deux à la fois.
- Les propriétés géométriques à conserver dépendent de l’objet d’étude et du travail à effectuer.
- Par exemple les pays plutôt allongés dans le sens Est-Ouest utilisent souvent une projection de Lambert,
- alors que les pays plutôt allongés dans le sens Nord-Sud préfèrent une projection de Mercator Transverse.
-
- TODO
-
- Format Well-Known Text
- TODO
-
- Dimensions verticales et temporelles
- TODO
-
- Format Well-Known Text
- TODO
-
-
-
- Obtention d’un système de référence spatial
- TODO
-
- Systèmes prédéfinis par des autorités
- TODO
-
- Lecture d’une définition au format GML ou WKT
- TODO
-
- Construction programmatique explicite
- TODO
-
- Ajout de définitions
- TODO
-
-
-
- Opérations sur les coordonnées
-
- Étant donné un système de référence des coordonnées (CRS) source selon lequel sont exprimés des coordonnées existantes
- et un système de référence des coordonnées destination selon lequel les coordonnées sont désirées,
- Apache SIS peut fournir une opération sur les coordonnées qui effectuera le travail de conversion ou de transformation.
- La recherche d’une opération peut utiliser un troisième argument, optionnel mais recommandé: la région géographique des données à transformer.
- Ce dernier argument est recommandé parce que les opérations sur les coordonnées sont souvent valides seulement dans une région géographique
- (typiquement un pays ou une province particulière), et plusieurs transformations peuvent exister pour la même paire de CRS
- source et destination mais avec des domaines de validité différents.
- Il peut aussi y avoir des différentes transformations qui sont différents compromis entre la précision et le domaine de validité,
- de sorte que spécifier à Apache SIS qu’on s’intéresse à une région plus petite
- peut lui permettre de sélectionner une opération plus précise.
-
- Exemple:
- la base de données géodésiques EPSG (dans sa version 7.9) définit 77 opérations sur les coordonnées
- allant du système géographique North American Datum 1927 (EPSG:4267)
- vers le système World Geodetic System 1984 (EPSG:4326).
- Il y a une opération valide seulement pour la transformation de coordonnées au Québec,
- une autre opération valide pour la transformation de coordonnées au Texas mais à l’ouest de 100°W,
- une autre opération pour le même état mais à l’est de 100°W, etc.
- Si l’utilisateur ne spécifie pas la région géographique qui l’intéresse,
- alors le comportement par défaut de Apache SIS est de sélectionner l’opération valide dans la plus grande région géographique.
- Dans cet exemple, ce critère entraîne la sélection d’une opération valide pour le Canada, mais qui n’est pas valide pour les États-Unis.
-
-
- La façon la plus facile d’obtenir une opération sur les coordonnées à partir des informations présentées ci-dessus
- est d’utiliser la classe de commodité org.apache.sis.referencing.CRS
:
-
- CoordinateOperation cop = CRS.findOperation(sourceCRS, targetCRS, areaOfInterest);
-
- Parmi les information fournies par l’objet CoordinateOperation
obtenu, on note en particulier:
-
-
- - Le domaine de validité, soit comme une description textuelle telle que « Canada – onshore and offshore »
- ou comme les coordonnées géographiques d’une boîte englobante.
- - La précision, qui peut être n’importe quoi entre 1 centimètre et quelques kilomètres.
- - Le sous-type de l’opération sur les coordonnées. Parmi les sous-types possibles,
- deux offrent les mêmes fonctionnalités mais avec une différence conceptuelle notable:
-
- -
- Les conversions de coordonnées sont entièrement définies par une formule mathématique.
- Les conversions s’effectueraient avec une précision infinie s’il n’y avait pas les inévitables
- erreurs d’arrondissements inhérents aux calculs sur des nombres réels.
- Les projections cartographiques entrent dans cette catégorie.
-
-
- Les transformations de coordonnées sont définies de manière empirique.
- Elles ont souvent des erreurs de quelques mètres qui ne sont pas dues à des limites de la précision des ordinateurs.
- Ces erreurs découlent du fait que la transformation utilisée n’est qu’une approximation d’une réalité plus complexe.
- Les changements de référentiels tel que le passage de la
- Nouvelle Triangulation Française (NTF) vers le
- Réseau Géodésique Français 1993 (RGF93) entrent dans cette catégorie.
-
-
-
-
-
- Lorsque l’opération sur les coordonnées est une instance de Transformation
,
- il est possible que l’instance choisie par SIS ne soit qu’une parmi plusieurs possibilités en fonction de la région d’intérêt.
- En outre, sa précision sera certainement moindre que la précision centimétrique que l’on peut attendre d’une Conversion
.
- Vérifier la zone de validité ainsi que la précision déclarées dans les méta-données de la transformation prend alors une importance particulière.
-
-
-
-
- L’objet CoordinateOperation
introduit dans la section précédente fournit des informations de haut-niveau
- (CRS source et destination, zone de validité, précision, paramètres de l’opération, etc).
- Le travail mathématique réel est effectué par un objet séparé, obtenu par un appel à CoordinateOperation.getMathTransform()
.
- Contrairement aux instances de CoordinateOperation
, les instances de MathTransform
ne contiennent aucune méta-données.
- Elles sont une sorte de boîte noire qui ignore tout des CRS source et destination
- (en fait la même instance de MathTransform
peut être utilisée pour différentes paires de CRS si le travail mathématique est le même).
- En outre une instance de MathTransform
peut être implémentée d’une manière très différente à ce que CoordinateOperation
dit.
- En particulier, plusieurs opérations conceptuellement différentes (par exemple rotations de la longitude,
- changements d’unités de mesure, conversions entre deux projections de Mercator qui utilisent le même référentiel, etc.)
- sont implémentées par MathTransform
comme des transformations affines
- et concaténées pour des raisons d’efficacité, même si CoordinateOperation
les affiche comme une chaîne d’opérations telles que la projection de Mercator.
- La section « chaîne d’opération conceptuelle versus réelle » explique plus en détails les différences.
-
-
- Le code Java suivant effectue une projection cartographique à partir de coordonnées géographiques selon le référentiel
- World Geodetic System 1984 (WGS84) vers des coordonnées selon le système WGS 84 / UTM zone 33N.
- Afin de rendre l’exemple un peu plus simple, ce code utilise des constantes pré-définies dans la classe de commodité CommonCRS
.
- Mais des applications plus avancées voudront souvent utiliser des codes EPSG plutôt.
- Notons que toutes les coordonnées géographiques dans ce code ont la latitude avant la longitude.
-
+
+
+ Parmi les anciens standards de l’OGC qui utilisaient un ordre des axes non-conforme,
+ un standard influent était la version 1 du format Well Known Text (WKT).
+ D’après ce format largement utilisé, les définitions WKT 1 sans éléments AXIS[…]
explicites
+ doivent être interprétés comme ayant ses axes dans l’ordre (longitude, latitude) ou (x, y).
+ Dans la version 2 du format WKT, les éléments AXIS[…]
ne sont plus optionnel
+ et devrait contenir explicitement un sous-élément ORDER[…]
pour rendre l’ordre voulu encore plus évident.
+ Mais si les éléments AXIS[…]
sont malgré tout omis dans une définition WKT 2,
+ alors Apache SIS utilise l’ordre (latitude, longitude) par défaut.
+ Pour résumer:
+
+
+ - L’ordre par défaut d’un CRS géographique en WKT 1 est (longitude, latitude) tel que spécifié par le standard OGC 01-009.
+ - L’ordre par défaut d’un CRS géographique en WKT 2 est (latitude, longitude), mais c’est une interprétation spécifique de SIS
+ vu que la norme ISO 19162 ne mentionne pas de comportement par défaut.
+
+
+ Pour éviter des ambiguïtés, les utilisateurs sont encouragés à toujours fournir explicitement les éléments AXIS[…]
dans leurs WKT.
+ Le format WKT sera présenté plus en détails dans les sections suivantes.
+
+
+ Systèmes géographiques
+ TODO
+
+ Format Well-Known Text
+ TODO
+
+ Projections cartographiques
+
+ Les projections cartographiques représentent une surface courbe (la Terre) sur une surface plane (une carte ou un écran d’ordinateur)
+ en contrôlant les déformations: on peut préserver les angles ou les surfaces, mais pas les deux à la fois.
+ Les propriétés géométriques à conserver dépendent de l’objet d’étude et du travail à effectuer.
+ Par exemple les pays plutôt allongés dans le sens Est-Ouest utilisent souvent une projection de Lambert,
+ alors que les pays plutôt allongés dans le sens Nord-Sud préfèrent une projection de Mercator Transverse.
+
+ TODO
+
+ Format Well-Known Text
+ TODO
+
+ Dimensions verticales et temporelles
+ TODO
+
+ Format Well-Known Text
+ TODO
+
+
+
+ Obtention d’un système de référence spatial
+ TODO
+
+ Systèmes prédéfinis par des autorités
+ TODO
+
+ Lecture d’une définition au format GML ou WKT
+ TODO
+
+ Construction programmatique explicite
+ TODO
+
+ Ajout de définitions
+ TODO
+
+
+
+ Opérations sur les coordonnées
+
+ Étant donné un système de référence des coordonnées (CRS) source selon lequel sont exprimés des coordonnées existantes
+ et un système de référence des coordonnées destination selon lequel les coordonnées sont désirées,
+ Apache SIS peut fournir une opération sur les coordonnées qui effectuera le travail de conversion ou de transformation.
+ La recherche d’une opération peut utiliser un troisième argument, optionnel mais recommandé: la région géographique des données à transformer.
+ Ce dernier argument est recommandé parce que les opérations sur les coordonnées sont souvent valides seulement dans une région géographique
+ (typiquement un pays ou une province particulière), et plusieurs transformations peuvent exister pour la même paire de CRS
+ source et destination mais avec des domaines de validité différents.
+ Il peut aussi y avoir des différentes transformations qui sont différents compromis entre la précision et le domaine de validité,
+ de sorte que spécifier à Apache SIS qu’on s’intéresse à une région plus petite
+ peut lui permettre de sélectionner une opération plus précise.
+
+ Exemple:
+ la base de données géodésiques EPSG (dans sa version 7.9) définit 77 opérations sur les coordonnées
+ allant du système géographique North American Datum 1927 (EPSG:4267)
+ vers le système World Geodetic System 1984 (EPSG:4326).
+ Il y a une opération valide seulement pour la transformation de coordonnées au Québec,
+ une autre opération valide pour la transformation de coordonnées au Texas mais à l’ouest de 100°W,
+ une autre opération pour le même état mais à l’est de 100°W, etc.
+ Si l’utilisateur ne spécifie pas la région géographique qui l’intéresse,
+ alors le comportement par défaut de Apache SIS est de sélectionner l’opération valide dans la plus grande région géographique.
+ Dans cet exemple, ce critère entraîne la sélection d’une opération valide pour le Canada, mais qui n’est pas valide pour les États-Unis.
+
+
+ La façon la plus facile d’obtenir une opération sur les coordonnées à partir des informations présentées ci-dessus
+ est d’utiliser la classe de commodité org.apache.sis.referencing.CRS
:
+
+
+CoordinateOperation cop = CRS.findOperation(sourceCRS, targetCRS, areaOfInterest);
+
+
+ Parmi les information fournies par l’objet CoordinateOperation
obtenu, on note en particulier:
+
+
+ - Le domaine de validité, soit comme une description textuelle telle que « Canada – onshore and offshore »
+ ou comme les coordonnées géographiques d’une boîte englobante.
+ - La précision, qui peut être n’importe quoi entre 1 centimètre et quelques kilomètres.
+ - Le sous-type de l’opération sur les coordonnées. Parmi les sous-types possibles,
+ deux offrent les mêmes fonctionnalités mais avec une différence conceptuelle notable:
+
+ -
+ Les conversions de coordonnées sont entièrement définies par une formule mathématique.
+ Les conversions s’effectueraient avec une précision infinie s’il n’y avait pas les inévitables
+ erreurs d’arrondissements inhérents aux calculs sur des nombres réels.
+ Les projections cartographiques entrent dans cette catégorie.
+
-
+ Les transformations de coordonnées sont définies de manière empirique.
+ Elles ont souvent des erreurs de quelques mètres qui ne sont pas dues à des limites de la précision des ordinateurs.
+ Ces erreurs découlent du fait que la transformation utilisée n’est qu’une approximation d’une réalité plus complexe.
+ Les changements de référentiels tel que le passage de la
+ Nouvelle Triangulation Française (NTF) vers le
+ Réseau Géodésique Français 1993 (RGF93) entrent dans cette catégorie.
+
+
+
+
+
+ Lorsque l’opération sur les coordonnées est une instance de Transformation
,
+ il est possible que l’instance choisie par SIS ne soit qu’une parmi plusieurs possibilités en fonction de la région d’intérêt.
+ En outre, sa précision sera certainement moindre que la précision centimétrique que l’on peut attendre d’une Conversion
.
+ Vérifier la zone de validité ainsi que la précision déclarées dans les méta-données de la transformation prend alors une importance particulière.
+
+
+
+
+ L’objet CoordinateOperation
introduit dans la section précédente fournit des informations de haut-niveau
+ (CRS source et destination, zone de validité, précision, paramètres de l’opération, etc).
+ Le travail mathématique réel est effectué par un objet séparé, obtenu par un appel à CoordinateOperation.getMathTransform()
.
+ Contrairement aux instances de CoordinateOperation
, les instances de MathTransform
ne contiennent aucune méta-données.
+ Elles sont une sorte de boîte noire qui ignore tout des CRS source et destination
+ (en fait la même instance de MathTransform
peut être utilisée pour différentes paires de CRS si le travail mathématique est le même).
+ En outre une instance de MathTransform
peut être implémentée d’une manière très différente à ce que CoordinateOperation
dit.
+ En particulier, plusieurs opérations conceptuellement différentes (par exemple rotations de la longitude,
+ changements d’unités de mesure, conversions entre deux projections de Mercator qui utilisent le même référentiel, etc.)
+ sont implémentées par MathTransform
comme des transformations affines
+ et concaténées pour des raisons d’efficacité, même si CoordinateOperation
les affiche comme une chaîne d’opérations telles que la projection de Mercator.
+ La section « chaîne d’opération conceptuelle versus réelle » explique plus en détails les différences.
+
+
+ Le code Java suivant effectue une projection cartographique à partir de coordonnées géographiques selon le référentiel
+ World Geodetic System 1984 (WGS84) vers des coordonnées selon le système WGS 84 / UTM zone 33N.
+ Afin de rendre l’exemple un peu plus simple, ce code utilise des constantes pré-définies dans la classe de commodité CommonCRS
.
+ Mais des applications plus avancées voudront souvent utiliser des codes EPSG plutôt.
+ Notons que toutes les coordonnées géographiques dans ce code ont la latitude avant la longitude.
+
import org.opengis.geometry.DirectPosition;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
@@ -429,341 +434,347 @@ public class MyApp {
}
-
-
- La section précédente indiquait comment projeter les coordonnées d’un système de référence vers un autre.
- Mais il existe une autre opération moins connue, qui consiste à calculer non pas la coordonnée projetée d’un point,
- mais plutôt la dérivée de la fonction de projection cartographique en ce point.
- Cette opération était définie dans une ancienne spécification du consortium Open Geospatial,
- OGC 01-009, aujourd’hui un peu oubliée mais pourtant encore utile.
- Appelons P une projection cartographique qui convertit une latitude et longitude (φ, λ) en degrés
- vers une coordonnée projetée (x, y) en mètres.
- Dans l’expression ci-dessous, nous représentons le résultat de la projection cartographique
- sous forme d’une matrice colonne (la raison sera plus claire bientôt):
-
-
-
-
- Équation |
- Code Java |
-
-
-
-
- |
-
- DirectPosition geographic = new DirectPosition2D(φ, λ);
-DirectPosition projected = P.transform(geographic, null);
-double x = projected.getOrdinate(0);
-double y = projected.getOrdinate(1);
- |
-
-
-
- La dérivée de la projection cartographique en ce même point peut se représenter par une matrice Jacobienne:
-
-
-
- Équation |
- Code Java |
-
-
-
-
- |
-
- DirectPosition geographic = new DirectPosition2D(φ, λ);
-Matrix jacobian = P.derivative(geographic);
-double dx_dλ = jacobian.getElement(0,1);
-double dy_dφ = jacobian.getElement(1,0);
- |
-
-
+
+
+ La section précédente indiquait comment projeter les coordonnées d’un système de référence vers un autre.
+ Mais il existe une autre opération moins connue, qui consiste à calculer non pas la coordonnée projetée d’un point,
+ mais plutôt la dérivée de la fonction de projection cartographique en ce point.
+ Cette opération était définie dans une ancienne spécification du consortium Open Geospatial,
+ OGC 01-009, aujourd’hui un peu oubliée mais pourtant encore utile.
+ Appelons P une projection cartographique qui convertit une latitude et longitude (φ, λ) en degrés
+ vers une coordonnée projetée (x, y) en mètres.
+ Dans l’expression ci-dessous, nous représentons le résultat de la projection cartographique
+ sous forme d’une matrice colonne (la raison sera plus claire bientôt):
+
-
- Les équations suivantes dans cette section abrégeront
- ∂x(φ, λ) par ∂x ainsi que
- ∂y(φ, λ) par ∂y,
- mais il faut garder à l’esprit que chacune de ces valeurs dépendent de la coordonnée (φ, λ) donnée au moment du calcul de la matrice Jacobienne.
- La première colonne de la matrice nous dit que si l’on effectue un petit déplacement de ∂φ degrés de latitude
- à partir de la position (φ, λ)
- — c’est-à-dire si on se déplace à la position geographique (φ + ∂φ, λ) —
- alors la coordonnée projetée subira un déplacement de (∂x, ∂λ) metres
- — c’est-à-dire qu’elle deviendra (x + ∂x, y + ∂λ).
- De même la dernière colonne de la matrice nous indique quel sera le déplacement que subira la coordonnée projetée
- si on effectue un petit déplacement de ∂λ degrés de longitude de la coordonnée géographique source.
- On peut se représenter visuellement ces déplacements comme ci-dessous.
- Cette figure représente la dérivée en deux points, P1 et P2,
- pour mieux illustrer le fait que le résultat varie en chaque point.
- Dans cette figure, les vecteurs U et V désignent respectivement
- la première et deuxième colonne des matrices Jacobiennes.
-
-
-
- |
-
- où les vecteurs sont reliés à la matrice par:
-
+ |
+
+
[... 286 lines stripped ...]
|