传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229

传送门☞系统架构设计☞转载请注明☞http://blog.csdn.net/leverage_1229

传送门☞GoF23种设计模式☞转载请注明☞http://blog.csdn.net/leverage_1229

在GIS服务平台构建完毕之后,我们就要着手在此平台上提供服务以供客户端请求访问。

一、数据发布
1.添加源数据
打开Tomcat服务器安装目录的\geoserver\data\data子目录,在该目录下新建名为usr的文件夹,将一张.TIFF图像(栅格数据)存放到这里。

2.登录GeoServer
访问 http://localhost:8080/geoserver/web/页面,输入admin和geoserver后,点击“登录”按钮。

3.设置工作区
点击左边Data栏的Workspaces选项,设置自己的工作区间。并填写区间名称和命名空间URL,点击“提交”按钮。

进入刚创建好的工作区间,开启该区间的WMS服务功能。点击“保存”按钮。

4.设置数据源
点击左边Data栏的Stores选项,设置自己的数据源。我们的源数据是TIF格式的,所以选择数据源时注意对应数据类型。

添加数据源,工作区间选择刚刚创建好的sample,并填写数据源名称。最后选择连接参数(这里要关联到第一步存放的TIF文件),找到该文件后,点击“保存”按钮。

5.设置图层
点击左边Data栏的Layers选项,添加图层的来源选择前面几步设置好的sample:university。

点击“Publish”链接来到如下页面,为当前图层配置资源和发布信息。填写“Declared SRS”和“Lat/Lon Bounding Box”两项后,点击“保存”按钮。

6.预览图层
点击左边Data栏的Layer Preview,找到前面设置好的图层:sample:wuhanuniversity。

点击该图层的“OpenLayers”链接,出现如下界面,标示数据已经发布成功。

二、数据访问
GeoServer已经成功发布了数据,也就是说GIS服务平台已经提供了WMS服务,接下来客户端浏览器就要请求该服务。
1.构建html静态网页
使用OpenLayers类库结合动态网页技术构建wuda.html,用于向服务端发送请求。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><title> WuHan University : WMS </title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"><meta name="apple-mobile-web-app-capable" content="yes"><link rel="stylesheet" href="./script/OpenLayers/theme/default/style.css" type="text/css" /><link rel="stylesheet" href="./script/OpenLayers/style.css" type="text/css"><script type="text/javascript" src="./script/OpenLayers/OpenLayers.js"></script><script type="text/javascript">var map, drawControls;var bounds = new OpenLayers.Bounds(114.34795499999998, 30.524327, 114.36603512820511, 30.536327);function init() {map = new OpenLayers.Map({div: 'map',maxExtent: bounds,projection: "EPSG:4326",units: 'degrees'});var wmsLayer = new OpenLayers.Layer.WMS("University WMS", "http://127.0.0.1:8080/geoserver/sample/wms?", {layers: "sample:wuhanuniversity", format: "image/png",singleTile: true});var pointLayer = new OpenLayers.Layer.Vector("Point Layer");var lineLayer = new OpenLayers.Layer.Vector("Line Layer");var polygonLayer = new OpenLayers.Layer.Vector("Polygon Layer");var boxLayer = new OpenLayers.Layer.Vector("Box Layer"); map.addLayers([wmsLayer, pointLayer, lineLayer, polygonLayer, boxLayer]);map.addControl(new OpenLayers.Control.PanZoomBar());map.addControl(new OpenLayers.Control.LayerSwitcher());/*map.addControl(new OpenLayers.Control.ScaleLine());map.addControl(new OpenLayers.Control.Permalink('permalink'));*/map.addControl(new OpenLayers.Control.MousePosition());/*map.addControl(new OpenLayers.Control.OverviewMap());map.addControl(new OpenLayers.Control.KeyboardDefaults());*/drawControls = {point : new OpenLayers.Control.DrawFeature(pointLayer, OpenLayers.Handler.Point),line : new OpenLayers.Control.DrawFeature(lineLayer, OpenLayers.Handler.Path),polygon : new OpenLayers.Control.DrawFeature(polygonLayer, OpenLayers.Handler.Polygon),box : new OpenLayers.Control.DrawFeature(boxLayer, OpenLayers.Handler.RegularPolygon, {handlerOptions: {sides: 4,irregular: true}})};for(var key in drawControls) {map.addControl(drawControls[key]);}map.zoomToExtent(bounds);document.getElementById('noneToggle').checked = true;}function toggleControl(element) {for(key in drawControls) {var control = drawControls[key];if(element.value == key && element.checked) {control.activate();} else {control.deactivate();}}}function allowPan(element) {var stop = !element.checked;for(var key in drawControls) {drawControls[key].handler.stopDown = stop;drawControls[key].handler.stopUp = stop;}}</script></head><body οnlοad="init()"><div id="map" class="smallmap"></div><ul id="controlToggle"><li><input type="radio" name="type" value="none" id="noneToggle" οnclick="toggleControl(this);" checked="checked" /><label for="noneToggle">Navigate</label></li><li><input type="radio" name="type" value="point" id="pointToggle" οnclick="toggleControl(this);" /><label for="pointToggle">Draw Point</label></li><li><input type="radio" name="type" value="line" id="lineToggle" οnclick="toggleControl(this);" /><label for="lineToggle">Draw Line</label></li><li><input type="radio" name="type" value="polygon" id="polygonToggle" οnclick="toggleControl(this);" /><label for="polygonToggle">Draw Polygon</label></li><li><input type="radio" name="type" value="box" id="boxToggle" οnclick="toggleControl(this);" /><label for="boxToggle">Draw Box</label></li><li><input type="checkbox" name="allow-pan" value="allow-pan" id="allowPan" οnclick="allowPan(this);" checked=true /><label for="allowPan">Allow Pan While Drawing</label></li></ul></body></html>
2.访问服务提供数据
在浏览器地址栏输入http://localhost:8080/webMapServer/wuda.html,出现如下页面,标示客户端已经能够成功访问服务端提供的服务数据。

