cl991036
管理员
管理员
  • 注册日期2003-07-25
  • 发帖数5917
  • QQ14265545
  • 铜币29669枚
  • 威望217点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • GIS帝国铁杆
阅读:3835回复:11

利用MapObjects构建Web-GIS

楼主#
更多 发布于:2003-07-31 22:02
赵霈生 杨崇俊

(中国科学院遥感应用研究所 北京9718信箱 100101)

 

摘要:Web-GIS是今后GIS发展的主要趋势。本文通过实例介绍了一种如何利用构件技术,即Mapobjects,构建Web-GIS的方法。

一、概述

Internet的出现从根本上改变了人们的生活与工作方式,它把世界各地的人们紧密地联系在一起。WWW的崛起使Internet上的信息发布、传输更加简单易行,无论什么平台上的用户只需通过界面相同的浏览器,轻点鼠标便可获得想要的任何信息,轻松实现跨平台的信息共享。GIS与WWW的结合使得空间信息的发布与共享更加简便,GIS将不再是专业人员的特殊工具,而将通过网络为越来越多的公众服务,成为社会最基本的信息服务之一。Web-GIS已成为今后GIS发展的主要趋势。

当前开发Web-GIS的方法,从软件角度来说,主要有通用网关界面CGI(Common Gateway Interface)、插入法(Plug-in)、Java、服务器端应用程序编程接口(ISAPI、NSAPI)以及构件对象等;从硬件角度来说,则主要分为服务器端和客户端。本文主要详细介绍如何利用构件技术在服务器端构建Web-GIS。

二、构件式技术

“构件式技术已经成为当今软件技术的潮流之一”(Bill Gates,1997)。构件式技术是一种广泛的体系结构,支持包括设计、开发和部署在内的整个生命周期计算的理念[1].,它将彻底改变目前软件生产和开发的模式。用户可根据自己的需求灵活购买软件组件。他们只需编写一些“胶水编码”将各个组件“粘”起来,便可构建自己的应用系统,就如同今天我们购买板卡组装计算机一样简单。构件式技术是计算机软件业从手工作坊走向工业化成熟产业的转折点。

目前,基于构件式技术的规范主要有Microsoft的COM/ActiveX和Sun的Java/JavaBeans。由于Microsoft的Windows操作系统已经成为桌面PC操作系统的事实上的标准,所以COM/ActiveX得到了许多第三方厂商的支持,成为市场的主流。利用COM/ActiveX技术,我们可创建各式各样的桌面和Internet应用程序。当今市场上最主要的关于GIS的构件有Esri公司的MapObjects、MapInfo公司的MapX .

开发Internet应用程序可以从客户端和服务器端分别入手,同样构件也可以分为服务器端构件和客户端构件。ActiveX Control可以说是客户端构件,它被嵌在HTML中,随主页一同下载,在客户端执行相应的操作.很遗憾,Netscape浏览器目前不支持ActiveX Control,必须需要额外的插件.ASP(Active Server Page)是Microsoft公司新近推出的服务器端构件技术,构件以DLL的形式与IIS3.0(Internet Information Server)协同工作,在服务器端执行相应的操作,然后将结果返回给客户,不用考虑客户端浏览器的兼容性。


 三、系统实例

《中国资源环境遥感信息系统》是中国科学院“九、五”重点支持项目,为了及时发布空间信息,方便用户共享,我们创建了一个Web-GIS的原型。目前该原型已放在Internet网上试运行。

3.1 系统结构

整个系统采用了服务器端构件技术,客户端不需要下载任何的控件和插件,有很好的兼容性。最底层的构件采用了Esri公司的MapObjects。MapObjects是一组供应用开发人员使用的制图与GIS功能构件。它由一个ActiveX控件和一系列可编程对象组成,主要有以下功能:

支持ARC/INFO COVERAGE、SHAPE、SDE以及大量栅格图象格式,如BMP、TIFF等;
可通过ODBC访问外部数据库;
可将多个图层叠加显示;
可用标准SQL表达式进行空间特征选择和查询;
可以不同的形式显示各类专题图;
客户端的界面采用了标准的HTML表元素来提交用户的请求,对于各种浏览器皆兼容;通过JavaScript编制的脚本语言实现与用户的交互功能。

服务器端采用了ASP技术。利用Visual Basic可视化编程工具将MapObjects重新包装成一个Map对象,该对象对外提供了绑定数据源、选择数据层、放大与缩小、空间数据查询、定制专题图等方法。作为Web服务器的扩展,Map对象被编译成DLL的形式。利用VB Script编制服务器端脚本语言,通过创建Map对象和使用Map对象的方法定制整个程序的应用逻辑。服务器通过解释执行脚本语言,产生并返回结果。

3.2 系统的主要功能

目前该系统可以提供以下功能:

提供资源环境数据信息;
空间数据层选择、叠加、删除功能;
空间数据层检索查询功能;
空间数据保密功能;
空间数据转输、系统维护、信息发布;
空间数据简单分类功能;
空间数据简单分析功能等。
3.3 问题与改进

目前在我们的系统中,采用了在单一的NT服务器端运行对象的技术,但客户端提交的仍是Browser/Sever交互的基本HTTP表,缺乏与用户良好的交互,不能适应多用户并发查询,大大限制了系统的功能。理想的模式应是基于对象Web的客户/服务器交互。对象可根据应用的需要和网络的状况即可以分布在客户端,也可以透明地分布在不同的服务器上。客户端对象和服务器端对象共同协作完成一项工作。

