标签归档:GIS

再论 GIS 和云计算

本周一,有幸因为团队小组领导即将离职,所以获得了一次不错的机会,可以近距离地听取一次由 IBM 中国云计算研究中心的三位工程师带来的关于云计算的培训式讲座。鄙人抱着很高的期望前去,和我怀着同样心态前去的人也不少,当时讲座场地是公司总部的一个会议室,不大,能容下 30 个人不到吧,坐满了。

开篇由一位技术工程师给我们做了一个入门级别的云计算介绍,主要集中在 IBM 云计算硬件和相关的虚拟化的软件。其中有介绍到云计算的一些优点,主要有以下几点吧(记录得并不是很全面)

  • 给用户提供一个一体化的体验
  • 成本的节约
  • 效率的提高
  • 安全性的提高

我们都知道云计算服务提供商一般可以为中小型企业提供非常廉价但是高性能的硬件和软件环境,企业产品的构建和部署均可以在云端进行,这在很大程度上解决了企业维护硬件和运营的成本,机房的能耗和故障往往会成为小型企业产品研发和运营中的鸡肋,而云计算服务提供商给了我们一个非常完美的 Solution。IBM 这样的企业又能为我们提供什么呢?IBM 面向的一般都是企业级用户,也就是政府和企事业单位,这些组织机构对硬件和软件的要求一般情况下都是很大的,例如 IBM 在无锡给某个软件园建设的云计算平台,就是软硬件结合,进驻软件园的企业并不需要自己采购大量的服务器产品和相关的软件,而只需使用软件园中的账户登录软件园的云计算平台,根据企业项目的需求申请获取相应的硬件资源,定制操作系统和相关构建的软件等等。这极大地增强了企业的灵活性,节约了众多的维护和运维的成本,企业在项目紧张的时候可以申请更多的资源,而较为闲暇之时使用的资源大大减少,而不像传统软件企业依然需要耗费大量的人力去维护相关的软硬件资源。既然云计算能为我们这些企业级用户带来这么大的优势,为企业大大节约成本,那么云计算在 GIS 产业中将如何体现其价值呢?

因为目前服务式 GIS 还主要集中在地图出图和简单的分析上,而地图出图渲染和分析这种功能需求往往有非常强的时刻型需求,也就是说,我们可以会有需求每个小时出一次全国地区的气象云图等等,并做相关的分析得出结果。那么在这个时刻点上,系统所需要的资源就会非常之多,系统的负载就非常大,而其余的时间系统大部分资源都是闲置的。那么我们能通过云计算来解决这个问题吗?我们都知道云计算的主要优势在于海量存储与高计算能力,然而在图形显示上并没有太多的优势。而 GIS 出图对于系统 GDI 资源的消耗非常大,而系统的 GDI 资源往往是非常有限的,那么怎么来解决这个问题呢?IBM 的小型机跑的一般都是 AIX 系统,显卡的性能也很一般,那么这个问题如何解决呢?当然我们可以借鉴一些电信计费和结算系统的原理来进行一个高峰时期错开的处理,由于日常生活中人们的电话通信一般时间在白天,那么白天的计费系统肯定负载非常之大,而晚上计费系统负载相对就会小很多,这个时候就可以将大部分资源调度给结算系统来进行结算。其实我们 GIS 的这个问题也可以这么解决,假设我们现在的系统中有非常强大的计算能力,图形渲染能力相对较差,那么我们在系统并不需要进行出图的时候,充分利用系统的计算能力生成大量的地图缓存,而在需要出图的时刻调度所有的 GDI 资源来进行渲染,地图缓存很显然会极大提供地图显示和出图的速度的。

那么应用点仅仅停留在此吗?恐怕不止。目前我们国家的诸多政府部门都在构建自己的系统,而这些系统中都多多少少的能看到 GIS 的影子,但是这些部门又不像国土局和测绘局对 GIS 有如此强烈的需求,他们只是在一些特殊的时候需要使用到 GIS。例如卫生局,当管辖区域出现传染疾病灾情时,就非常需要依托地图数据和疾病传染的一些模型来计算出可以传染的区域,并及时对这些区域进行处理。那么卫生局愿意每一年向测绘局等等其他的组织机构购买相关数据吗?这些数据可以每年都会发生更新的哦,每年都买吗?我想很多部门是不愿意的,在需要的时候又希望能迅速获取数据,在平日里并不愿意也不需要支付高额的费用,是很多组织机构的共同需求。那么云计算就完全可以插一脚了,政府或者企业通过建立一个大型的平台,包含软硬件资源,数据生产部门可以通过提交数据来获取利润,而消费部门完全可以节省大量的软硬件维护费用,按需索取即可。当然这是一个抛开了所有体制的设想,至于市场的可能性,who knows?

