GeoServer基础教程(三):部署发布Shapefile地图数据
转载:http://blog.csdn.net/mingzai624。
如果用户没有对GeoServer的文件系统进行更改的话,那复制解压上面文件完成后的文件目录应该是:geoserver/data_dir/data/nyc_roads,然后就是四个所需的Shapefile格式文件。
新建一个工作区
部署地图数据第一个步骤即为新建一个工作区,工作区(WorkSpace)是一个用于组织类似图层数据的容器。我们常常会把一些相关的图层数据放到一个工作区里。
新建工作区的操作流程为:
登录GeoServer的Web管理界面,依次点击右侧的工作区–添加新的工作区,进入新建工作区的界面,在这里需要输入工作区的名字和命名空间URL。
工作区名字就是一个标志符,用来区分你的不同的项目,而命名空间URL(Uniform Resource Identifier)通常是一个与你项目有关的超链接,如果你的服务器接入了互联网,做好了相关配置与发布,那么可以在互联网上通过这个URL来访问你的数据。
最后点击提交完成创建。
新建数据存储
为了添加nyc_roads中的Shapefile地图数据,你必须建立一个数据存储。数据存储实际上维护着地图数据和文件系统中的文件夹的映射关系。
点击数据存储–添加新的数据存储,我们可以看到GeoServer支持的众多矢量数据和栅格数据源:
因为我们要发布的是Shapefile地图数据格式,我们点选Shapefile – ESRI(tm) Shapefiles (*.shp)即可。
然后按照图中所示填写好相关信息。
要注意的是工作区应该选择我们第一步建立的,Shapefile文件的位置通过浏览选择我们在准备工作中复制到数据目录下data文件夹中的Shapefile。然后数据表的字符集应该和源数据一致,如果不知道源数据的字符集,建议选择UTF-8,保证对中文系统和用户的支持。
最后点击保存完成创建。
创建一个图层
新建数据存储后,默认会停留在新建图层的界面,我们直接在此开始建立图层。因为只有一个图层nyc_roads,点击发布进入图层编辑界面。图层编辑界面定义了图层的数据和发布参数。填入了名称、标题、摘要等基本信息后,我们需要定义重要的SRS信息和边框信息。
本机SRS是指地图数据本身的坐标参考系统,这是由地图数据本身的属性决定的,也是不可修改的。GeoServer会自动从数据文件中读取这一信息。
相对应的Native Bounding Box则是根据本机SRS自动计算出来的边框,我们点击从数据中计算就能计算出来边框范围。
定义SRS是指我们自己想要定义显示地图数据的坐标参考系统,我们通过右边的查找按钮进行查找选择。
对于国内用户来说,常用的坐标系统可以通过键入“beijing”、”xian”或者4326(WGS-84的编码序号)进行查找选择。选择确定后,通过点击“compute from nativ bounds”可以计算出在这个坐标系统下的边界。
最后点击保存进行发布。
图层预览
为了验证我们部署发布Shapefile地图数据成功与否,可以对刚刚发布的数据进行预览,点击左侧的Layer Preview,找到我们刚刚发布的地图图层,点击”Openlayers“进行预览,如果成功你可以看到下图所示的道路分布。
在这里,我们已经可以通过默认的控制条来进行放大缩小与平移,还能点击图中的地理要素来查看属性。
测试得到的URL为:
图层叠加呈现
在访问WMS服务的时候通常都是将多个地图图层进行叠加组合,才能完成一个相对完整的地图界面呈现。在访问WMS服务的时候图层叠加非常简单,就是在WMS请求地址的layers参数后面用逗号(“,”)将多个图层进行分割就可以了。下面的WMS服务请求地址就叠加了3个地图图层:
http://localhost:8080/geoserver/newyorkroad/wms?service=WMS&version=1.1.0&request=GetMap&layers=newyorkroad:layer1,newyorkroad:layer2,newyorkroad:layer3&styles=&bbox=105.286,28.163,110.194,32.203&width=512&height=421&srs=EPSG:4326&format=application/openlayers
layers=newyorkroad:layer1,newyorkroad:layer2,newyorkroad:layer3,表示此WMS服务请求是由三个地图图层叠加组合而成的。
小结
至此,通过GeoServer部署发布Shapefile地图数据已经介绍完毕。
GeoServer基础教程(三):部署发布Shapefile地图数据的更多相关文章
- GeoServer基础教程(一):环境搭建篇
转自:http://imxz.me/tech/3sdev/installation-of-geoserver.html GeoServer的是一个基于Java的软件,它允许用户查看和编辑地理空间数据, ...
- GeoServer基础教程(四):空间数据互操作的接口规范WMS、WFS和WCS
转载:https://ethanblog.com/tech/all-about-wms-wfs-and-wcs.html 前面几节介绍了GeoServer基础教程的一些基本操作,相信大家对GeoSer ...
- GeoServer基础教程(二):GeoServer的Web管理界面快速入门
转载:http://blog.163.com/daimiao_study/blog/static/248923117201542522742373/ GeoServer的控制和管理是基于网页形式,所有 ...
- RabbitMQ 官方NET教程(三)【发布/订阅】
上一篇博客中,我们实现了工作队列,并且我们的工作队列中的一个任务只会发给一个工作者,除非某个工作者未完成任务意外被杀死,会转发给另外的工作者.在这部分中,我们会做一些完全不同的事情 - 我们会向多个消 ...
- SpringCloud2.0 Eureka Client 服务注册 基础教程(三)
1.创建[服务提供者],即 Eureka Client 1.1.新建 Spring Boot 工程,工程名称:springcloud-eureka-client 1.2.工程 pom.xml 文件添加 ...
- mysql基础教程(三)-----增删改、子查询、创建管理表、约束和分页
插入 INSERT语句语法 从其它表中拷贝数据 • 不必书写 VALUES 子句. • 子查询中的值列表应与 INSERT 子句中的列名对应 update语句 • 可以一次更新多条数据. • 如果需要 ...
- MySQL8.0关系数据库基础教程(三)-select语句详解
1 查询指定字段 在 employee 表找出所有员工的姓名.性别和电子邮箱. SELECT 表示查询,随后列出需要返回的字段,字段间逗号分隔 FROM 表示要从哪个表中进行查询 分号为语句结束符 这 ...
- git基础教程(三)
3.github与git同步 3.1 配置公私钥 3.2 github上建立个人仓库 3.3 本地仓库同步到github #将本地仓库与远端仓库建立连接 #用简写名代替后面的远端连接 git remo ...
- Python学习入门基础教程(learning Python)--8.1 字典数据添加与删除
1. 字典数据添加 这个很简单,像赋值那样一项项赋值即可.语法结构如下 dict_obj[key] = value 添加数据项示例如下 >>> d1 = {'cod ...
随机推荐
- android 布局特点
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_cont ...
- WPF Button TextBox 圆角
<!--圆角button--> <Style TargetType="Button"> <Setter Property="FontSize ...
- Android 中通过切割图片创建人物行走动画
以前一直使用序列图片来实现动画效果,造成空间的极大浪费,所以想要尝试下切割图片来实现动画. 如图所示,是由66rpg纸娃娃系统生成的角色行走图.本程序必须实现将人物的整体图片切割后存入4x4的数组来动 ...
- bzoj1185【HNOI2007】最小矩形覆盖
1185: [HNOI2007]最小矩形覆盖 Time Limit: 10 Sec Memory Limit: 162 MBSec Special Judge Submit: 1114 Solv ...
- 【BZOJ2790】[Poi2012]Distance 筛素数+调和级数
[BZOJ2790][Poi2012]Distance Description 对于两个正整数a.b,这样定义函数d(a,b):每次操作可以选择一个质数p,将a变成a*p或a/p, 如果选择变成a/p ...
- 记录-JQuery日历插件My97DatePicker日期范围限制
对于日期控件,有时会有不能选择今天以前的日期这种需求..... My97DatePicker是一个非常优秀的日历插件,不仅支持多种调用模式,还支持日期范围限制. 常规的调用比较简单,如下所示: 1 & ...
- DDD开源框架
DDD开源框架: ABP ENODE https://github.com/VirtoCommerce/vc-community APWorks https://github.com/daxnet/B ...
- Android笔记之AsyncTask
AsyncTask中的4个回调 onPreExecute(),在doInBackground(Params...)之前运行在UI线程中 onPostExecute(Result),在doInBackg ...
- springboot带分页的条件查询
QueryDSL简介 QueryDSL仅仅是一个通用的查询框架,专注于通过Java API构建类型安全的SQL查询. Querydsl可以通过一组通用的查询API为用户构建出适合不同类型ORM框架或者 ...
- php7下 xhprof安装与使用
需要测试下 代码的性能,使用了 xhprof + xhgui 1. 下载xhprof, 这里下载吧 :https://github.com/longxinH/xhprof.git 2, 安装 cd x ...