由于目前我们的系统是基于Windows平台的,并在此基础上做了一些工作,所以今后拟采用ACTIVEX/DCOM平台继续改进我们的系统.ACTIVEX/DCOM平台关键技术包括NT Server、Microsoft Transaction Sever、数据管理服务、目录服务、Web服务和网络服务。明年初,Windows NT5.0将要发布。它提供了对DCOM更多的支持。如果我们能在ACTIVEX/DCOM平台上较好地完成整个中国资源环境遥感信息系统,它的意义不仅仅是完成了一个项目,同时也是对网络(Web)GIS的发展做了有意的尝试。

参考文献

宋关福。组件式地理信息系统研究。 理学博士论文
赖志斌等。WebGIS的若干前言问题探讨。 中国地理信息系统协会1998年年会论文集。 47-50
喜欢0 评分0
没钱又丑,农村户口。头可断,发型一定不能乱。 邮箱:gisempire@qq.com
狐兄
路人甲
路人甲
  • 注册日期2003-07-28
  • 发帖数62
  • QQ67586473
  • 铜币280枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2003-08-01 12:24
为了先凑够帖子,大家别怪我:)

顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
 顶顶顶顶顶顶 顶顶顶顶顶顶顶顶顶顶 顶顶顶  顶顶顶顶顶
 顶顶顶顶顶顶    顶顶顶顶顶顶顶 顶顶顶顶 顶顶顶顶顶
 顶顶顶顶顶   顶顶顶顶顶顶顶顶顶 顶顶顶顶  顶顶顶顶
 顶顶顶顶  顶顶顶顶顶顶顶顶顶顶顶顶 顶   顶顶 顶顶
 顶顶  顶 顶顶顶顶顶顶顶顶顶顶  顶顶顶 顶顶   顶
 顶顶顶顶顶 顶顶顶顶顶顶顶顶顶   顶顶顶   顶顶顶顶
 顶顶顶顶   顶顶顶顶顶顶顶顶顶顶 顶  顶 顶顶顶顶顶
 顶顶顶顶顶顶顶 顶顶顶顶顶顶顶顶顶  顶  顶   顶顶
 顶顶   顶  顶顶顶顶顶顶顶顶顶 顶顶顶顶  顶顶顶顶
 顶 顶顶   顶顶顶顶顶顶顶顶   顶   顶 顶顶顶顶
 顶顶顶顶顶  顶顶顶顶顶顶顶顶 顶  顶顶 顶 顶顶顶顶
 顶顶顶顶    顶顶顶顶顶顶 顶顶 顶顶顶顶顶 顶顶顶顶
 顶顶顶  顶顶   顶顶顶顶 顶  顶顶 顶顶 顶顶顶顶
 顶   顶顶顶顶    顶顶顶顶顶 顶顶顶   顶顶顶顶
 顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
天下英雄出我辈 一入江湖岁月催; 宏图霸业谈笑中 不胜人生一场醉; 提剑跨骑挥尾雨 白骨如山鸟惊飞; 尘世如朝人如水 只叹江湖几人回;
举报 回复(0) 喜欢(0)     评分
sulin
路人甲
路人甲
  • 注册日期2003-07-28
  • 发帖数158
  • QQ
  • 铜币501枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2003-08-04 17:19
中国科学院遥感应用研究所的文章内容太虚,我都烦透了这般家伙.在这里上学等于浪费青春!


[此贴子已经被作者于2003-8-4 17:20:45编辑过]
举报 回复(0) 喜欢(0)     评分
cl991036
管理员
管理员
  • 注册日期2003-07-25
  • 发帖数5917
  • QQ14265545
  • 铜币29669枚
  • 威望217点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • GIS帝国铁杆
3楼#
发布于:2003-08-05 10:59
我也想去浪费啊
不过没资格去
没钱又丑,农村户口。头可断,发型一定不能乱。 邮箱:gisempire@qq.com
举报 回复(0) 喜欢(0)     评分
tim
tim
路人甲
路人甲
  • 注册日期2003-07-31
  • 发帖数37
  • QQ
  • 铜币200枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2003-08-06 11:01
按我的理解,和IMS for MO差不多吧。
还算是一种实现Webgis的办法,只是有点土。

网上都有免费的java代码实现WebGIS比这强多了
举报 回复(0) 喜欢(0)     评分
wavvylia
路人甲
路人甲
  • 注册日期2003-07-28
  • 发帖数384
  • QQ
  • 铜币555枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2003-08-08 11:02
楼上的老兄说说哪里有免费的java代码?
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
6楼#
发布于:2003-08-17 17:53
哈哈,看来楼上wavvylia兄弟对代码很有兴趣
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
djcheng2003
路人甲
路人甲
  • 注册日期2003-08-11
  • 发帖数260
  • QQ
  • 铜币596枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2003-08-22 10:34
举报 回复(0) 喜欢(0)     评分
wavvylia
路人甲
路人甲
  • 注册日期2003-07-28
  • 发帖数384
  • QQ
  • 铜币555枚
  • 威望0点
  • 贡献值0点
  • 银元0个
8楼#
发布于:2003-08-22 12:18
没办法,没有资料,只好找些代码来看了!
举报 回复(0) 喜欢(0)     评分
tyfx
路人甲
路人甲
  • 注册日期2003-08-18
  • 发帖数185
  • QQ
  • 铜币442枚
  • 威望0点
  • 贡献值0点
  • 银元0个
9楼#
发布于:2003-09-09 10:49
UP
举报 回复(0) 喜欢(0)     评分
上一页
游客

返回顶部