WEB GIS 开发基础概念汇总

文章目录

  • WEB GIS 开发基础概念汇总
    • 1.基础概念
    • 2.技术框架
      • 2.1 常见技术概念汇总
      • 2.2 思维导图(借用,感觉比较到位)
    • 3.内网离线WEB GIS搭建思路
    • 4.感谢

1.基础概念

WEB GIS是指依托互联网建立的地理信息服务系统,与传统的地理信息科学一脉相承,是实物地图制图技术与计算机技术、网络技术、软件开发等技术结合后的的产物,其相关的各个领域常称为地理信息科学。

地理信息科学通过研究地理空间发生直接或间接关系的数据的采集、存储、处理、分析、表达和服务方法,使得数据从原始的二维字符状态转变为我们容易理解的空间可视化语言或知识,从而服务于环境、国土、规划、水利、能源、交通、居民生活等各个方面。

WEB GIS中的GIS其英文为Geographic Information System,即地理信息系统,WEB GIS通常意义上的理解是依托于网络建立的地理信息系统,按照现有软件开发技术,其一般为B/S架构。

2.技术框架

2.1 常见技术概念汇总

当前存在许多包含了各种层次的自由及开源的GIS软件,例如大型的桌面GIS有QGIS和GRASS GIS等,目前比较流行的服务器端软件有Geoserver、MapServer和QGIS Server等,还有开源的GIS数据库项目如PostGIS/PostgreSQL Spatial Database,另外还有一些数据转换工具(如GDAL/OGR)以及地图投影算法库(如 PROJ 和 GeoTrans )等开源项目。这些软件大多都得到OSGeo的支持。

开放数据是一类可以被任何人免费使用、再利用、再分发的数据。在其限制上,最多是要求署名和使用类似的协议再分发。Data.gov中包含了许多由美国政府收集的开放数据。此外,开放街道地图(OpenStreetMap,缩写OSM ) 也是一个广泛使用的开放数据源示。OSM项目由英国人Steve Coast创立,概念启发自维基百科网站,是一个构建自由内容之网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图,并且让廉价的移动设备有方便的导航方案。

2.2 思维导图(借用,感觉比较到位)

学习路线可参照下图,现阶段WEB GIS开发主要基于B/S架构,分为前端和后端,后端另有单独架构。(后附上表格介绍简单介绍各个组件)

