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

上传人:zhan****gclb 文档编号:102573990 上传时间:2022-06-07 格式:DOC 页数:9 大小:2.26MB
收藏 版权申诉 举报 下载
基于ArcGIS 的空间数据共享平台的设计与实现_第1页
第1页 / 共9页
基于ArcGIS 的空间数据共享平台的设计与实现_第2页
第2页 / 共9页
基于ArcGIS 的空间数据共享平台的设计与实现_第3页
第3页 / 共9页
资源描述:

《基于ArcGIS 的空间数据共享平台的设计与实现》由会员分享,可在线阅读,更多相关《基于ArcGIS 的空间数据共享平台的设计与实现(9页珍藏版)》请在装配图网上搜索。

1、基于ArcGIS 的空间数据共享平台的设计与实现张敏(核工业计算机应用研究所) 摘要:随着GIS技术的不断发展,各级林业部门对空间数据的需求日益增高。文章以ArcSDE9.1作为空间数据引擎,利用ORACLE10g建立海量空间数据库,通过远程访问ArcIMS9.1 的服务获得数据,同时可加载本地数据,以Visual C+6.0 为开发平台,以ArcGIS Engine9.1为开发组件,开发了基于网络的海量空间数据共享平台,能够为各终端用户提供数据浏览、下载等服务。关键词 ArcGIS Engine 空间数据共享 VC+ 设计随着网络技术和GIS的快速发展,人们对空间数据的需求也日益增大,空间数

2、据对天气预报、自然灾害监测、气候变化监测、生态环境监测与评估研究等极具价值。传统的空间数据显示和管理系统与日益增长的海量空间数据已越来越不协调。传统的GIS领域对于三维地物的模拟、浏览方法不但建模复杂、操作繁琐,也难以脱离一些专业软件环境,如何高效率地使用和管理GIS中的空间数据,特别是三维数据,已经成为GIS领域研究的一个趋势。因此,建立基于网络和GIS技术的空间数据共享服务平台,解决好空间数据的共享就成为一项非常必要的工作。1、系统分析整个系统包括以下几个部分:(1) 系统采用功能强大、运行高效的Vc+6.0作为前台的开发工具,界面采用多视图自定义窗体,除主视图外均为浮动窗口,方便了人机交

3、互。系统采用完全面向对象的开发方法,使系统易于维护和扩展。(2)系统的核心功能用ArcGIS Engine开发包实现,它是一套地图制图组件和开发资源库,可以让开发人员实现动态制图和GIS功能。使用ArcGIS Engine开发包,开发人员在为地图创建定制界面时有了前所未有的灵活性。开发人员可以使用多种具有行业标准的交互式开发环境来创建先进的GIS应用程序。ArcGIS Engine的功能非常强大,其中的ArcGIS3D分析扩展中提供了一个新的GlobeControl组件,用来以全新的方法对多分辨率全球数据可视化。允许用户对海量三维数据进行可视化和分析,并且速度很快。应用 ArcGlobe 可以

4、方便地在三维环境中漫游的地球并实时地对海量(数百 G )三维栅格,地表和矢量数据集的连续漫游和缩放,用户能非常快地从整个地球的视图“钻”到一个高分辨率的视图近距离的视图,并可查询相关的属性表。(3)数据服务采用ArcIMS提供,ArcIMS可以运行在一个分布式环境中,包含客户端和服务器组件。ArcIMS是一个可伸缩的、基于网络制图和分布式GIS的新一代软件系统,。Web服务器通过ArcIMS连接器与应用服务器连接,应用服务器请求的数据从空间服务器中获得;它处理所有请求的地图数据和相关的信息;用ArcIMS构建的GIS网站允许任意数量的用户通过Internet或Intranet访问和交互操作,能

5、够为浏览器端的客户提供GIS地图、数据和应用等服务。(4)系统采用ArcSDE作为空间数据库引擎,ArcSDE对海量空间数据的存储和多用户并发访问提供了很好的支持,并可通过SDE应用编程接口(SDE API)向SDE服务器提出空间数据请求,SDE服务器依据空间对象的特点在本地完成空间数据的搜索,并将搜索结果通过网络向用户的应用程序返回。海量空间数据库采用著名Oracle数据库,它能支持海量数据、多用户的高性能的事务处理;能实施安全性控制和完整性控制;支持分布式数据库和分布处理。通过两者的结合, 实现多类型、多尺度、多时态空间数据的集成化管理;解决海量、大范围连续空间数据的高效存储和管理;提供跨

