项目使用openlayer3,地图影像为EPSG:3857墨卡托投影,想要加载geoserver发布tiff影像wms服务。
geoserver发布产品为EPGS:4326,如果地图openlayer初始化时设置投影为EPGS:4326等经纬度,那么geoserver发布的tiff影像产品可以展示。
如下openlayer投影设置:
geoserver发布tiff产品如下图(EPSG:4326):上述两种配置可展示。
但是系统要求使用墨卡托投影,在地图初始化时改为EPSG:3857墨卡托投影无法加载。将geoserver发布tiff影像wms服务改为EPSG:3857,同样无法加载。
openlayer配置:
geoserver发布产品配置入下图:
在图层编辑部分修改图层投影。
无法加载的情况是,看到浏览器-网络-部分,能看到请求,但响应内容为空;
解决方案
第一种(简单的):
在geoserver 加载wms服务时指定数据经纬度投影,即可进行展示(多么简单的一句话,我研究了一天才用另一种方式解决)。
在展示时配置peojection参数,配置geoserver wms发布数据投影,即可在geoserver EPSG:3857上展示。
第二种:
我的问题是,我用geoserver发布影像的数据源文件,tiff文件,没有写入坐标信息。
如下图,是arcgis打开tif图查看详情界面,空间参考即是坐标信息。
因为我的tif产品没有写入坐标信息,所有在openlayer 3857投影请求geoserver wms 4326投影产品时,它无法进行自动坐标转换,所以导致一直请求不到数据产品。
如果tiff数据写入了投影信息,前端不配置projection参数投影,也可以正常访问。
可以在前端opemlayer加载wms时设置影响数据投影,也可以把数据写入坐标信息。
这两种方式就是解决openlyaer 3857投影加载geoserver wms服务器4326投影的解决办法,你学换了吗?欢迎留言提问。
学的不是技术,是梦想!