技术类别 产品名称 简介
前端(客户端) OpenLayers OpenLayers是一个前端UI库,用于使用javascript创建基于Web的空间应用程序。 它支持各种图层源和后端。 例如,可以从GoogleMaps或自定义磁贴源中提取地图图块。这带来的优势在于它使开发人员能够重用诸如tile源之类的元素,而是将注意力集中在其应用程序的更独特方面,例如“业务逻辑”。平铺源等默认组件可以在以后轻松换出。 它支持位图和矢量图层,包括点,线和多边形。 其最广泛使用的功能之一是能够在基本地图上叠加数据层。
Leaflet Leaflet是一个Javascript库,强调前端UI。 它支持多种基础层和几何类型的组合。 它覆盖了与OpenLayers有些相似的领域,但功能略有减少。 相对于OpenLayers而言,它的优势在于其对移动设备的出色支持,卓越的产品价值,简洁的简约设计以及对性能的强烈关注。
GeoMoose GeoMoose结合了几个流行的开源库,创建了一个强大而灵活的映射平台,重点放在前端的Javascript / AJAX上。 它使用MapServer作为后端,OpenLayers和Dojo(都是基于Javascript的)用于其用户界面。 它提供了一组强大的工具,用于查看,编辑和查询浏览器中的数据。 它的发展社区似乎非常活跃,并且具有良好的前进轨迹。 它的吸引力来自其功能集和现代,平易近人的用户界面。 其记录良好的Javascript API将使Javascript开发人员和其他Web构建者都能接近,因为大多数Web开发人员至少都接触过Javascript。
WEB服务与应用服务 MapServer MapServer是一个开源平台,用于发布空间数据和创建交互式地图应用程序到Web。 它自20世界90年代中期以来一直存在,并被认为是成熟和稳定的,并且持续积极发展。其主要重点是从多个层生成地图,包括基础图像和空间数据集。 它还提供智能标签,包括高级排版和布局,包括碰撞检测。 它可以读取和提供各种格式的空间数据,包括Shapefiles,WMS,GDAL,PostGIS和GeoTIFF。它通常用于生成地图图块及其MapCache扩展。它有一些库,支持各种语言的应用程序开发,包括Python,Perl,Ruby,Java和PHP。
GeoServer GeoServer主要基于Java语言。它提供了创建和编辑地理空间数据以及在面向服务的体系结构中提供地图的基本功能。它使用OpenLayers模块并提供和实现Web地图服务(WMS)标准。 它还使用了GeoTools框架,该框架涵盖了MapServer功能的一小部分。 像GeoServer本身一样,是用Java编写的。 它将主要吸引已经使用基于Java的工具和平台的开发人员。
数据库(数据服务) PostGIS PostGIS是PostgreSQL数据库的扩展,它支持空间查询。PostgreSQL既是关系数据库又是对象数据库,被广泛认为是最先进的开源数据库,与Oracle和MS-SQL 类似。 PostGIS支持各种空间查询,包括邻近度,半径,边界框,碰撞/重叠检测等。 它是Web GIS项目中经常使用的非常有用的工具。
GDAL (Geospatial Data Abstraction Library) GDAL是地理空间数据格式的翻译库。 它可以导入和导出各种各样的文件和编码类型。 它可用于在不同投影系统之间转换空间数据。栅格数据格式由GDAL处理,矢量数据格式由OGR处理,现在包含在GDAL中。 它还可用于从多个图像文件源创建马赛克。 GDAL是一种有价值的工具,用于从不同来源获取数据并将其转换为协同工作。
工具 TileMill TileMill是一个桌面应用程序,用于生成地图图块图像,然后将其作为静态文件托管以用作基础图层。 TileMill可用于创建视觉上令人惊叹的基础层。 它非常注重美学,包括许多经过深思熟虑的预设,使没有设计背景的人能够制作非常有吸引力和专业的地图图层。 TileMill的开发由一家名为MapBox的公司领导。 他们提供几种有吸引力的付费服务,包括瓷砖托管和精选和精心调整的基础层。

3.内网离线WEB GIS搭建思路

需求简析,公司内网需要搭建离线地图服务,主要功能有:

1.高分辨地图显示

2.制图,用于表示行动路径等

3.规划(类似于导航,不过只需要标示出从A到B的可行路径就好,额外功能是计算总时间)

4.文本规划,要能生成规定的文本格式用于呈送领导审阅

针对以上需求(因为从头到尾就我一个人搞,所以就简单的统计了一下需求),我决定使用PostgreSQL搭建数据服务,GeoServer搭建GIS服务,OpenLayers建立前端库,这样可以实现基本的WEB GIS服务,综合现有情况我的服务器只有一台,并使用了vSphere进行了虚拟化,所有资源并不充分(虽然最后同时在线用户顶多就是那一个最忙的部门的4个人),所以是否需要丰富后端,或者将其他功能都放到前端需要再考虑,不过第一步终于捋清了。

4.感谢

本文是个人在探索搭建内网WEB GIS过程中的思路总结,参考了网上的很多资料,在这里提出感谢,主要如下。

1.http://webgis.cn/

2.https://baijiahao.baidu.com/s?id=1671250239402865139&wfr=spider&for=pc

