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

PROJ Snabbstart

PROJ är en standard Unix-filterfunktion som konverterar geografiska longitud- och latitudkoordinater till kartesiska koordinater (och vice versa), och det är ett C API för programutvecklare som vill inkludera koordinattransformation i sina egna program.

PROJ

Observera

Vad lär jag mig? I det här avsnittet lär du dig att använda verktyget PROJ.

Vad är PROJ ?

PROJ och invproj utför framåtriktad respektive invers omvandling av kartografiska data till eller från kartesiska data med ett stort antal valbara projektionsfunktioner.

projekt Synopsis

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

Dessa kommandon beskrivs i sin helhet i PROJ-dokumentationen för den senaste versionen.

PROJ Exempel

Följande skript

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

kommer att utföra UTM-projektion framåt med en standard UTM-centralmeridian närmast longitud 112W. De geografiska värdena i detta exempel är likvärdiga och avsedda som exempel på olika former av DMS-inmatning. Utdata för x-y visas som tre rader med:

460769.27     5011648.45

cs2cs

Observera

Vad lär jag mig? I det här avsnittet lär du dig att använda verktyget cs2cs.

Vad är cs2cs ?

cs2cs utför transformation mellan källans och destinationens kartografiska koordinatsystem på en uppsättning inmatningspunkter. Transformationen av koordinatsystemet kan omfatta översättning mellan projicerade och geografiska koordinater samt tillämpning av datumförskjutningar.

cs2cs Synopsis

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

Dessa kommandon beskrivs i sin helhet i cs2cs-dokumentationen för den senaste versionen.

cs2cs Exempel

Följande skript

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

omvandlar de inmatade geografiska NAD83-koordinaterna till NAD27-koordinater i UTM-projektionen med zon 10 vald. De geografiska värdena i detta exempel är likvärdiga och avsedda som exempel på olika former av DMS-inmatning. Utdata för x-y visas som tre rader med:

1402285.99      5076292.42 0.000

geod

Observera

Vad lär jag mig? I det här avsnittet lär du dig att använda verktyget Geod.

Vad är geod ?

geod (direkt) och invgeod (invers) utför geodetiska (”storcirkel”) beräkningar för att bestämma latitud, longitud och bakåtriktad azimut för en slutpunkt givet en startpunkts latitud, longitud, azimut och avstånd (direkt) eller framåtriktad och bakåtriktad azimut och avstånd mellan en start- och slutpunkts latituder och longituder (invers). Resultaten är korrekta med avrundning för |f| < 1/50, där f är utjämning.

invgeod kanske inte är tillgängligt på alla plattformar; i så fall anropa geod med alternativet -I.

geod Synopsis

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

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

Dessa kommandon beskrivs i sin helhet i PROJ-dokumentationen för den senaste versionen.

geod Exempel

Följande skript bestämmer de geodetiska azimuterna och avståndet i US statute miles från Boston, MA, till Portland, OR:

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

vilket ger resultatet:

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

där de två första värdena är azimuten från Boston till Portland, den bakre azimuten från Portland till Boston följt av avståndet.

Ett exempel på framåtriktad geodetisk användning är att använda Bostons position och bestämma Portlands position med hjälp av azimut och avstånd:

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

vilket ger:

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

Observera

Bristande precision i avståndsvärdet äventyrar precisionen i Portlands position.

Ytterligare läsning

  1. GeographicLib

  2. C. F. F. Karney, Algorithms for Geodesics, J. Geodesy 87, 43-55 (2013). tillägg <https://geographiclib.sourceforge.io/geod-addenda.html>`_

  3. den geodetiska bibliografin på nätet <https://geographiclib.sourceforge.io/geodesic-papers/biblio.html>`_