../../_images/logo_proj.png ../../_images/OSGeo_project.png

Guide de démarrage avec PROJ

PROJ est une fonction Unix standard qui convertit les coordonnées latitude et longitude en coordonnées cartésiennes (et vice versa). C’est aussi une API C destinée aux développeurs pour inclure cette transformation de coordonnées dans leur propre logiciel.

Ce guide de démarrage rapide décrit comment utiliser ces outils:

PROJ

Note

** Que vais-je apprendre ? ** Dans cette section, vous allez apprendre à utiliser l’outil PROJ.

Qu’est-ce que PROJ?

PROJ et invproj effectuent respectivement une transformation des données cartographique et son inverse depuis ou vers des données cartésiennes au travers d’un large panel de projections.

Résumé de proj

proj [ -bcCeEfiIlmorsStTvVwW [ args ] ] [ +args ] file[s]
invproj [ -bcCeEfiIlmorsStTwW [ args ] ] [ +args ] file[s]

Ces commandes sont complètement décrites dans leur dernière version dans proj documentation .

Exemple de PROJ

Le script qui suit

proj +proj=utm  +lon_0=112w  +ellps=clrk66
-r <<EOF
45d15'33.1"   111.5W
45d15.551666667N   -111d30
+45.25919444444    111d30'000w
EOF

va effectuer une projection UTM avec un médidien standard central de longitude 112W. Les coordonnées géographiques de cet exemple sont équivalentes et utilisées comme exemple des nombreuses formes d’entrées de coordonnées. Les données x-y de sortie vont apparaître sous la forme de 3 fois la ligne:

460769.27     5011648.45

cs2cs

Note

** Que vais-je apprendre ? ** dans cette section, vous allez apprendre à utiliser l’outil cs2cs.

Qu’est ce que cs2cs ?

cs2cs effectue des transformations d’un système de coordonnées géographique source à un système destination sur un ensemble de points. La transformation de système de coordonnées peut inclure des translations entre des coordonnées géographiques ou projetées autant qu’appliquer des translations de systèmes de référence (datums).

Résumé de cs2cs

cs2cs [ -eEfIlrstvwW [ args ] ] [ +opts[=arg] ] [ +to [+opts[=arg]] ] file[s]

La dernière version de cette commande est complètement décrite dans cs2cs documentation .

Exemple de cs2cs

Le script qui suit

cs2cs +proj=latlong +datum=NAD83
      +to +proj=utm +zone=10  +datum=NAD27
-r <<EOF
45d15'33.1"   111.5W
45d15.551666667N   -111d30
+45.25919444444    111d30'000w
EOF

va transformer les coordonnées géographiques NAD83 en entrée en coordonnées NAD27 dans la zone 10 de la projection UTM. Les coordonnées géographiques de cet exemple sont équivalentes et utilisées comme exemple des nombreuses formes d’entrée de coordonnées. Les données x-y en sortie vont apparaître 3 fois sous la forme:

1402285.99      5076292.42 0.000

geod

Note

** Que vais-je apprendre ? ** Dans cette section, vous allez apprendre à utiliser l’outil geod.

Qu’est-ce que geod ?

geod (direct) et invgeod (inverse) effectuent des calculs geodesiques (“Grand cercle”) pour déterminer la latitude, longitude et azimuth d’un point cible à partir d’un point initial formé d’une latitude, longitude, azimuth et distance (sens direct) ou pour déterminer les azimuths avant et arrière et la distance entre les latitudes et longitudes d’un point initial et final (sens inverse). Les résultats sont arrondis tel que |f| < 1/50, où f est l’aplanissement.

invgeod n’est pas nécessairement disponible sur toutes les plateformes; dans ce cas, il est possible d’appeler geod avec l’option -I.

Exemple de geod

geod +ellps=<ellipse> [ -afFIlptwW [ args ] ] [ +args ] file[s]

invgeod +ellps=<ellipse> [ -afFIlptwW [ args  ]  ]  [  +args  ] file[s]

Ces commandes sont complètement décrites dans leur dernière version dans proj documentation .

Exemple de geod

Le script suivant détermine les azimuths géodésiques et la distance en miles U.S. de Boston, MA, à Portland, OR:

geod +ellps=clrk66 <<EOF -I +units=us-mi
42d15'N 71d07'W 45d31'N 123d41'W
EOF

ce qui donne comme résultats:

-66d31'50.141" 75d39'13.083" 2587.504

où les deux premières valeurs sont l’azimuth de Boston à Portland et l’azimuth arrière de Portland à Boston suivis de la distance.

Un exemple d’usage de géodésique avant est d’utiliser la position à Boston et de déterminer la position à Portland par son azimuth et sa distance:

geod +ellps=clrk66 <<EOF +units=us-mi
42d15'N 71d07'W -66d31'50.141" 2587.504
EOF

ce qui donne:

45d31'0.003"N 123d40'59.985"W 75d39'13.094"

Note

Le manque de précision sur la valeur de la distance compromet la précision de la localisation de Portland.

Pour aller plus loin

  1. GeographicLib

  2. C. F. F. Karney, Algorithms for Geodesics, J. Geodesy 87, 43-55 (2013). Addendum

  3. The online geodesic bibliography