gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
阅读:1985回复:5

用MO构建3S跟踪显示系统的设想

楼主#
更多 发布于:2004-10-29 15:41
<P  align=center> </P>
<P>  </P>
<P  align=center>于雷易<p></p></P>
<P  align=center>武汉大学信息工程学院   研99-3 430079    E_mail:YuLeiyi@263.net<p></p></P>
<P> <p></p></P>
<P >摘要:笔者在使用MO作课题的基础上,通过对MO显示和查询功能的阐述,以及现有条件与技术的分析,论证了用MO构建3S跟踪显示系统的可能性,便捷性,优势和所面临的不利条件。<p></p></P>
<P >关键字: MO  3S  RS  GPS  GIS  国家空间信息基础设施  数字地球  对象链结与嵌入<p></p></P>
<P > <p></p></P>
<P>    1. 引言<p></p></P>
<P >当前,RS.GPS.GIS已经成为测绘学的代表和象征,3S集成越来越多地应用于社会发展的不同行业和国民经济的各个部门。在3S集成中,RS在远距离高空以及外层空间的各种平台上,利用可见光、红外微波等电磁波探测仪器,通过摄影或扫描,获取地面物体的形状、大小、位置及其环境的相互关系和变化等信息;GPS基于覆盖全球的一个GPS卫星群,由用户获取至少四颗卫星的观测值,在适当的参考坐标系中,根据已知卫星的坐标确定用户天线的坐标,从而实现实时导航与定位;GIS研究计算机技术与空间地理分布数据的结合,通过一系列空间操作与分析,为地球科学、环境科学、和工程设计,乃至国民经济发展、城市建设和企业经营提供对规划管理和决策有用的信息。RS和GPS是GIS的数据源和数据更新的手段,而GIS则实现对RS和GPS空间数据信息的应用。在3S的应用中,利用GIS的电子地图和GPS接收机的实用差分定位技术,可以构成电子导航系统。<p></p></P>
<P >笔者在使用MapObjects 2.0(以下简称MO)完成课题的过程中,在MO 的TrackingLayer图层便捷的跟踪与显示功能的启发下,产生了用MO来构建一个3S跟踪显示系统的设想,可应用于交通、公安侦破、船只导航等。<p></p></P>
<P>    2. MO简介。<p></p></P>
<P >在实际工作中,有些应用围绕地图展开,而在其它一些应用中,地图只是其中一部分。此时应用开发人员迫切需要一种制图与GIS功能组件,而不是最终的应用软件,来定制或扩展已有的应用。一方面,开发人员希望建立的应用能与通用的桌面软件产品(如文字处理器、数据库等)一起使用;另一方面,希望保留以前的开发成果,对于开发工具,则希望基于一个标准的开发环境,这样可以不必再学习新的编程语言。MO正是为了满足这种需要而开发出来的。<p></p></P>
<P >MO是一组供应用开发人员使用的制图与GIS功能软件。它由一个ActiveX控件和一系列可编程ActiveX对象组成。MO的ActiveX对象可以分为五组,即:数据访问对象,地图显示对象,投影对象,几何对象和地址匹配对象。在本系统中,起关键作用的是数据访问对象、地图显示对象和几何对象,系统的跟踪显示与查询功能主要由这三组对象完成。利用MO,开发人员可以在应用程序中添加制图和GIS功能,例如:显示,缩放,漫游,拾取,渲染,动态实时显示,甚至空间分析等等。由于MO以微软的对象链结与嵌入标准(OLE)为基础,MO的控件和对象可以方便地用于各种工业标准的编程平台,如Visual Basic, Visual C++, Delphi, PowerBuilder 和 VBA 等。应用时,只要将Map控件加到ActiveX容器中,如VB的Form,即可使用MO的包括Map控件在内的所有ActiveX对象.<p></p></P>
<P>    MO的特点包括:<p></p></P>
<P > .支持ARC/INFO COVERAGE<p></p></P>
<P > .支持ESRI SHAPE文件格式、SDE(Spatial Database Engine)图层以及大量栅格图象格式,如BMP、TIFF等等<p></p></P>
<P > .支持通过微软ODBC标准进行的外部数据库访问<p></p></P>
<P > .把数据作为多个图层在一张图中进行显示<p></p></P>
<P > .特征表示使用数理方法如数值地图、分类、个体符号、以及点值图等<p></p></P>
<P > .文字注记和放置<p></p></P>
<P > .用一个事件跟踪层来动态显示实时数据<p></p></P>
<P > .用标准SQL表达式进行特征选择和查询<p></p></P>
<P > .通过大量搜索与框架操作符进行空间选择<p></p></P>
<P > .地址匹配(地理编码)<p></p></P>
<P > .可靠的在线帮助<p></p></P>
<P > .强大而出色的对象模型<p></p></P>
<P>    3. 系统实现的技术和方法。<p></p></P>
<P>    3.1. 定位数据获取。跟踪系统首先要获取定位数据,其方法各有不同。从测绘专业角度来看,可以使用GPS全球定位系统。GPS是美国国防部为军事目的而建立的,旨在彻底坚决海上空中和陆地运载空间的导航和定位问题。由于受美国SA政策的影响,美国及其盟国以外的国家只能获得100米的定位精度,差分GPS定位技术的出现,使定位精度提高到5-3米以上。GPS定位科技含量高,具有全天候、全时域、连续快速、高精度、抗干扰性好的特点,但GPS接收机必须同时与四颗以上的GPS卫星通视,才能完成定位。也可以使用普通的跟踪器,实时获取目标的相对位置,再根据参考点的坐标,转换成期望坐标系统下的坐标。一般而言,普通跟踪器的跟踪范围较小,但不需要通视条件。如果将GPS接收机与普通跟踪器结和起来,就可以满足各种不同的需要。<p></p></P>
<P>    3.2. 地图数据获取。3S跟踪显示系统的地图数据获取与电子导航系统的电子地图一样,可以通过扫描或数字化地图后经过编辑生成,或者用遥感(RS)的方法直接成图。遥感技术是测绘界获取空间数据的传统手段,也是大面积测图或勘测的最佳途径。现代航空航天遥感技术的发展主要表现在多传感器、多时相、高分辨率和快速机动的特征上,可以满足快速获取和更新空间数据的要求。<p></p></P>
<P>    3.3. 显示。数据获取的结果是得到了目标的坐标,这些坐标不加以处理,对我们并没有实际的意义。如果能够根据这些坐标,获取目标所在的具体区域的地理名称,并在屏幕上显示出目标的位置,那么就达到了我们跟踪的目的。如图1-1所示。<p></p></P>
<P>    为此,首先要加载一副符合要求的地图,其中包括我们所需要的地理位置信息,并且能够在跟踪屏幕上显示出来。MO的MapLayer对象和ImageLayer对象可以接收各种矢量和栅格数据,把它们加载到Map控件后,即可按照需要显示地图。<p></p></P>
<P>    数据获取之后,要求系统能够读取数据,在屏幕上显示出目标的位置。Map控件读取目标的地理坐标后,可以将其转换为屏幕坐标,并赋给GeoEvent对象。GeoEvent对象有一系列的属性和方法,通过这些属性和方法,可以将目标的动态坐标赋予GeoEvent对象,将目标与GeoEvent对象实时地联系起来。Map控件加载任何图层之后,即可生成一个特殊的透明图层,称为TrackingLayer图层。将目标所对应的GeoEvent对象加载到TrackingLayer图层,即可显示动态实时的目标。而TrackingLayer图层位于其它图层(如地图图层)的上面,可以独立刷新,这样,就能够达到目标在地图上移动的视觉效果。不仅如此,使用TrackingLayer对象的symbol属性,还可以显示各种形象的标志符号,代表不同的目标。另外,使用MO的AFCustom动态连接库可以创建各种标志符号,以显示不同的目标对象。<p></p></P>
<P>    根据实际需要,目标在屏幕上显示出来之后,还要求系统能够报告目标的地理位置,这就对所使用的地图提出了较高的要求。只要地图的属性信息足够丰富,使用Map控件的属性和方法可以方便地获取目标的所在位置。.<p></p></P>
<P>    3.4. 其它功能。系统除了显示和报告目标的位置之外,还可以完成一些常规的信息查询,如目标附近有何重要建筑,离目标最近的车站在哪里等等,如图1-2所示。在MO中,使用MapLayer对象的SearchByDistance, SearchExpression, SearchShape和Table对象的SearchExpression方法,可以通过距离、查询语句、和图形之间的相互关系(如相交,包括,点在面内等十五种关系)进行查询,使系统更能满足实际需要。<p></p></P>
<P><v:shapetype><v:stroke joinstyle="miter"></v:stroke><v:path connecttype="rect" gradientshapeok="t"></v:path></v:shapetype><v:shape></v:shape><v:group><v:group><v:shapetype><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0 "></v:f><v:f eqn="sum @0 1 0 "></v:f><v:f eqn="sum 0 0 @1 "></v:f><v:f eqn="prod @2 1 2 "></v:f><v:f eqn="prod @3 21600 pixelWidth "></v:f><v:f eqn="prod @3 21600 pixelHeight "></v:f><v:f eqn="sum @0 0 1 "></v:f><v:f eqn="prod @6 1 2 "></v:f><v:f eqn="prod @7 21600 pixelWidth "></v:f><v:f eqn="sum @8 21600 0 "></v:f><v:f eqn="prod @7 21600 pixelHeight "></v:f><v:f eqn="sum @10 21600 0 "></v:f></v:formulas><v:path connecttype="rect" gradientshapeok="t" extrusionok="f"></v:path><lock v:ext="edit" aspectratio="t"></lock></v:shapetype><v:shape><v:imagedata src="./1p5n10f123.files/image001.jpg" title="track3"></v:imagedata></v:shape><v:shape><v:imagedata src="./1p5n10f123.files/image002.jpg" title="track1"></v:imagedata></v:shape><v:shapetype><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="sum 10800 0 #0 "></v:f><v:f eqn="sum 10800 0 #1 "></v:f><v:f eqn="sum #0 0 #1 "></v:f><v:f eqn="sum @0 @1 0 "></v:f><v:f eqn="sum 21600 0 #0 "></v:f><v:f eqn="sum 21600 0 #1 "></v:f><v:f eqn="if @0 3600 12600 "></v:f><v:f eqn="if @0 9000 18000 "></v:f><v:f eqn="if @1 3600 12600 "></v:f><v:f eqn="if @1 9000 18000 "></v:f><v:f eqn="if @2 0 #0 "></v:f><v:f eqn="if @3 @10 0 "></v:f><v:f eqn="if #0 0 @11 "></v:f><v:f eqn="if @2 @6 #0 "></v:f><v:f eqn="if @3 @6 @13 "></v:f><v:f eqn="if @5 @6 @14 "></v:f><v:f eqn="if @2 #0 21600 "></v:f><v:f eqn="if @3 21600 @16 "></v:f><v:f eqn="if @4 21600 @17 "></v:f><v:f eqn="if @2 #0 @6 "></v:f><v:f eqn="if @3 @19 @6 "></v:f><v:f eqn="if #1 @6 @20 "></v:f><v:f eqn="if @2 @8 #1 "></v:f><v:f eqn="if @3 @22 @8 "></v:f><v:f eqn="if #0 @8 @23 "></v:f><v:f eqn="if @2 21600 #1 "></v:f><v:f eqn="if @3 21600 @25 "></v:f><v:f eqn="if @5 21600 @26 "></v:f><v:f eqn="if @2 #1 @8 "></v:f><v:f eqn="if @3 @8 @28 "></v:f><v:f eqn="if @4 @8 @29 "></v:f><v:f eqn="if @2 #1 0 "></v:f><v:f eqn="if @3 @31 0 "></v:f><v:f eqn="if #1 0 @32 "></v:f><v:f eqn="sum #0 0 0 "></v:f><v:f eqn="sum #1 0 0 "></v:f></v:formulas><v:path connecttype="custom" connectlocs="10800,0;0,10800;10800,21600;21600,10800;@34,@35"></v:path><v:handles><v:h position="#0,#1"></v:h></v:handles></v:shapetype><v:shape><v:textbox style="MARGIN-TOP: 4.937pt; LEFT: auto; MARGIN-LEFT: 64.312pt; WIDTH: 26.531pt; TOP: auto; HEIGHT: 13.781pt; mso-next-textbox: #_x0000_s2058">
<TABLE cellSpacing=0 cellPadding=0 width="100%">

