针对业务发展需要,需要开发设计一套具备自己独立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. requests 获取百度推广信息

    2019年的第一篇博客,恩,好久没写过博客了,恩,忘了,哈哈,实在是太懒了 今天写一个爬取百度推广数据的爬虫,当然我写的肯定不是那么的完美,但是能用,大哭 注意:有的时候,get或post方法获取数据 ...

  2. 使用JavaScript实现单向链表

    一.实现功能 1.链表元素头部插入 this.unShift = function(data) {} 2.链表元素尾部插入 this.append= function(data) {} //返回boo ...

  3. python中pip升级

    第一步: 首先安装python,在百度中搜索python,进入python官网,点击downliad, 下载到本地: 下载好后进行安装,与一般软件安装过程一样.安装过程中要注意勾线Add python ...

  4. 平衡树-Splay

    #include<iostream> #include<cstdio> #include<cmath> #include<algorithm> #def ...

  5. Python中的sys.path.append()

    当我们导入一个模块时:import  xxx,默认情况下python解析器会搜索当前目录.已安装的内置模块和第三方模块 当运行脚本文件和导入模块不再同一目录下 import sys sys.path. ...

  6. 微信小程序中的rpx与移动设备物理像素

    如下图: pt也称逻辑像素点,px物理像素点,1pt等于2px或者3px或更多; iphone6下面0.5pt=1px=1rpx; 使用rpx,小程序在不同设备分辨率下自行转换: PPI=物理像素开根 ...

  7. vue命令行错误处理

    全局安装vue/cli时:npm install -g @vue/cli (1)Error: EACCES: permission denied, access '/usr/local/lib/nod ...

  8. Installing ROS Indigo on the Raspberry Pi

    Installing ROS Indigo on the Raspberry Pi Description: This instruction covers the installation of R ...

  9. 关于JDBC学习过程中的注意事项(分享自己犯过的错误,写给初学JDBC的小伙伴的八条建议)

    关于JDBC学习过程中的注意事项(分享自己犯过的错误,写给初学JDBC的小伙伴的八条建议) 前言:最近在学习JDBC,总结了几个小问题,特地分享给大家,让大家不要犯这样的错误,也希望大家养成学会总结的 ...

  10. mika的模板库

    二分图最大匹配: 1.匈牙利算法:注意dfs中是dfs(c[w[i]]),搜索的是与之匹配的点. #include<cstdio> #include<cstring> ],w[ ...