有一段时间没写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项目总结的更多相关文章

  1. WebGIS项目中利用mysql控制点库进行千万条数据坐标转换时的分表分区优化方案

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 背景 项目中有1000万条历史案卷,为某地方坐标系数据,我们的真实 ...

  2. 简记某WebGIS项目的优化之路

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 背景 该项目为研究生时的老师牵头,个人已毕业数年,应老师要求协助其 ...

  3. 以项目谈WebGIS中Web制图的设计和实现

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景介绍 一般WebGIS项目中,前端展示数据的流程基本是先做数据入 ...

  4. Webgis中关于Openlayers入门使用(一)安装及生成基本地图

    一.WebGis项目中使用的版本2.12 下载地址:https://github.com/openlayers/ol2/releases https://github.com/openlayers/o ...

  5. WebGIS博客文本分析(词频分析)手动扒取 去除格式 词语分割 统计分析

    1.      [置顶](一)开篇—杂谈WebGIS 摘要: 文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.前言 ...

  6. 关于如何在你的Web项目中实现对空间数据访问权限的控制(一)

    Wednesday, 23 JUNE 近来一直在研究关于如何在我的WebGIS项目中实现对空间数据(已发布在GeoServer上)进行权限管理的问题.虽然到目前为止没能找到一个完美的解决方案,但通过这 ...

  7. 【总结整理】webGIS须知

    一般WebGIS项目中,前端展示数据的流程基本是先做数据入库.服务发布.然后前端调用展示 a.动态出图可以使用WMS中的GetMap请求. b.矢量查询可以使用WFS中的GetFeature请求. c ...

  8. WebGIS开发技术杂谈

    WebGIS项目的开发主要是B/S架构.最流行的是clientjavascript,server端java. 另外还有flexclient. client主要完毕用户交互.向server端发送请求并传 ...

  9. arcgis api for js共享干货系列之一自写算法实现地图量算工具

    众所周知,使用arcgis api for js实现地图的量算工具功能,无非是调用arcgisserver的Geometry服务(http://localhost:6080/arcgis/rest/s ...

随机推荐

  1. C# signtool error:no certificates were found that met all the given criteria 错误解决方案

    程序运行时报错:signtool error:no certificates were found that met all the given criteria (汉译:符号工具错误:没有找到符合所 ...

  2. python常用函数和方法 - 备忘

    语法语句篇 除法运算(精确运算和截断运算) 在python2中,除法运算通常是截断除法.什么是截断除法: >>> 3/4 0 # 自动忽略小数项 要是想 得到正确结果 怎么办呢? m ...

  3. Django--Auth 模块

    1 Auth模块是什么 Auth模块是Django自带的用户认证模块: 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码 ...

  4. jquery 回车键实现表单提交

    JQery http://jquery.cuishifeng.cn/keydown.html 键盘事件参考:1.keydown()keydown事件会在键盘按下时触发.2.keyup()keyup事件 ...

  5. SpringCloud断路器监控面板——Hystrix Dashboard

    一.简介 Hystrix Dashboard是Hystrix的一个组件,Hystrix Dashboard提供一个断路器的监控面板,可以使我们更好的监控服务和集群的状态,仅仅使用Hystrix Das ...

  6. C语言实现多态

    C语言实现多态 首先声明,大神就不要看了.小弟水平有限. C++多态是通过虚函数表实现的,类似于JAVA多态的实现方式.关于Java多态的实现方式可以看我之前写过的一篇不是很完善的文章.从JVM角度看 ...

  7. 开源网站流量统计系统Piwik源码分析——参数统计(一)

    Piwik现已改名为Matomo,这是一套国外著名的开源网站统计系统,类似于百度统计.Google Analytics等系统.最大的区别就是可以看到其中的源码,这正合我意.因为我一直对统计的系统很好奇 ...

  8. thinkphp通用控制器

    <?php namespace 目录\Controller; class TypeController extends Controller { public function add() { ...

  9. 完整的一次 HTTP 请求响应过程(一)

    因特网无疑是人类有史以来最伟大的设计,它互联了全球数亿台计算机.通讯设备,即便位于地球两端的用户也可在顷刻间完成通讯. 可以说『协议』是支撑这么一个庞大而复杂的系统有条不紊运作的核心,而所谓『协议』就 ...

  10. 在Android项目中使用AspectJ

    版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请表明出处:http://www.cnblogs.com/cavalier-/p/8888459.html 什么是AOP AOP是 Aspec ...