Web GIS 概述_webgis-程序员宅基地

技术标签: Web GIS  WebGIS  

什么是 Web GIS?

顾名思义,Web GIS 就是基于 Web 技术的 GIS,是我们 GISer 利用那群学计算机的人鼓捣出来的技术搞出来的东西,比如百度/谷歌/高德地图。

Web GIS 有两种开发模式,一是既开发服务器端又开发前端,二是利用现有的 GIS 服务器应用与 API,只开发前端的部分,我们可以根据实际需要进行选择。

为什么要学 Web GIS?

传统 GIS 的特点:体量大、功能结构复杂,具有强大的空间分析等能力,但需要经过专门的学习才能使用,开发者社区规模较小(哈哈)

Web 技术的优点:规模小、轻量级,便于开发,用户门槛低(只需要浏览器),开发者社区规模大,创新速度快

作为 GISer, 在互联网时代,我们要以更加开放的思维去促进 GIS 的发展,让它为更多的人服务,创造更大的价值。在这种理念下,基于互联网技术的 Web GIS 越来越受到行业重视。而且 Web 技术的研究者群体更为庞大,借助他们的力量, Web GIS 能够实现的功能必然会越来越强大,在交互性等方面甚至可能远超传统 GIS。

人嘛,有时候要懂得顺势而为,我过去也学过桌面 GIS 的开发,但经过思考,还是打算把主要精力放在 Web GIS 上。未来像自动驾驶之类的技术肯定离不开 Web GIS,这可能也是我们 GISer 反超 IT 的一个机会,毕竟一直以来我们学的东西又多又复杂,拿的钱还少。。。

都要学什么?

按照我的习惯,先画一张导图出来:
在这里插入图片描述
可以看出 Web GIS 的基础主要是 Web 的基础和 GIS 的基础(好像是废话)。

GIS 基础相信大家已经有了,给 Web 基础有欠缺的同学推荐一个网站:How2J 的前端教程,可以跟着走一遍,一两天时间应该就差不多了,然后在实践中不断学习就好。

后端和数据库的部分稍微复杂一点,但我们一开始是用不上的,所以暂时不用担心,我会慢慢穿插一部分知识进来。

OGC,即 Open Geospatial Consortium,中文叫做开放地理空间协会,是为 Web GIS 制订标准的机构,也可以说是标准本身的代名词。我们知道有这么回事就 OK 了。

至于 Web GIS 的结构,主要分为表现层(浏览器)、逻辑层(Web 服务器和 GIS 服务器)与数据层(数据库服务器和地理信息数据库服务器)三层,也就是在一般的 Web 开发中融入了 GIS 的东西。

学习路径

Web 基础(HTML/CSS/JS)->Web GIS 基本概念 ->GIS Server ->(开源 API)OpenLayers-> (商业 API)ArcGIS API for JS -> 自己设计小项目 -> 拿到 offer -> 成为大牛 -> 当上 CEO -> 走向人生巅峰

P.S. 相信大家都有 GIS 和编程的基础,那么一开始应该先把 Web 的东西搞明白,不然贸然上手会很迷茫。不要怕,我们要用到的东西很简单,对于有时间学习的人来说真的是一两天就能搞定的。

再P.S. 毕竟是开发的工作,动手实践是最重要的环节。在实践的过程中,推荐大家先运行一下别人写好的代码,看到效果,然后再自己动手写。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Neuf_Soleil/article/details/83041610

智能推荐

GD32 flash写保护解除_gd32程序写保护-程序员宅基地

文章浏览阅读2.4k次,点赞6次,收藏15次。gd32 内部flash 锁死_gd32程序写保护

数据库中字段类型对应JAVA中属性的类型_binary 对应java-程序员宅基地

文章浏览阅读1.9k次,点赞3次,收藏2次。数据库字段类型于JAVA属性类型对应表 MySQL TypeJava TypeCHARStringVARCHARStringLONGVARCHARStringNUMERICjava.math.BigDecimal_binary 对应java

自定义TextView跑马灯效果可控制启动/停止/速度_android text marquee重置-程序员宅基地

文章浏览阅读8.1k次,点赞3次,收藏8次。Android自带的跑马灯效果不太好控制,还必须要满足条件才能有效果,而且速度不受控制。前面我的博客中有一篇就是用Android自带的跑马灯效果的,但是基于不同的使用效果,这里在网上找到了一个更好的方法。沿用了作者的一些方法,但是添加了更好的扩展功能,和大家一起分享。这里面有控制往左往右两个方向的实现。1、首先是简单的布局main.xml

unity打包ios过大,ios压缩技巧_unityframework.framwork 压缩 ios-程序员宅基地

文章浏览阅读2.2k次。转载地址:http://blog.csdn.net/AntsBin/article/details/52523985之前每个版本的ipa包打出来都才20M出头,后来不知道从哪个版本起打的包每次都将近40M,但是工程中也没有明显的增加很大第三方类或者图片、静态文件。于是就开始了各种瘦身计划:压缩图片,删除不必要静态库。做了一番改动后发现包只比原来小了1M多,收效甚微。后来听同事说了a_unityframework.framwork 压缩 ios

