使用GeoServer+QGIS发布WMTS服务 | Publishing WMTS Service Using GeoServer+QGIS
Web GIS系列:
1.搭建简易Web GIS网站:使用GeoServer+PostgreSQL+PostGIS+OpenLayers3
2.使用GeoServer+QGIS发布WMTS服务
3.使用GeoServer+OpenLayers发布和调用WMTS、Vector Tile矢量切片服务 .
4.Leaflet入门:添加点线面并导入GeoJSON数据
使用GeoServer发布服务
请参见笔者博客:搭建简易Web GIS网站:使用GeoServer+PostgreSQL+PostGIS+OpenLayers3
下载GeoServer服务器并在本地安装好。本篇文章同样采用里面的shp文件数据进行WMTS服务的发布。
发布WMS服务
在GeoServer中,我们可以直接将shp文件发布为服务。
方法如下:
选择左侧Data->Store,添加新的Store,选择Shapefile文件。

分别输入Workspaces,数据源名称,并通过点击shapefile文件位置,将shp文件上传。最后保存。

之后即可在图层中预览所发布的WMS服务。如图:

发布样式
可以看到图中使用的是默认的样式。如何将图修改为我们所需要的样式,从而配上相应的颜色呢?
在这里使用了QGIS软件。QGIS是一个开源的GIS软件。可以前往其官网下载:QGIS
安装完成后,打开QGIS Desktop.在左侧选择添加矢量图层,导入shp数据。

导入后的结果如下:

在这里,我们希望根据GDP的总量对中国各个省份进行分级设色。双击左下角的图层,即可跳出属性框,在这其中可以对图层的样式、颜色、线形等进行设置。选择分层设色依据的字段,设置颜色即可。

效果如图:

调整效果后,将样式保存为sld文件:

再回到GeoServer中,选择左侧Styles,发布一个新的Style,输入相应的样式名称、工作区,选择文件的类型(点、线、面等),最后将生成的sld文件上传即可。

再返回图层,选择刚才发布的WMS服务并点击进入,在style里选择刚才发布的样式。或在下面添加可选样式。

再次浏览图层,发现已经上色了。

发布WMTS服务
点击GeoServer左侧Tile Caching中Gridsets,可以看到里面已经预设了一些切片形式。我们也可以新建一个切片策略。在其中选择合适的投影,设置范围,并添加切片的层级。

之后点击Tile Layers,选择Tile Caching,设置样式,并在最下面添加刚才新建的切片策略。

返回Tile Layers,找到图层,在最后选择切片策略,预览结果。例如选择EPSG:4326 / jpeg效果如下:

放大缩小可以感觉出矢量瓦片地图渲染的方式。
再点击Seed / Truncate,即可生成切片。输入相应的参数,即可生成切片。

观看输出窗口,可以看到切片在不断生成。生成的切片文件将保存在本地\geowebcache文件夹下。

