安卓

地图投影以及Proj4的使用

2016-11-01  本文已影响548人  杏壳

地理坐标系统和投影坐标系统

投影

简单来说,Map Projection是将球体或椭球体表面的经纬度转换成一个平面的位置的过程,即将球面坐标转化为平面坐标的过程便称为投影

Mercator投影

是一种正轴(投影面的轴(圆锥圆柱的轴线,平面的法线)与地球椭球体的旋转轴重合)、等角(地面上的任意两条直线的夹角,在经过地球投影绘制到图纸上以后,其夹角保持不变)、圆柱投影。由荷兰地图学家墨卡托(G.Mercator)于1569年创立。假设一个与地轴方向一致的圆柱切或割于地球,按等角条件,将经纬网投影到圆柱面上,将圆柱面展为平面后,即得到本投影。现在主流的网上地图信息服务所采用的投影均是Mercator投影,该投影方法也适用于航空和航海领域。

proj.4

proj.4OSGeo出品的开源GIS工具,专注于地图的投影表达以及转换,截止到目前官方最新的发布版本是4.9.3。官方介绍:

proj.4 is a standard Unix filter function which converts geographic longitude and latitude coordinates into cartesian coordinates (and vice versa), and it is a C API for software developers to include coordinate transformation in their own software.

由于我用的是Mac Pro,苹果用户如果没有安装Proj可以使用homebrew来安装

brew install proj

proj4官方列出了三个应用,分别是:

命令行使用proj4

可以使用如下命令来显示在 proj里的内置的有关地图投影的参数

proj -l 显示支持的投影
proj -le 显示支持的椭球体
proj -ld 显示支持的基准面
proj -lu 显示支持的单位

一个典型的命令如下,详细的参数说明请参考这里

proj +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext  +no_defs

命令行测试如下图:


Xcode工程中使用proj4

目前CocoaPod上proj4最高的版本是4.8.0,当然你也可以集成到iOS项目中去

参考

Map Projection WiKi
WGS84、World Geodetic System
proj.4官方介绍
proj.4通用参数
地图投影List
Proj.4库的编译及使用
GIS坐标转换库Proj.4的使用
PROJ4初探
spatialreference

上一篇下一篇

猜你喜欢

热点阅读