浅析OpenLayer3加载WMS一些问题
前一段时间一直被一个问题所困扰,作为GIS开发我们的核心竞争力在哪,如果只是搞一些api可替代性太大了,毫不技术可言,问了好多人无果,说法各持一方,最近也感觉理论知识,用处真的很大,WebGIS并不只是做出来一些效果就证明你技术很厉害,需要理论的内涵支撑,废话不多说,开车开车。
一、关于转换成tiff格式的一些问题
geoserver不支持将png格式的图片发布为服务,需要将png格式图片通过arcmap 替换成tiff格式进行保存具体做法
1、打开arcmap将图片拖入arcmap打开即可,
2、在打开的图片上进行点击→数据框属性→地理坐标(给图片加上坐标系)→地理配准
3、在图层框的你所加载的图片点击弹出对话框选择数据→数据数据导出(参数设置)→导出为tiff格式的
note:栅格大小控制导出的数据大小
二、关于Geoserver发布wms服务发布的问题
发布的过程:点击打开链接
SpecialNote:在定义坐标系的时候分为本机SRS和定义SRS两个设置框,本机SRS是图层本身自己坐标系无法更改,但是我们可以更改定义SRS,可以将其设为4326或者3857,因为这是OpenLayer支持的两个坐标系,当然你也可以选择不进行更改,选择默认的。如果选择默认就需要自己定义坐标系。
三、设为3857或4326和选择默认坐标加载方式
1、3857或4326
var format = 'image/png';var untiled = new ol.layer.Image({source: new ol.source.ImageWMS({ratio: 1,url: 'http://localhost:8080/geoserver/unhpu/wms',params: {'FORMAT': format,'VERSION': '1.1.1',STYLES: '',LAYERS: 'unhpu:1',}})});var tiled = new ol.layer.Tile({visible: true,source: new ol.source.TileWMS({url: 'http://localhost:8080/geoserver/unhpu/wms',params: {'FORMAT': format,'VERSION': '1.1.1',tiled: true,STYLES: '',LAYERS: 'unhpu:1', }})});var map = new ol.Map({target: 'map',layers: [//untiled,tiled],view: new ol.View({projection: 'EPSG:3857',center:[10,10],zoom:12})});
2、选择默认坐标
var format = 'image/png';var bounds = [-0.5, -16533.5,22440.5, 0.5];var untiled = new ol.layer.Image({source: new ol.source.ImageWMS({ratio: 1,url: 'http://localhost:8080/geoserver/unhpu/wms',params: {'FORMAT': format,'VERSION': '1.1.1',STYLES: '',LAYERS: 'unhpu:1',}})});var tiled = new ol.layer.Tile({visible: true,source: new ol.source.TileWMS({url: 'http://localhost:8080/geoserver/unhpu/wms',params: {'FORMAT': format,'VERSION': '1.1.1',tiled: true,STYLES: '',LAYERS: 'unhpu:1',tilesOrigin: -0.5 + "," + -16533.5}})});var projection = new ol.proj.Projection({code: 'EPSG:3857',//这里默认就不是3857,而是你默认的坐标系units: 'm',axisOrientation: 'neu',global: true});var map = new ol.Map({target: 'map',layers: [// untiled,tiled],view: new ol.View({projection: projection,})});map.getView().fit(bounds, map.getSize());//非常重要
关于WMS这里选择两种加载方式
方式一、ol.layer.Image+ol.source.ImageWMS
方式二、ol.layer.Tile+ol.source+TileWMS
四、成果
五、总结
刚开始的由于不同这个问题浪费了快一天的时间,都没法解决,问了周围的人他们也不知道,归根结底是基础知识还不扎实,还需要更多的学习。
转载于:https://www.cnblogs.com/tuboshu/p/10752346.html
浅析OpenLayer3加载WMS一些问题相关推荐
- ios 高德地图加载瓦片地图_IOS 高德地图 API 加载 WMS 服务
IOS 高德地图 API 加载 WMS 服务 本文主要介绍通过自定义高德地图 MATileOverlay 接口,添加 WMS 服务到地图上.废话少说,先贴代码. 代码 自定义类 WMSTileOver ...
- (十九)ArcGIS JS 加载WMS服务(超图示例)
前言 在工作中,需要在ArcGIS API for JavaScript中加载超图服务,因为超图的rest服务只可以用于Leaflet .openlayers3 (with MVT) .MapboxG ...
- cesium加载wms、wmts、tms、wfs服务
目录 cesium加载wms服务 cesium加载wmts服务 cesium加载tms服务 cesium加载wfs服务 首先引入cesium.js,参考:https://blog.csdn.net/q ...
- OpenLayers加载WMS
本文记录使用OpenLayers加载WMS数据,WMS数据为ArcGIS Server 和 GeoServer 发布的数据 1. 发布数据 1.1. ArcGIS Server 发布 WMS数据 关于 ...
- Arcgis for Js之加载wms服务
概述:本节讲述Arcgis for Js加载ArcgisServer和GeoServer发布的wms服务. 1.定义resourceInfo var resourceInfo = { extent: ...
- leaflet加载wms和wfs服务
同一个数据可以设置wms和wfs两种加载方式,如我GeoServer的数据服务,全国县级矢量图: 参考文章:leaflet通过WFS服务加载geoserver 矢量数据_不去想结果,一直在路上-CSD ...
- Openlayers4加载WMS地图
前面介绍过Openlayers2加载地图的方法.但是Openlayers2现在已经算很老的版本,只有在老项目中可能还在用到.最新的Openlayers已经升级到了Openlayers5. openla ...
- WMS学习笔记:1.尝试加载WMS
1.首先找一个可用的WMS栅格地图服务:http://demo.cubewerx.com/demo/cubeserv/cubeserv.cgi 获取GetCapabilities: http://de ...
- Android 4.0 ICS SystemUI浅析——StatusBar加载流程分析
前面两篇文章< Android 4.0 ICS SystemUI浅析--SystemUI启动流程>.< Android 4.0 ICS SystemUI浅析--StatusBar结构 ...
最新文章
- Nat. Genet. | 基于遗传学主导的方法定义免疫相关性状的药物靶标
- vue + webpack 模拟后台数据
- 「Vue」vue生命周期
- 推荐系统个人理解(理论部分)
- mysql int 最大显示宽度_mysql int 整数类型 解释显示宽度 和 存储宽度
- 长沙试水数字人民币:线下支持数字人民币支付的商家已达3404个
- 基于AS3的水果机小游戏
- 使用C# Detach和Attach 数据库
- Google Chrome 浏览器安装教程
- win10u盘被写保护怎么解除_u盘写保护怎么去掉?Win10移除u盘写保护的操作步骤...
- 免流服务器系统怎么选,免流云服务器选
- 学神乔明达和他堪称神迹的学习履历
- HTML5网页设计制作基础大二dreamweaver作业、使用HTML+CSS技术制作博客网站(5个页面)
- DDSM乳腺钼靶图像数据库——ftp下载与格式转换(LJPEG转PNG)
- python中flush什么意思_python flush()定义及作用详解(实例分析)
- 新零售运营独白,如何联合线上线下
- ai如何旋转画布_Illustrator让一个图形沿着某一点或顶点旋转复制教程
- 三国群英传霸业之王服务器维护,20200901维护公告
- hadoop常用的命令大全
- 别人问我:为什么程序员都不善言辞?惭愧啊!