




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
测绘信息网WINDOWS95下图形编辑支撑功能的实现吴升摘要图形编辑工具在地图数据库系统(MDBS)、地理信息系统(GIS)和地理信息的自动综合系统(GIGS)的系统构成上一直是个非常重要的部分,文中着重讨论在WINDOWS95下坐标变换、窗口缩放、图形漫游等图形编辑的支撑功能的实现。 测绘信息网关键词图形编辑; 坐标变换; 视口中国图书资料分类号TP311The Actualization of the Support Function of Graphic Editing Based on WINDOWS95Wu Sheng(Zhengzhou Institute of Surveying and Mapping, Zhengzhou, 450052)AbstractGraphic editing is an important part in Map Database System, Geographic Information System and Automated Generalization System. In this paper, some methods to actualize the support function of graphics editing is discussed.Key wordsGraphic editing; Coordinate transformation; Viewport在地图数据库系统(MDBS)、地理信息系统(GIS)和地理信息的自动综合系统(GIGS)中,图形编辑工具的功能主要有:1) 修正数字化过程中的错误;2) 为MDBS和GIS提供数据录入与更新的工具;3) 为GIGS提供数据预处理与后处理的编辑工具,为不能实现自动综合的要素提供人机交互手段。 测绘信息网图形编辑工具要求提供坐标变换、窗口缩放以及图形漫游等辅助支撑功能。在以往的图形编辑工具中,图形缩放、漫游是把逻辑坐标不断加上平移参数和乘以缩放参数来实现的,其编程繁琐,运行费时。本文将介绍在WINDOWS95环境下,图形编辑支撑功能的新的实现方法。1坐标变换 测绘信息网坐标是任何图形系统的基本组成部分,在WINDOWS95环境下,我们能够很容易的在所选的坐标系中工作。图形编辑主要涉及到三种坐标空间,即世界坐标、逻辑坐标和设备坐标。其中后二种是WINDOWS95中GDI(图形设备接口)所支持的坐标空间,它的特点是与设备无关。即在逻辑空间中绘出的正方形和圆,在任何设备(屏幕、打印机、绘图仪)上仍然是正方形和圆,为了使下文的各种坐标变换更容易理解,先介绍几个基本概念。世界坐标它通常为大地坐标,OOEDIT的数据来源以及工作区中的数据原始坐标。 测绘信息网逻辑坐标它对应于选定的工作窗口,其单位可任意选择。逻辑坐标用于WINDWOS 95的GDI绘图(MFC的CDC的所有成员函数都以逻辑坐标为参数,但和区域有关的例外)。设备坐标它对应于一个屏幕(或其它设备)的一个观察区视口(Viewport)。GDI通过移动视口原点可以改变那些工作区中显示的图形。但视口原点的改变并不影响用户接收到WINDOWS95消息(鼠标消息、滚动消息等)时的坐标,伴随这些消息的点仍旧以相对于观察区左上角的坐标来确定。 测绘信息网1.1世界坐标空间到逻辑坐标空间的变换选定了工作区后,根据其世界坐标范围及比例尺进行平移,旋转和缩放等平面二维变换,即可映射到逻辑坐标空间,用矩阵表示为:(1)其中,表示逻辑坐标,(x,y)表示世界坐标。33矩阵表示旋转、缩放和平移参数。 测绘信息网1.2GDI设备变换在WINDOWS 95中,为了执行输出,必须把逻辑坐标转换成设备坐标。GDI设备变换完成了逻辑空间与设备空间之间的相互转换。设备变换是基于一对矩形,即逻辑空间中的工作区窗口和设备空间中的视口,它们之间的相对位置(原点)和大小(范围)决定了逻辑空间如何映射到设备空间。它们之间的坐标关系如(2)式:(2)其中,(xWO,yWO)为工作区窗口原点,(xVO,yVO)为视口原点,(xVE,yVE)为视口范围,(xWE,yWE)为窗口范围,而xVE/xWE和yVE/yWE为视口范围相对于窗口范围的比率。图1是逻辑空间中的一个图形(A)映射到设备空间中(a)的示意图。 测绘信息网图1逻辑空间映射到设备空间1.3绘图坐标系 测绘信息网由图1可见,图形A由逻辑坐标映射到设备坐标系中的a时,其图形上下倒置。这是因为GDI的绘图坐标系采用缺省的MMTEXT映像模式,它的坐标系的原点在视口的左上角,其Y的增加方向向下,显然它不适合于图形显示和编辑。因此,在图形编辑中有必要建立自己的绘图坐标系,其主要特点为:1) 其坐标系原点是视口原点,它在设备坐标系中的位置是不断变化的。图形的开窗缩放、和漫游要求图形在视口中的位置发生改变,这时,绘图坐标系的原点(视口原点)将随之改变。也就是说,随着图形的开窗缩放和漫游,OOEDIT将不断的建立新的绘图坐标系。这样就可以通过改变绘图坐标系的原点来调整图形在视口中的位置。绘图坐标原点的改变,在程序中通过调用CDC的SetViewport()函数实现。此函数设置绘图坐标系的原点在设备坐标系中的坐标。2) 采用MMISOTROPIC映像模式取代MMTEXT模式。这种模式可以把一个逻辑单位映像成任意的物理单位,并且X方向和Y方向总是等比例输出(X轴和Y轴上的一个逻辑单位在视口上总是相等),这种模式比较适合于窗口的多级缩放。在程序中通过CDC的SetMapMode(MMISOTROPIC)函数实现。并通过CDC的SetWindowExt(xWE,-yWE)和CDC:SetViewportExt(xVE,yVE)函数设置视口的缩放比,同时把Y轴增加的方向设置为向上。2多级视口缩放 测绘信息网由于屏幕的尺寸和分辨率所限,大多数的图形编辑都必须在放大的情况下才能进行,因此,图形编辑工具必须具有多级缩放功能。多级缩放的实质就是多次进行开窗选取并裁剪图形的过程,它主要有以下两种形式:1) 以鼠标在视口中的击中点为中心缩放,这种缩放的比率一般是固定的。2) 在视口内用一个既可以缩放又可以平移的矩形光标开矩形窗缩放。以第二种形式为例,如前所述,在WINDOWS95环境下,通过移动视口原点来调整图形在视口的位置,并设置图形的缩放比率,然后重画窗口并进行裁剪即可完成图形的缩放,而其它的工作是由WINDOWS95的GDI自动完成。如图2所示,在视口中开矩形窗r后,窗口r的内容被放大为R,并移至视口中心C。这时绘图坐标系的原点移至O,O和O的设备坐标关系可按如下原理推算:根据开窗的窗口r的中心c在原绘图坐标系中的坐标(xVc,yVc)与放大后的窗口中心C在新的绘图坐标系的坐标(xVC,yVC)之间要满足如下关系式:其中,xVRE/xVrE为开窗图形在x轴方向上的缩放因子,yVRE/yVrE为窗图形在y轴方向上的缩放因子。图2视口缩放由和联立得 测绘信息网(3)其中,为新视口原点,(xVO,yVO)为旧视口原点,(xVE,yVE)为视口范围,(xMouseDown,yMousedown)和(xMouseUp,yMouseUp)为开窗矩形的左上角和右下角坐标。以上坐标均指在设备坐标系下的坐标。由式(3)可知,只要已知旧的视口原点坐标,就能算出新的视口原点坐标,通过移动旧的视口原点至新的视口原点,就能实现窗口的多级缩放。3图形漫游这是指在OOEDIT中用手形图标对视口内的图形进行任意方向的拖放显示功能。如图3所示,图形漫游相当于把图中的拖放矩形中的图形拖至视口,其视口原点在缩放前后的设备坐标变换关系如(4)式: 测绘信息网(4)其中,(xMouseDown,yMouseDown)为鼠标拖动图形时的击中点的坐标,(xMouseUp,yMouseUp)为拖放图形后鼠标放开的坐标。图3图形漫游在WINDOWS95环境中,可以采取位图重放技术,即在显示当前视口图形的同时,把它也在内存视图上画一份,当进行拖放漫游的时候,对仍在视口中的部分进行位图重放即可,如图3中的图形A。对于从视口外拖进来的图形,如图中的B,则到数据库中检索到其图形数据,画至内存位图后,在视口的相应位置显示即可。这样用户看到的图形漫游好象是对图象(Image)的操作,而不是图形(Graphics)的重画。其主要程序代码如下:CDC *p MemDC; 测绘信息网CBitmap *pBitmap;CClientDC aClientDC(this)/获取当前窗口客户区的设备上下文aClientDC;PMemDC=CreateCompatibleDC(&aClientDC);/创建与aClientDC兼容的内存设备上下文pMemDC;pBitmapCreateCompatibleBitmap(pMemDC);/创建与pMemDC兼容的位图;pMemDCSelectObject(pBitmap);/将位图选进内存设备上下文; /设置映射模式,视口原点和窗口视口缩放比;pMemDCDrawViewtoMem(currentView);/把当前比例的视口图形画在位图上;PDCBitbit();/在视口重放位图。作者简介:吴升26岁、硕士,解放军测绘学院讲师,中国测绘学会地图学与GIS专业委员会秘书。主要从事地图学与GIS的教学和研究,“125万地图数据库数据支持下的自动编图系统”获军队科技进步三等奖。地址:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025合同样本:汽车定制合同范本
- 2025年版个人租房合同简易模板
- 2025家用纺织销售合同
- 红酒入门知识技巧培训班课件
- 诗经黍离课件中职
- 医疗设备采购供应及维修服务协议
- 农民专业养殖合作协议
- 商业场地租赁合同附加条款确认书
- 聚焦2025年抽水蓄能行业技术创新与储能电站智能化升级报告
- 企业级电子商务平台合作发展协议
- 考勤培训课件
- 灭火和应急疏散预案演练制度(足浴会所)
- 中国黄金集团招聘面试经典题及答案
- GB/T 4026-2025人机界面标志标识的基本和安全规则设备端子、导体终端和导体的标识
- 青岛版科学一年级上册(新教材)1.1 吹泡泡(教学课件)(内嵌视频)
- 感染性心内膜炎术后护理查房
- 推理能力题目及答案
- 医院科研奖励管理办法
- 上汽大众产品与业务培训
- 物流运输服务承诺与质量保证措施
- 车间级职代会培训课件
评论
0/150
提交评论