GEOServer是java版开源工具,使用GEOServer简单几步就可以搭建自己的地图服务,与小伙伴们共享地图数据。
一、使用GEOServer发布WMS动态地图服务
大致步骤如下:
1. 新建工作区
左边菜单栏,工作区,新建,起个名字,设置url。
2. 选择数据源
左边菜单栏,选择“数据源”,点击“添加新的数据源”,常用的有shp、postgresql数据库,根据自己的需要选择,这里选择了shp文件源。
选中存放在刚才新建的工作区下面,给数据源起个名字,选择文件本机存放位置,设置编码,包含中文属性字段的选择GBK或者GB2312,保存。
3. 设置坐标系和地理边界
设置坐标系,WGS84坐标系使用EPSG:4326,国家2000地理坐标系使用EGSG:4490,Web墨卡托投影坐标系使用EPSG:3857。
设置地理边界,原始边界,点击“从数据中计算”,系统会自动填充边界范围。点击“从投影变换前的原始边界中换算”,系统会自动填充经纬度范围。
如果上面设置坐标系的时候不需要做投影变换,这里的值就是一样的。
不知道坐标系编码怎么办,点击“查找”,选择对应的编码:
4. 发布预览
点击“发布”后,左侧菜单栏“图层预览”,列表中找到刚发布的图层,选择通过openlayers预览:
预览效果(点击单个对象,下方显示属性信息):
5. 修改样式
这里上传的是polygon类型,系统会系统默认的polygon样式,觉得不太好看,可以修改。
从左侧菜单栏“样式style”进入样式列表,找到“polygon”样式,打开样式详情页,可以修改填充色,边框色和边框的粗细(单位是像素)。
配色的基本原则是参考实际生活中的主色调,比如建筑群是灰色为主,修改后是不是柔和了一些,看着舒服很多。
二、使用openlayers访问wms服务浏览地图数据
1. 用js写一个通用函数
addWMSLayer(url,layers,‘1.3.0’); //加载WMS图层和属性数据
参数url,例如: http://your_ip/geoserver/wms,你安装geoserver服务器的地址
参数layers: your_ws:t_buildings,前面是上面新建的工作区名称,后面是发布图层名称。
function addWMSLayer(url, LAYERS, VERSION, zoom, center) {var params = {LAYERS: LAYERS, //"topp:states",transparent: true,STYLES: '',format: "image/png"};map.addWMSLayer("layerWms", url, params); //添加一个图层,第一个参数是图层名称map.getMap().getView().fit(ol.proj.transformExtent([minX, minY, maxX, maxY], "EPSG:4326", "EPSG:3857"), {duration: 500, nearest: true }); //缩放到图层范围}
显示效果:
局部放大:
收工。
扫码加入我的知识星球:“时空大数据”,可获取更多更高品质的地图、地理信息、GIS、大数据、时空分析、实景三维、地图可视化等方面的知识和文件,前20名可享5折优惠券。