若要应用WMTS服务,可以直接调用其网址,格式如下:
http://localhost:8080/geoserver/gwc/service/wmtslayer=[workspace]:CHINA_2014GDP&style=&tilematrixset=EPSG:4326&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image/jpeg&TileMatrix=EPSG:4326:[x]&TileCol=[y]&TileRow=[z]
其中x为切片层级,y和z则分别代表该层级下,相应行列处的切片。具体的调用方法请参见下一篇文章。
Web GIS系列:
1.搭建简易Web GIS网站:使用GeoServer+PostgreSQL+PostGIS+OpenLayers3
2.使用GeoServer+QGIS发布WMTS服务
3.使用GeoServer+OpenLayers发布和调用WMTS、Vector Tile矢量切片服务 .
4.Leaflet入门:添加点线面并导入GeoJSON数据
使用GeoServer+QGIS发布WMTS服务 | Publishing WMTS Service Using GeoServer+QGIS的更多相关文章
- GeoServer自动发布地图服务
1 NetCDF气象文件自动发布案例 GeoServer是一个地理服务器,提供了管理页面进行服务发布,样式,切片,图层预览等一系列操作,但是手动进行页面配置有时并不满足业务需求,所以GeoServer ...
- kubernetes发布tomcat服务,通过deployment,service布署
1.制作tomcat镜像 参考docker tomcat镜像制作 此处直接拉取 查看已有可镜像 先设置docker阿里源,即添加 "registry-mirrors": [&quo ...
- kubernetes发布tomcat服务,通过deployment,service布署(转)
1.制作tomcat镜像 参考docker tomcat镜像制作 此处直接拉取 查看已有可镜像 先设置docker阿里源,即添加 "registry-mirrors": [&quo ...
- WCF开发实战系列四:使用Windows服务发布WCF服务
WCF开发实战系列四:使用Windows服务发布WCF服务 (原创:灰灰虫的家http://hi.baidu.com/grayworm) 上一篇文章中我们通过编写的控制台程序或WinForm程序来为本 ...
- 使用GeoServer+OpenLayers发布和调用WMTS、Vector Tile矢量切片服务 | Publishing and Calling WMTS, Vector Tile Service Using GeoServer + OpenLayers
Web GIS系列: 1.搭建简易Web GIS网站:使用GeoServer+PostgreSQL+PostGIS+OpenLayers3 2.使用GeoServer+QGIS发布WMTS服务 3.使 ...
- geoserver发布地图服务WMTS
WMTS: 切片地图web服务(OpenGIS Web Map Tile Service) WMTS提供了一种采用预定义图块方法发布数字地图服务的标准化解决方案.WMTS弥补了WMS不能提供分块地图的 ...
- 如何在Skyline中加载ArcGISServer发布的WMS和WMTS服务
如何在Skyline中加载ArcGISServer发布的WMS和WMTS服务? 我这里的测试环境是ArcGISServer10.1和TerraExplorer Pro7.0,主要过程截图如下,
- WMTS服务解析
WMTS服务解析 1.基本思路 拼接地址,请求xml文件 ↓ 处理获取的xml文件,返回参数 ↓ 获取xml解析得到的参数,组织结构 2.对应函数 requestWMTS (olUrl) ↓ hand ...
- (二十)ArcGIS JS 加载WMTS服务(超图示例)
前言 在前一篇中说到我们可以通过加载WMS服务解决用ArcGIS API加载超图发布的服务,但是WMS服务在加载效率上是低于切片服务的,加上超图的IServer,无力吐槽,所以,在加载速度的要求下,切 ...
随机推荐
- 5月8日上课笔记-浮动float
IO文件复制 字符流(只能对文本文件进行操作) Reader Writer 字节流(对所有文件都能操作) InputStream OutputStream 一.浮动 边框弧度 border-radiu ...
- Java类的初始化与实例对象的初始化
Java对象初始化详解 2013/04/10 · 开发 · 1 评论· java 分享到:43 与<YII框架>不得不说的故事—扩展篇 sass进阶篇 Spring事务管理 Android ...
- 关于sencha touch中给文本添加焦点无效的解决方案
目前的解决方案是给你的执行代码加上一个timeout延迟100ms+ setTimeout(function(){ SoftKeyboard.isShowing(function(isShowing) ...
- 关于SQLSERVER的全文目录跟全文索引的区别
很久没有写随笔了,本来之前想写一篇关于SQLSERVER全文索引的随笔,可惜没有时间,一直拖到现在才有时间写,不好意思让各位久等了~ 先介绍一下SQLSERVER中的存储类对象,哈哈,先介绍一下概念嘛 ...
- Vue源码(一)
入口文件 src/core/instance/index.js 中可以看到 function Vue (options) { if (process.env.NODE_ENV !== 'product ...
- JS中的定时器
在JS中的定时器分两种: 1,setTimeout() 2,setInterval() setTimeout(): 只在指定时间后执行一次: function hello(){ alert('hell ...
- 跟我学算法聚类(kmeans)
kmeans是一种无监督的聚类问题,在使用前一般要进行数据标准化, 一般都是使用欧式距离来进行区分,主要是通过迭代质心的位置 来进行分类,直到数据点不发生类别变化就停止, 一次分类别,一次变换质心,就 ...
- umbraco
在任意页面获取根节点 var locale = CurrentPage.Site(); 遍历根节点 @foreach (var module in CurrentPage.Site().Childre ...
- then()方法是异步执行
then()方法是异步执行 就是当.then()前的方法执行完后再执行then()内部的程序 这样就避免了,数据没获取到等的问题
- Spring Session 学习记录1
先写些废话 新公司项目是有用到redis,之前老公司使用的缓存框架是ehcache.我redis并不熟悉.看过介绍以后知道是个nosql..既然是个数据库,那我想操作方法和jdbc操作关系数据库应该差 ...