<TR>
<TD>
<DIV>
<P><B >目标<p></p></B></P></DIV></TD></TR></TABLE></v:textbox></v:shape></v:group><v:group><v:shape><v:imagedata src="./1p5n10f123.files/image003.jpg" title="track2"></v:imagedata></v:shape><v:shape><v:imagedata src="./1p5n10f123.files/image004.jpg" title="track4"></v:imagedata></v:shape><v:shape><v:textbox style="MARGIN-TOP: 31.843pt; LEFT: auto; MARGIN-LEFT: 83.187pt; WIDTH: 26.531pt; TOP: auto; HEIGHT: 13.781pt">
<TABLE cellSpacing=0 cellPadding=0 width="100%">

<TR>
<TD>
<DIV>
<P><B >目标<p></p></B></P></DIV></TD></TR></TABLE></v:textbox></v:shape><v:shapetype><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="sum #0 0 0 "></v:f><v:f eqn="sum #1 0 0 "></v:f><v:f eqn="sum 10800 0 #0 "></v:f><v:f eqn="sum 10800 0 #1 "></v:f><v:f eqn="atan2 @2 @3 "></v:f><v:f eqn="sumangle @4 11 0 "></v:f><v:f eqn="sumangle @4 0 11 "></v:f><v:f eqn="cos 10800 @4 "></v:f><v:f eqn="sin 10800 @4 "></v:f><v:f eqn="cos 10800 @5 "></v:f><v:f eqn="sin 10800 @5 "></v:f><v:f eqn="cos 10800 @6 "></v:f><v:f eqn="sin 10800 @6 "></v:f><v:f eqn="sum 10800 0 @7 "></v:f><v:f eqn="sum 10800 0 @8 "></v:f><v:f eqn="sum 10800 0 @9 "></v:f><v:f eqn="sum 10800 0 @10 "></v:f><v:f eqn="sum 10800 0 @11 "></v:f><v:f eqn="sum 10800 0 @12 "></v:f><v:f eqn="mod @2 @3 0 "></v:f><v:f eqn="sum @19 0 10800 "></v:f><v:f eqn="if @20 #0 @13 "></v:f><v:f eqn="if @20 #1 @14 "></v:f></v:formulas><v:path connecttype="custom" connectlocs="10800,0;3163,3163;0,10800;3163,18437;10800,21600;18437,18437;21600,10800;18437,3163;@21,@22" textboxrect="3163,3163,18437,18437"></v:path><v:handles><v:h position="#0,#1"></v:h></v:handles></v:shapetype><v:shape><v:textbox style="MARGIN-TOP: 12.062pt; LEFT: auto; MARGIN-LEFT: 55.093pt; WIDTH: 23.625pt; TOP: auto; HEIGHT: 35.25pt; mso-next-textbox: #_x0000_s2060">
<TABLE cellSpacing=0 cellPadding=0 width="100%">

