文档详情

GIS设计与开发电子教案.ppt

发布:2018-04-14约9.98千字共63页下载文档
文本预览下载声明
第三章 GIS应用系统设计 需求分析; 系统总体设计; 系统详细设计; 系统开发; 系统调试、打包、试运行和维护; (5) 用户坐标与窗口坐标的转换 由用户坐标到逻辑坐标之间的转换主要是坐标方向的转换、坐标轴的旋转、平移和缩放等。一般情况下,仅做坐标方向的转换,坐标轴的旋转、平移和缩放功能则在由窗口坐标向设备坐标转换时实现。 (6) 窗口坐标与设备坐标的转换 假设:PDC-SdWindowOrg(a1,b1); PDC-SdViewportOrg(a2,b2); 窗口坐标系中任意一点C(x1,y1)被映射 到设备坐标系中的E点,E(x2,y2),即:上图中OE映射到DE,一个象素宽度为n个逻辑单位。并假设坐标映射方式为: MM_LOMETRIC,则一个像素的宽度为: n*0.1 mm 根据MM_LOMETRIC映射方式下的设备无关性(即窗口坐标中直线段AC的长度应该和设备坐标系中的BD段长度相等): x1-a1=(x2-a2)*n =x!=a1+(x2-a2)*n y1-b1=(y2-b2)*n =y!=b1+(y2-b2)*n 以上转换公式假设图形之间没有放大与缩小情况对地图来说,一般均应对地图进行缩放显示。假设地图显示比例尺为1/K,则坐标变换公式为:x1=a1+(x2-a2)*n/K y1=b1+(y2-b2)*n/k 在缺省情况下,a1=b1=a2= b2=0 x1=x2*n/k y1=y2*n/k 即x1=PDC-DPtoLP(x2)/k y1=PD C-DPtoLP(y2)/k 若k=1,则x1=PDC-DPtoLP(x2) y1=PD C-DPtoLP(y2) 课程设计 题目之一:建立高斯坐标系 编程实例:一幅A0幅面(914mm*1219mm)地图中绘制有点、线、面,实现地图的滚动、绘制、缩放、实际坐标显示等功能(在MM_LOMETRIC映射方式下)。模拟显示与打印等。 课程设计 题目之二: VC实现地图在用户坐标系下显示、缩放、滚动绘图、显示实际坐标等功能(CScrolMap.CPP)(MM_LOMETRIC) 1、用户坐标系;原点A0幅面图左下角0点,X.Y.Z方向如图。地图单位mm(由用户定义) 2、逻辑坐标系:原点A(0,0),位于屏幕左上角,X.Y方向如红笔所示,单位为逻辑单位,0.1mm/逻辑单位(与映射方式有关) 3、设备坐标(屏幕坐标:视口坐标):原点(屏幕客户区左上角) X.,Y正方向如蓝笔所示,单位为设备单位(象素)Pixels(与映射方式无关) 4、坐标转换: 1)用户坐标(x,y)?逻辑坐标(x1,y1)无缩放 x1=10*x; y1=10*y-12190 2)逻辑坐标(LP)?设备坐标(DP)/窗口坐标?视口坐标 PDC-DPtoLP(LPPOINT lpPoints,int nCount=1) PDC-LPtoDP(LPPOINT lpPoints,int nCount=1) 通过以上转换公式可以实现两者的转换(应注意映射方式) 5、显示比例 在把用户坐标转换为逻辑坐标后,如果要对图形进行按比例缩放,则应设置缩放比例尺(blc) x1=x1/blc;y1=y1/blc (缩小) x1=x1*blc;y1=y1*blc (放大) 注意:在计算缩放比例R大小时,应注意设备坐标和逻辑坐标之间的转换,并特别注意设置映射方式。 6、本例中的坐标范围 0≤x≤914 0≤x1≤9140 0≤ x2≤800 0≤y≤1219 -12190≤y1≤0 0≤y2≤600 六、VC++坐标映射实例程序讲解 VC绘图实例程序的讲解: 本程序利用前面讲述的绘图原理,实现了地图的缩放、滚动、绘图和显示实际的用户坐标等功能。 第一章 GIS软件系统的设计与开发 §2 GIS软件系统的数据获取 由于GIS的图形数据和属性数据的获取对一个GIS项目来说具有十分重要的意义。因此,几乎所有的GIS软件均提供了相应的数据获取功能,特别是图形数据的获取功能,主要包括: 利用扫描图形矢量化功能获取图形数据; 利用数字化仪获取图形数据; 利用数据文件转换功能取图形数据,本方法是GIS软件系统获取图形数据的最重要的手段之一,因此,作为一个良好的GIS系统应该要有强大的图形数据转换功能,目前大多数GIS软件均支持对以下常用数据交换格式的转换功能; *.shp (ArcView); *.e00 (ArcGIS); *.dxf (AutoCAD); *.mif (MapInfo)等。 以上数据交换格式一般均采用文本文件,公开全部或部分的数据存储格式,因此,可以利用程序读取交换格式数
显示全部
相似文档