针对业务发展需要,需要开发设计一套具备自己独立GIS平台。然而以ArcGIS为主的GIS软件价格昂贵,在经过仔细技术与市场动向调研后,确立一套以Java语言的开源GIS软件平台。桌面CS端Udig+GeoServer+三方组件+矢量切片,服务器BS端GeoServer+ OpenLayer +PostGIS+ GeoWebCache+ 扩展,移动端GeoServer+ MapBox/LeafLet+ Html5。三维方面WorldWind/Cesium+三维建模+ GeoServer,可满足CS和BS需求。云端核心提供SAAS为主的产品应用。应用开发上融入通用的Extjs、JQuery、MVC,前端融入React\VUE\AVALON等。

【名词解释】:

(1)Udig:一款开源GIS桌面系统,JAVA开发扩展,类似ArcDesktop,但功能比不上;

(2)GeoServer:一款开源WebGIS地图服务器,类似ArcGIS Server,提供统一OGC接口服务WMS/WFS/WMTS,功能比较强大,便于使用,使用量多较成熟;

(3)OpenLayer:一款开源前台地图API产品,对数据进行可视化、空间分析、成果展示;

(4)PostGIS:一款开源先进的开源空间数据库;

(5)GeoWebCache:可看做瓦片金字塔服务器,提高web浏览速度性能;

(6)MapBox/LeafLet:一款轻量前端地图API,即可支持Web显示,也可支持移动端设备显示,目前ESRI(ArcGIS)也提供了Esri-LeafLet用于移动Web;

(7)WorldWind:一款开源三维系统,可提供桌面和Web显示,支持多种三维模型和多种数据库,需自定义定制;

(8)Ceisum:一个基于WebGL的开源地图引擎,直接在浏览器中展示三维或二维地图,无需插件,已有一定GIS应用,也适合做二三维;

(9)SAAS:云计算其中一种表达,软件即服务,提供云端软件形式使用产品。

1 平台架构概述

  目前在商业应用中多是以ArcGIS进行从数据、建模、开发、应用、服务,有一部分大公司开发具有知识产权的自己一套产品平台,很多公司有或正在研发此类似底层开发的平台产品,或基于C++ GIS组件,或基于GIS二次开发组件,或基于GIS开源组件,大多数都是针对本公司业务产品而架构设计,形式多以大数据、网格、云计算等为依托,辐射公司内部各种产品,增加技术含金量,从创新角度诠释产品,达到创新、效益目的。

  针对项目应用方面,ArcGIS价格昂贵,从桌面到WebGIS到移动再到云端可能总达50万甚至上百万软件费用,多数需求商承担不起这样的成本。然而随着GIS技术成熟,开源GIS慢慢夜融入市场,目前正处于商务收费GIS软件与开源免费GIS软件的分流时期,抓住这个机遇搞创新产品可抓住市场走向,提高产品竞争力。根据目前已有GIS相关技术成果和技术市场调研,WebGIS体系方案最为成熟,为此产品架构分3步设计

第一步:用开源GIS方案逐渐替换目前GIS系统;

第二步:使用开源GIS后务必有桌面GIS相关管理应用,开发桌面GIS产品,并在WebGIS基础上将应用扩展到移动端和二三维方向;

第三步:随着应用丰富和项目增多,多个应用可能共用一套数据源、一套基础架构,那么整合起来形成一套流水线产品,提供云SAAS服务,一站式云平台。

2 架构关键技术及框架

  架构关键技术主要包括:SaaS(软件即服务)技术、开源GIS、RIA Web和Mobile、开源WorldWind二三维,细分技术并解决方案:

(1)开源GIS技术产品方案:Udig+Geoserver +第三方组件类库做桌面GIS;

(2)RIA:作为富应用,GeoServer+Openlayer+PostGIS+GeoWebCache做WebGIS方案;GeoServer+MapBox/Leaflet+HTML5做移动端方案;

(3)开源WorldWind二三维:WorldWind+GeoServer/ArcGIS+数据库做桌面三维客户端,同时三维Web方面考虑Cesium+HTML5,实现web与移动端三维;

(4)SaaS整合应用:提供一套可配置的软件平台,即客户通过平台进行自定义配置即可使用相应的软件服务,将软件以服务方式提供使用。

图1 引擎与服务框架

  此为本次开源GIS架构方面内容。

