毕业论文(设计)-基于mapobjects 的地名公共服务系统开发13846

上传人:aa****6 文档编号:38211247 上传时间:2018-04-28 格式:DOC 页数:6 大小:374KB
返回 下载 相关 举报
毕业论文(设计)-基于mapobjects 的地名公共服务系统开发13846_第1页
第1页 / 共6页
毕业论文(设计)-基于mapobjects 的地名公共服务系统开发13846_第2页
第2页 / 共6页
毕业论文(设计)-基于mapobjects 的地名公共服务系统开发13846_第3页
第3页 / 共6页
毕业论文(设计)-基于mapobjects 的地名公共服务系统开发13846_第4页
第4页 / 共6页
毕业论文(设计)-基于mapobjects 的地名公共服务系统开发13846_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《毕业论文(设计)-基于mapobjects 的地名公共服务系统开发13846》由会员分享,可在线阅读,更多相关《毕业论文(设计)-基于mapobjects 的地名公共服务系统开发13846(6页珍藏版)》请在金锄头文库上搜索。

1、专业好文档更多测绘论文请登录测绘网论文频道查询:更多测绘论文请登录测绘网论文频道查询:http:/ 客服热线:010-基于基于 MapObjectsMapObjects 的地名公共服务系统开发的地名公共服务系统开发王耿峰 朱岩 周莎 宋华伟解放军信息工程大学测绘学院 郑州 Email:摘要:本文介绍了 GIS 组件MapObjects 的特点,并以许昌市地名公共服务系统为例,探讨了基于组件式GIS 开发城市基础地理信息系统的方法。关键词:地名服务;MapObjects;GIS;ABSTRACT: This article introduces the characteristic of GIS

2、 COMMapObjects; and takes the Xuchang Placename Service System for example, talks about the method of developing City Basic GIS based on ComGIS. Keywords: Placename Service; MapObjects; GIS;1. 引言: 随着国民经济的飞速发展,地理信息系统(Geographic Information System,简称 GIS)的应用已 经遍及生活的各个方面,除了传统的地理、地质、交通、测绘等领域外,在气象、环境、水利、

3、电力、 建筑以及以往和地理毫无关系的政务管理等领域也有了很大的应用,可以毫不夸张的说 GIS 的时代已经 来临!目前,城市地理信息系统的建设在全国各大、中型城市中已经如火如荼的展开,其建设的好坏, 也是一个城市信息化水平的重要标志。地名查询服务系统作为城市地理信息系统的一种,主要为民众提 供出行参考、地名查找、风景名胜区查询等方面的空间信息服务,经过笔者所参与开发的许昌市地名公 共服务系统的投入使用,证明具有很好的现实应用意义。 2. 组件 MapObjects 简介: GIS 开发分为三种方法:(1)独立开发, 指开发者在一定的操作系统平台上利用可视化的编程语言, 不依赖于任何 GIS 工具

4、软件,从空间数据的采集、编辑到数据的处理分析及结果输出,所有的算法都由 开发者独立设计,但这种开发方式对于大多数开发者来说,能力、时间、财力方面的限制使其开发出来 的产品很难在功能上与商业化 GIS 工具软件相比;(2)二次开发,指在专业 GIS 软件平台下,利用其提 供的二次开发脚本语言进行 GIS 开发,但专业软件相对独立封闭,随着功能的增多而日益庞大,用户难 以掌握,且价格昂贵;(3)组件式 GIS 开发,允许开发人员在可视化的开发环境中(如 Delphi、VB、VC+等)直接进行 GIS 功能的开发,既不需要学习新的 GIS 二次开发语言,又可以和一般 的应用程序集成,很好地满足了广大

5、 GIS 用户的需要。 组件技术是组件式 GIS 开发的基础,COM(Components Objects Mode,组件式对象模型)是一种开发 对象组件的二进制形式的标准,可理解为一种体系结构或框架模型。COM 要求基于这种标准所开发出的组 件应由若干对象和对象的接口组成,接口在形式上表现为对象的属性、方法和事件,基于这种模型开发 出的组件称为 COM 组件。 组件式 GIS 的基本思想就是把 GIS 各大功能模块划分为几个具有不同功能的控件,各控件之间可以 方便地通过开发工具集成起来,形成最终的 GIS 应用。 MapObjects 是全球最大的 GIS 软件供应商 ESRI 公司在业界最

6、早推出的 GIS 软件组件,是基于 COM 技 术的地图应用组件,也是全球范围内使用最广的 GIS 组件。MapObjects 由一个称为 Map 的 ActiveX 控件 和一组大约 45 个自动化对象组成,在标准的 Windows 编程环境下,能够与其他图形、多媒体、数据库开 发技术组成完全独立的综合性应用软件,是基于前端应用业务的良好的地图开发环境。 2.1 MapObjects 的数据结构: 在 MapObjects 中一个综合性的地图由多个图层构成,图层可以是 GIS 矢量图层,也可以是 CAD 图层 或者影像数据。对于 GIS 和 CAD 的矢量图层,其内部统一用记录集(Recor

7、dset)来表达。记录集如同关 系数据库中的二维表,行表示每个要素、列表示每个属性。如果含有名称为 “Shape”的列,则该记录 集表示的是地图要素,否则表示的是普通的数据库表格。 Shape 字段以面向对象的技术封装了要素的图形部分,它把图形划分为点、线、面三种类型并且引入 了部件(Part)的概念,由点构成部件,线和面则由部件构成。 2.2 MapObjects 的体系结构:专业好文档更多测绘论文请登录测绘网论文频道查询:更多测绘论文请登录测绘网论文频道查询:http:/ 客服热线:010-MapObjects 的可编程对象根据其功能的不同可分为 6 大组:(1)地址匹配对象组、 (2)数

