SkyLine_BS_二次开发_WMS服务加载
来源:互联网 发布:淘宝女装羊毛衫 编辑:程序博客网 时间:2024/06/05 01:08
1. 介绍
虽然Skyline TE Pro对WMS和WMTS服务的加载有对应的功能,但在二次开发接口中,除了WFS服务加载有说明之外,其它服务的加载并没有具体说明或单独接口, 单纯的使用加载栅格图像的方法Create.CreateImageryLayer来实现,并不能正常展示WMS服务,甚至完全展示不出来。需要额外设定相关参数,使用Create. CreateImageryLayer方法,才能加载WMS服务到三维上。
2. 方法
加载WMS服务,首先需要得到WMS服务的争取地址,后面例子会用到网络上的一个WMS服务地址:http://demo.cubewerx.com/demo/cubeserv/simple? request=GetMap&Version=1.1.1&Service=WMS&SRS=EPSG:4326&Layers=Foundation.combo&Styles=cubewerx&Format=image/jpeg&BBOX=-180.000000, -90.000000,180.000000,90.000000&WIDTH=256&HEIGHT=256 HTTP/1.1。 其次,设定加载WMS的相关参数,调用Create.CreateImageryLayer来加载WMS服务。
3. 示例代码
3.1. 得到服务地址
/****添加WMS服务**/function AddWMSService(){ setTimeout(function(){ var url= "http://demo.cubewerx.com/demo/cubeserv/simple?request=GetMap&Version=1.1.1&Service=WMS&SRS=EPSG:4326&Layers=Foundation.combo&Styles=cubewerx&Format=image/jpeg&BBOX=-180.000000,-90.000000,180.000000,90.000000&WIDTH=256&HEIGHT=256 HTTP/1.1"; CreatWMSlayer(url); },3000);}
3.2. 设置WMS加载参数并使用CreateImageryLayer加载WMS
/****设置WMS服务加载参数,加载wms图层**/function CreatWMSlayer(r) { var box = r.split("BBOX=")[1].split(','); //var LayerName = r.split("Layers=")[1].split('&')[0]; var LayerName = "WMS服务" var box3 = box[3].split('&')[0] var buffer='<EXT><ExtInfo><![CDATA['; buffer+='[INFO]\n'; buffer+='MPP=2.68220901489258E-06\n'; buffer+='Url=' + r + '\n'; //定义 加载图片大小 buffer+='xul=' + box[0] + '\n'; buffer+='ylr=' + box[1] + '\n'; buffer+='xlr=' + box[2] + '\n'; buffer+='yul=' + box3 + '\n'; buffer+=']]></ExtInfo><ExtType>wms</ExtType></EXT>'; SGWorld65.Creator.CreateImageryLayer(LayerName, box[0], box3, box[2], box[1], buffer, "gisplg.rct", "", LayerName) }
4. 运行效果
4.1. 原图
4.2. 加载WMS后
1 0
- SkyLine_BS_二次开发_WMS服务加载
- SkyLine_BS_二次开发_创建对象
- SkyLine_BS_二次开发_创建对象
- CAD二次开发--自动加载插件
- QGis二次开发基础 -- 添加在线地图服务
- QGis二次开发基础 -- 添加在线地图服务
- c# cad 二次开发 自动加载应用程序
- 二次开发
- 二次开发
- 二次开发
- 二次开发
- 二次开发
- 二次开发
- 二次开发
- 二次开发
- ArcGISEngine加载ArcGISServer服务
- 13.3 服务加载器
- leaflet加载tms服务
- j近年最火爆的3个程序行业
- Android Studio使用Gradle进行多渠道打包
- CodeForces 630A:Again Twenty Five!【水题】
- JS第10天
- Java编程时如何节省内存,效率高
- SkyLine_BS_二次开发_WMS服务加载
- session多服务器共享的方案梳理
- [疯狂Java]AWT:位图IO
- android 手势解锁的实现
- 如何解决消息发送一致性
- 高斯消元法理解关灯问题
- android Fragment TabHost 的使用
- openssl生成证书,双向验证
- 解决WIN10“系统和压缩内存”“ntoskrnl.exe”系统空闲时占用大量CPU