zoukankan      html  css  js  c++  java
  • cesium加载离线tms切片

    参考:https://www.jianshu.com/p/7b5476d8a7f6   http://www.cnblogs.com/mazhenyu/p/8494094.html

    1、软件环境:太乐地图下载器4.9破解版;Cesium-1.44

    2、太乐地图下载器上下载切片,范围是-180,180,-90,90,导出选择 瓦片:TMS,图片格式选择png

    3、修改tile.xml名称为tilemapresource.xml

    4、添加web.config文件,内容为:

    <?xml version="1.0" encoding="UTF-8"?>

    <configuration>

    <system.webServer>

    <httpProtocol>

    <customHeaders>

    <add name="Access-Control-Allow-Origin" value="*" />

    <add name="Access-Control-Allow-Methods" value="GET,POST,PUT,DELETE,HEAD,OPTIONS" />

    <add name="Access-Control-Allow-Headers" value="Content-Type,api_key,Authorization,X-Requested-With" />

    </customHeaders>

    </httpProtocol>

    </system.webServer>

    </configuration>

    5、把上面的切片文件放在Test目录下,结构如下:

    6、把Test文件夹下的内容发布为应用程序,如下:

    7、打开Cesium.js后搜索代码行,有一个createDefaultImageryProviderViewModels函数,里面加载在线地图服务近10多种,其中一些就是Bing地图,还有其他互联网在线地图商提供的地图服务。由于我的场景是物理隔绝的网络,即不能使用在线地图服务,因此,全部将这些代码注释掉,返回空的providerViewModels。 

    调用代码为:

     var url = 'http://localhost:80/test'; // tms 瓦片地址
        var viewer = new Cesium.Viewer('cesiumContainer',
            {
                imageryProvider: new Cesium.createTileMapServiceImageryProvider({
                    url: url
                }), baseLayerPicker: false
            });

    8、如果想在局部区域显示高清的切片可以通过修改tilemapresource.xml的方式,如上切片到7级,把兴国县的8-17级切片拷贝过去,然后在xml中添加8-17级的等级信息,如下所示:

    9、这样在兴国县范围就可以显示8-17级的影像了:

  • 相关阅读:
    postgresql postgres.Jsonb
    gorm jsonb
    json
    postgresql重置序列和自增主键
    go build x509: certificate has expired or is not yet valid
    权限修饰符
    交换两个变量的值
    Java编译报错:编码GBK的不可映射字符
    原码反码补码的理解
    Scanner类中hasNext()方法的解析
  • 原文地址:https://www.cnblogs.com/nygfcn1234/p/8876711.html
Copyright © 2011-2022 走看看