6、平台的网络数据库管理;提供数据安全保障机制。共享系统界面ArcEngine9.1ArcIMS9.1WebServerArcSDE9.1Oracle10ginternet/intranet客户端(表现层)应用服务层空间数据库服务器图1 系统结构图2 系统设计分析2.1 核心模块设计系统核心模块主要为两个类:CLayerManage类和CData类。CLayerManage类主要完成远程、本地数据的加载。CDate类主要完成数据的查询及处理。其定义如下:class CLayerManage public:BOOL GetLayerFromIMSImageServer(CString Url,CSt

7、ring 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 GetItemByFile

8、Name(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(B

9、STR psXML);2.2 系统配置服务器端配置:服务器为DELL6200,硬盘2T,内存4G,前兆网卡。客户端配置:推荐物理1G内存,显卡推荐128M以上独显,硬盘不低于30G。网络设备配置:一个快速以太网交换机(至少8口)、网线若干,宽带接入。软件配置:Windows2000或以上、ArcGIS Engine Runtime、DirectX8.1或以上。2.3 系统的功能模块实验系统的功能包括:数据加载,包括远程数据和本地数据;空间数据的浏览、查询和分析功能,三维漫游;GIS的基本功能:地图的放大、缩小、漫游、图层操作等;以及在此基础上实现的空间属性信息双向查询;覆盖全国数据影响的元数据

10、查看及下载等,实现空间信息的共享。具体如图3所示。空间信息共享平台远程数据加载本地数据加载图层操作数据查询数据浏览数据下载添加图层删除图层图层属性空间数据查询属性数据查询三维影像漫游多分辨率数据浏览漫游元数据信息查看空间位置查询遥感影像下载元数据下载图三 系统功能图3 系统建立3.1 数据的搜集与整理其内容主要包括确定数据来源、数据分界、数据质量和专题数据的组织结构等。这一步对于空间数据库的权威性、可靠性至关重要,应予以高度重视。本系统所共享的数据包括7层不同分辨率的栅格或矢量数据。分别为:全球NOAA影像,国界图,中国区划图,省界,地区界,县界,部分地区快鸟及DEM数据,数据总量达600G左

11、右。3.2 数宇化对于基础数据采用扫描并矢量化的方法,扫描后会产生一定的偏差,须经过ERDAS等图形处理软件进行几何变换以及坐标、投影转换等调整,以符合系统要求。3.3 系统开发3.3.1 加入控件和导入库本实验系统使用了ArcGIS Engine组件库中的ToolbarControl、TOCControl和GlobeControl等现有的组件,来简化程序的代码编写,提高开发效率。ToolbarControl控件可以加入放大、缩小、漫游等地图操作工具。3维可视化的控件GlobeControl则具有显示三维文档、图层数据和对鼠标操作作出响应的功能。TOCControl实现对图层的控制。在VC+中

12、,通过组件库和控件结合来开发三维分析程序时,使用Add To Project加入控件,同时需要导入相应的类型库。利用#import伪指令引入类型库,将import指令写在StdAfxh文件中,如下所示:#import c:Program FilesArcGISCOMesriSystem.olb raw_interfaces_only raw_native_types no_namespace named_guids exclude(OLE_COLOR, OLE_HANDLE)#import c:Program FilesArcGISCOMesriGeometry.olb raw_interfa

13、ces_only raw_native_types no_namespace named_guids exclude(OLE_COLOR, OLE_HANDLE)#import c:Program FilesArcGISCOMesriGeoDatabase.olb aw_interfaces_only raw_native_types no_namespace named_guids exclude(OLE_COLOR, OLE_HANDLE)#import c:Program FilesArcGISCOMesriGeoDatabase.olb aw_interfaces_only raw_n

14、ative_types no_namespace named_guids exclude(OLE_COLOR, OLE_HANDLE)#import c:Program FilesArcGISCOMesriCarto.olb raw_interfaces_only raw_native_types no_namespace named_guids exclude(OLE_COLOR, OLE_HANDLE)#import c:Program FilesArcGISCOMesri3DAnalyst.olb raw_interfaces_only raw_native_types no_names

15、pace named_guids exclude(OLE_COLOR, OLE_HANDLE)3.3.2 界面开发通过加载ArcGIS Engine组件库中的ToolbarControl、TOCControl和GlobeControl控件,再加上自定义的listctl,treectl,tabctrl等完成相关界面的开发。左侧视图为查询条件及图层控制,图层控制主要由ToolbarControl控件完成来实现对地图的打开、浏览等操作;底部视图显示查询结果;右侧为主视图,主视图上方TocControl控件主要控制专题地图的分层显示与管理,GlobeControl是本系统的核心控件,实现对专题地图的三

16、维浏览、漫游以及控制显示。如图四所示:以下代码实现GlobeControl和ToolbarControl相关联。LPUNKNOWN pUnk = m_ctlGlobe.GetControlUnknown();LPDISPATCH pDisp = 0;pUnk-QueryInterface(IID_IDispatch, (void *) &pDisp);m_ctlGlobeTool.SetBuddyControl(pDisp);pDisp-Release();3.3.3 数据加载通过远程访问已建立的ArcIMS服务来获得所需数据,用户可根据不同的条件,如卫星类型、数据的获得时间、云层覆盖度、经纬

17、度、行政区划、分幅等条件从服务器获得相应的元数据。(1) 加载地图数据:IIMSServiceDescriptionPtr pImsSvrDesc;HRESULT hr=pImsSvrDesc.CreateInstance(CLSID_IMSServiceName);pImsSvrDesc-put_URL(_bstr_t)Url);pImsSvrDesc-put_Name(_bstr_t)ServiveName);IIMSMapLayerPtr pImsMap; hr=pImsMap.CreateInstance(CLSID_IMSMapLayer);pImsSvrDesc-put_Servi