你看好 GIS Cloud 吗?我不看好。路漫漫其修远兮,吾将上下而求索。

SuperMap Objects 碎碎念

SuperMap Objects 是 SuperMap Software Co., Ltd. 成长的关键,最早公司创建之初公司便同时启动了两个项目,一个便是传统 GIS 中最为突出的桌面产品,另一个就是组件产品。

组件产品又作为桌面产品的基础,为桌面应用提供相应的功能。从 SuperMap Deskpro 2000 到现在的 SuperMap Deskpro 6R,一直都是这么一个模式,SFC 组件为 SuperMap Deskpro 系列产品保驾护航多年,不过近几年 SFC 组件逐渐进入后期维护阶段,SuperMap Deskpro 也进入维护阶段,主要对功能的集成和细化进行深入挖掘,更多的是从软件可用性提升以及功能正确性,分析高效性上来提升 Deskpro 产品的市场认知度和用户体验。基于 SFC(SuperMap Foundation Class) 组件有一系列的产品,有为我们所熟知的 SuperMap Deskpro、SuperMap IS .NET 和 eSuperMap,从桌面到服务器,再到嵌入式,甚至还有国土行业的一些深度行业应用等等。SFC 已经为 SuperMap 带来了十年的收益,更是为 SuperMap 品牌提供了前期非常坚实的基础沉淀。那么为什么不继续深入 SFC 组件产品的研发,而是转而进入了一个后期维护阶段,目前的工作主要集中在后期缺陷的维护呢?主要原因有:

  1. SFC 组件式基于 COM 技术的,称为 SuperMap Objects COM,现在依然有很多的产品和项目的基础。但是 COM 技术毕竟不再是如今软件开发中的主流,存在着诸多的不足,作为平台厂商,固守一方市场固然有利可图,可是此计并非长久之计啊。为用户以及二次开发商创造价值才是平台厂商应该做的,如今的软件开发中 (特别是项目实施中)Java/.NET 无疑已经是十足的宠儿了,那么尝试转型已成必然之势。
  2. SuperMap Objects Java/.NET 是基于 UGC(Universual GIS Core) 共相式 GIS 内核封装的组件产品,内核采用标准 C++(此为号称,到底标准程度多高,各位看官且看且猜就行了),与平台相关性降至最低,依托 Java/.NET 快速而高效的二次开发能力,已经逐渐成为了用户和二次开发商首选的项目实施和开发组件。
  3. 服务器产品需求的激增,由于服务式软件 SOA/SaaS 等概念的逐渐成熟,催生了服务式 GIS,GIS 领域顿时服务器产品的需求指数上扬。国家基础地理数据中心,各大城市共享数据平台的建设,国家技术设施的信息化项目,都能看到服务器端产品的身影。服务器端产品对效率和跨平台的要求更高,而 COM 组件明显在跨平台和效率上不及 UGC 系列产品,由此 SuperMap Objects Java/.NET 走上了大舞台。
  4. 云计算概念的成长和应用,诸多厂商开始宣称自己站在了云端,依托云计算的优势能为他们的客户带来更多的价值,节约更多的成本。云计算中最为美妙的就是,任何硬件、软件、服务资源均不以实际形态暴露,而以统一的接口提供给用户,所有的资源均以组件式形态存在于服务端,客户端只需处理请求与响应。那么组件式 GIS 无疑是 GIS 云计算中非常重要的一个环节,插件式可定制化的服务,跨平台多地域服务的共享,无疑将为更多的用户带来更多的价值,而成本会更低。

SuperMap Objects Java/.NET

上图是 SuperMap Objects Java/.NET 产品的实现原理,至于细节,相信众位看官稍微了解一些关于封装机制的都一目了然了。功能性的代码完全由 UGC 完成,而接口的设计与实现完全由组件层来完成,组件层可以再更具自身语言平台的需求增加一些控件和相关产品的设计开发。例如.NET 组件在 C/S 架构中应用广泛,用于对于桌面应用场景的需求较多,那么易用性高、定制性强、可设计的控件无疑会为客户带来更多的价值空间;而 Java 组件的优势应用在服务端,B/S 架构的产品也不少,在服务端的表现可以交由 iServer 系列产品 (基于 SuperMap Objects Java 开发的服务器产品),那么客户端呢?新近稍热一点的 JavaFX 是 Sun 公司首推的 RIA 解决方案,也许用户的应用场景也会随着产品的升级而出现这一方面的需求。