8、据访问对 象组、 (3)地图显示对象组、 (4)几何图形对象组、 (5)投影对象组、 (6)实用对象组。每组对象组又 包括一系列对象,一个对象负责地图一方面的功能。 2.3 MapObjects 的基本功能: 依据 MapObjects 所提供的功能接口,常用的地图功能基本都能实现:(1)显示、浏览(放大、缩 小、漫游)一张多图层地图(道路,河流,居民地);(2)显示、生成、选择、识别图形组件(如点,线, 圆,多边形等) ;(3)显示、编辑地图要素的属性数据、标注、说明、字符等;(4)按照名称、距离、 SQL 描述、要素属性值查询要素;(5)绘制专题图、点密度图和饼状柱状图表;(6)显示多种格

9、式的地 图数据(矢量、栅格等) ;(7)动态地图数据的显示、查询和分析;(8)转换地图数据的坐标系统; (9)输出地址匹配的地理对象;(10)基本统计、空间分析算子(Buffer,Union 等) 。 3.基于 MapObjects 的许昌市地名公共服务系统开发: 3.1、系统功能设计:图(1) 系统应用界面系统的主要目的是为了服务市民,为市民提供城市公共地理信息服务,主要为市民提供出行参考、 地名查询及目标地物属性显示等方面的服务。系统包括电子地图控制模块、电子地图显示模块、地名查 询模块、在线帮助模块四部分。电子地图控制模块实现控制地图和图层的显示功能,可以根据实际需要 来选择所要显示的图

10、层;电子地图显示模块实现地图的放大、缩小、漫游、刷新以及地图鹰眼等功 能;地名查询模块是该系统的核心部分,实现通过地名查找、点选、框选等方式选择并查询目标地物的 信息,以及查询最近目标、距离量算、面积量算、地名定位等功能,其中,我们将着重讨论一下通过地 名查找目标地物并在地图上定位及目标地物属性显示的实现方法;用户帮助模块解决用户使用时的疑问。 系统应用界面如图(1)所示。 3.2、系统数据组织: 系统的数据分为地理空间数据和属性数据,分别以 SHAPE 文件格式和关系型数据库的形式存储。由 于系统的数据量并不算太大,系统采用了 Microsoft Access 数据库管理工具管理属性数据。在

11、数据库中 分层次建立了党政机关图层信息表、事业单位图层信息表、企业图层信息表、医疗卫生图层信息表、文 化教育图层信息表、交通运输图层信息表、商业服务图层信息表等多个表,通过这些表可以实现查询目 标地物的相关属性信息。 3.3、系统功能实现: 系统采用 Visual Studio.NET 2003 作为开发平台,整个系统使用 MapObjects+C#模式编程。 MapObjects 的使用较为简单,在 Visual Basic、Delphi、Visual C+、Visual C等能够支持控件开发的 编程环境下,将 MapObjects 插入到编程环境中,即可通过调用接口实现控件的各种方法。在.

12、NET 框架 下的 Visual C开发环境中引用 MapObjects,在成功安装 MapObjects 后,在编程环境中新建一个 Windows 应用工程,从 Project 菜单中选择 Add Reference 命令打开工程的添加引用对话框,并切换到 COM 标签页,在标签页的列表框选项中选择 ESRI MapObjects2.3 单击 OK 按钮将 MapObjects 组件的 引用添加到工程中。在完成添加后,选择 View 菜单中的 Toolbox 命令,激活工具箱窗口,然后在 Toolbox 窗口切换到 General 选项页,在其中单击右键选择弹出的 Customize Too

13、lbox 命令打开自定义 工具箱的对话框,在对话框中选中 MapObjects2.3 Map Control 前面的复选框,确定后将 MapObjects 的专业好文档更多测绘论文请登录测绘网论文频道查询:更多测绘论文请登录测绘网论文频道查询:http:/ 客服热线:010-地图控件加入到工具箱中。这样即可在编程环境中如同引用其他控件一样引用 MapObjects 的地图控件。 下面着重讨论一下系统部分功能的实现: (1)图层的加载与显示: MapObjects2.DataConnection dc=new MapObjects2 .DataConnectionClass (); dc.Dat

14、abase =“E:许昌地名Data“; if(dc.Connect() ) MapObjects2.MapLayer layer1=new MapObjects2.MapLayerClass (); layer1.Symbol.Color =(uint)MapObjects2.ColorConstants.moLightYellow ; layer1.GeoDataset =dc.FindGeoDataset (“CITYMAP“); this.axMap1 .Layers .Add (layer1); this.axMap1 .CtlRefresh (); (2)图层的放大、缩小、漫游与全

15、图显示: 放大: axMap1.Extent = axMap1.TrackRectangle();/拉框放大缩小:MapObjects2.Rectangle rect = axMap1.Extent ;rect.ScaleRectangle(2);漫游: axMap1.pan(); 全图显示: axMap1.Extent=axMap1.FullExtent; (3)地名查询: 地名查询是该系统的核心部分,它包括两个方面:其一是通过选择列表框中目标地物的名称来对目 标地物进行定位,并闪烁显示;其二是在地图上点击目标地物,从而显示目标地物的属性信息。其中点 击地物显示相关属性信息的实施步骤为:捕获

16、目标地物点、连接相关图层信息表、读取相关字段,在此 就不做过多的介绍。通过地名在地图上定位目标地物的实现代码如下: private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e) string s=listBox1.SelectedItem.ToString(); MapObjects2.Recordset rf=null;MapObjects2.Point shp=new MapObjects2.PointClass();MapObjects2.MapLayer lf=new MapObjects2.MapObjects2.MapLayerClass(); lf=(MapObjects2.MapLaye

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号