针对业务发展需要,需要开发设计一套具备自己独立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. 软件测试第二次作业:初识JUNIT单元测试方法

    软件测试有很多分类,从测试的方法上可分为:黑盒测试.白盒测试.静态测试.动态测试   从软件开发的过程分为:单元测试.集成测试.确认测试.验收.回归等. 在众多的分类中,与开发人员关系最紧密的莫过于单 ...

  2. Leetcode Articles: Insert into a Cyclic Sorted List

    Given a node from a cyclic linked list which has been sorted, write a function to insert a value int ...

  3. 1、写在开头的话——Tinking in Java 绪论之我见

    新兵道歉!版式不懂,技术若有错误,请指正,或发我邮箱1300431700@qq.com 不胜感激! 本文力图通过文章总结的形式,阐述自己的观点,迫使自己思考书中精髓,即使跟技术无关! 正文开始! “上 ...

  4. js前后五年的时间日期万年历

    <script src='bootstrap/js/jquery-1.11.2.min.js'></script>//引入JQUERY文件<div> <sel ...

  5. Django框架详细介绍---认证系统

    在web开发中通常设计网站的登录认证.注册等功能,Django恰好内置了功能完善的用户认证系统 1.auth模块 from django.contrib import auth 模块源码 import ...

  6. IT题库1-HashMap、HashSet和HashTable(区别?数据格式?)

    1. HashTable和HashMap的区别 HashMap和Hashtable都实现了Map接口.主要区别:线程安全性,同步(synchronization),以及速度. 1.HashMap是非s ...

  7. [批处理]守护NodeJS进程

    背景: 日常进行CI过程中,使用NodeJs方式:GIT更新->检测是否需要编译->调用IncrediBuilder编译->读取编译日志判断是否通过->调用7z打包 问题: 持 ...

  8. turtle画王思聪吃热狗(杨艳春,何金凝小组)

    点击此处查看视频:http://v.douyin.com/RCY8GD/import turtle as t t.setup(450,300) t.pensize(4) t.color('black' ...

  9. JQuery 中$("input:eq(0)") eq 的意思

    :eq(index)匹配一个给定索引值的元素 ----------------------------------------------------- Matches a single elemen ...

  10. Deep Convolution Auto-encoder

    一.概念介绍 自编码器是一种执行数据压缩的网络架构,其中的压缩和解压缩功能是从数据本身学习得到的,而非人为手工设计的.自编码器的两个核心部分是编码器和解码器,它将输入数据压缩到一个潜在表示空间里面,然 ...