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

Guida rapida PROJ

PROJ è una funzione standard del filtro Unix che converte le coordinate geografiche di longitudine e latitudine in coordinate cartesiane (e viceversa), ed è un’API C per gli sviluppatori di software per includere la trasformazione delle coordinate nel loro software.

Questa Guida Rapida descrive come: usare questi strumenti

PROJ

Nota

Cosa imparerai? In questa sezione, imparerai ad usare lo strumento PROJ.

Che cosa è PROJ ?

PROJ e invproj eseguono rispettivamente la trasformazione verso e inversa di dati cartografici da o verso dati cartesiani con una vasta gamma di funzioni di proiezione selezionabili.

Sinossi proj

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

Questi comandi sono completamente descritti nella documentazione diPROJ <https://proj.org/apps/proj.html>`_ per l’ultima versione.

Esempio PROJ

Il seguente script

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

eseguirà la proiezione verso UTM con un meridiano centrale UTM standard più vicino alla longitudine 112W. I valori geografici di questo esempio sono equivalenti e intesi come esempi di varie forme in ingresso DMS. I dati in uscita x-y appariranno come tre linee di:

460769.27     5011648.45

cs2cs

Nota

Cosa imparerai? In questa sezione, imparerai ad usare lo strumento cs2cs.

Che cosa è cs2cs ?

cs2cs esegue la trasformazione tra il sistema di coordinate cartografiche di origine e di destinazione su un insieme di punti in ingresso. La trasformazione del sistema di coordinate può includere la traslazione tra coordinate proiettate e geografiche, nonché l’applicazione di spostamenti di dati.

Sinossi cs2cs

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

Questi comandi sono completamente descritti nella documentazione di cs2cs per l’ultima versione.

Esempio cs2cs

Il seguente script

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

trasformerà le coordinate geografiche NAD83 in ingresso in coordinate NAD27 nella proiezione UTM con la zona 10 selezionata. I valori geografici di questo esempio sono equivalenti e intesi come esempi di varie forme in ingresso DMS. I dati di uscita x-y appariranno come tre linee di:

1402285.99      5076292.42 0.000

geod

Nota

Cosa imparerai? In questa sezione, imparerai come usare lo strumento geod.

Che cosa è geod ?

geod (diretto) e invgeod (inverso) eseguono calcoli geodetici («Grande Cerchio») per determinare la latitudine, la longitudine e l’azimut posteriore di un punto terminale dato un punto iniziale di latitudine, longitudine, azimut e distanza (diretto) o gli azimut in avanti e indietro e la distanza tra le latitudini e longitudini di un punto iniziale e terminale (inverso). I risultati sono precisi fino all’arrotondamento per |f| < 1/50, dove f è l’appiattimento.

invgeod potrebbe non essere disponibile su tutte le piattaforme; in questo caso chiamate geod con l’opzione -I.

Sinossi geod

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

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

Questi comandi sono completamente descritti nella documentazione diPROJ <https://proj.org/apps/proj.html>`_ per l’ultima versione.

Esempio geod

Il seguente script determina gli azimut geodetici e la distanza in miglia statutarie statunitensi da Boston, MA, a Portland, OR:

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

che dà i risultati:

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

dove i primi due valori sono l’azimut da Boston a Portland, l’azimut posteriore da Portland a Boston seguito dalla distanza.

Un esempio di utilizzo della geodetica in avanti è quello di utilizzare la posizione di Boston e determinare la posizione di Portland tramite azimut e distanza:

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

che dà:

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

Nota

La mancanza di precisione nel valore della distanza compromette la precisione della posizione di Portland.

Altre letture

  1. GeographicLib

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

  3. La bibliografia geodetica online