声明:本文不是原创,是转载或摘录,因涉及文章有多个出处,选择转载时地址无法填写多个,所以才选择为原创。
最近有打算想GIS开发方向转,但自己只是在平时的开发工作接触过,所以怎么样系统性的学习,或者如何入门就无从而知了,所以一直在门口徘徊,迟迟迈不开腿。还是上网找些资料吧。
参考资料:
1、https://blog.csdn.net/GISuuser/article/details/81938628
2、https://blog.csdn.net/geospa888/article/details/80995834
3、https://blog.csdn.net/LittleAnt777/article/details/52522869
4、https://blog.csdn.net/allgis/article/details/87901866
5、https://blog.csdn.net/meTalent2011/article/details/7460289
6、https://www.cnblogs.com/tuboshu/p/10752366.html
7、https://www.jianshu.com/p/77989c32bff7
9、https://developers.arcgis.com/javascript/3/jsapi/map-amd.html
10、https://openlayers.org/en/latest/examples/
11、https://blog.csdn.net/qq_37796475/article/details/79339688
=================================================================
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/GISuuser/article/details/81938628
开发方向
最近,地理信息系统(GIS)的开发与应用越来越多的倾向于Web端,Web端开发确实比以C# ArcGIS Engine为代表的C/S开发更具优势,而且可以通过H5轻松实现跨平台。做过进入这个行业有一段时间的人,想起自己在学校时,没有人指导开发,自己苦苦摸索,却事倍功半。写下这篇博文给那些在校的GIS学生介绍一下WebGIS开发的大致路线和入门知识吧。
首先,WebGIS的开发平台主要有以下四类
商业平台
ArcGIS、超图、MapGIS等商业平台,其中以ArcGIS JS开发应用最广,性能也稳定,学习资料和代码也比较多。
开源平台
开源WebGIS平台很多,如OpenLayers、Leaflet等,其中OpenLayers的应用最为广泛,功能也最强大,而且一直在更新,使用者众多。比较有意思的是,在之前打开MapGIS的Web开发代码,居然发现了OpenLayers的JS文件。
百度、高德等地图平台
这些平台虽然不是为GIS而生,但是其定期更新的地图,省去了开发时搭建地图服务器的麻烦。很多非GIS开发人员也能轻易开发。对于个人或者非商业的应用是免费的,实际开发过程中,也有很多不侧重与GIS开发的公司在进行百度等地图平台的开发。
基于WebGL或其他图形语言的底层开发
前面三个说的都是二次开发,有一次强调自己品牌和地位的公司会基于WebGL或其他技术进行更底层的图形发开,对开发人员的GIS知识和算法准备有很高要求。开发周期长,前期投入较多,进行此类开发的人员较少。
开发技能掌握
如果你是一个想进入WebGIS开发的人员,或者在书本前徘徊迷茫的GIS学生,下面就是你做WebGIS开发需要准备的技能
知识结构
进行WebGIS开发之前,你一定要有这样的清晰的模型,WebGIS是如何工作的,地图是如何展示出来的。你需要了解以下名词和它们之间的关系:
地图服务器
地图服务(OGC、WMS、WFS、TMS、WMTS)
GeoJson
地图切片
后台
开发基础
Html5、CSS、JavaScript——Web开发共同基础
ES6——JavaScript的新一代标准,新版本的WebGIS平台多依赖于ES6
基于一定的后台开发的经验或知识,毕竟要从html页面去后台查询空间数据信息
ArcGIS等商业平台开发入门
虽然商业平台比较多,这里就说应用最广的ArcGIS JS开发,写文章时,最新版本是ArcGIS API for JavaScript4.8。
ArcGIS Desktop基础操作——会数据简单处理,坐标系转换
ArcGIS Server——可以发布各类地图服务
ArcGIS API for JavaScript可以调用各类地图服务
可以使用ArcGIS Server发布空间处理服务(更高级要求)
OpenLayers等开源平台开发
GeoServer——类似于ArcGIS Server,开源地图服务器,一般与开源地图平台搭配
Udig——用来配置GeoServer中地图样式
PostgreSQL与PostGIS——开源空间数据库,存储数据,简单分析
高德等地图平台
如果你会了前面两类开发,百度、高德、腾讯地图等也不觉得有什么难度了。会JavaScript语言,对照着官方的开发文档和教程,很容易就写出来了。
总结
基于WebGL或其他图形语言的底层开发不适合GIS新人去做,需要你工作几年,自己总结出一些东西,再做的话,做出来的更实用,开发的过程中也就知道哪里应该优化。
GIS开发人员,不明白时,开发文档和官方Demo是最好的老师。经常遇到很多人,官方开发文档和Demo有的东西,还去问别人,这样做,没有人愿意给你讲太多的。
---------------------
版权声明:本文为CSDN博主「gisuuser」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/GISuuser/article/details/81938628
===========================================================
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/LittleAnt777/article/details/52522869
书名
作者
出版社
版次
GIS
基础
地理信息系统导论
[US] Kang-tsung Chang;
陈健飞 译
电子工业出版社
第七版
ArcGIS地理信息系统空间分析实验教程
汤国安 杨昕
科学出版社
第二版
编程
基础
C语言程序设计+学习辅导
谭浩强
清华大学出版社
第四版
数据结构(C语言版)
严蔚敏 吴伟民
清华大学出版社
第一版
C++面向对象程序设计
谭浩强
清华大学出版社
第二版
Java语言与面向对象程序设计
张利锋 孙丽 杨晓玲等
清华大学出版社
第一版
数据库开发
ModernDatabaseManagement
现代数据库管理
[US] Jeffrey A.Hoffer Mary B.Prescott Fred R.McFadden
施伯乐 杨卫东 孙未未等译
机械工业出版社
原书第六版
ArcGIS二次开发
GIS设计与实现
李满春 陈刚等
科学出版社
第二版
ArcGIS Engine地理信息系统开发教程
牟乃夏 等
测绘出版社
第一版
网络开发基础
计算机网络基础
略
略
略
HTML+CSS网页设计与布局从入门到精通
温谦
人民邮电出版社
第一版
Java Web程序开发入门
传智播客高教产品研发部
清华大学出版社
第一版
Spring MVC学习指南
[US]Paul Deck;
林仪明 崔毅 译
人民邮电出版社
第一版
ASP.NET Web程序设计与应用
汪维清 汪维华
清华大学出版社
第一版
WebGIS开发
WebGIS工程项目开发实践
张贵军 陈铭
清华大学出版社
第一版
GIS基础
《地理信息系统导论》
[US] Kang-tsungChang(张康聪);陈健飞 译;电子工业出版社;第七版
这本书内容丰富,尤其是操作实例很多,概念也讲的很详实。最新的第七版是针对ArcGIS10.0的,参考价值比较高。
《ArcGIS地理信息系统空间分析实验教程》
汤国安杨昕;科学出版社;第二版
这本书是比较经典的ArcGIS操作指南对一些分析方法也有介绍,跟上一本有些重复的内容,这一系列的书有很多,但是不需要怎么看书,多动手,多做实验。
GIS基本概念和ArcGIS操作不需要很多书,很多书上的名词解释可能会略有不同,但是万变不离其宗,要深入理解,同时要多关注学科前沿问题;ArcGIS软件操作就是前文说到的一定要多动手,可以学习看软件的帮助文档,书只是作为参考。同时现在超图公司的软件也做得不错,学完ArcGIS操作之后要对SuperMap软件了解一下。
编程基础
编程方面的书就比较多了,质量参差不齐,个人觉得清华大学出版社和机械工业出版社的系列丛书编写得比较走心。
《C语言程序设计》+学习辅导
谭浩强;清华大学出版社;第四版;
这是C语言入门最经典得教材几乎大部分高校计算机学院第一本编程书都是这个。C语言学习一定要耐得住寂寞,因为学完这一本书,把书上得内容都弄懂了,依然几乎不能做出什么东西,但是程序语言的语法、编程思想是相同的。
《数据结构(C语言版)》
严蔚敏,吴伟民;清华大学出版社;
跟上面那本一样,也是编程的经典教材,数据结构是编程中很核心很重要的内容,基础一定要打好,勿在浮沙筑高台!
《C++面向对象程序设计》
谭浩强;清华大学出版社;第二版
面向对象是编程中非常重要的方法,使用面向对象方法能够提高开发效率,使开发更加清晰。这本书讲得理论较多,但是学习过程中一定要多动手。
《Java语言与面向对象程序设计》
张利锋孙丽 杨晓玲等著;清华大学出版社
Java语言使当前使用最广范的编程语言,阿里巴巴公司的整个平台以及各种软件系统全部是由Java语言编写。因为Java语言是纯面向对象的语言,因此在有了一定面向对象基础之后再学Java会更容易上手。
数据库开发
很多人一开始学编程都会忽略数据库。数据是程序的血液,数据库就是供血液奔腾不息的血管。
《Modern Database Management》 [US] Jeffrey A.Hoffer MaryB.Prescott Fred R.McFadden
《现代数据库管理》施伯乐杨卫东 孙未未 等译
机械工业出版社;原书第六版
跟上面的两方面内容不同,会用数据库管理系统软件不等于学会了数据库,数据库的关键内容在于对数据库概念的深入理解,已经各种数据库设计与开发方法的掌握。这本书比较厚,但是内容并不枯燥,耐心学好是很有必要的。学完这本书再去学我们的地理空间数据库就会更有心得。由于数据库通用的SQL语言相对简答,并且这本书中也有介绍,就不再单独推荐SQL相关书籍。
ArcGIS二次开发
ArcGIS桌面程序开发主要是使用AE,Esri公司提供了大量的帮助文档供开发者参考。
《GIS设计与实现》
李满春陈刚等编著;科学出版社;第二版
这本书其实是依据软件设计方法原理并结合了GIS开发的特点编写的,在实际进行项目开发之前,一定要理清思路,分清每一步要做什么。这本书就以开发的先后顺序为次详细讲解了每部分需要进行的任务,没有太多实际的操作,关键在于要明白开发的方式和顺序,以免在开发过程中遇到问题乱了全局。有了全局的把握再去做下面的事,会事半功倍。
《ArcGIS Engine地理信息系统开发教程》
牟乃夏等著;测绘出版社;
这本书是基于C#.NET的,前面并没有列出C#语言基础的书,那是因为有了C语言和C++基础就不需要再花时间专门学习C#语言了,二者语法基本一致,部分不同的地方可以在进行AE开发时随用随查。对于AE,一定要了解AE的控件结构,结合书中的例子,多看Esri的帮助文档。
学完这本书之后还可以去网上找一找SuperMap的开发文档,作为了解。
网络开发基础
网络开发主要有两个方向,一是JavaWeb,一是ASP.Net。前者当下的主流框架有SpringMVC,后者就是ASP.NET MVC了。
《计算机网络基础》
这本书我们有教材,而且我们现在做的大都是二次开发,计算机网络的内容了解学习即可,不需要自行编程实现。但是并不是说这门课不重要,如果不了解计算机网络的工作原理,网络项目开发起来是会事倍功半的。有兴趣的可以深入学习,这方面的书籍很多,清华大学出版社的精炼易懂,机械工业出版社的更为深入剖析得更为透彻。
《HTML+CSS网页设计与布局从入门到精通》
温谦著;人民邮电出版社
这是详解网页设计的,传统的网络开发尝尝从界面开始,写好界面再做功能。很多WebGIS书也会有一些这方面的介绍,但是往往时凑字数的写法,网页作为重要的一项内容,也应该打好基础。
《Java Web程序开发入门》
传智播客高教产品研发部;清华大学出版社
这是做Java网络应用的基础教程,前面说到过,勿在浮沙筑高台,打好基础,才能进行后面的开发学习。
《Spring MVC学习指南》
[US]Paul Deck; 林仪明 崔毅 译;人民邮电出版社
SpringMVC是JavaWeb开发框架中当前用得最多的一种,如果只做WebGIS开发的话看这本书了解就够了。如果想深入学习可以自己到网上找一些资料。博客园、CSDN等论坛都是学习开发的好去处。
前面两本都是JavaWeb开发方向的,这方面目前应用得也比较多。另外,Microsoft的ASP.NET框架也是很重要的一个方向的框架,而且编程使用C#语言,对于使用AE的来说,C#应该比Java更亲切一些。
《ASP.NET Web程序设计与应用》
汪维清汪维华 主编;清华大学出版社
与上一本书一样,可以作为了解。若想深入学习网络开发,而不是只做WebGIS的话可以深入学习一下,还有ASP.NETMVC框架,网上同样有许多资料。
WebGIS开发
《WebGIS工程项目开发实践》
张贵军陈铭 著;清华大学出版社
这本书是基于JavaWeb的,有理有例,还有实际项目案例,跟着做一遍就基本能够将前面所学内容融会贯通。基于ASP.NET的WebGIS书籍比较少,但是网上有不少资料,而且学了JavaWeb的网络GIS开发相信对.NET平台也是能够触类旁通的。
最后我还是想再说一下,学习开发一定要循序渐进,打好基础才能更好地解决开发系统中遇到的各种综合性问题。编程是不断发展的科学,也要不断学习才可以不断适应新的需求。还有就是,书上能参考到的内容,其实在网上都有资源,甚至更好,只是需要自己去寻找,去总结。
---------------------
版权声明:本文为CSDN博主「LittleAnt777」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/LittleAnt777/article/details/52522869
==========================================================
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/laohoubin/article/details/87901866
经常有人问我 如何学习WebGIS 开发,所以在业余时间写了《WebGIS入门实战》专栏,给需要的人
专栏适合人群
WebGIS 初学者
希望快速入门 WebGIS 的小白
希望能够边学边实战的开发者
相关方向学生&老师
专栏所需技术储备
必备知识:JavaScript、HTML/CSS
专栏能学到什么?
WebGIS开发、leaflet、openlayers、node.js\npm\webpack
专栏介绍
在本专栏中,除了介绍 WebGIS 开发,还会分享一些个人经验,介绍nodejs、webpack工具来搭建开发环境以及一些提高开发效率的工具介绍。
本课程共包含三大部分。第一部分(第1~3篇)带你初步认识 WebGIS开发是什么,开发环境介绍、第三章介绍ArcGIS、OpenLayers、Leftlet、Mapbox等地图库的特点等。
第二部分(第4~7篇)简单了解前端工程化的知识,介绍node.js搭建开发环境和效率工具的使用,然后实战开发演示不同地图JS库加载地图服务的基本demo,和台风实时路径、地图相册demo实战开发。
第三部分(第8~9篇)这部分将会介绍如何使用 webpack 搭建开发环境,改善传统的 WebGIS 行业的开发方式。以及介绍如何将静态demo部署到github演示。
第四部分(第10-12篇)除了介绍前端流行的三大框架/库开发webgis外,还会介绍前后端完整的WebGIS系统开发流程,让读者清晰清楚如何准备开发一个完整WebGIS系统。最后一章将介绍个人在技术学习成长上应该如何准备,如何才能做到在技术上持续快速成长。
目录
01:概述WebGIS是什么
02:前期准备:开发环境的准备
03:WebGIS开发常用的地图JS库
04:了解前端工程化和利用Node.js作为工具使得开发变得高效
05:实战:基于不同地图库的地图服务加载展示Demo
06:实战:基于Leaflet 台风实时路径实现
07:实战:基于Leaflet 旅游地图相册实现
08:如何使用 ES6 + webpack 开发 WebGIS
09:部署篇:介绍如何将Demo部署到Github以及绑定域名等
10:前沿篇:React、Angular、Vuejs等开发WebGIS系统介绍
11:全栈篇:如何进行完整的WebGIS系统开发
12:发展篇:如何在技术上持续快速成长
专栏地址:https://xiaozhuanlan.com/webgis
---------------------
版权声明:本文为CSDN博主「webgis开发」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/allgis/article/details/87901866