GeoServer发布影像和地形数据供Cesium使用

进入正题:

一,Geoserver安装

       网上有很多大神写的博客,我也不想多说,这里有一点需要注意的是GeoServer需要JDK8的运行环境,我这里给出了下载地址:官网下载。

二,影像数据发布

1,发布教程:这里我们用到的是WMS服务标准,具体操作步骤见教程:亲测可用。

2,影像切片,这里主要对我们发布的影像数据进行切片,保证在不同的视距都有最好的可视化数据,详细步骤见教程:亲测可用。

三,Cesium访问

完成上述步骤后,我们就可以愉快的使用我们刚刚发布的数据了,我这里给出了示例代码:


            // 本地影像服务
         viewer.imageryLayers.addImageryProvider(new Cesium.WebMapServiceImageryProvider({
                //url: 'GISProxy/GeoserverWmsProxy.ashx',
                url: 'http://localhost:8080/geoserver/PersonalService/wms?',   //服务地址
                layers: 'PersonalService:Map',                    //服务图层,需要修改成你自己发布的名称
                parameters: {
                    service: 'WMS',
                    format: 'image/png',
                    transparent: true
                },

            }));

效果图如下:

GeoServer发布影像和地形数据供Cesium使用_第1张图片 发布地形效果图

四,跨域访问设置(很重要,重要的事情说三遍)

你在访问的时候肯定遇到了跨域访问的问题,如果不知道什么是跨域访问可以自行百度,我这里给出解决办法:我们需要设置Geoserver允许跨域访问,具体教程为:亲测可用。

OK,如果你按照步骤一步步走来,那么恭喜你,你已经完成了本地影像数据的发布——>切片——>跨域——>Cesium使用的全过程。补充说明在url中增加gwc/,如'http://localhost:8080/geoserver/PersonalService/gwc/wms? 才是访问的瓦片数据。很重要。

五、更多

这里有个地方需要说明,以上步骤只是针对影像数据的服务,由于篇幅有限,地形服务教程具体见git地址:https://github.com/kaktus40/Cesium-GeoserverTerrainProvider。 

地形服务的完成需要借助第三方插件:

GeoserverTerrainProvider.js

并且还需要对Geoserver进行一个扩展配置,主要是添加一个新的样式,当然这个样式不是必须的操作步骤。

如果你还有不了解的地方,

如果你还需要进行cesium交流,

那一起学习探讨吧。

你可以加入我们的基地,我们基地的地址是:450342630(QQ群号)
 

 

 

你可能感兴趣的:(Cesium,Cesium,Geoserver,3D,GIS)