一、开篇
此篇文章我们使用GeoServer官方网站提供的矢量道路数据nyc_roads.zip来演示如何使用GeoServer发布矢量数据。该矢量数据包含了部分纽约的道路信息,我们本次就使用此矢量文件(ShapFile)来进行部署和发布。
文件下载地址:https://pan.baidu.com/s/1I0xb6iKQoM3gDX_6os3E0A 提取码:mjhw
如果没有对GeoServer的文件系统进行更改的话,那复制解压上面文件完成后的文件目录应该是:根目录/data_dir/data/nyc_roads,然后就是四个所需的Shapefile格式文件。
二、新建工作区
部署地图数据第一个步骤即为新建一个工作区,工作区(WorkSpace)是一个用于组织类似图层数据的容器。我们常常会把一些相关的图层数据放到一个工作区里。
按照如下的步骤进行操作:
1、登录GeoServer的Web管理界面,依次点击右侧的数据模块中的工作区,打开工作区管理页面,如下图所示:
2、在上图所示的页面点击《添加新的工作区》超链接,打开添加新工作区的页面,如下图所示:
3、进入新建工作区的界面,在这里需要输入工作区的Name(名字)和命名空间URL。
4、各项数据填写完毕之后,点击下方的《提交》按钮,完成工作区的创建。如下图所示:
从上图可以看到,我们新增的工作区已经在列表中出现了。后续对工作区的信息维护修改、以及删除等操作也都是在这个页面来完成的。
三、新建数据存储区
为了添加nyc_roads中的Shapefile地图数据,必须建立一个数据存储。数据存储实际上维护着地图数据和文件系统中的文件夹的映射关系。
1、点击数据模块中的《数据存储》菜单项,打开数据存储管理页面,如下图所示:
2、点击《添加新的数据存储》超链接,打开添加数据存储的页面,如下图所示,可以看到GeoServer支持的众多矢量数据和栅格数据源:
3、因为我们要发布的是Shapefile地图数据格式,我们点选《Shapefile – ESRI(tm) Shapefiles (*.shp)》即可。打开如下图所示的页面:
4、然后按照图中所示填写好相关信息。说明如下:
5、各项数据内容填写完毕之后,点击《保存》按钮,完成数据源的创建。如下图所示:
如上图所示,系统已经自动跳转到了《新增图层》的页面,接下来的内容用来说明如何新建图层。
四、创建图层
新建数据存储后,默认会停留在新建图层的界面,我们直接在此开始建立图层。如下图所示:
1、因为只有一个图层nyc_roads,点击操作列中的《发布》进入图层编辑界面。如下图所示:
2、图层编辑界面定义了图层的数据和发布参数,需要填写相关的信息。主要信息的说明如下:
3、填入了名称、标题、摘要等主要信息后,还需要定义重要的SRS信息和边框信息。如下图所示:
主要内容说明如下:
4、最后点击《保存》按钮进行发布。
发布成功后,页面自动跳转到图层管理页面。从上图可以看到,列表中的图层名称包含了工作区和图层的名称。
五、图层预览
为了验证我们部署发布Shapefile地图数据成功与否,可以对刚刚发布的数据进行预览。
1、点击左侧数据模块的《Layer Preview》,打开如下图所示的图层预览列表页面:
2、找到我们刚刚发布的地图图层nyc_roads,点击《Openlayers》超链接进行预览,如果成功则可以看到下图所示的道路分布地图:
在这里,我们已经可以通过左上角默认的控制条来进行放大缩小与平移,还能点击图中的地理要素来查看属性。
测试得到的URL为:
http://localhost:8080/geoserver/newyork/wms?service=WMS&version=1.1.0&request=GetMap&layers=newyork%3Anyc_roads&bbox=984018.1663741902%2C207673.09513056703%2C991906.4970533887%2C219622.53973435296&width=506&height=768&srs=EPSG%3A2908&format=application/openlayers
六、图层叠加
在访问WMS服务的时候通常都是将多个地图图层进行叠加组合,才能完成一个相对完整的地图界面呈现。在访问WMS服务的时候图层叠加非常简单,就是在WMS请求地址的layers参数后面用英文逗号(“,”)将多个图层进行分割就可以了。下面的WMS服务请求地址就叠加了3个地图图层:
http://localhost:8080/geoserver/newyorkroad/wms?service=WMS&version=1.1.0&request=GetMap&layers=newyork:layer1,newyork:layer2,newyork:layer3&styles=&bbox=105.286,28.163,110.194,32.203&width=512&height=421&srs=EPSG:4326&format=application/openlayers
layers=newyork:layer1,newyork:layer2,newyork:layer3,表示此WMS服务请求是由三个地图图层叠加组合而成的。
七、参考资料
http://blog.csdn.net/mingzai624z
https://blog.csdn.net/u010723516/article/details/79012445
https://blog.csdn.net/wo_buzhidao/article/details/78713426