今天看到SuperMap中一直提到共相式GIS,于是乎搜索一下……SuperMap的共相式怎么理解呢?iServer Java有咋理解呢???

再谈共相式GIS和ArcObjects:ttp://www.cnblogs.com/maweifeng/archive/2007/04/27/730427.html

共相式GIS:http://blog.sina.com.cn/s/blog_4dff486201000asx.html

  对于真实的软件而言,真正的“共相GIS”是不存在的,我们不妨称这样的GIS 为“共相式GIS(Universal GIS)”。就当前技术环境而言,共相式GIS 就是能够支持当前存在的任何计算设备(Any device)、任何操作系统(Any operation system)、任何组件模型(Any component mode)、任何开发语言(Any programming language)、任何数据库(Any database)和任何数据格式(Any dataformat),并可以以很小代价来支持未来的计算设备、操作系统、开发语言、数据库和数据格式的GIS 平台软件。

  共相式GIS 体系架构 共相式GIS 的本质在于通过精心设计的软件架构,把GIS 所特有的功能、分析处理算法和所依赖的信息技术进行有效的隔离,使得两者可以各自独立的发展而不会相互牵连制约,不会因为信息技术的发展变化而导致整个软件从头再来。因此,共相式GIS 的核心思想,就是要建立一套具有普遍适应性的共相式GIS 内核(Universal GIS Core, UGC),实现那些相对稳定的、远离易变技术环境的GIS 核心功能。并在UGC 基础之上扩展那些与不断发展的技术环境关系紧密的外围功能模块和人机交互界面。一旦相关技术环境发展变化,仅仅需要重新实现或调整外部功能模块即可,这将大幅度降低技术升迁的代价。这种模式也可以简单地概括为“核-壳”分离。
  基于UGC,可以封装各种GIS 软件产品,包括组件式GIS、Internet GIS、桌面GIS。其中组件式GIS 与Internet GIS 既可以使用.NET 技术封装,也可以使用Java 技术开发。即使以后出现新的组件技术或高级开发语言,也可以基本不修改UGC,而通过重新封装人机交互接口的方式提供新的组件式GIS 或其它GIS 软件平台。由于这些软件产品具有同一个内核,因此内核功能升级后,基于其上的各种软件产品都得到同步升级,大幅度减少了软件维护的代价。 归纳起来,可以总结出共相式GIS 的研发步骤: 第一步,剥离GIS 中严重依赖技术环境的部分。比如:依赖于操作系统的可视化引擎和软件界面,依赖于程序语言的二次开发接口,依赖于数据格式或数据库的数据引擎等。 第二步,提炼出具有普遍意义的GIS 的核心功能、算法,形成共相式GIS 内核(UGC)。 第三步,在UGC 基础上,扩展那些严重依赖于具体技术环境的外围部分。比如第一步中提到的可视化引擎和软件界面、二次开发接口、数据引擎等。 第四步,封装适用于多种技术环境的各种类型的软件。如组件式GIS、Internet GIS、桌面GIS 和嵌入式GIS 等,以至于未来的其他GIS 软件形态。一旦有新的技术出现,UGC 仅需要进行少量改动,主要重复第三步和第四步工作即可应对IT变化,大幅度缩减了适应技术变化的周期。 共相式GIS 的内核 UGC 除了要求保持相对稳定以外,还需满足三个条件: 首先,UGC 必须支持多种操作系统;
  其次,UGC 必须能被多种程序开发语言调用,以封装各种语言版本的GIS 软件产品; 最后,UGC 必须有很高的运行效率,以满足复杂空间分析运算和大数据量处理的性能要求。Java 是一种在跨平台方面有很强优势的开发语言,实际上已经有一些企业基于Java 编写了GIS 软件,但Java 在性能方面天生的不足影响了基于Java 内核的GIS 软件的进一步发展。与一般的信息管理系统不同,GIS 应用系统不仅处理数据量大,而且分析算法复杂,对性能要求很高。此外,基于Java 的组件在被包括.NET 在内的其它开发语言调用方面也存在不足,因此Java 不适合作为UGC 的开发语言。
 