WEB GIS 开发基础概念汇总相关推荐

  1. Python+Dash快速web应用开发——基础概念篇

    作者:费弗里 来源:Python大数据分析 ❝本文示例代码与数据已上传至https://github.com/CNFeffery/DataScienceStudyNotes ❞ 1 简介 这是我的新系 ...

  2. Web GIS开发教程

    Web GIS开发教程 非程序员的基本 Web GIS 开发 课程英文名:Web GIS development course 此视频教程共4.0小时,中英双语字幕,画质清晰无水印,源码附件全 下载地 ...

  3. java清华大学教程_清华大学出版社-图书详情-《Java Web应用开发基础教程》

    目录                                                  ...

  4. Web前端开发基础三剑客学习知识分享

    Web前端开发基础知识学习路线分享,前端开发入门学习三大基础:HTML.CSS.JavaScript.除此之外还要学习数据可视化.Vue.React.Angular相关框架,熟练运用框架提升开发效率, ...

  5. 直播app开发基础知识汇总

    很多想进行直播app开发的朋友,可能并不太了解音视频软件开发基础知识,以下这篇文章来源网络,都是一些基础概念,转载与大家分享. 当然,这只是一篇基础知识文档,如果有需要更深度了解直播app开发知识的朋 ...

  6. web前端开发基础——在网页中使用表格

    web前端开发基础--在网页中使用表格 文章目录 web前端开发基础--在网页中使用表格 前言 一.表格 1.表格及其基本使用 2.引用css 二.单元格的合并 1.样例 2.样例代码 前言 本篇主要 ...

  7. 浏览器开发基础培训汇总

    <!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-al ...

  8. 【Web接口测试_基础概念】接口概念、接口分类、接口定义、接口规范、接口方法、接口用例设计整理

    [接口基础] 1.接口测试概念 1.1 基础概念 接口的定义:接口英文"interface",表示某个对象和外界交互的部分. 1.2接口的分类: ①用户UI接口,表示提供给用户操作 ...

  9. web前端开发基础班课程大纲

    前端开发是创建Web页面或app等前端界面呈现给用户的过程.前端开发通过HTML,CSS及JavaScript以及衍生出来的各种技术.框架.解决方案,来实现互联网产品的用户界面交互.Web前端工程师, ...

最新文章

  1. java无刷新上传图片_【java实现web文件无刷新上传】
  2. c++类的构造函数详解
  3. arduino并口屏_Arduino 驱动串口屏(入门级)
  4. MYSQL 设计数据结构注意事项
  5. php 照片变成卡通照片,Photoshop实例:变照片为卡通漫画
  6. 【NLP】BERT大魔王为何在商业环境下碰壁?
  7. 打造自己博客(wordpress)的wap手机版本
  8. ios 内存管理的理解(三)ARC下 对象内存管理
  9. 这下真“火”了!为涨粉在红绿灯底座上跳舞 两女子被行拘...
  10. java 3%3_Java 代码界 3% 的王者?看我是如何解错这 5 道题的
  11. [Spark]Spark常用的优化方法
  12. mac 查看进程及杀进程
  13. dtcms php,GitHub - k-dou/dtcms: 基于thinkphp5.1 的CMS,可快速搭建博客、企业站。
  14. QPS,TPS,RPS你知道多少?
  15. 无线测温采集设备及无线测温监控系统的选型指导-安科瑞王婧
  16. 莆田家庭教育指导师证在哪报名报考条件是什么
  17. 【工具】1343- NVS —— js 实现的node版本管理工具
  18. MacBook 安装 win10 系统的方法
  19. 技术分享 | EdgeX应用落地——零售、能源行业创新业务
  20. repo的入门和使用

热门文章

  1. javadoc: 错误 - 无效的标记: --source-path 解决方式
  2. 通达信DLL函数开发
  3. VNote: 程序员的Markdown笔记软件
  4. 使用 Unicode 编码
  5. 群体智能自主作业智慧农场项目启动及实施方案论证会议
  6. 第一期 android源码集合987个实例(从网上摘抄,在此记录下)
  7. 终端针对2G/3G退网场景处理方式介绍
  8. 分享9款用HTML5/CSS3制作的动物、人物动画
  9. bash逐行读取文件
  10. 身份证过期了能参加计算机二级考试吗