说说arcGIS for Android

      说到arcGIS,相信大家并不陌生,即农业地理信息系统,该系统主要是基于地图开发的。那我们今天的主题当然是地图了,谈及这个,当然不能不提一个人,那就是墨卡托(Mercator),现有的地图图纸都是基于他的圆柱投影说来的,地球是一个椭圆球体,墨卡托将一个仿地球的椭圆球体放置在一个圆柱体中,并将椭圆球体的赤道中心与圆柱体中心贴合,再在椭圆球体中心位置放一个灯泡,灯泡所散发的光将整个椭圆体投影到圆柱体上,再将圆柱体展开,展开的圆柱体上面的投影即是现今地图的原型,对于南北两极来说,偏差可能会有点大,但那不重要,因为基本脱离了人的生存空间,除非科学考察(要更精密的地图,那另说了),这个人真的是鼻祖级别的人物。

     自从Google Maps(2005)出现以来,现今全球范围的Web地图,用的空间参考都是Web  Mercator投影(3857)众所周知,常用空间参考主要有投影坐标系(PCS)与地理坐标系(GCS)两大类,一个PCS建立在一个GCS之上,并要指定一个投影公式,这个投影公式是要以GCS为基准的,不然定义PCS基于GCS就没有意义了。GIS角度如前所述,Web Mercator采用了两个椭球,WGS84椭球和以WGS84长半轴为半径的正球。GCS用的是WGS84,而GCS投影到PCS时,使用的是正球,虽然地理坐标是参考WGS84的,这点最关键!Web Mercator就是Google参考Mercator投影发明的一种新投影。Esri方面,Esri的Web地图开始用的都是4326,到09年末才转换为3857,并逐步停用了原先的4326。选择3857自然有许多好处,比如这是业界标准,这样大家都能互相mashup,一起建设和谐社会。4326的瓦片大小是512×512,3857是256×256,瓦片变小既能减少单张瓦片的网络流量,又能缩小瓦片数目的规模,而且在一张256×256的瓦片正好能做一张世界地图。ArcGIS中的Web Mercator就是3785,Web Mercator(Auxiliary Sphere)就是3857。如果你有一份与Google Maps使用相同投影的数据A,但失去了投影信息,那么你在ArcGIS中使用任何一个去定义(define)你的空间参考都是正确的。但是,假如你再将一份WGS84(4326)定义的GCS数据B与A去叠加,那么B与A3857可以直接叠加,而B与A3785就不能了,至少不能on the fly。3785是以正球体上为基准的,但其GCS还是参考WGS84;3857是以椭球体为基准的,但投影时参考正球体,“Auxiliary_Sphere_Type: 0.0”的作用就在这里吧对于3857,因为3857本身基于4326的,所以可以直接project。但是对于3785,就稍微麻烦点了,如果你直接project,那arcgis会提示你进行椭球转换,结果显然会与你预期的不一致。所以你得先重新给这份4326的数据定义一个新的空间参考,定义一个空间参考并不改变其数据,而椭球转换显然是会改变数据的。根据3785所使用的椭球,为4326定义一个新的GCS(104199),就是6378137为半径的正球体,然后再project到3785。这样得到的数据会跟4326直接project到3857一致,但空间参考是不一致的,一个是3857,一个是3785。

    回过头看,Google 工程师的一次偷懒行为,破坏了GIS界的规范,还最终逆袭成为了事实上的标准,让人唏嘘不已。如果Google使用的是正常的Mercator投影,同样也可以在一张256×256的瓦片中容纳世界地图,只不过南北的跨度略有差异,这样既能保证真正的等角,又符合GIS规范,也不会给我们带来这么困扰。同样,如果Esri或者EPSG能更有话语权,那或许也不会有Web Mercator的存在了。只能说IT和GIS相遇,失意的总是GIS,至少目前是这样的。


你可能感兴趣的:(arcgis,google,map,mercator)