

Proj.4 Quickstart¶
Proj.4是一个标准的Unix过滤函数,它将地理经纬度坐标转换为笛卡尔坐标(反之亦然),它是一个C API,供软件开发人员在自己的软件中包含坐标转换。
PROJ¶
什么是PROJ?¶
proj和invproj分别执行地图数据到笛卡尔数据或从笛卡尔数据到笛卡尔数据的正向和反向转换,具有广泛的可选投影函数。
剧情简介¶
proj [ -bcCeEfiIlmorsStTvVwW [ args ] ] [ +args ] file[s]
invproj [ -bcCeEfiIlmorsStTwW [ args ] ] [ +args ] file[s]
这些命令在 proj documentation 最新版本。
PROJ实例¶
下面的脚本
proj +proj=utm +lon_0=112w +ellps=clrk66
-r <<EOF
45d15'33.1" 111.5W
45d15.551666667N -111d30
+45.25919444444 111d30'000w
EOF
将使用最接近经度112W的标准UTM中心子午线进行UTM正向投影。本示例的地理值是等效的,并表示为各种形式DMS输入的示例。X-Y输出数据将显示为三行::
460769.27 5011648.45
CS2CS¶
什么是CS2CS?¶
cs2cs
在一组输入点上执行源和目标地图坐标系之间的转换。坐标系转换可以包括投影坐标和地理坐标之间的转换以及基准偏移的应用。
CS2CS简介¶
cs2cs [ -eEfIlrstvwW [ args ] ] [ +opts[=arg] ] [ +to [+opts[=arg]] ] file[s]
这些命令在 cs2cs documentation 最新版本。
CS2CS实例¶
下面的脚本
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
将输入的NAD83地理坐标转换为UTM投影中的NAD27坐标,选择10区。这个例子的地理值是等价的,并且意味着作为DMS输入的各种形式的例子。X-Y输出数据将显示为以下三行:
1402285.99 5076292.42 0.000
格奥德¶
什么是GEOD?¶
geod
(直接)和 invgeod
(逆)在给定初始点纬度、经度、方位角和距离(直接)或初始点和终端点纬度之间的前后方位角和距离的情况下,进行测地计算(大圆),以确定终端点的纬度、经度和后方位角。经度和经度(倒数)。结果精确到四舍五入 |f| < 1/50 ,其中f是展平的。
invgeod
可能并非所有平台都可用;在这种情况下,使用-i选项调用geod。
地质概要¶
geod +ellps=<ellipse> [ -afFIlptwW [ args ] ] [ +args ] file[s]
invgeod +ellps=<ellipse> [ -afFIlptwW [ args ] ] [ +args ] file[s]
这些命令在 proj documentation 最新版本。
几何例子¶
下面的脚本确定了测地方位角和美国法规中从马萨诸塞州波士顿到波特兰的距离,或者:
geod +ellps=clrk66 <<EOF -I +units=us-mi
42d15'N 71d07'W 45d31'N 123d41'W
EOF
结果如下:
-66d31'50.141" 75d39'13.083" 2587.504
前两个值是从波士顿到波特兰的方位角,后两个值是从波特兰到波士顿的方位角,然后是距离。
前测地线使用的一个例子是使用波士顿定位,并通过方位角和距离确定波特兰的位置:
geod +ellps=clrk66 <<EOF +units=us-mi
42d15'N 71d07'W -66d31'50.141" 2587.504
EOF
它给出:
45d31'0.003"N 123d40'59.985"W 75d39'13.094"
注解
距离值不够精确会影响波特兰位置的精度。