其实组件产品分两大语言体系是一个比较科学的分类

  • .NET 技术依托微软强大的技术后盾,在桌面应用上日益成熟早已是桌面明星了,SuperMap Deskpro .NET 就是基于 SuperMap Objects .NET 使用 Ribbon 界面库开发的新一代 GIS 桌面 GIS 产品,从产品易用性和体验上作出了很大的提高,不过性能目前还存在一定的问题 (组件产品的瓶颈问题导致)。
  • Java 跨平台的特性无疑是最让人津津乐道的,类似于政府和大型服务企业均采用的 Unix 和类 Unix(各种 Linux 发行版) 系统和硬件,对跨平台的要求显而易见,SuperMap Objects Java 基于标准 C++,完全可以摆脱平台限制,在多平台上表现得游刃有余,填补市场上很大一块空白 (其他厂商也有类似的产品和解决方案,但是均是采用中间件方式完成,效率和易用性上相对较差,对用户和二次开发商的开发成本要求过高)。
  • 两种语言技术体系产品,保持同一份设计同时开发测试,接口文档高度一致,二次开发用户选择开发平台的决策成本大大降低。无疑将会让更多的二次开发商,在低成本的情况下可以尝试更多项目的投标生产,为其带来更多的价值。
  • 两个产品由一个领导带领设计开发,更能突出其特点的一致性和延续性,降低用户和市场对该产品和品牌的认知成本,大大增强了组件产品的产品化和标准化。

================我是分割线==================

来到公司已经快半年了,对项目产品和架构上曾经都颇有微词,迄今依然有些怨言,以上就是我对目前 SuperMap Objects Java/.NET 系列产品的一些碎碎念,其中均是纯个人想法和行为,有一些猜想更多的是臆断。不过猜想也好臆断也罢,终究是我自己思考的一些沉淀,摆出来,凉一凉,晒一晒,淋雨发霉也好招来板砖也罢,纯属博主个人呓语,众看官且听且过是也。

开通 SuperMap Objects 专栏

首先声明,本人确实是 SuperMap Software Co., Ltd. 的一名员工,目前就职于研发中心,从事软件开发的工作。

对于 SuperMap Objects 有着自己的理解和认识,有自己想说的一些话,不过说得对不对就不得而知了。对于职场上的一些常识和非常识,我一概不知,我会说我想说的,说我能说的,当然我不可能透露关于工作进度的只言片语,也不可能透露关于公司产品方向的任何信息。但是,我想我会猜的,反正我也听不到什么有价值的信息,那么为何不来一些自己的猜想呢?Yes, why not?

============我是分割线=============

该专栏主要针对 SuperMap Objects 的新特性和可公布的新消息作出广播,并偶尔来些剧透和爆料,也许会有不错的效果哦。我想作为一个 GIS 的从业人员,作为一个组件开发人员,报导关于自己产品的一种心态平衡非常重要。

首先组件是公司起家的法宝,其次是公司上层服务器产品的基石,是底层类库产品的延续,可所谓处于公司产品结构的腰部。我们都知道腰对于一个人的重要性,所谓无腰者不人也,就是这么一个意思啦。然而我们平日看美女的时候,先是头后是臀,腰经常是被略过的或者只是为了衬托臀的丰满而窈窕地存在的。那么作为一个腰,我们要如何做好这个产品呢?在做产品的过程中,如何勾起众位看官的欲望呢?也许腰风就在一夜起,顿时洛阳腰贵,作为腰子的我可能也会着实火一把哦。

所以该栏目的主要内容有以下:

  • SuperMap Objects 产品的最新小道消息 (绝非官方消息)
  • SuperMap Objects 产品的开发技巧
  • SuperMap Objects 产品的八八和卦卦

众位看官,看过且看过,切勿传播,一旦小站被领导发现,可能便有关闭之忧。还望各位慎重慎重谨慎谨慎。

ArcIMS HTML Viewer 官方参考文档中文版

本科期间,曾经有需要使用到 ArcIMS,而苦于没能找到中文帮助文档,故自己索性将官方文档翻译了一下。今天拿出来,更大家共享一下,由于历史比较悠久了,只在 Google Docs 和 SlideShare 上留有备份了。所以呢,继续使用 SlideShare 在博客中与大家一起来分享之,如果您觉得 SlideShare 的显示效果不尽如人意的话呢,您可以选择单击 这里 前往 Google Docs 阅读或下载该文档。
该文章从 ArcIMS HTML 的简单安装和配置开始,继而详细讲述了 HTML 的各种参数的配置和使用,以及如何将自己的地图服务发布至 ArcIMS 的操作等等。

