QGIS如何使用WMS图层

这边文章的讲的是QGIS如何使用WMS图层以及其WMS图层原理和缺点。

  1. 什么是WMS?

(WMS)  Web Mapping Service 是一种远程的地图服务,好像一个网站,你可以通过连接一个远程服务器来获取,QGIS可以直接加载WMS图层。WMS图层不像从GOOGLE地图上加载的栅格地图,它是静态的,一旦你下载了图片,它就不会再更新变化了(除非你删除缓存)。但通过放大和缩小地图、WMS图层却是可以动态更新的,

  1. 导入WMS 图层

你既可以使用以前配置好的地图也可以创建一个新地图加载一些已经存在的图层,下面我们用一个新地图导入places和landuse图层并配置符号,然后我们开始导入WMS图层。

在导入WMS 图层之前,首先需要禁用动态投影 “on the fly” (settings->options->CRS) 这可能造成图层不能正确叠加,不过不用担心 我们后边会单独对其进行修复。

我们通过点击工具栏中的AddWMS Layer button 来加载WMS图层,类似加载SpatiaLite数据库图层,图层数据是存储在数据库中的,为了使用这些图层,我们首先要连接这些数据库。而添加WMS图层,需要先连接远程服务器。

点 NEW 按钮 创建一个新的WMS连接,首先需要一个WMS 服务地址 ,互联网上有许多免费的WMS 服务,例如: terrestris,它是利用OpenStreetMap数据发布的。

为了使用WMS,需要如下设置对话框:

点连接后,在server listed 列表中你能够看到导入的WMS入口,它们是该WMS SERVER管理的所有图层。

单击OSM-WMS 图层,将显示该图层的参考坐标系,

由于我们不使用WGS84坐标系,我们需要重新选择,点Change按钮,将显示坐标系对话框。我们需要一个投影坐标系,选择WGS 84 / Pseudo Mercator。

点OK按钮设置完成。

点 添加 按钮 新的名叫OSM-WMS.的图层将出现在地图上,在图层列表上,点选并拖动图层到地图列表的底端。

我们发现你的图层位置不准确,这是因为  “on the fly” projection 动态投影被禁用了。我们将重新启用动态投影,选择与OSM-WMS图层同样的投影,也就是WGS 84 / Pseudo。

  1. 启用动态投影

在SETTING->Project Properties dialog对话框中的 CRS TAB页中,输入pseudo 过滤坐标系

从列表中选择WGS 84 / Pseudo Mercator

点 OK设置完毕

然后右键点击在图层面板中的相应图层,选择Zoom to layer extent. 查看Swellendam区域。

  1. WMS 的优点和局限

我们注意到WMS 图层实际上包含很多FEATURE,有街道、河流、自然保护区等。它好像像是矢量格式,但其实他是栅格格式的,我们是不能改变这些FEATURE的样式的。

因为它类似一个纸质的地图,只是它是个图片而已,我们平时使用的矢量图层,QGIS会负责其渲染成但是我们使用WMS时矢量图层在WM SSERVER服务器上,服务器会渲染地图并生成图片发送到客户端QGIS上由QGIS显示。所以我们不能改变符号的样式,因为这些是在服务器端完成的工作。这其实有很多好处,因为你不必去再设计图层的符号样式,他已经在服务端设计好了。如果不喜欢当前的样式设计你也不能改变,但有时你也想在客户端改变图层样式,这时就要使用WFS图层,它会传给客户端矢量图层。而不是将地图作为整体传输。

时间: 2024-10-12 13:15:44

QGIS如何使用WMS图层的相关文章

Geoserver发布WMS服务出错分析

使用Geoserver发布一个空间表,在图层预览的过程中没有任何问题,但是当我根据这个空间表传创建视图再发布wms服务,访问时就会报错,错误信息如下: Caused by: java.sql.SQLException: ORA-29902: 执行 ODCIIndexStart() 例行程序中出 错 ORA-13208: 对运算符 [window SRID does not match layer SRID] 求值时出现内部错误 ORA-06512: 在 "MDSYS.SDO_INDEX_METH

openlayers自定义图层控制的实现

好久没写博文了,今天出来冒个泡. 最近一直在考虑一件事情,那就是openlayers中自定义wms的图层控制.用过openlayers的人都知道,在openlayers中有自带的图层控制的控件,调用方法也很简单: map.addControl(new OpenLayers.Control.LayerSwitcher({'ascending':true}));//图层控制 但是,不论是从操作的方便程度还是美观性方面考虑,自带的图层控制是无法满足需求的,考虑了一段时间,今天终于有时间实现了,下面就说

