Cesium 加载离线地图服务

Cesium 可以加载自定义的地图服务,一般在私有云上应用比较广。

原始地图数据有很多地方都可以下载。比如常用的下载工具,付费的有水经注、91助手等,还有国家空间地理服务的官网上也有可用的数据。假设你已经通过一些来源获得了原始的地图数据。

接下来需要对原始的地图数据进行切片。之前使用过geoserver。通过geoserver发布的wmts服务,在调用的时候参数比较繁琐,而且发布过程,中间环节太多,需要人干预配置的工作多,容易出错。后来找到一个处理原始地图数据的利器Cesiumlabhttp://www.bjxbsj.cn/。可以处理的原始数据很多,而且切片完成可以直接发布成服务,并支持浏览。功能非常强大。

具体通过工具处理数据的过程,网上教程很多,可以自己去百度。假设到这里原始的数据已经发布完成,接着需要在我们自己的平台中加载。数据切片完成后,数据会导出到文件夹中。接着我们就可以利用web服务器把数据发布出去,支持后续的加载。web服务容器有很多可用,比如tomcat、NGINX、node等。这里我们直接用NGINX,把切片数据文件夹直接拷贝到NGINX根目录的html文件夹下。如果没有新建一个html文件夹就可以了。至于为什么要拷到文件夹下,不在本次的讨论范围内。简单来说,NGINX默认配置会从根目录html文件夹加载静态资源。如果服务运行起来了,http://ip:port/这个地址会直接定位到NGINX的html目录下,后面需要加载什么资源就跟上对应的资源路径。

我们使用Cesium加载离线地图服务。

对于原始数据都是tiff格式的图片数据的,都可以按这种方式发布、加载。

// 影像地图
var layers = viewer.scene.imageryLayers;
var satelliteMap = layers.addImageryProvider(new Cesium.UrlTemplateImageryProvider({
       url: 'http://localhost:9010/stl_data/{z}/{x}/{y}.png',
       fileExtension: 'png'
    }));

 http://localhost:9010/stl_data:这是本地web服务的地址,工具有很多,可以用nginx、tomcat、node等;stl_data是地图切片数据在web服务资源路径下的目录名称。

//tomcat发布服务
// 加载地形服务
        viewer.terrainProvider = terrainProvider;
        var terrainProvider = new Cesium.CesiumTerrainProvider({
            url: "http://localhost:9005/treeian"
        });
        viewer.terrainProvider = terrainProvider;

 

 

 

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
基于Geoserver搭建的离线地图服务器是一个能够提供离线地图数据服务的系统。Geoserver是一个开源的地理信息系统(GIS)服务器,可将地图数据以Web服务的形式提供给用户。 在搭建离线地图服务器时,首先需要准备地图数据。可以使用各种GIS工具将地图数据转换为Geoserver支持的格式,如Shapefile、Geotiff等。这些地图数据可以包括地理要素、矢量数据、DEM数据等。 接下来,将这些地图数据加载到Geoserver中,可以使用Geoserver自带的管理界面或通过REST API进行操作。在加载地图数据时,需要配置图层样式、投影坐标系等信息,以便地图数据能够正确显示。 在地图数据加载完成后,可以通过Geoserver的服务接口来访问地图数据。用户可以通过Web浏览器、地图客户端等方式来查询、浏览地图数据。Geoserver支持多种地图服务协议,如WMS、WFS、WCS等,可以根据需要选择合适的协议。 离线地图服务器的优势在于,用户可以在没有网络连接的情况下访问地图数据。这对于部分地区网络条件较差或需要在偏远地区进行地图操作的用户非常重要。此外,Geoserver还支持地图数据的缓存,可以提高地图数据的访问速度,提供更好的用户体验。 综上所述,基于Geoserver搭建的离线地图服务器是一个能够提供离线地图数据服务的系统,可以通过Web接口访问地图数据,并在缺乏网络连接的情况下提供地图浏览、查询等功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老朱自强不息

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值