ESRI 用户大会感想之二

10 月 22 日,ESRI 用户大会的尾巴就要隐没了。趁着此次约会快要结束的时候,再看伊人一眼,蓦然觉得伊人顿生风采,艳丽照人。照人在何处呢?下午有一场关于 GIS 和云计算的主题讲座,听者甚众啊,感受颇多,再次寥寥几语,略表心中感受。

GIS 与云计算的关系,GIS 将在 IT 这朵大云中如何翻筋斗呢?这些都将由我们的伊人为大家揭开,所谓犹抱琵琶半遮面,引来众生遥望,艳羡之余,让我们来看看伊人面纱之下的尊荣。所谓云计算,并不是什么很新鲜的概念了。在 wikipedia 的页面上,对云计算的描述如下:

云计算cloud computing,台湾译作 云端运算),是一种互联网上的资源利用新方式,可为大众用户依托互联网上异构、自治的服务进行按需即取的计算。由于资源是在互联网上,而在计算机流程图中, 互联网 常以一个云状图案来表示,因此可以形象地类比为云计算,‘云’同时也是对底层基础设施的一种抽象概念。

云计算的资源是动态 易扩展 而且 虚拟化 的,通过 互联网 提供。终端用户不需要了解“云”中基础设施的细节,不必具有相应的专业知识,也无需直接进行控制, 只关注自己真正需要什么样的资源以及如何通过网络来得到相应的服务。

云计算可以认为包括以下几个层次的服务:基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)。云计算服务通常提供通用的通过浏览器访问的在线商业应用,软件和数据可存储在数据中心。

我们可以这样理解,通过 IT 中强大的硬件基础,依托先进的 web 端服务发布功能,将硬件资源和软件服务作为可访问式的物理存在发布到 Internet 上,让所有能接入 Internet 的人们可以依托这个先进的云技术,来定制自己所需要的服务,解决特定的问题,只需要定制业务流和数据流,而不需要关注自己如何来实现整套技术的架构。

GIS 也是软件系统,也是信息系统,那么与我们的云就有关系,我们一直都在谈云计算将给我们带来什么,从 3 年前云计算开始慢慢地进入我们开发人员的“法眼”,而目前正处于云计算的过热期。所以大家在产品发布之际,用户大会之际,哄哄用户之际,鼓吹一下自身产品能与云计算“沾点亲”肯定是没有什么坏处的,赚点眼球也是不错的。在信息化较先进的国家,GIS 的应用非常成熟了,不仅仅是应用在传统的国土,规划,交通,房产,水利,应急等等领域,更多地应用到了政府的所有部门中的基础地理数据相关的业务流中了,而所谓的 Government 2.0 正式建立在云计算的基础之上,实现大型数据量,高并发访问,多协议服务的高度集成化,为政府电子政务的建设创造价值。而在 Government 2.0 中扮演重要角色的 GIS 当然也应该飘在云端,享受一番高峰的感觉。如何架设呢?这是一个问题。

目前 ArcGIS online 是行业内走在最前端也是最高端的一个云计算的 GIS 应用了,但是这还不是真正的云计算。目前 ArcGIS online 还只是比较简单地将诸多可开放的资源挂载到了 Amazon S3 (Simple Storage Service) 上供需要的用户和 GIS 爱好者进行在线浏览和下载,当然也有一些比较简单的 GP(GeoSpatial Processing) 模块功能被发布到了 Amazon EC2 上,通过 REST 技术,可以调用在线的服务进行简单的地理分析处理。不过目前我们能看到的数据和功能相对都是比较简单的,并不能拿到实际的应用当中来,大部分还停留在 Demo 和演示阶段。

不过既然 ArcGIS 已经迈出了她的第一步,那么她的第二步还会远吗?我想不会的,国内的 GIS 平台厂商,你们呢?你们准备如何来应对此次竞争和挑战呢?鄙人所在的公司,已经在着手关于云计算版本产品的设计了,估计在不久的将来将会有一些产品面世,不过这朵云是否真的能让我们享受到高峰的感觉呢?我们拭目以待,如果我们只是借云来混淆视听,总有一天我们的用户会拨云见日,到那一天,该晕的人就是我们了。

“云朵漂浮在蓝蓝的天空,那时的你我,曾说好手牵手,一起走,到世界的尽头。”–F·I·R 乐队有一首这样的歌,让我们也唱起这首歌,执伊人之手,抬眼望星空,也许云朵正在我们脚下。