计算机地图综合制图实验报告,计算机地图制图与方法实验报告.doc

《计算机地图制图原理与方法》

姓名:xxx

班级:测绘10-3班

学号:xxx

实验一、地图的扫描矢量化

实验目的

深入理解栅格图形和矢量图形之间的根本区别和各自的优缺点;了解扫描矢量化的的基本原理和过程;学会使用南方cass软件对图像进行纠正并在cass上(或者切换到AUTO-CAD上)进行扫描矢量化。

实验内容

利用所学的知识对老师给的图像(3001-3010、3102-3108.tif)在南方cass上进行图像纠正和扫描矢量化。

实验步骤

打开cass软件,利用:工具|光栅图像|插入图像,导入要进行操作的图像。

找出图像的比例尺,换算到实地坐标。利用:工具|光栅图像|图像纠正,在图像上选取特征点并输入换算后的实地坐标进行图像纠正。

直接在cass软件下(也可以右键|选项|配置,切换到AUTO-CAD)下,分别新建房屋、道路、河流、田地、注记等图层在各自的图层下进行扫描矢量化绘图。

检查、核对、修改,保存矢量化成果。结果保存为:王东明.dwg

实验成果

矢量化前后的图像比较(上图为矢量化前,下为矢量化后)

实验体会

通过本次试验,我学会了如何运用cass软件,虽然在试验中遇到了很多问题,但都通过老师和同学的帮助一一解决。

实验二、高级语言图形编程

实验目的

学会使用学过的高级语言(C++)进行简单的图形编程;进一步熟悉Visual C++的开发环境,知道选中菜单里的选项和鼠标的单击、移动产生的消息与程序和窗口之间是怎样通信的;掌握简单的图行生成的原理。

实验内容

利用Visual C++的开发环境进行简单的图形编程,实现能简单的绘制矩形、椭圆、直线、随意曲线等功能。

实验步骤

建立基于MFC的单文档程序,工程名为huitu;

2.在单文档中的视图View类添加成员变量CPoint m_point1;CPoint m_point2;bool m_Rectangle;bool m_Ellipse;bool m_Line;bool m_Xian;

bool m_Duan;目的是对各种不同绘图程序的分离操作。

3.切换到资源视图,打开Meau,新建“绘图”菜单,并在“绘图”菜单下建立5个下拉菜单修改其Caption并给其ID赋于有意义的名字分别为:任意曲线(ID_MEAUITEMQU)、线段(ID_MEAUITEMDUAN)、矩形(ID_MEAUITEMJU)、椭圆(ID_MEAUITEMTUO)、辐射发散线(ID_MEAUITEMXIAN)。

4.建立消息处理函数OnMeauitemXXXX()系列的绘图函数、OnUpdateMeauitemXXXX()系列函数标记是否被选中、添加消息WM_LBUTTONDOWN,WM_LBUTTONUP,WM_MUOSEMOVE消息和相应的消息相应函数OnLButtonDown(),OnLButtonup(),OnMouseMove()并添加相应的代码各种函数的具体代码如下:

void CHuituView::OnLButtonDown(UINT nFlags, CPoint point)

{

// TODO: Add your message handler code here and/or call default

if(m_Rectangle||m_Ellipse)

{

m_point1=point;

m_point2=point;

SetCapture();

}

if(m_Line)

{

m_point1=point;

}

if(m_Xian)

{

m_point1=point;

m_point2=point;

SetCapture();

}

if(m_Duan)

{

m_point1=point;

m_point2=point;

SetCapture();

}

CView::OnLButtonDown(nFlags, point);

}

void CHuituView::OnLButtonUp(UINT nFlags, CPoint point)

{

// TODO: Add your message handler code here and/or call default

CClientDC dc(this);

if(m_Rectangle&&(GetCapture()==this))

{

ReleaseCapture();

CGdiObject*pOldObject=dc.SelectStockObject(NULL_BRUSH);

dc.R

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值