前一段时间一直被一个问题所困扰,作为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一些问题相关推荐

  1. ios 高德地图加载瓦片地图_IOS 高德地图 API 加载 WMS 服务

    IOS 高德地图 API 加载 WMS 服务 本文主要介绍通过自定义高德地图 MATileOverlay 接口,添加 WMS 服务到地图上.废话少说,先贴代码. 代码 自定义类 WMSTileOver ...

  2. (十九)ArcGIS JS 加载WMS服务(超图示例)

    前言 在工作中,需要在ArcGIS API for JavaScript中加载超图服务,因为超图的rest服务只可以用于Leaflet .openlayers3 (with MVT) .MapboxG ...

  3. cesium加载wms、wmts、tms、wfs服务

    目录 cesium加载wms服务 cesium加载wmts服务 cesium加载tms服务 cesium加载wfs服务 首先引入cesium.js,参考:https://blog.csdn.net/q ...

  4. OpenLayers加载WMS

    本文记录使用OpenLayers加载WMS数据,WMS数据为ArcGIS Server 和 GeoServer 发布的数据 1. 发布数据 1.1. ArcGIS Server 发布 WMS数据 关于 ...

  5. Arcgis for Js之加载wms服务

    概述:本节讲述Arcgis for Js加载ArcgisServer和GeoServer发布的wms服务. 1.定义resourceInfo var resourceInfo = { extent: ...

  6. leaflet加载wms和wfs服务

    同一个数据可以设置wms和wfs两种加载方式,如我GeoServer的数据服务,全国县级矢量图: 参考文章:leaflet通过WFS服务加载geoserver 矢量数据_不去想结果,一直在路上-CSD ...

  7. Openlayers4加载WMS地图

    前面介绍过Openlayers2加载地图的方法.但是Openlayers2现在已经算很老的版本,只有在老项目中可能还在用到.最新的Openlayers已经升级到了Openlayers5. openla ...

  8. WMS学习笔记:1.尝试加载WMS

    1.首先找一个可用的WMS栅格地图服务:http://demo.cubewerx.com/demo/cubeserv/cubeserv.cgi 获取GetCapabilities: http://de ...

  9. Android 4.0 ICS SystemUI浅析——StatusBar加载流程分析

    前面两篇文章< Android 4.0 ICS SystemUI浅析--SystemUI启动流程>.< Android 4.0 ICS SystemUI浅析--StatusBar结构 ...

最新文章

  1. Nat. Genet. | 基于遗传学主导的方法定义免疫相关性状的药物靶标
  2. vue + webpack 模拟后台数据
  3. 「Vue」vue生命周期
  4. 推荐系统个人理解(理论部分)
  5. mysql int 最大显示宽度_mysql int 整数类型 解释显示宽度 和 存储宽度
  6. 长沙试水数字人民币:线下支持数字人民币支付的商家已达3404个
  7. 基于AS3的水果机小游戏
  8. 使用C# Detach和Attach 数据库
  9. Google Chrome 浏览器安装教程
  10. win10u盘被写保护怎么解除_u盘写保护怎么去掉?Win10移除u盘写保护的操作步骤...
  11. 免流服务器系统怎么选,免流云服务器选
  12. 学神乔明达和他堪称神迹的学习履历
  13. HTML5网页设计制作基础大二dreamweaver作业、使用HTML+CSS技术制作博客网站(5个页面)
  14. DDSM乳腺钼靶图像数据库——ftp下载与格式转换(LJPEG转PNG)
  15. python中flush什么意思_python flush()定义及作用详解(实例分析)
  16. 新零售运营独白,如何联合线上线下
  17. ai如何旋转画布_Illustrator让一个图形沿着某一点或顶点旋转复制教程
  18. 三国群英传霸业之王服务器维护,20200901维护公告
  19. hadoop常用的命令大全
  20. 别人问我:为什么程序员都不善言辞?惭愧啊!

热门文章

  1. ASP.NET状态管理之六(缓存Cache)
  2. 数电与模电的根本区别 转
  3. Asp.net ajax、Anthem.net、Ajax pro三大ajax框架论坛网友比较
  4. web.config配置文件格式
  5. 深度学习《WGAN模型》
  6. leetcode —— 207. 课程表
  7. leetcode - 63. 不同路径 II
  8. 去哪儿-15-keep-alive
  9. 学习OpenCV2——卡尔曼滤波(KalmanFilter)详解
  10. Hibernate框架(持久化类、缓存、事务管理)