基于ArcGIS 的空间数据共享平台的设计与实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于ArcGIS 的空间数据共享平台的设计与实现

张敏

(核工业计算机应用研究所)

[摘要]:随着GIS技术的不断发展,各级林业部门对空间数据的需求日益增高。文章以ArcSDE9.1作为空间数据引擎,利用ORACLE10g建立海量空间数据库,通过远程访问ArcIMS9.1 的服务获得数据,同时可加载本地数据,以Visual C++6.0 为开发平台,以ArcGIS Engine9.1为开发组件,开发了基于网络的海量空间数据共享平台,能够为各终端用户提供数据浏览、下载等服务。

[关键词] ArcGIS Engine 空间数据共享VC++ 设计

随着网络技术和GIS的快速发展,人们对空间数据的需求也日益增大,空间数据对天气预报、自然灾害监测、气候变化监测、生态环境监测与评估研究等极具价值。传统的空间数据显示和管理系统与日益增长的海量空间数据已越来越不协调。传统的GIS领域对于三维地物的模拟、浏览方法不但建模复杂、操作繁琐,也难以脱离一些专业软件环境,如何高效率地使用和管理GIS中的空间数据,特别是三维数据,已经成为GIS领域研究的一个趋势。因此,建立基于网络和GIS技术的空间数据共享服务平台,解决好空间数据的共享就成为一项非常必要的工作。

1、系统分析

整个系统包括以下几个部分:

(1)系统采用功能强大、运行高效的Vc++6.0作为前台的开发工具,界面采用多视图自定义窗体,除主视图外均为浮动窗口,方便了人机交互。系统采用完全面向对象的开

发方法,使系统易于维护和扩展。

(2).系统的核心功能用ArcGIS Engine开发包实现,它是一套地图制图组件和开发资源库,可以让开发人员实现动态制图和GIS功能。使用ArcGIS Engine开发包,开发人员在为地图创建定制界面时有了前所未有的灵活性。开发人员可以使用多种具有行业标准的交互式开发环境来创建先进的GIS应用程序。ArcGIS Engine的功能非常强大,其中的ArcGIS3D分析扩展中提供了一个新的GlobeControl组件,用来以全新的方法对多分辨率全球数据可视化。允许用户对海量三维数据进行可视化和分析,并且速度很快。应用ArcGlobe 可以方便地在三维环境中漫游的地球并实时地对海量(数百G )三维栅格,地表和矢量数据集的连续漫游和缩放,用户能非常快地从整个地球的视图“钻”到一个高分辨率的视图近距离的视图,并可查询相关的属性表。

(3)数据服务采用ArcIMS提供,ArcIMS可以运行在一个分布式环境中,包含客户端和服务器组件。ArcIMS是一个可伸缩的、基于网络制图和分布式GIS的新一代软件系统,。Web 服务器通过ArcIMS连接器与应用服务器连接,应用服务器请求的数据从空间服务器中获得;它处理所有请求的地图数据和相关的信息;用ArcIMS构建的GIS网站允许任意数量的用户通过Internet或Intranet访问和交互操作,能够为浏览器端的客户提供GIS地图、数据和应用等服务。

(4)系统采用ArcSDE作为空间数据库引擎,ArcSDE对海量空间数据的存储和多用户并发访问提供了很好的支持,并可通过SDE应用编程接口(SDE API)向SDE服务器提出空间数据请求,SDE服务器依据空间对象的特点在本地完成空间数据的搜索,并将搜索结果通过网络向用户的应用程序返回。海量空间数据库采用著名Oracle数据库,它能支持海量数据、多用户的高性能的事务处理;能实施安全性控制和完整性控制;支持分布式数据库和分布处理。

通过两者的结合,

实现多类型、多尺度、多时态空间数据的集成化管理;解决海量、大范围连续空间数据的高效存储和管理;提供跨平台的网络数据库管理;提供数据安全保障机制。

图1 系统结构图

2 系统设计分析

2.1 核心模块设计

系统核心模块主要为两个类:CLayerManage类和CData类。CLayerManage类主要完成远程、本地数据的加载。CDate类主要完成数据的查询及处理。

其定义如下:

class CLayerManage

{

public:

BOOL GetLayerFromIMSImageServer(CString Url,CString ServiveName,ILayer **Layer);

BOOL GetLayerFromIMSFeatureServer(CString Url,CString ServiveName,ILayer** Layer);

CLayerManage();

virtual ~CLayerManage();

public:

BOOL CreateRasterLayer(CString sFile,ILayer **Layer);

BOOL CreateFeatureLayer(CString sFile,ILayer **Layer);

};

class CData

{

public:

BOOL GetItemByFileName(CString sFileName,DB_METADATA * pMeta);

void GetDataFromImsByID(CString sLayerID="0",CString sWhere=" 1=1");

void GetDataFromImsByName(CString sLayerName,BSTR sWhere);

void GetDataFromLayer(BSTR sWhere);

CData();

virtual ~CData();

CArray m_aMetaData;

private:

void GetDataFromXml(BSTR psXML);

void XmlParser(BSTR psXML);

};

2.2 系统配置

服务器端配置:服务器为DELL6200,硬盘2T,内存4G,前兆网卡。

客户端配置:推荐物理1G内存,显卡推荐128M以上独显,硬盘不低于30G。

网络设备配置:一个快速以太网交换机(至少8口)、网线若干,宽带接入。

软件配置:Windows2000或以上、ArcGIS Engine Runtime、DirectX8.1或以上。

2.3 系统的功能模块

实验系统的功能包括:数据加载,包括远程数据和本地数据;空间数据的浏览、查询和分析功能,三维漫游;GIS的基本功能:地图的放大、缩小、漫游、图层操作等;以及在此基础上实现的空间/属性信息双向查询;覆盖全国数据影响的元数据查看及下载等,实现空间信

息的共享。具体如图3所示。

图三系统功能图

3 系统建立

3.1 数据的搜集与整理

其内容主要包括确定数据来源、数据分界、数据质量和专题数据的组织结构等。这一步对于空间数据库的权威性、可靠性至关重要,应予以高度重视。本系统所共享的数据包括7层不同分辨率的栅格或矢量数据。分别为:全球NOAA影像,国界图,中国区划图,省界,地区界,县界,部分地区快鸟及DEM数据,数据总量达600G左右。

3.2 数宇化

对于基础数据采用扫描并矢量化的方法,扫描后会产生一定的偏差,须经过ERDAS等图形处理软件进行几何变换以及坐标、投影转换等调整,以符合系统要求。

3.3 系统开发

3.3.1 加入控件和导入库

相关文档
最新文档