ArcGIS读取天地图2.0

天地图2.0(http://www.chinaonmap.com)于2013年3月份上线,基本情况如下:

1)     基于OGC的WMTS 1.0.0版本;

2)     提供矢量地图、影像地图和地形图;

3)     提供两种坐标系:国家2000大地坐标系和Web Mercator投影坐标系;

4)     地图和标注数据分开,矢量地图和影像地图提供中英文标注,地形图仅提供中文标注。

ArcGIS接口可以灵活扩展支持天地图。本文是以ArcGIS Runtime SDK for Android为例说明如何扩展来加载天地图的。其它产品,比如Web APIs、Native SDKs、Portal for ArcGIS、桌面都可以通过扩展实现对天地图的支持。要获取扩展源码及示例,包括使用说明文档,请点击此处下载

1.  ArcGIS WMTS接口访问天地图

ArcGIS产品,包括桌面产品、Web APIs、Native SDKs都提供了对WMTS的支持。如此,可以通过这些接口来访问天地图的WMTS服务。但是实际情况要复杂一些,经过测试发现,使用ArcGIS的WMTS接口访问天地图,会出现偏差,如下图所示。


经过研究发现,产生偏差的根本原因在于:ArcGIS WMTS接口中使用的DPI与天地图使用的DPI不一致。



OGCWMTS标准中规定,通过getcapatilities请求可以获得WMTS的元数据。上图是天地图2.0 WMTS元数据的部分截图(XML格式)。元数据中包含各个级别的比例尺数据(如图中红框内容)。在访问WMTS时,需要通过这些元数据计算出分辨率,公式如下所示。




OGC WMTS规范中DPI采用90.71(即采用0.028mm作为一个像素的物理宽度),而天地图使用的DPI采用国家标准规定的96(见《电子地图规范》)。由于ArcGIS WMTS接口实现均遵循OGC WMTS标准,使用90.71作为DPI来计算分辨率,导致ArcGIS通过WMTS接口访问天地图时,图片物理尺寸变大,使得地图看上去向右下方偏移。


2.  扩展ArcGIS接口访问天地图(以ArcGIS Runtime SDK forAndroid为例)

在第2小结,分析了用ArcGIS WMTS接口访问天地图产生偏移的原因,那么就可以有针对性的对ArcGIS接口进行扩展,来实现对天地图的访问。

ArcGIS接口可以扩展。以ArcGIS Runtime SDK for Android为例,提供了TiledServiceLayer类。这是访问切片服务的基础类,通过扩展这个类,就可以访问天地图的WMTS服务了。扩展之前,需要了解一下天地图服务的一些参数,包括:

(1)比例尺

// 两种坐标系下的分辨率一致

private static final double[] SCALES = { 2.958293554545656E8,

             1.479146777272828E8, 7.39573388636414E7, 3.69786694318207E7,

             1.848933471591035E7, 9244667.357955175, 4622333.678977588,

             2311166.839488794, 1155583.419744397, 577791.7098721985,

             288895.85493609926, 144447.92746804963, 72223.96373402482,

             36111.98186701241, 18055.990933506204, 9027.995466753102,

             4513.997733376551, 2256.998866688275 };


(2)分辨率

// 墨卡托坐标系下的分辨率

privat

  • 14
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 31
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值