18、ceType(acServiceType)acMapService);hr=pImsMap-ConnectToService(pImsSvrDesc);ILayerPtr lp=pImsMap.Detach();pg-AddLayerType(lp, esriGlobeLayerTypeDraped, FALSE); (2) 获得元数据IQueryFilterPtr pQf(CLSID_QueryFilter);IFeatureCursorPtr pFCur;IFeatureClassPtr pFLCls;pView-m_pLayer-get_FeatureClass(&pFLCls);pQf

19、-put_WhereClause(_bstr_t)sWhere);pFLCls-Search(pQf,FALSE,&pFCur);图四 数据加载3.3.4 数据查询根据空间对象的某些属性信息,查找符合一定条件的空间对象在实际应用开发过程中是一种很常见的应用。系统可以由属性查空间对象,也可以由空间对象查属性,因实现方法类似,在此时说明由属性来查找空间对象的位置信息。首先要使用ArcGIS Engine的查询过滤器QueryFilter,通过WhereClause属性来设置查询的条件,查询条件可以是较复杂的组合SQL查询条件,对目标要素类使用该查询条件即可获得符合条件的要素集。IQueryFilt

20、erPtr pQf(CLSID_QueryFilter);IFeatureCursorPtr pFCur; IFeatureClassPtr pFLCls;m_pLayer-get_FeatureClass(&pFLCls);pQf-put_WhereClause(_bstr_t)sWhere);pFLCls-Search(pQf,FALSE,&pFCur);IFeaturePtr pFt;if (pFCur)pFCur-NextFeature(&pFt);IScenePtr pSence;this-m_pGlobeDisplay-get_Scene(&pSence);pSence-Clear

21、Selection();pSence-SelectFeature(m_pLayer,pFt); 图五 数据查询3.3.5 三维漫游系统可加载DEM(数字高程模型)数据,进行三维模型的缩放、旋转、飞行等操作,来查看实际地形特征空间分布,给人更真实的视觉感受。图六 DEM三维图像3.3.6 元数据查看及下载当用户选择查询结果集中某一行时查看或下载相关的元数据,当用户点击元数据列时,用户可查看元数据的详细属性:如下图:图七 元数据详细属性当用户点击真实数据列时,用户可查看与元数据相关的真实影像:如下图:图八 元数据真实影像当用户点击数据下载列时,用户可下载此元数据信息:如下图:图九 元数据下载4 结

