《GIS设计与开发电子教案2014ppt课件.ppt》由会员分享,可在线阅读,更多相关《GIS设计与开发电子教案2014ppt课件.ppt(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确GIS设计与开发前 言第一章第一章 GISGIS软件系统的设计软件系统的设计第一节 GIS图形绘制基础 第二节 GIS软件系统的数据获取第三节 GIS图形数据对象的组织第四节 GIS软件系统的数据组织 在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确第五节 VC数据库程序设计 第六节 GIS数据分析及其处理 第七节 GIS
2、软件系统的数据组织第八节 GIS图形数据与属性数据的关联 在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确第二章 GIS系统设计 第一节 GIS系统开发方式与技术 第二节 GIS组件与二次开发基础 第三节 GIS空间分析 第四节 GIS数据显示与输出 第三章 GIS应用系统设计 在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确前 言 在学习完地理信息系统原理、方法和应用等专业课之后,大家对GIS的基本原理有了移动程度的了解,加之已经学习了C语言以及VC+等高级程序语言,应该说
3、已经基本具备了利用高级程序语言开发GIS的能力。但是,地理信息系统原理、方法和应用课程仅对GIS的基本原理进行了详细阐述,对GIS的设计和开发(包括对GIS相关软硬件的设计)涉及较少。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确 在GIS既是一门学科,更是一门实用性很强的技术。作为一个GIS本科生,应该具备一定的GIS设计能力。本课程的目的在于:通过讲授GIS软硬件设计原理,使大家基本掌握设计一个基本GIS的方法,并具备较强的利用GIS常用组件进行二次开发的能力。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一
4、定的梯度,由浅入深,所提出的问题也很明确一、进行GIS设计与开发应具备的知识:1、理论知识:地理信息系统原理;数据库原理;计算机图形学;数据结构等;2、编程能力:C语言(或C+);VB等在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确二、GIS设计与开发包括:GIS软件开发和硬件配置:1、GIS 软件开发形式:底层开发(C语言(或C+);二次开发(VB,VC+,C#等);嵌入式开发(非GIS专业人员常采用的技术之一 等);单一组件开发(目前进行GIS系统开发的主流技术之一 等);ComGIS开发(目前进行GIS系统开发的主流技术之一,
5、未来可能占据主导地位).在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确2、GIS系统的硬件配置:系统网络体系配置:(C/S、B/S或C/SB/S);系统服务器配置等操作系统软件:WINDOWS 3.1;98;2000;XP;WIN7;WIN8WINDOWS SERVER 2000等;UNIX;LINUX;在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确第一章 GIS软件系统的设计与开发1 GIS图形绘制基础一、VCMFC编程简介二、VC绘图类及其对象三、VC绘图设备类(GD
6、I)及其对象四、VC绘图实例程序讲解(本节重点)五、VC坐标映像方式六、VC坐标映像实例程序讲解(本节重点)在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确一、VCMFC编程简介MFC编程的五大类简介1、CWinApp类:应用程序类,一个程序只有一个应用程序对象;2、CDocument类:文档类,负责保存应用程序的数据;3、CView类:视图类,负责应用程序的图形接口,即与用户之间的交互;在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确MFC编程的五大类简介4、CMDIChi
7、ldWnd类:多文档应用程序子窗体类,一个多文档应用程序可以有多个子窗体对象;对单文档(SDI)应用程序来说,只有一个子窗体对象。5、CMDIFrameWnd类:多文档应用程序主窗体类,一个多文档应用程序只有一个主窗体(或父窗体)对象;在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确二、VC绘图类及其对象1、MFC编程的主要绘图类简介(1)CObject类:对象类,是MFC的超类,绝大部分MFC均从该类派生;(2)CDC类:设备环境类,是CObject的派生类,负责图形的绘制和显示;(3)CPaintDC类:屏幕绘图类,是CDC的派生
8、类,负责屏幕图形的绘制和显示;在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确(4)CClientDC类:客户区绘图类,是CDC的派生类,负责客户区图形的绘制和显示;(5)CWindowDC类:窗口绘图类,是CDC的派生类,负责屏幕窗口图形的绘制和显示;2、主要绘图类对象的创建与使用(1)CDC类:CDD mydc;(2)CPaintDC类:CPaintDC mypdc(this);在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确(3)CClientDC类:CClientDC
9、 mycdc(this);(4)CWindowDC类:CWindowDC mywdc(this);在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确三、VC绘图设备类(GDI)及其对象1、MFC编程的主要绘图设备类简介(1)CGdiObject类:绘图设备类,是CObject的派生类,是其他绘图设备类的超类;(2)CPen类:画笔类,是CGdiObject的派生类,负责选用不同类型的画笔;(3)CBrush类:画刷类,是CGdiObject的派生类,负责选用不同类型的充填画刷;在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设
10、置具有一定的梯度,由浅入深,所提出的问题也很明确(4)CFont类:字体类,是CObject的派生类,负责选用不同类型的标注字体;(5)CRgn类:矩形区域类,是CGdiObject的派生类,负责实现对各类区域的操作,如充填等,可以用于GIS中多边形的绘制;(6)CPalette类:调色板类,是CGdiObject的派生类,负责选用不同颜色;(7)CBitmap类:位图类,是CGdiObject的派生类,负责显示各类图片;在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确2、主要图形设备类对象的创建与使用(1)CPen类:可以用以下三种
11、方式创建画笔类对象:a.CPen myPen;b.CPen myPen(PS_SOLID,1,RGB(255,0,0);c.CPen*pMyPen;/定义一个字体对象指针pMyPen=new CPen(PS_SOLID,1,RGB(255,0,0);要特别注意要删除画笔对象:在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确要特别注意使用完画笔对象后要手工删除画笔对象,否则会造成内存泄漏:delete myPen;或 delete pMyPen;在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提
12、出的问题也很明确(2)CBrush类:可以用以下三种方式创建画刷类对象:a.CBrush myBrush(RGB(255,0,0);/红色画刷b.CBrush myBrush;myBrush.CreateSolidBrush(RGB(255,0,0);c.CBrush*pMyBrush;/定义一个字体对象指针pMyBrush=new CBrush(PS_SOLID,RGB(255,0,0);在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确(3)CFont类:可以用以下方式创建字体类对象:CFont myFont;myFont.Crea
13、teFont(30,15,0,0,200,0,0,0,255,0,0,2,DEFAULT_PITCH,”vc”);(3)CRgn类(略,自学)在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确四、VC绘图实例程序讲解实例1:CGdiPoject.dsw;在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确五、VC坐标映像方式映像方式映像值 逻辑单位X,Y正方向MM_TEXT1像素右下MM_LOMETRIC20.1 mm右上MM_HIMETRIC30.01 mm右上MM_LONGLI
14、SH40.1 inch右上MM_HIENGLISH50.01 inch右上MM_TWIPS61/1440 inch右上MM_ISOTROPIC7可变X=Y变化MM_ANISOTROPIC8可变XY变化在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确1、要求大家重点掌握的方式:(1)MM_TEXT:文本方式,是MFC的默认映射方式,主要用于显示文本;(2)MM_LOMETRIC:低精度公制方式,单位是0.1mm,可以用于GIS绘图;(3)MM_HIMETRIC:高精度公制方式,单位是0.01mm,可以用于高精度GIS绘图;(4)MM_T
15、WIPS:主要用于绘图仪绘制地图;在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确2、坐标系统及其转换:(1)窗口坐标(又称为“逻辑坐标”):MFC的虚拟坐标,其X,Y方向与采用的坐标映射方式有关。如在MM_LOMETRIC方式下,X向右,Y向上,坐标原点(0,0)在屏幕的左上角,逻辑单位为0.1mm/单位。(2)设备坐标(又称为“屏幕坐标”):计算机屏幕的坐标系,其X,Y方向与采用的坐标映射方式无关。X向右,Y向下,坐标原点(0,0)在屏幕的左上角,逻辑单位为像素。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一
16、定的梯度,由浅入深,所提出的问题也很明确2、坐标系统及其转换:(3)用户坐标:计算机用户所采用的坐标系统,其坐标轴的正方向由用户根据自己的使用习惯和要求确定。用户采用的最多的坐标系统包括:笛卡儿坐标、高斯坐标等。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确(3)用户坐标与逻辑坐标的映射关系 MFC的封装的各类绘图函数,如LineTo()函数等,所采用的坐标均为窗口坐标(逻辑坐标),而计算机绘图的最终用户采用的是用户坐标,不同的用户采用的用户坐标不同。一般采用较多的是笛卡儿坐标(数学坐标),而GIS用户采用最多的是高斯坐标。因此,要
17、实现用户坐标到逻辑坐标的映射,即需要实现由用户坐标和逻辑坐标之间的相互转换。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确(4)窗口坐标与设备坐标的映射 MFC的封装的各类绘图函数,如LineTo()函数等,所采用的坐标均为窗口坐标(逻辑坐标),而所绘制的图形在计算机屏幕上显示时采用的却是设备坐标(屏幕坐标)。另一方面,当用户用鼠标在屏幕上单击某一点时,计算机返回的是设备坐标,此时需要将该坐标转换为窗口坐标才能获取相应的图形。因此,就需要实现由窗口坐标和设备坐标之间的相互转换。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题
18、的设置具有一定的梯度,由浅入深,所提出的问题也很明确 特别注意:MFC的封装的各类绘图函数,如LineTo()函数等,所采用的坐标均为窗口坐标(逻辑坐标),而所绘制的图形通过各种映射方式映射到相应的图形显示(视图窗口或模拟显示窗口)或打印设备(打印机或绘图仪)上。如下图中,在逻辑坐标(窗口)中绘制的矩形OABC并映射为设备坐标(视口,屏幕坐标)DEFG;直线AC被映射DF。MFC已经封装了各种映射方式及相关的操作函数。只要通过设置不同的映射方式,即可方便实现各类映射。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确映射的操作函数:Se
19、tWindowOrg(x,y):本窗口原点设置函数用于设定窗口坐标系的映射参考原点,缺省时xy0,要注意X,Y是逻辑坐标。即窗口坐标系映射参考原点与窗口坐标系原点重合,同时也与缺省的视口坐标系参考原点重合。SetViewportOrg(x,y):本视口原点设置函数用于设定视口坐标系的映射参考原点,缺省时xy0,要注意X,Y是设备坐标。即视口坐标系映射参考原点与视口坐标系原点重合,同时也与缺省的窗口坐标系参考原点重合。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的
20、梯度,由浅入深,所提出的问题也很明确(5)用户坐标与窗口坐标的转换由用户坐标到逻辑坐标之间的转换主要是坐标方向的转换、坐标轴的旋转、平移和缩放等。一般情况下,仅做坐标方向的转换,坐标轴的旋转、平移和缩放功能则在由窗口坐标向设备坐标转换时实现。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确(6)窗口坐标与设备坐标的转换假设:PDC-SdWindowOrg(a1,b1);PDC-SdViewportOrg(a2,b2);窗口坐标系中任意一点C(x1,y1)被映射 到设备坐标系中的E点,E(x2,y2),即:上图中OE映射到DE,一个象素
21、宽度为n个逻辑单位。并假设坐标映射方式为:MM_LOMETRIC,则一个像素的宽度为:n*0.1 mm在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确根据MM_LOMETRIC映射方式下的设备无关性(即窗口坐标中直线段AC的长度应该和设备坐标系中的BD段长度相等):x1-a1=(x2-a2)*n =x!=a1+(x2-a2)*ny1-b1=(y2-b2)*n =y!=b1+(y2-b2)*n以上转换公式假设图形之间没有放大与缩小情况对地图来说,一般均应对地图进行缩放显示。假设地图显示比例尺为1/K,则坐标变换公式为:x1=a1+(x2
22、-a2)*n/Ky1=b1+(y2-b2)*n/k 在缺省情况下,a1=b1=a2=b2=0 x1=x2*n/ky1=y2*n/k即x1=PDCDPtoLP(x2)/ky1=PD CDPtoLP(y2)/k若k=1,则x1=PDCDPtoLP(x2)y1=PD CDPtoLP(y2)在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确课程设计 题目之一:建立高斯坐标系编程实例:一幅A0幅面(914mm*1219mm)地图中绘制有点、线、面,实现地图的滚动、绘制、缩放、实际坐标显示等功能(在MM_LOMETRIC映射方式下)。模拟显示与打印
23、等。课程设计 题目之二:VC实现地图在用户坐标系下显示、缩放、滚动绘图、显示实际坐标等功能(CScrolMap.CPP)(MM_LOMETRIC)1、用户坐标系;原点A0幅面图左下角0点,X.Y.Z方向如图。地图单位mm(由用户定义)2、逻辑坐标系:原点A(0,0),位于屏幕左上角,X.Y方向如红笔所示,单位为逻辑单位,0.1mm/逻辑单位(与映射方式有关)在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确3、设备坐标(屏幕坐标:视口坐标):原点(屏幕客户区左上角)X.,Y正方向如蓝笔所示,单位为设备单位(象素)Pixels(与映射方式
24、无关)4、坐标转换:1)用户坐标(x,y)逻辑坐标(x1,y1)无缩放x1=10*x;y1=10*y-121902)逻辑坐标(LP)设备坐标(DP)/窗口坐标视口坐标PDCDPtoLP(LPPOINT lpPoints,int nCount=1)PDCLPtoDP(LPPOINT lpPoints,int nCount=1)通过以上转换公式可以实现两者的转换(应注意映射方式)在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确5、显示比例在把用户坐标转换为逻辑坐标后,如果要对图形进行按比例缩放,则应设置缩放比例尺(blc)x1=x1/bl
25、c;y1=y1/blc(缩小)x1=x1*blc;y1=y1*blc(放大)注意:在计算缩放比例R大小时,应注意设备坐标和逻辑坐标之间的转换,并特别注意设置映射方式。6、本例中的坐标范围0 x914 0 x19140 0 x28000y1219 -12190y10 0y2600在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确六、VC坐标映射实例程序讲解VC绘图实例程序的讲解:本程序利用前面讲述的绘图原理,实现了地图的缩放、滚动、绘图和显示实际的用户坐标等功能。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度
26、,由浅入深,所提出的问题也很明确第一章 GIS软件系统的设计与开发2 GIS软件系统的数据获取 由于GIS的图形数据和属性数据的获取对一个GIS项目来说具有十分重要的意义。因此,几乎所有的GIS软件均提供了相应的数据获取功能,特别是图形数据的获取功能,主要包括:利用扫描图形矢量化功能获取图形数据;利用数字化仪获取图形数据;在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确利用数据文件转换功能取图形数据,本方法是GIS软件系统获取图形数据的最重要的手段之一,因此,作为一个良好的GIS系统应该要有强大的图形数据转换功能,目前大多数GIS软件
27、均支持对以下常用数据交换格式的转换功能;*.shp(ArcView);*.e00(ArcGIS);*.dxf(AutoCAD);*.mif(MapInfo)等。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确 以上数据交换格式一般均采用文本文件,公开全部或部分的数据存储格式,因此,可以利用程序读取交换格式数据文件中的数据,并转换为自己系统支持的格式,从而达到利用已有其他数据格式的地图数据输入图形数据的目的。利用全站仪等数字测图技术直接获取数字图形数据;在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入
28、深,所提出的问题也很明确第一章 GIS软件系统的设计与开发3 GIS图形数据对象的组织 利用VCMFC已经封装的对象以及面向对象的编程思想,对GIS常用的图形数据对象(点、线、面和注释)进行设计和实现。图形元素基类在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确图形元素基类 CDraw类:Class CDraw:public CobjectProtected:/保护成员short m_ColorPen;/画笔颜色 short m_ColorBrush;/画刷颜色float m_LineWide;/线宽 short m_LineType
29、;/线型float m_xScale;/线型横向参数 short m_Layer;/所属图层号int m_id_only;/ID号在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确BOOL b_Delete;/图形要素被删除标记Public:/公有成员,构造函数2个 CDraw()/不带参数构造函数CDraw(short m_ColorPen,short m_ColorBrush,float m_LineWide,short m_LineType,float m_xScale,short m_Layer,int m_id_only,BO
30、OL b_Delete)/带参数构造函数在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确/DECLARE_SERIAL(CDraw);/串形化public:CDraw(short ColorPen,short ColorBrush,short LineWide,short LineType,short Layer,int id_only,BOOL Delete)/构造函数m_ColorPen=ColorPen;m_ColorBrush=ColorBrush;m_LineWide=LineWide;m_LineType=LineType
31、;m_Layer=Layer;b_Delete=Delete;m_id_only=id_only;在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确/计算点到直线的距离的函数float PointLine(float xx,float yy,float x1,float y1,float x2,float y2);/判断点是否在一个多边形区域中的函数BOOL PointRgn(float x,float y,int Numble,PointStruct*PointList,float blc);BOOL IsDelete();/判断一个
32、图形元素是否删除的函数float CalDisp(float x1,float y1,float x2,float y2);/计算两点间的距离的函数void Delete(BOOL Is);/删除或恢复删除图形元素的函数/从一个文件中存储或读出图形坐标数据的函数virtual void Save(CFile*file,BOOL Yn);virtual void Serialize(CArchive&ar);/文档串形化函数void toChar(char*p_Char);在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确class CL
33、ine:public CDraw/直线类protected:DECLARE_SERIAL(CLine);/声明串形化public:float m_X1,m_X2,m_Y1,m_Y2;/直线的起点和终点CLine()/不带任何参数的构造函数/以下是有初始化参数的构造函数CLine(short ColorPen,short ColorBrush,short LineWide,short LineType,short Layer,int id_only,在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确BOOL Delete,float X1
34、,float Y1,float X2,float Y2):CDraw(ColorPen,ColorBrush,LineWide,LineType,Layer,id_only,Delete)m_X1=X1;m_Y1=Y1;m_X2=X2;m_Y2=Y2;在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确/直线的绘制函数virtual void Draw(CDC*pDC,int m_DrawMode,int m_DrawMode1,short BackColor);/得到边界矩形的函数void GetRect(float*minX,floa
35、t*minY,float*maxX,float*maxY);BOOL IsPoint(float x,float y,float jl);/判断是否被点选中的函数virtual void Serialize(CArchive&ar);/串形化函数/从剪裁板中读出或写入剪裁板的函数void Save(CFile*file,BOOL Yn);void toChar(char*p_Char);在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确char*toData(char*p_Char);void Move(float x_Move,flo
36、at y_Move);intLineLine(CLine*line1,float*xxx1,float*yyy1,float*xxx2,float*yyy2);class CGraphPara/用来存储图形的基本参数的类protected:int n_ColorNumbAll;/总的颜色数int n_LayerNumbAll;/总的图层数int n_ColorNumb;/系统当前具有的颜色数int n_LayerNumb;/系统当前具有的图层数 在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确long*m_ColorList;/用来存
37、储颜色列表LayerStruct*m_LayerList;/用来存储层的列表public:CGraphPara()n_ColorNumb=100;/最多具有100种颜色n_LayerNumb=100;/最多具有100层m_ColorList=new longn_ColorNumb;m_LayerList=new LayerStructn_LayerNumb;n_ColorNumb=4;/目前有4种颜色n_LayerNumb=1;/目前有一层在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确/以下初始化几种颜色和一个层m_ColorLis
38、t0=RGB(0,0,0);m_ColorList1=RGB(255,0,0);m_ColorList2=RGB(0,255,0);m_ColorList3=RGB(0,0,255);m_LayerList0.b_Display=1;strcpy(m_LayerList0.m_Name,Layer 0);CGraphPara()delete m_LayerList;delete m_ColorList;在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确public:COLORREF GetColor(int n);/得到第n种颜色的实际
39、颜色BOOL GetDisplayStatue(int n);/得到第n层的显示状态;typedef structfloat x;float y;float z;PointStruct;在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确第一章 GIS软件系统的设计与开发5 VC数据库程序设计 数据库编程技术:ODBC:开放数据库连接,实例程序讲解DAO:数据访问对象,实例程序讲解ADO:访问数据对象,实例程序讲解在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确第一章 GIS软件
40、系统的设计与开发6 GIS图形数据与属性数据的关联 通过实现ADO图形数据与属性数据的关联:参考访问数据对象的实例程序讲解在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确 第二章 GIS系统设计 第一节 GIS系统开
41、发方式与技术 底层开发(API函数开发);嵌入式开发(如mapbasic,VBA等);单一组件开发(如MO,mapX等)目前的主流开发方式;纯组件开发(如AO等)目前的主流开发方式;在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确 第二章 GIS系统设计 第一节 GIS组件与二次开发基础 第三节 GIS空间分析 第四节 GIS数据显示与输出参考GIS组件开发实例程序讲解;在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确第三章 GIS应用系统设计 需求分析;系统总体设计;系统详细设计;系统开发;系统调试、打包、试运行和维护;