会员注册 | 登录 | 微信快捷登录 支付宝快捷登录 QQ登录 微博登录 | 帮助中心 人人文库renrendoc.com美如初恋!
站内搜索 百度文库

热门搜索: 直缝焊接机 矿井提升机 循环球式转向器图纸 机器人手爪发展史 管道机器人dwg 动平衡试验台设计

   首页 人人文库网 > 资源分类 > DOC文档下载

基于MapObjects 的地名公共服务系统开发.doc

  • 资源星级:
  • 资源大小:124.50KB   全文页数:3页
  • 资源格式: DOC        下载权限:注册会员/VIP会员
您还没有登陆,请先登录。登陆后即可下载此文档。
  合作网站登录: 微信快捷登录 支付宝快捷登录   QQ登录   微博登录
友情提示
2:本站资源不支持迅雷下载,请使用浏览器直接下载(不支持QQ浏览器)
3:本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

基于MapObjects 的地名公共服务系统开发.doc

专业文档,值得下载专业文档,值得珍藏基于MapObjects的地名公共服务系统开发王耿峰①朱岩①周莎①宋华伟①①解放军信息工程大学测绘学院郑州450052Emailshame2sohu.com摘要本文介绍了GIS组件MapObjects的特点,并以许昌市地名公共服务系统为例,探讨了基于组件式GIS开发城市基础地理信息系统的方法。关键词地名服务MapObjectsGISABSTRACTThisarticleintroducesthecharacteristicofGISCOMMapObjectsandtakestheXuchangPlacenameServiceSystemforexample,talksaboutthemethodofdevelopingCityBasicGISbasedonComGIS.KeywordsPlacenameServiceMapObjectsGIS1.引言随着国民经济的飞速发展,地理信息系统(GeographicInformationSystem,简称GIS)的应用已经遍及生活的各个方面,除了传统的地理、地质、交通、测绘等领域外,在气象、环境、水利、电力、建筑以及以往和地理毫无关系的政务管理等领域也有了很大的应用,可以毫不夸张的说GIS的时代已经来临目前,城市地理信息系统的建设在全国各大、中型城市中已经如火如荼的展开,其建设的好坏,也是一个城市信息化水平的重要标志。地名查询服务系统作为城市地理信息系统的一种,主要为民众提供出行参考、地名查找、风景名胜区查询等方面的空间信息服务,经过笔者所参与开发的许昌市地名公共服务系统的投入使用,证明具有很好的现实应用意义。2.组件MapObjects简介GIS开发分为三种方法(1)独立开发,指开发者在一定的操作系统平台上利用可视化的编程语言,不依赖于任何GIS工具软件,从空间数据的采集、编辑到数据的处理分析及结果输出,所有的算法都由开发者独立设计,但这种开发方式对于大多数开发者来说,能力、时间、财力方面的限制使其开发出来的产品很难在功能上与商业化GIS工具软件相比(2)二次开发,指在专业GIS软件平台下,利用其提供的二次开发脚本语言进行GIS开发,但专业软件相对独立封闭,随着功能的增多而日益庞大,用户难以掌握,且价格昂贵(3)组件式GIS开发,允许开发人员在可视化的开发环境中(如Delphi、VB、VC等)直接进行GIS功能的开发,既不需要学习新的GIS二次开发语言,又可以和一般的应用程序集成,很好地满足了广大GIS用户的需要。组件技术是组件式GIS开发的基础,COMComponentsObjectsMode,组件式对象模型是一种开发对象组件的二进制形式的标准,可理解为一种体系结构或框架模型。COM要求基于这种标准所开发出的组件应由若干对象和对象的接口组成,接口在形式上表现为对象的属性、方法和事件,基于这种模型开发出的组件称为COM组件。组件式GIS的基本思想就是把GIS各大功能模块划分为几个具有不同功能的控件,各控件之间可以方便地通过开发工具集成起来,形成最终的GIS应用。MapObjects是全球最大的GIS软件供应商ESRI公司在业界最早推出的GIS软件组件,是基于COM技术的地图应用组件,也是全球范围内使用最广的GIS组件。MapObjects由一个称为Map的ActiveX控件和一组大约45个自动化对象组成,在标准的Windows编程环境下,能够与其他图形、多媒体、数据库开发技术组成完全独立的综合性应用软件,是基于前端应用业务的良好的地图开发环境。2.1MapObjects的数据结构在MapObjects中一个综合性的地图由多个图层构成,图层可以是GIS矢量图层,也可以是CAD图层或者影像数据。对于GIS和CAD的矢量图层,其内部统一用记录集(Recordset)来表达。记录集如同关系数据库中的二维表,行表示每个要素、列表示每个属性。如果含有名称为Shape的列,则该记录集表示的是地图要素,否则表示的是普通的数据库表格。Shape字段以面向对象的技术封装了要素的图形部分,它把图形划分为点、线、面三种类型并且引入了部件(Part)的概念,由点构成部件,线和面则由部件构成。2.2MapObjects的体系结构MapObjects的可编程对象根据其功能的不同可分为6大组(1)地址匹配对象组、(2)数据访问对象专业文档,值得下载专业文档,值得珍藏组、(3)地图显示对象组、(4)几何图形对象组、(5)投影对象组、(6)实用对象组。每组对象组又包括一系列对象,一个对象负责地图一方面的功能。2.3MapObjects的基本功能依据MapObjects所提供的功能接口,常用的地图功能基本都能实现(1)显示、浏览(放大、缩小、漫游)一张多图层地图道路,河流,居民地(2)显示、生成、选择、识别图形组件(如点,线,圆,多边形等)(3)显示、编辑地图要素的属性数据、标注、说明、字符等(4)按照名称、距离、SQL描述、要素属性值查询要素(5)绘制专题图、点密度图和饼状柱状图表(6)显示多种格式的地图数据(矢量、栅格等)(7)动态地图数据的显示、查询和分析(8)转换地图数据的坐标系统(9)输出地址匹配的地理对象(10)基本统计、空间分析算子(Buffer,Union等)。3.基于MapObjects的许昌市地名公共服务系统开发3.1、系统功能设计图(1)系统应用界面系统的主要目的是为了服务市民,为市民提供城市公共地理信息服务,主要为市民提供出行参考、地名查询及目标地物属性显示等方面的服务。系统包括电子地图控制模块、电子地图显示模块、地名查询模块、在线帮助模块四部分。电子地图控制模块实现控制地图和图层的显示功能,可以根据实际需要来选择所要显示的图层电子地图显示模块实现地图的放大、缩小、漫游、刷新以及地图鹰眼等功能地名查询模块是该系统的核心部分,实现通过地名查找、点选、框选等方式选择并查询目标地物的信息,以及查询最近目标、距离量算、面积量算、地名定位等功能,其中,我们将着重讨论一下通过地名查找目标地物并在地图上定位及目标地物属性显示的实现方法用户帮助模块解决用户使用时的疑问。系统应用界面如图(1)所示。3.2、系统数据组织系统的数据分为地理空间数据和属性数据,分别以SHAPE文件格式和关系型数据库的形式存储。由于系统的数据量并不算太大,系统采用了MicrosoftAccess数据库管理工具管理属性数据。在数据库中分层次建立了党政机关图层信息表、事业单位图层信息表、企业图层信息表、医疗卫生图层信息表、文化教育图层信息表、交通运输图层信息表、商业服务图层信息表等多个表,通过这些表可以实现查询目标地物的相关属性信息。3.3、系统功能实现系统采用VisualStudio.NET2003作为开发平台,整个系统使用MapObjectsC模式编程。MapObjects的使用较为简单,在VisualBasic、Delphi、VisualC、VisualC#等能够支持控件开发的编程环境下,将MapObjects插入到编程环境中,即可通过调用接口实现控件的各种方法。在.NET框架下的VisualC#开发环境中引用MapObjects,在成功安装MapObjects后,在编程环境中新建一个Windows应用工程,从Project菜单中选择AddReference命令打开工程的添加引用对话框,并切换到COM标签页,在标签页的列表框选项中选择ESRIMapObjects2.3单击OK按钮将MapObjects组件的引用添加到工程中。在完成添加后,选择View菜单中的Toolbox命令,激活工具箱窗口,然后在Toolbox窗口切换到General选项页,在其中单击右键选择弹出的CustomizeToolbox命令打开自定义工具箱的对话框,在对话框中选中MapObjects2.3MapControl前面的复选框,确定后将MapObjects的地图控件加入到工具箱中。这样即可在编程环境中如同引用其他控件一样引用MapObjects的地图控件。专业文档,值得下载专业文档,值得珍藏下面着重讨论一下系统部分功能的实现(1)图层的加载与显示MapObjects2.DataConnectiondcnewMapObjects2.DataConnectionClassdc.DatabaseE\许昌地名\Dataifdc.Connect{MapObjects2.MapLayerlayer1newMapObjects2.MapLayerClasslayer1.Symbol.ColoruintMapObjects2.ColorConstants.moLightYellowlayer1.GeoDatasetdc.FindGeoDatasetCITYMAPthis.axMap1.Layers.Addlayer1this.axMap1.CtlRefresh}2图层的放大、缩小、漫游与全图显示放大axMap1.ExtentaxMap1.TrackRectangle//拉框放大缩小MapObjects2.RectanglerectaxMap1.Extentrect.ScaleRectangle2漫游axMap1.pan全图显示axMap1.ExtentaxMap1.FullExtent3地名查询地名查询是该系统的核心部分,它包括两个方面其一是通过选择列表框中目标地物的名称来对目标地物进行定位,并闪烁显示其二是在地图上点击目标地物,从而显示目标地物的属性信息。其中点击地物显示相关属性信息的实施步骤为捕获目标地物点、连接相关图层信息表、读取相关字段,在此就不做过多的介绍。通过地名在地图上定位目标地物的实现代码如下privatevoidlistBox1_SelectedIndexChangedobjectsender,System.EventArgse{stringslistBox1.SelectedItem.ToStringMapObjects2.RecordsetrfnullMapObjects2.PointshpnewMapObjects2.PointClassMapObjects2.MapLayerlfnewMapObjects2.MapObjects2.MapLayerClasslfMapObjects2.MapLayeraxMap1.Layers.ItemLPointrflyf.SearchExpressionNAMEsshprf.Fields.Itemshape.ValueaxMap1.FlashShapeshp,3axMap1.CtlRefresh}4.结语一方面,随着城市的发展、人民生活水平的进步,公众对城市基础地理信息系统的需求不断增加另一方面,随着组件式GIS的出现与发展,基于GIS组件的地理信息系统开发方法把GIS带入了一个新的发展时期。正所谓技术推动,需求牵引,相信随着基于组件式GIS进行地理信息系统开发技术的进一步成熟,更多的服务于广大市民的公众的、基础性的GIS会相继的出现。参考文献1边馥苓.GIS地理信息系统原理和方法北京测绘出版社,1996.2邬伦.地理信息系统原理、方法和应用.科学出版社,2001.3宋关福,钟耳顺.组件式地理信息系统研究与开发.中国图形图像学报,1998.4薛伟.MapObjects地理信息系统程序设计.北京国防工业出版社,2004.5刘光.地理信息系统二次开发实例教程C和MapObjects实现.北京清华大学出版社,2003.6刘光,刘小东.地理信息系统二次开发教程组件篇.北京清华大学出版社,2004.7MickeyWilliams.MicrosoftVisualC.NETCoreReference.北京清华大学出版社,2003.8ESRI.Inc.http//www.esri.com.更多测绘论文请登录测绘网论文频道查询http/www.cehuiwang.com

注意事项

本文(基于MapObjects 的地名公共服务系统开发.doc)为本站会员(dingyx0101)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网([email protected]),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。

copyright@ 2015-2017 人人文库网网站版权所有
苏ICP备12009002号-5