zoukankan      html  css  js  c++  java
  • iServer6R使用WMTS自定义比例尺出图

    使用背景

      因为iServer6R默认与国家测绘局发布的标准比例尺集一一对应,如下所示:

    [0.7031249999891485,0.35156249999999994,0.17578124999999997,0.08789062500000014,

    0.04394531250000007,0.021972656250000007,0.01098632812500002,0.00549316406250001,

    0.0027465820312500017,0.0013732910156250009,0.000686645507812499,0.0003433227539062495,

    0.00017166137695312503,0.00008583068847656251,0.000042915344238281406,0.000021457672119140645,

    0.000010728836059570307,0.000005364418029785169,0.000002682210361715995,0.0000013411051808579975]

    但是iSever6R SP1 新增了一个功能,可以自定义设置比例尺集合,那么下面我们就来说明下WMTS自定义比例尺在Flex客户端如何使用。

    实现步骤

      例如:我们需要将范例数据中的WMTS 的world地图设置自定义的比例尺,操作如下

    1.      编写简单的调用默认的WMTS代码,具体代码如下图所示:

    这里要注意的一点tileMatrixSet属性,此属性可以在WMTS的表述中查看,其表述的意义就是瓦片矩阵集的唯一标识符,矩阵集,此属性必写

     编写完成后,运行效果如下图所示,我们可以看到默认的是按照国家测绘局发布的标准比例尺,共20级。

    2.      下面我们修改比例尺显示,例如我们需要将此world地图按照[1/700000000,1/350000000,1/175000000,1/87500000,1/43750000,1/2187500]的比例尺来显示。

    那么首先需要在浏览器中,打开iServer Managerhttp://localhost:8090/iserver/manager)输入完用户名和密码后,依次点击服务,服务接口,wmts100。

    3.      将wellKnownScaleSet(标准比例尺集合)一栏选择custom,将DPI设置为96,将自定义比例尺集合填入你所需要设置的比例尺,例如:700000000,350000000,175000000,87500000,43750000,21875000
    填写完成后保存变更即可。

    4.      我们可以在WMTS服务里查看更新后的WMTS地图服务(http://localhost:8090/iserver/services/maps/wmts100/1.0.0/WMTSCapabilities.xml
    5.      下来我们需要修改Flex端的代码,因为服务端的WMTS默认比例尺变成我们自己修改的了。那么首先我们需要得到更改比例尺后的地图,更改后地图的关键属性tileMatrixSet,我们需要在WMTS表述里查看。如下图所示:

    6.      由上图,我们可以看出更新后的tileMatrixSet值我们需要填入的是custom_World Map,修改Flex代码,修改后代码如下:

     

    7.      我们已经在服务端把WMTS地图的比例尺改了,但是如果你现在直接运行代码是不出图的,而且比例尺还是20级国家的。下来我们需要用到iClient for Flex里面ScaleUtil类来计算分辨率,将得到的分辨率设置在WMTS中,从而完成自定义比例尺。
    其中,ScaleUtil类具体用到的属性就是

    我们可以trace得到其返回的结果,将返回结果输出到Flex控制台:(也可以用数组,Alert等等方法来获取这个结果)

    8.      将分辨率添加到WMTS的resolutions属性中,resolutions="{[1.6637547657963636,0.8318773828981818,0.4159386914490909,0.20796934572454545,0.10398467286227273,0.05199233643113636]}"
    代码最终截图如下图所示:

    9.      运行程序,最终结果如下,我们可以看到此时比例尺已经更改成功。

     
  • 相关阅读:
    NPOIHelper.cs (NPOI 2.1.1)
    使用哈希加盐法来为密码加密【转】
    让普通控件拥有左键移动窗体的功能
    Reflector反编译.NET文件后修复【转】
    SD卡中FAT32文件格式快速入门(图文详细介绍)【转】
    项目管理知识体系指南(PMBOOK指南)(第5版) 阅读摘要
    数学
    位运算小结
    字符串(1)——Detect Capital
    数组和矩阵(3)——Next Greater Element I
  • 原文地址:https://www.cnblogs.com/zhangyongli2011/p/2595444.html
Copyright © 2011-2022 走看看