<TR>
<TD>
<DIV>
<P ><B >机密</B><B >大厦</B></P></DIV></TD></TR></TABLE></v:textbox></v:shape></v:group></v:group><v:shape></v:shape>
<TABLE cellSpacing=0 cellPadding=0 width="100%">

<TR>
<TD>
<DIV class=shape  v:shape="_x0000_s2056">
<P>图 1-1</P></DIV></TD></TR></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="100%">

<TR>
<TD>
<DIV class=shape  v:shape="_x0000_s2057">
<P>图 1-2</P></DIV></TD></TR></TABLE> <p></p></P>
<P> <p></p></P>
<P> <p></p></P>
<P> <p></p></P>
<P> <p></p></P>
<P> <p></p></P>
<P> <p></p></P>
<P> <p></p></P>
<P> <p></p></P>
<P> <p></p></P>
<P> <p></p></P>
<P> <p></p></P><BR  clear=all>
<P>    4. 用MO构建3S跟踪显示系统的优势<p></p></P>
<P>    如前所述,由于MO本身具有的各种特点,使得用MO构建3S跟踪显示系统,不仅方便、快捷,而且能够提供各种辅助查询功能,以更好地满足实际需要。总结如下:<p></p></P>
<P>    (1) MO是一组ActiveX控件和对象,可以方便地用于各种工业标准的编程平台,所以用MO构建3S跟踪显示系统对程序开发人员来说是很容易的。<p></p></P>
<P>    (2) MO支持多种图象格式,支持通过微软ODBC标准进行的外部数据库访问,因此,用MO构建的3S跟踪显示系统与外部数据将会有良好的接口。<p></p></P>
<P>    (3) MO用一个事件跟踪层(TrackingLayer图层)来动态显示实时数据,可以独立刷新,且允许用户创建自己的符号,因而能够很好地在屏幕上显示跟踪目标。<p></p></P>
<P>    (4) MO有强大而出色的对象模型,为用户提供丰富的属性和方法,并且用标准SQL表达式进行特征选择和查询,所以使用MO构建的3S跟踪显示系统能够快捷而准确地报告目标的坐标和地理位置所在,同时提供各种辅助查询功能,更好地满足实际需要。<p></p></P>
<P>    5. 系统实现的难点<p></p></P>
<P>    由于现代计算机技术、电子技术及卫星技术的飞速发展,GPS技术已经发展成为全天候、全时域、连续快速、高精度、抗干扰的实时导航定位技术;现代航空航天遥感技术的发展则主要表现在多传感器、多时相、高分辨率和快速机动的特征上,可以满足快速获取和更新空间数据的要求;MO所提供的各种对象具有丰富的属性和方法,完全可以满足用户的显示和查询需要。但是,由于我国国家空间基础设施建设起步较晚,大部分地区还不能提供出完全满足需要的具有丰富信息的基础地图,作为系统的地理信息数据源。这就为系统的实现和充分发挥作用提出了一个难题。随着家空间基础设施建设和数字地球计划的进一步深入和发展,这一问题也将得到圆满的解决。另外,MO是一组通用的GIS功能软件,在将其应用于3S跟踪显示系统的过程中,不可避免地会遇到各种实际问题,需要系统开发人员逐一解决。<p></p></P>
<P> <p></p></P>
<P  align=center>参考文献<p></p></P>
<P> <p></p></P>
<P >[1]   李德仁、郑肇保、边馥苓、龚健雅.《空间信息科学及应用》.武汉测绘科技大学出版社,1998年12月。<p></p></P>
<P >[2]   周忠漠、易杰军、周琪. 《GPS卫星测量原理与应用》.测绘出版社,1997年1月。<p></p></P>
<P >[3]   王广运、郭秉义、李洪涛.《差分GPS定位技术及应用》.电子工业出版社,1996年3月。<p></p></P>
<P >[4]   ESRI公司. 《MapObjects 2.0用户手册》.1999年1月。<p></p></P>
<P >[5]   富融科技有限公司. 《ESRI公司产品简介》.1999年1月。<p></p></P>
喜欢0 评分0
GIS麦田守望者,期待与您交流。
wghunhun
路人甲
路人甲
  • 注册日期2007-01-16
  • 发帖数2
  • QQ
  • 铜币108枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2007-10-23 19:59