遵循Java EE标准体系的开源GIS服务平台之三:数据发布与访问相关推荐

  1. 遵循Java EE标准体系的开源GIS服务平台之二:平台部署

    传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229 传送门☞系统架构设计☞转载请注明☞http://blog.csdn.net/levera ...

  2. 遵循Java EE标准体系的开源GIS服务平台之一:平台架构

    传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229 传送门☞系统架构设计☞转载请注明☞http://blog.csdn.net/levera ...

  3. 遵循Java EE标准规范的开源GIS服务平台之三:数据发布与访问

    传送门 ☞ 轮子的专栏 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 在GIS服务平台构建完毕之后,我们就要着手在此平台上提供服务以供客户端请求访问. 1数 ...

  4. 《国家智能制造标准体系建设指南(2018年版)》发布(附全文)

    <国家智能制造标准体系建设指南(2018年版)>发布(附全文) [导读]工业和信息化部.国家标准化管理委员会日前印发<国家智能制造标准体系建设指南(2018年版)> ,明确提出 ...

  5. 开源企业级数字化服务平台——Choerodon猪齿鱼发布0.8版本

    Choerodon猪齿鱼是一个开源企业服务平台,是基于Kubernetes的容器编排和管理能力,整合DevOps工具链.微服务和移动应用框架,来帮助企业实现敏捷化的应用交付和自动化的运营管理的开源平台 ...

  6. 管网管理GIS服务平台有何功能?

    伴随着科技的发展,愈来愈多的城市地区在各种各样基本建设中开始应用GIS系统,智能化系统的管理城市规划建设,推动城市地区的智能化系统发展趋势. GIS系统,便是运用GIS空间数据管理技术,将客户很感兴趣 ...

  7. 开源企业级数字化服务平台——Choerodon猪齿鱼发布0.11版本

    Choerodon猪齿鱼是一个开源企业服务平台,基于Kubernetes的容器编排和管理能力,整合DevOps工具链.微服务和移动应用框架,来帮助企业实现敏捷化的应用交付和自动化的运营管理的开源平台, ...

  8. java EE技术体系——CLF平台API开发注意事项(4)——API生命周期治理简单说明

    文档说明 截止日期:20170905,作者:何红霞,联系方式:QQ1028335395.邮箱:hehongxia626@163.com 综述 有幸加入到javaEE技术体系的研究与开发,也得益于大家的 ...

  9. java EE技术体系——CLF平台API开发注意事项(4)——API生命周期治理简单说明...

    文档说明 截止日期:20170905,作者:何红霞,联系方式:QQ1028335395.邮箱:hehongxia626@163.com 综述 有幸加入到javaEE技术体系的研究与开发,也得益于大家的 ...

最新文章

  1. 如何在PHP中删除字符串中的所有空格? [重复]
  2. 将浮点数限制为两位小数
  3. linux覆盖文件如何还原_大数据笔试真题集锦-——第十九章Linux面试题
  4. 直播预告 | 清华大学博士生牛艺霖:常识知识获取与常识推理
  5. 分类与回归树(CART)相关知识
  6. [LeetCode] Power of Four
  7. 如何更改mssq,SSAS l代理运行身份验证
  8. python常用的一些东西——sys、os等(转)
  9. hbase put 写入数据慢_HBase运维 | HBase 疑难杂症诊治
  10. Python运算符和表达式注意的地方
  11. U盘修复工具哪个好?7款U盘低格工具详解
  12. cmd快捷键和常用命令
  13. JavaScript 【99乘法表】【案例】
  14. [Chatter] 错误处理的安全保证等级
  15. 绘图神器draw.io(写文必备)
  16. 呼叫中心系统智能排队功能转接流程
  17. 2020中南大学研究生招生夏令营机试题
  18. 【数量技术宅|量化投资策略系列分享】成熟交易者期货持仓跟随策略
  19. java 工作流表单设计器 设计方案
  20. A-286热加工/锻造

热门文章

  1. C++-实现日志log功能
  2. 浙江财经大学java试卷,关于提交2020-2021-1学期课程考核试卷的通知
  3. android自定义属性dimen,Android获取非自定义属性值
  4. 干货!!月薪过万行业,软件测试必懂的基本概念
  5. dataframe一列按长度补0_Pandas中Series和DataFrame基础功能详解
  6. cdr自动排版插件_CDR ymxkDoc插件 支持X72020到以后版本
  7. php mongodb长连接吗,PHP - MongoDB连接攻略
  8. 10分钟学会数据库压力测试
  9. 泡沫股价、外卖小哥要失业了?测试员还要不要进美团?一文带你了解背后真相
  10. 这些面试用例设计,你肯定遇到过(朋友圈、电梯、发红包、支付)