FastReport4.6程序员手册_翻译-程序员宅基地

文章浏览阅读53次。FastReport4.6程序员手册_翻译一、使用TfrxReport 组件工作1、加载并存储报表默认情况下,报表窗体同项目窗体构存储在同一个DFM文件中。多数情况下,无须再操作,因而你就不必采用特殊方法加载报表。如果你决定在文件中存储报表窗体或者是数据库的Blob字段(他提供了非常大的弹性,你能够在非编译程序中修改),你必须使用“TfrxReport”提供的加载和存储方法。function ..._fastreport中手册(翻译整理).

用UpdateResource修改EXE文件图标的多源码(已修正) 注:转帖请包函作者信息.(作者:菜新)_delphi修改exe图标-程序员宅基地

文章浏览阅读1.1k次。鄙视下百度空间,他姥姥...竟然限量字符40000字节!靠....一年前初学VB时我对这个API就特感兴趣,听说这个API可以更改图标资源,就更感兴趣了,后来试了试,发现修改其它资源貌似没多大问题,唯独修改图标时无果,我发现所修改的图虽说已经写入到资源文件中了,但是就是无法显示。后来到网上查了下,发现用UpdateResource修改EXE图标的没一个成功的,大致都是发生成功写入,_delphi修改exe图标

随便推点

Scala天天酷跑小游戏_虚拟机中的idea中scala写一款小游戏-程序员宅基地

文章浏览阅读2k次。需求分析:实现《天天酷跑》的核心逻辑,该游戏具有登录、注册、玩家操作、结束等功能。注册模块:需要玩家身份信息为:用户名 密码 昵称 邮箱登录模块:需要玩家信息为:用户名 和 密码玩家(Person)功能:跳跃up(y坐标的改变),右移功能(right),左移功能left(修 改x的坐 标),判断玩家是否越界的功能。玩家具有得分、跑酷距离、生命值属性。初始位置坐标为(x,y),补充自由下落功能(注意y坐标的临界点),login方法,注册方法,(建议可以通过在控制台内输入w a d._虚拟机中的idea中scala写一款小游戏

Spring Boot / Spring Cloud_springboot 绿色箭头执行相当于-程序员宅基地

文章浏览阅读137次。1、什么是springboot?在Spring框架这个大家族中,产生了很多衍生框架,比如 Spring、SpringMvc框架等,Spring的核心内容在于控制反转(IOC)和依赖注入(DI),所谓控制反转并非是一种技术,而是一种思想,在操作方面是指在spring配置文件中创建,依赖注入即为由spring容器为应用程序的某个对象提供资源,比如 引用对象、常量数据等。SpringBoot是一个框..._springboot 绿色箭头执行相当于

多核环境下的内存屏障指令-程序员宅基地

文章浏览阅读117次。文件:内存屏障机制及内核相关源代码分析.pdf大小:70KB下载:下载本来不打算立刻写关于这次 软件开发大会 的事情。太多可以写的东西,反而不知道怎么写起。今天才有机会上网到处转转,转到 周伟民老师 的 blog 上,看到这么一篇 。里面既然提到我,就想在上面回上两句。可惜 csdn 的 blog 系统实在是太烂了(这个话题我们在周六的沙龙上集..._memory disable/map-out for frb

原创-infopath表单不能删除吗?_怎样去掉infopath模板id-程序员宅基地

文章浏览阅读1.2k次。最近和Infopath打了不少交道,Infopath真的不需要吗?呵呵,至少我需要,而且遇到了问题,遇到问题我们就要耐心的去解决问题,Isnt It? 呵呵。当在infopath表单模板库中出现不想要的表单模板后,我们需要将他删除,我是这样子做的,开始直接删除,此后表单一直处于正在删除状态,然后我又反复做了表单静止和表单删除操作,但是仍然无法删除。经过一翻努力我_怎样去掉infopath模板id

yolov5代码详解-build_targets(p, targets, model)_yolov5 build_targets-程序员宅基地

文章浏览阅读7.3k次,点赞16次,收藏53次。build_target函数是将box标签和anchor进行匹配,其中FPN特征图为三层,分别为降采样8,16,32,代码展示与解释如下:def build_targets(p, targets, model): # Build targets for compute_loss(), input targets(image,class,x,y,w,h) 获取yolov5网络输出 det = model.module.model[-1] if is_parallel(model)_yolov5 build_targets

flutter dio 和springboot2 controller在post上的对应关系,Restful URL_flutter用dio如何与后端springboot交互-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏2次。一、springboot2代码:@PostMappingpublic ResponseEntity<MetaInfo> post(@RequestBody MetaInfo m) {...}flutter 代码:var response = await dio.post("http://localhost:1112/metaInfo", data: body);//或u..._flutter用dio如何与后端springboot交互

推荐文章

热门文章

相关标签