山西WebGIS项目总结
有一段时间没写blog了,说实话,最近的心态一直在变化,看了一部日剧,回想了这一年所学所见,感觉生活目标变了。
做国土项目这段时间不是很忙,由于数据一直给不到位,时间拖得很久,所以在这期间也在继续学习前端框架的内容,也接触一些node的知识,时间还是没有浪费。按照需求和功能慢慢说一下项目中用到了什么、做了些什么事吧。
一、ArcGIS Server 10.4
1.地图服务与图层分类
上了四年大学,还没用过arcgis server,很惭愧,也侧面反映了本科课程设置的不合理性...
Arcgis server 是一种地图服务管理的工具,类似功能的还有开源的Geo server,一般搭配Openlayer使用。说到地图服务,就不得不提到OGC组织(Open Geospatial Consortium),OGC制定了数据和服务的标准与规范,以便不同厂商开发的数据服务可以进行相互操作,包括WMS、WFS、WCS、WMTS等。B/S架构的GIS系统,一般包括底图和图层两部分,底图使用WebTileLayer,图层按照需求自行发布调用,在Arcgis server中常见的有FeatureLayer、ImageryLayer、MapImageLayer、CSVLayer等。
2. 发布和调用
矢量图层可以通过Arcgis直接发布,发布后的图层包含原图层属性表中的所有内容,可在前端展示。栅格影像需要在Arc catalog中发布,发布前最好先将影像压缩一下,因为发布时会把地图数据复制到服务器。发布前记得做分析操作,确保坐标系的关系是正确的。
在Arcgis api for js中通调用rest风格的url来加载地图服务,注意图层显示的顺序,如果不设置,则默认是先写的在底部。去年看过一段时间,要用好这个api,对dojo这个框架还是要有一定的了解,这次实战,感觉坑很多...
3. 超级坑的一点
一些图层,例如CSV图层是需要添加CSV文件的,可按照正常路径添加后一直显示加载指定的CSV文件,怎么调都不行。隔了1周后发现,该文件的位置需要相对于index.html文件设置,而不是js文件,心态崩了....
二、JQuery
上个月刚看了JQuery相关的内容,所以主界面菜单栏就尝试用JQuery做了,一是点击按钮显示 / 隐藏菜单,二是鼠标浮动到列表标签时更改样式颜色,确实比用原生Js实现方便的多。在统计表功能中,也是用了JQuery封装好的Ajax功能,来请求不同图层对应的统计表,做完发现Ajax还是要在web服务器环境(WebStorm下能跑是自带了)下才能运行,直接打开HTML文件并不能行。思考这个功能的时候看了Node相关内容,试用了express框架,通过express连接数据库,用ejs模板引擎动态的展示数据,这和Jsp其实是一个道理。但是最后考虑到表格数量和内容太多了,就把数据写死了。里面一些函数不经常使用忘得很快,所以要记得灵活运用api手册...
三、MySQL
之前写过有关MySQL安装的文章,不过安装后也没咋用过,现在安装都直接用安装包了,这回又安了两次,也算是摸着一点门道了,安装时自定义安装就好,没必要所有组件都添加上,麻烦之处在于自定义的每个组件都要选一次安装路径,到最后一步一直启动不了服务,刚开始以为是端口问题,但是换了端口还是不行,最后发现需要在服务中选择登录身份,算是一个小坑...
然后补了一些SQL基本知识,就说一句吧,MySQL不能创建空表...
四、Jsp
详情表这块内容是小涵再做,做好之后集成到系统的,每个图层对应一个Jsp文件,本来也想用Ajax,但是发现请求到的内容不对头,所以就想到用<a>标签,有时候真挺佩服自己的智慧... 因为她是用eclipse做的,所以又要用IDEA重新部署一遍,顺便回顾了一下IDEA添加Tomcat服务器,添加Jar包什么的。狗哥说他不准备搞AI了,水太深,专心看C++,把基础打好,我也觉得有必要把扔了半年的Java捡回来了。
五、其他
Echart,一款非常优秀的数据可视化工具,效果超级炫,但是地图库和系统的有点冲突,所以最后没用上,有点可惜。狗哥个人主页里展示足迹的就是用这个做的。
刚开始做的时候感觉很累,因为什么事都在自己做,后来逐渐开始给分配任务了,不能把什么都压在自己身上,技术好的人很多,团队需要的是有人站出来指挥,就像code blue里蓝泽对白石说的那样。
在慢慢地看数据结构,发现算法还是挺有意思的,希望能早点想清楚自己想做什么吧 ~
想起来了,补充一点,就是和合作方讨论的时候要有己方的态度,这点孙老师批评的很关键,要牢牢记住了
山西WebGIS项目总结的更多相关文章
- WebGIS项目中利用mysql控制点库进行千万条数据坐标转换时的分表分区优化方案
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 背景 项目中有1000万条历史案卷,为某地方坐标系数据,我们的真实 ...
- 简记某WebGIS项目的优化之路
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 背景 该项目为研究生时的老师牵头,个人已毕业数年,应老师要求协助其 ...
- 以项目谈WebGIS中Web制图的设计和实现
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景介绍 一般WebGIS项目中,前端展示数据的流程基本是先做数据入 ...
- Webgis中关于Openlayers入门使用(一)安装及生成基本地图
一.WebGis项目中使用的版本2.12 下载地址:https://github.com/openlayers/ol2/releases https://github.com/openlayers/o ...
- WebGIS博客文本分析(词频分析)手动扒取 去除格式 词语分割 统计分析
1. [置顶](一)开篇—杂谈WebGIS 摘要: 文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.前言 ...
- 关于如何在你的Web项目中实现对空间数据访问权限的控制(一)
Wednesday, 23 JUNE 近来一直在研究关于如何在我的WebGIS项目中实现对空间数据(已发布在GeoServer上)进行权限管理的问题.虽然到目前为止没能找到一个完美的解决方案,但通过这 ...
- 【总结整理】webGIS须知
一般WebGIS项目中,前端展示数据的流程基本是先做数据入库.服务发布.然后前端调用展示 a.动态出图可以使用WMS中的GetMap请求. b.矢量查询可以使用WFS中的GetFeature请求. c ...
- WebGIS开发技术杂谈
WebGIS项目的开发主要是B/S架构.最流行的是clientjavascript,server端java. 另外还有flexclient. client主要完毕用户交互.向server端发送请求并传 ...
- arcgis api for js共享干货系列之一自写算法实现地图量算工具
众所周知,使用arcgis api for js实现地图的量算工具功能,无非是调用arcgisserver的Geometry服务(http://localhost:6080/arcgis/rest/s ...
随机推荐
- iOSAPP开发项目搭建
架构图: 架构原则:易读性.易维护性.易扩展性. 一.思考 做好一件事,花在思考上的时间应该多于执行. 首先根据产品需求和设计图,脑中先建立一个产品架构: 1. 产品的定位是什么. 社交?媒体?游戏? ...
- Servlet-获取页面的元素的值的方式以及区别
request.getParameter() 返回客户端的请求参数的值:request.getParameterNames() 返回所有可用属性名的枚举: request.getParameterVa ...
- [源码]K8 Cscan模块 C#获取内网主机IP/机器名/Banner/网页标题源码
[原创]K8 Cscan 大型内网渗透自定义扫描器 https://www.cnblogs.com/k8gege/p/10519321.html Cscan简介:何为自定义扫描器?其实也是插件化,但C ...
- odoo开发笔记 -- 传递上下文实现列表视图按照指定条件过滤显示
按钮传递上下文: <xpath expr="//div[@name='dec_work_sheet_id']" position="after"> ...
- salesforce lightning零基础学习(六)Lightning Data Service(LDS)
本篇可参看:https://trailhead.salesforce.com/modules/lightning_data_service Lightning中针对object的detail页面,一个 ...
- Mysql 用户权限管理
1. MySQL 权限介绍 mysql中存在4个控制权限的表,分别为user表,db表,tables_priv表,columns_priv表,我当前的版本mysql 5.7.22 . mysql权限表 ...
- Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十二):链路追踪(Sleuth、Zipkin)
在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 技术背景 在微服务架构中,随着业务发展,系统拆分导致系统调用链路愈发复杂,一个 ...
- android开发(2):多页面的实现 | Fragment的创建与使用
APP中出现多个页面再常见不过了.使用activity与fragment都能实现多页面,这里使用fragment来实现.延续“知音”这个APP的开发,之前已经创建了底部导航条与mainactivity ...
- 经典面试题SALES TAXES思路分析和源码分享
题目: SALES TAXES Basic sales tax is applicable at a rate of 10% on all goods, except books, food, and ...
- svgalib_1.4.3 移植
运行环境 RedHat 6.3 Linux localhost 2.6.32-279.el6.i686 需准备好的文件: libx86_1.1+ds1.orig.tar.gz libx86_1.1+d ...