World Wind Java开发之十三——加载Geoserver发布的WMS服务(转)

这篇是转载的平常心博客,原地址见:http://www.v5cn.cn/?p=171 1.WMSTiledImageLayer类说明 一个WMSTiledImageLayer类对象只能对应一个WMS发布的服务图层,使用WMS服务时需要使用到WMS元数据描述类WMSCapabilities对象,我们使用WMSCapabilites类的静态方法retrieve来获得它的对象.WMSCapabilites对象可以包含WMS服务中所以的图层和图层样式,我们通过把需要显示的图层名称保存到AVList对象中

wms常用操作

题外: 自从换了工作就很少有时间上网了,新的单位不让上网的,所以博客也有好久没有更新了,虽然博文的质量一般般吧,但是觉得还是坚持写下去比较好,今天,北京,雨天,写点最近工作中的所得吧! 概述: 最近一段时间工作涉及的内容都是geoserver和openlayers的内容,本文就最近工作中涉及到的一些常用的wms操作总结了一下,以便后用. 一.获取图层图例 wms服务获得图里的方式为: http://localhost:8080/geoserver/china/wms?request=GetLeg

OpenLayers中的图层

OpenLayers有多个不同的图层类,每一个都可以连接到不同的地图服务器.例如通过Layer.WMS类可以连接到WMS地图服务器,通过Layer.Google类可以连接到谷歌地图服务器.OpenLayers中的每个图层都是独立的,对一个的操作不会影响到另外一个. 不管地图应用的目的是什么,一个有用的地图至少需要有一个图层,至少一个基底图层.其他基底图层之上的图层称之为叠加图层.基底图层和叠加图层是OpenLayers中的两种图层类型. 基底图层 基底图层在图层列表的最下方,其他图层都在其之上.

openlayers6结合geoserver利用WFS服务实现图层删除功能(附源码下载)

内容概览 1.openlayers6结合geoserver利用WFS服务实现图层删除功能2.源代码demo下载 效果图如下: 本篇主要是在上一篇openlayers6结合geoserver利用WFS服务实现图层新增功能(附源码下载)基础上实现的,openlayers6通过调用geoserver发布的地图服务WFS来达到图层删除记录的目的.与GeoServer的WFS进行基于Rest交互关键就在于请求参数,值得注意的是这些请求最好采用POST方法发送.查询可以采用json,但增加,删除,修改都只能

Web GIS离线解决方案

1.背景 在离线环境下(局域网中)的GIS系统中如何使用地图?这里的地图主要指的是地图底图,有了底图切片数据,我们就可以看到地图,在上面加上自己的业务数据图层,进行相关操作. 要在离线环境下看到GIS地图,就要有底图切片数据,地图的底图切片数据在一定时间内是不会变化的,可以使用一些地图下载器下载地图切片,如这个地图下载器. 在CS系统中可以基于GMap.Net来做,参考<百度谷歌离线地图解决方案>. 下面介绍下Web系统如何使用GIS切片数据,开发web GIS系统. 2.使用GeoWebCa

Leaflet API 翻译(一)

摘自:http://jsrookie.iteye.com/blog/2318972 L.Map API各种类中的核心部分,用来在页面中创建地图并操纵地图. Constructor(构造器) 通过div元素和带有地图选项的描述的文字对象来实例化一个地图对象,其中文字对象是可选的. Options(选项) Map State Options(地图状态选项) centre(中心):初始化地图的地理中心. zoom(缩放):初始化地图的缩放. layers(图层):初始化后加载到地图上的图层. minZ

OpenLayers3基础教程——加载资源

概述: 本节讲述如何在Ol3中加载wms图层并显示到地图中. Ol3下载: 你可以在OL官网去下载,下载地址为http://openlayers.org/download/,也可以去我的百度云盘下载,下载地址为http://pan.baidu.com/s/1o6wwHTo.官网上的最新版本为3.6.0,我的网盘的版本为3.0.0,不过官网上的链接好像是失效的. OL3必须资源引入: OL3必须引入的资源有两个,一个为样式文件,ol.css:一个为js文件,ol.js. OL3加载wms: 在Ol