这个文章是混毕业的把,言之无物。呵呵。
举报 回复(0) 喜欢(0)     评分
heqjxiaoyao
路人甲
路人甲
  • 注册日期2003-07-31
  • 发帖数981
  • QQ83031582
  • 铜币910枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2007-09-25 11:49
<P>MO本来就可以做这个,做定位追踪很容易</P>
<P>不过不适合大量车辆定位管理,Trackinglayer刷新问题严重</P>
希望大家访问我的个人博客: 随笔闲谈: http://rsgisman.bokee.com
举报 回复(0) 喜欢(0)     评分
jfx566
路人甲
路人甲
  • 注册日期2007-06-20
  • 发帖数2
  • QQ
  • 铜币97枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2007-09-21 16:48
<P>好贴。。。。。。。</P>
举报 回复(0) 喜欢(0)     评分
lixaokui
路人甲
路人甲
  • 注册日期2003-12-25
  • 发帖数768
  • QQ28796446
  • 铜币27枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2004-11-01 13:22
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
西门吹血,有了鼓风机,就不用吹啦!
举报 回复(0) 喜欢(0)     评分
ryx32
路人甲
路人甲
  • 注册日期2003-08-05
  • 发帖数457
  • QQ
  • 铜币4046枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2004-11-01 12:12
<img src="images/post/smile/dvbbs/em06.gif" />
举报 回复(0) 喜欢(0)     评分
游客

返回顶部