22、论与展望1)使用ArcGIS Engine和ArcIMS来建立空间数据共享平台在目前尚未发现先例。本系统采用ArcGIS Engine嵌入式的组件开发技术,使得客户端脱离了复杂且昂贵得ArcGIS环境,方便了用户且节省了软件成本。2)采用瓦片及缓存技术,克服了浏览速度的瓶颈。3)形成了一个实用的运行系统,实现了林业部门共享海量空间数据的目的。4)另外,此开发方法还可以应用于林业管理部门的相关工作,如退耕还林、林业可视化经营、森林防火等提供科学的决策依据,其应用前景非常广阔。参考文献1 余英,梁刚Visual C+一实践与提高:COM和COM+篇 M北京:中国铁道出版社,2001P95982 潘

23、爱民COM原理与应用M北京:清华大学出版社,3 谢小蕙,向南平. 基于ArcGIS Engine的开发原理和方法的探讨. 城市勘测, 2006, 2:46-48,614 肖海,武伟,刘洪斌. 基于ArcGIS Engine的农业资源信息管理系统的研究. 计算机与现代化, 2006,1:76-785 桂润堂,钟霞,薛重生. 基于ArcSDE空间数据库引擎技术的应用研究.微机发展, 2003,13(01) :50-51,546 窦长娥,刘仁义,刘南. 基于ArcIMS的旅游地理信息系统设计与实现.计算机应用研究, 2006,23(9) :160-162,1657 魏安世,李伟等. 基于ArcGIS

24、 Engine的森林资源管理信息系统设计与开发. 广东林业科技, 2006,22(2) :31-368 肖海,武伟,刘洪斌. 基于ArcGIS Engine的三维地物平台的建立以重庆忠县果园管理为例. 西南农业大学学报, 2006,28(1) :103-105,1109 孟爽,黄牧涛. 基于ArcGIS Engine的灌区管理信息系统设计与实现. 中国农村水利水电, 2006,4:16-17,2010 吴玮,李小帅,张斌. 基于ArcGIS Engine的GIS开发技术探讨. 科学技术与工程, 2006, 6(2) :176-17811 ESRI Support Center , 2006-1

25、1-2312 胡光. 基于Oracle和ArcSDE的森工林区空间数据库建设的技术要点. 林业调查规划,2006,31(1):33-37Design and Development of Spatial Data Sharing and Integration Platform Based on ArcGIS EngineZhang Min1, Zhang Huai-qing2(1 Beijing Forestry University, Beijing 10083,China2 Institu te of R esou rce and Inf orm ation, Ch inese A ca

26、d emy of Forestry ,B eij ing 100091, Ch ian )Abstract:With developing of GIS technology, the demand of county-level forestry bureau for Spatial Data is higher and higher. we developed Spatial Data Sharing and Integration Platform based on components, database, integration and other technology. We es

27、tablished GeoDatabase using Oracle10g, developed Sharing platform based on Network, ArcSDE as engine of special data, ArcGIS Engine as developing components, Visual C+ as developing tools, the system get data by Access Remote Data based on ArcIMS and can load data from local files too, which can pro

28、vide terminals the services such as data browse,download etc.随着GIS技术的不断发展,各级林业部门对空间数据的需求日益增高。文章以ArcSDE9.1作为空间数据引擎,利用ORACLE10g建立海量空间数据库,通过远程访问ArcIMS9.1 的服务获得数据,同时可加载本地数据,以Visual C+6.0 为开发平台,以ArcGIS Engine9.1为开发组件,开发了基于网络的海量空间数据共享平台,能够为各终端用户提供数据浏览、下载等服务。作者简介:张敏(1975),男,河北人,北京林业大学硕士研究生,研究方向:林业虚拟现实技术,3维地理信息系统。 Email:zm7542通讯作者:张怀清,男,中国林科院资源信息研究所,首席专家,研究方向:3S技术,林业虚拟现实技术。 Email:zhang

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!