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.      运行程序,最终结果如下,我们可以看到此时比例尺已经更改成功。

     
  • 相关阅读:
    堆栈学习
    需要阅读的书籍
    Rust Book Lang Ch.19 Fully Qualified Syntax, Supertraits, Newtype Pattern, type aliases, never type, dynamic sized type
    Rust Lang Book Ch.19 Placeholder type, Default generic type parameter, operator overloading
    Rust Lang Book Ch.19 Unsafe
    Rust Lang Book Ch.18 Patterns and Matching
    Rust Lang Book Ch.17 OOP
    Rust Lang Book Ch.16 Concurrency
    Rust Lang Book Ch.15 Smart Pointers
    HDU3966-Aragorn's Story-树链剖分-点权
  • 原文地址:https://www.cnblogs.com/zhangyongli2011/p/2595444.html
Copyright © 2011-2022 走看看