也谈开源GIS架构实现思想的更多相关文章

  1. 我的开源GIS解决方案之路

    好久没更新了,因为我在--憋--大--招--,对,就是今天这篇. 今天跟大家分享一下我的开源GIS解决方案经历. --额-- 考虑到单聊技术解决方案你可能会很快睡着,所以我今天会把重点放在我封装地图A ...

  2. 开源GIS浅谈 【转】

    http://blog.csdn.net/happyduoduo1/article/details/51773850 谈到GIS软件,首先让我们想到的是GIS界的龙头大哥ESRI公司旗下的ArcGIS ...

  3. [置顶] 遵循Java EE标准体系的开源GIS服务平台架构

    传送门 ☞ 系统架构设计 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 传送门 ☞ GoF23种设计模式 ☞ 转载请注明 ☞ http://blog.csd ...

  4. 开源GIS简介.学习

    开发者都希望自己的软件能够运行在尽可能多的计算机上.然而事与愿违,摆在 GIS开发者面前的仍然是对峙的平台.J2EE随着Java5.0的发布,已经正式更名为JavaEE,而微软也正式发布了.NET2. ...

  5. 开源GIS简介

    原文 开源GIS C++开源GIS中间件类库: GDAL(栅格)/OGR(矢量)提供了类型丰富的读写支持 GEOS(Geometry Engine Open Source)是基于C++的空间拓扑分析实 ...

  6. 开源GIS软件初探

    谈到GIS软件,首先让我们想到的便是GIS界的龙头大哥ESRI公司旗下的ArcGIS产品,从最初接触的version 9.2到如今的version 10.1,其发展可谓风生水起.MapInfo软件也不 ...

  7. 朱晔的互联网架构实践心得S2E6:浅谈高并发架构设计的16招

    朱晔的互联网架构实践心得S2E6:浅谈高并发架构设计的16招 概览 标题中的高并发架构设计是指设计一套比较合适的架构来应对请求.并发量很大的系统,使系统的稳定性.响应时间符合预期并且能在极端的情况下自 ...

  8. 【架构】浅谈web网站架构演变过程

    浅谈web网站架构演变过程   前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变.   该系统具备的功能:   用户模块:用户注册和管理 商品模块:商品展示和管 ...

  9. 两年内从零到每月十亿 PV 的发展来谈 Pinterest 的架构设计(转)

    原文:Scaling Pinterest - From 0 To 10s Of Billions Of Page Views A Month In Two Years 译文:两年内从零到每月十亿 PV ...

随机推荐

  1. 解决git pull/push每次都需要输入密码问题 和 HttpRequestException encountered

    如果我们git clone的下载代码的时候是连接的https://而不是git@git (ssh)的形式,当我们操作git pull/push到远程的时候,总是提示我们输入账号和密码才能操作成功,频繁 ...

  2. 【QT】Installer requires Xcode Version 5.0.0 for Qt download if toolchain not found

    When I install QT in MacOS 11.3.6, it prompts I need to install xcode then I install xcode but it wa ...

  3. python拼接multipart/form-data类型post请求格式

    # 最近要做form-data类型接口,大多数这种格式用来文件上传,但是我们公司就是用这种格式传输请求数据. # 百度了一些基本都是files方式的,可是我们需要data=方式的.下面自己来拼接,代码 ...

  4. 006-CSS引入外部字体

    我们制作页面css,设置字体,可能会需要加入一些比较特殊的字体,这时候就需要引入这些字体. 方法如下: @font-face { font-family: KuTang;/*定义字体的名字*/ src ...

  5. 判断是否为JSON对象

    $.ajax({ type: 'POST', url: url, success(function(data){ //判断是否为JSON对象 if(typeof(data) == "obje ...

  6. JavaScript字符串字节长度

    var txt2="He中!!";var t = txt2.replace(/[^\u0000-\u00ff]/g,"aa").length;//值是7

  7. CCF CSP 201809-2 买菜

    题目链接:http://118.190.20.162/view.page?gpid=T78 问题描述 小H和小W来到了一条街上,两人分开买菜,他们买菜的过程可以描述为,去店里买一些菜然后去旁边的一个广 ...

  8. 8小时入门Git之团队合作学习记录

    Git几个重要的区域 工作流程

  9. Liunx中fstab文件详解

    Liunx中fstab文件详解 /etc/fstab是用来存放文件系统的静态信息的文件.位于/etc/目录下,可以用命令less /etc/fstab 来查看,如果要修改的话,则用命令 vi /etc ...

  10. Kafka启动报错 : ERROR Processor got uncaught exception

    参照我之前的一篇博文Kafka学习之(二)Centos下安装Kafka安装了kafka并启动,状况并不像我之前最初的预期,报错了,并且我在当前Linux环境下安装的Java版本.Kafka版本都是和之 ...