共相式GIS的更多相关文章

  1. SuperMap iObject入门开发系列之一组件式GIS开发平台介绍

    本文是一位好友“炀炀”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢.平台介绍:SuperMap iObjects Java/.NET 是面向GIS应用系统开发者的组件式GIS开发平台,具有强 ...

  2. (1)从底层设计,探讨插件式GIS框架的实现

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 研一时,听当时的师兄推荐,买了蒋波涛的一本关于GIS插件框架的书.当时 ...

  3. GIS在水利中的应用

    摘要  GIS具有数据存储.查询.统计.图形显示.分析.模拟.决策和预测等功能,在水利中得到越来越广泛的应用,可谓水利现代化的“火车头”. 关键词 GIS 水利 应用 地理信息系统GIS通常泛指用于获 ...

  4. GIS专业书籍、文档、数据、网站、工具等干货

    整理.分享一些个人整理的GIS专业书籍.文档.数据.网站.工具等.也希望大家将自己的心得也分享出来,一起交流,共同进步. 如果下载链接失效,请到这里去:地信网 一.原理应用类 GIS基础类 01.地理 ...

  5. GP的使用心得

    在ArcEngine时,GP无疑是GIS开发者的神器.自ArcEngine9.2开始新增一个程序集ESRI.ArcGIS.Geoprocessor,它能调用包含扩展模块在内的所有Geoprocessi ...

  6. 单源最短路径——Dijkstra算法学习

    每次都以为自己理解了Dijkstra这个算法,但是过没多久又忘记了,这应该是第4.5次重温这个算法了. 这次是看的胡鹏的<地理信息系统>,看完之后突然意识到用数学公式表示算法流程是如此的好 ...

  7. WebGIS博客文本分析(词频分析)手动扒取 去除格式 词语分割 统计分析

    1.      [置顶](一)开篇—杂谈WebGIS 摘要: 文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.前言 ...

  8. GDAL线面互转换(2)

    在上一个文章中介绍了线转化为面和面转化为线,其主要的实现思路就是把面中的点取出来构成线,把线中的点取出来构成面,实际上就是一个硬拷贝,无奈客户的实际需求并非如此,客户想要线转面的时候几条相交线构成面, ...

  9. Cordova+Asp.net Mvc+GIS跨平台移动应用开发实战1-系统初步搭建(附演示,apk,全部源码)

    1.前言 身处在移动互联网的今天,移动应用开发炙手可热,身为程序猿的我们怎么能错过开发一款我们自己的APP.本人算是一个基于.net的GIS开发入门者(马上就大四啦), 暑假在学校参加GIS比赛有大把 ...

随机推荐

  1. iOS移动开发周报-第17期

    lhq iOS移动开发周报-第17期 前言 欢迎国内的iOS同行或技术作者向我提交周报线索,线索可以是新闻.教程.开发工具或开源项目,将相关文章的简介和链接在微博上发布并 @唐巧_boy 即可. [摘 ...

  2. JAVA 数据筛选(第一笔数据与第二笔数据比较)

    第一笔数据与第二笔数据比较 Map<String, Object> jHpictureMap = new HashMap<String, Object>(); // 存放照片S ...

  3. vmware workstation14永久激活密钥

    vmware workstation14永久激活密钥分享: CG54H-D8D0H-H8DHY-C6X7X-N2KG6 ZC3WK-AFXEK-488JP-A7MQX-XL8YF AC5XK-0ZD4 ...

  4. 关于TIME_WAIT状态

    前言 为何TCP ”四次分手“ 的过程中会有一个TIME_WAIT状态?这个状态有什么意义呢?这是网络中的一个经典问题,本文将给出精简的回答. 什么是TIME_WAIT状态 这是TCP通信协议中出现的 ...

  5. VLC RTP Over TCP

    在RTSP协议请求数据时,让VLC以TCP的方式获取服务器发来的RTP数据 不为别的,下次回复直接用博客链接就能回复大家了! 操作:工具 -> 首选项 然后: 搞定! ------------- ...

  6. java socket InputStream和OutputStream

    从java socket对象获取的InputSteam的read方法其实是对linux的recv()函数的调用,OutputStream也同理. 也就是说,InputStream和OutputStre ...

  7. Use Apache HBase™ when you need random, realtime read/write access to your Big Data.

    Apache HBase™ is the Hadoop database, a distributed, scalable, big data store. Use Apache HBase™ whe ...

  8. 虚拟机linux安装mysql

    安装mysql时需要的全套安装包 mysql-5.1.73-3.el6_5.i686.rpm mysql-libs-5.1.73-3.el6_5.i686.rpm mysql-server-5.1.7 ...

  9. Codeforces Round #138 (Div. 2) A. Parallelepiped

    A. Parallelepiped time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...

  10. ansible-playbook 打通ssh无秘钥

    建议参考: http://www.cnblogs.com/jackchen001/p/6514018.html 这个代码清晰,效果佳! 参考链接: http://www.cnblogs.com/cao ...