用Visual C++ 实现大数据量的快速存取

4w55

贡献于2014-01-25

字数:0 关键词: C/C++开发 C/C++

用 Visual C+ + 实现大数据量的快速存取 吕京国, 黄国满, 杨明辉 ( 中国测绘科学研究院航测所, 北京 100039) [ 摘要] 在用计算机组织、调度、管理海量影像数据过程中, 速度就成为一个瓶颈问题, 也是衡量软件性能是否优良 的主要因素之一。本文试图从编程的角度实现大数据量的快速存取。分别介绍了三个环节: 数据存储、数据流向和 数据调度, 并对这种方法做出了简单评价。 [ 关键词] 大数据量; 内存映射文件技术; 序列化; 金字塔结构; 自动获取数据技术 [ 中图分类号] TP312; TP7  [ 文献标识码] A  [ 文章编号] 1009- 2307( 2003) 03- 0029- 0004 1 引 言 随着卫星遥感和航空遥感技术的发展, 通过遥 感获得的数据越来越多, 特别是高分辨率传感器的 应用, 使得遥感数据量正在呈几何级数增长[ 1] 。及时 存储和处理这些海量数据, 对计算机的性能和应用 软件提出了更高的要求。另一方面, 随着遥感技术的 发展和成熟, 遥感数据作为地理信息系统一个非常 重要的信息源, 被广泛地应用到社会和经济的各个 领域[ 2] 。在一些GIS 应用中, 例如公路、铁路的勘测 设计、江河湖泊整治、土地动态监测等, 往往需要影 像数据、矢量数据、DEM 数据之间的叠加显示及其 他处理。这样, 对于所采用的 GIS 软件能否处理大 数据量的数据也提出了更高的要求。综合分析上面 两点, 我们可以看出, 如果所采用的 GIS 软件能够 快速处理海量数据, 对于采用遥感和 GIS 技术的生 产部门和应用部门都具有现实意义。 对于处理大数据量的速度问题, 目前有许多专 家从不同侧面进行过研究。例如在数据压缩方面, 已 经有很多成熟的方法; 在数据库以及数据仓库方面, 也有一些完善的理论和方法。本文试图从编程的角 度, 充分利用 Visual C+ + 软件, 来实现大数据量的 快速存取。主要从三个角度, 即数据存储、数据流向 和数据调度, 来阐述实现大数据量快速存取的原理 和方法, 并且给出了程序上实现的步骤或实例代码。 2 从数据存储角度, 运用内存映射文件技术   内存映射文件技术是 Window s 操作系统提供 的一种新的文件数据存取机制。利用内存映射文件 技术, 系统可以在 2GB 的地址空间中为文件保留一 部分空间, 并将文件映射到这块保留空间. 一旦文件 被映射之后, 操作系统将管理页映射、缓冲以及高速 缓冲等任务, 而不需要调用分配、释放内存块和文件 输入/ 输出的 API 函数, 也不需要自己提供任何缓 冲算法。 当遇到大数据量文件时, 内存映射文件技术能 够为我们“分配”一块足够大的内存来满足请求。这 一显著特点是与操作系统的内存管理有密切关系 的。在 Win32 操作系统中, 每个 Win32 进程都拥有 自己的地址空间, 虽然它们可以用具有相同值的指 针来进行寻址, 但是为了保证进程之间的相互独立 性, 一个进程不能存取另一个进程的私有数据, 这样 就使系统的健壮性得到了增强; 另一方面, 每个 W in32 进程都拥有 4GB 的地址空间, 但这 4GB 的 地址空间仅仅是虚拟地址而不是真正的实际物理内 存。一般情况下, 绝大多数虚拟地址并没有物理内存 与之相对应, 只有在需要的时候, 才会有操作系统为 之“提交 ( Commit) ”。在不同情况下, 系统提交的物 理内存的类型是不相同的, 可能是 RAM , 也可能是 硬盘模拟的虚拟内存[ 3] 。总之, 正是由于操作系统的 内存管理, 内存映射文件技术才得以实现。 Windows 操作系统对 Win32 进程地址空间的 划分如下[ 4] : 从 表 1 可 以 看 出, 从 0x80000000 ~ 0xBFFFFFFF 的 1GB 空间有所有的 W in32 进程共 享, 内存映射文件就使用这段地址空间。 内存映射文件分三种情况, 第一种是可执行文 件的内存映射, 主要由操作系统自身使用; 第二种是 数据文件的内存映射; 第三种是借助于页面交换文 收稿日期: 2002-04-12 第 27 卷第 3 期 2002 年 9 月               测绘科学 Science of Surveying and Mapping             Vol. 27 No. 3 Sep. , 2002 表 1 Window s 操作系统对进程地址空间的分配 占用地址空间 占用空间程序 占用空间大小 0xC0000000~ 0xFFFFFFFF 低级的内存管 理、文件 系统、驱动程序(VXD) 1GB 0x80000000~ 0xBFFFFFFF 公用的系统 DLL、内存 映射文件等, 可 提供整 个系统使用的数据 1GB 0x00400000~ 0x7FFFFFFF Win32 应 用 程 序 的 使 用空间 2GB- 4MB( 2GB 减下 面 4MB 所剩的空间) 0x00000000~ 0x 003FFFFF 提 供 DOS 或 16 位 程 序执行的空间 4MB 件的内存映射。这里应用的是数据文件的内存映射。 系统在进行工作时, 首先把数据文件的一部分映射 到虚拟地址空间( 映射的区域是 0x8000~0xBFFF) 内, 但不提交 RAM , 存取这段内存指令时会产生一 个页面异常, 系统捕获到这个异常后, 分配一页 RAM , 并把它映射到当前进程发生异常的地址处, 然后系统把文件中相应的数据读到这个页面中, 继 续执行刚才产生异常的指令。这就是应用程序自己 不需要调用文件 I/ O 函数的原因, 也是内存映射文 件技术的工作机理。 运用内存映射文件技术, 主要有以下几个步骤: ( 1) 用 CreateFile( ) 函数, 以适当的方式创建或 打开一个文件核心对象; ( 2) 将 CreateFile( ) 函数返回的文件句柄作为 参数, 调用 CreateFileMapping( ) 函数, 创建一个文 件内存映射对象; ( 3) 调用 M apView OfFile( ) 函数将整个文件的 部分区域或者全部映射到内存。 ( 4) 用M apView OfFile( ) 函数返回的指针来读 写文件。 ( 5) 调用 UnmapView OfFile( ) 来解除文件映 射; ( 6) 调用 CloseHandle( ) 来关闭内存映射文件。 ( 7) 调用 CloseHandle( ) 来关闭文件核心对象。 3 从数据流向角度, 充分利用 Visual C+ + 中 MFC 的 Serialize( ) 函数 3. 1 Serialize( ) 功能简介 当对文件数据进行频繁的 I/ O 时, 可以使用 Visual C+ + 中 M FC 的 CFile 类; 另一种更简单的 方法就是“序列化”。序列化, 简单地说就是向一个持 久性的存储媒体保存对象或读取对象的过程, 这种 机制通过更高层次的接口功能向开发者提供了更利 于 使用和透明于字节流的文件操纵方法[ 5] 。在 Visual C+ + 编译环境下, 这一功能由 M FC 的基类 CObject 的成员函数 Serialize( ) 提供。 M FC 使用一个类型为 CArchive 的归档对象充 当磁盘文件与程序中的对象的中介[ 6] 。归档对象总 是与一个 CFile 对象相关联, 从中获得一些进行序 列化所需要的信息, 比如说文件名, 以及存取标志 等。对象的持续化的主要工作就是将自己的成员变 量或者当前状态保存起来。我们可以使用经过重载 的流入和流出操作符直接向归档对象中保存或者取 出变量成员的值, 而将这些数据保存到磁盘文件中 的工作由 CArchive 对象指示CFile 对象来完成。当 用户在打开或保存拥有文档对象数据的文件或者使 用文档对象的 Open 、Save、Save As 菜单命令时, M FC 便会自动调用 Serialize 函数[ 6, 7] 。 使类实现序列化, 需要五个步骤: ( 1) 从 Cobject 类或其派生类派生用户类; ( 2) 在类声明中使用 DECLARE -SERIAL 宏; ( 3) 重载 Serialize 函数; ( 4) 提供一个缺省的构造函数; ( 5) 在类实现文件中使用宏 IM PLEMENT - SERIAL, 来指明类名和版本号。 3. 2 序列化方法的具体实现 在遥感和 GIS 应用具体的程序实现中, 采用面 向对象的设计方法, 运用类的继承性[ 8] , 每个类都有 一个 Serialize( ) 函数。假设程序的目的是完成遥感 和 GIS 应用中矢量类和栅格类部分数据成员的序 列化。其类与类的派生关系如图 1。   为了实现类与类的派生关系, 首先从 Cobject 类[ 6] 中派生一个CGGraphic 类。要对CGGraphic 类 实现序列化, 需要在类的声明中加入宏 DECLARE SERIAL 的调用, 并在类的实现文件中, 加入宏 IM PLEM ENT SERIAL 的调用。CObject 类拥有 基本的序列化功能, 通过对此类的继承实现可以获 得这些功能, 此外必须提供一个无参数的构造函数。 其他类根据其派生关系也如此声明。 然后重载 Serialize( ) 函数, 其代码实例略。 30                        测绘科学                    第 27 卷   各个类在进 行序列化时, 首 先调用父类的 Serialize 函数, 然后判断是保存数据还是载入数据, 再根据判断结果进行实际的存取工作。这里 ar 就是 框架程序传递给序列化函数的归档对象指针。当调 用完父类的序列化函数后, 判断 ar 的状态, 当 ar. IsStoring( ) 返回真时进行数据保存; 当ar. IsStoring ( ) 返回非真时, 这时CArchive 对象要求读取数据[ 9] 。 然后再对文档对象序列化, 至此就完成了各个 类的序列化工作。 序列化功能, 能够在需要的时候自动地保存和 恢复自己的数据, 并且保持最新的修改结果。在数据 存取时也不需要人为地进行文件指针的定位, 而是 由系统按照顺序自动进行数据流的输入/ 输出, 这是 一种高效、精简的二进制流, 从而提高了效率。这就 是选择序列化来完成数据 I/ O 的重要原因。 4 从数据调度角度, 使用 GetBlock( ) 函数 4. 1 金字塔结构和自动获取数据技术 金字塔结构和分块技术是数字图像处理中比较 成熟的方法。对于数据量过大, 又要对它们进行实时 处理时, 往往首先想到应用这一技术。 所谓金字塔结构, 就是对原始影像进行分层, 形 成逐级减少的塔式结构, 故称金字塔结构。金字塔结 构的构成方法是: 对 2k ×2k 像素的原始影像, 每个 像素对周围 m×m 个像素采取某种算法, 使之形成 新像素的灰度值, 构成一幅 2k / m×2k / m 像素的图 像, 重复上述过程, 最终形成一幅分辨率能够满足要 求, 而处理速度又非常快的图像。利用金字塔结构, 可以有效地利用内存, 也可以大幅度节省处理时 间[ 10 ] ( 见图 2) 。 图 2 金字塔结构图 当然, 当数据量过大时, 还可以考虑分块技术。 将数据分成不同的数据块( Data Block) , 其数据块 的大小可以相同, 也可以不同。根据块与块之间的邻 接关系, 可以分为结构化块、非结构化块和杂交块三 大类。结构化块可以用计算机语言中多维数组存储, 块与块之间的邻接关系可以通过相应的数组下标确 定, 在计算机上数据组织方便[ 11] 。非结构化块需要 额外指定邻接关系, 用于块与块之间的拼接。杂交块 是结构化块与非结构化块的组合。 当运用分块技术时, 可能会遇到两个问题。即我 们按照什么原则来对数据进行分块, 每块的大小应 为多少? 第二, 在显示或漫游时, 我们采取什么策略 将不同的块自动拼接起来, 使用户看不到分块的痕 迹?为了解决上述问题并且兼顾到速度, 本文从分块 的原理出发, 摒弃传统意义的静态分块方法, 采取一 种动态的自动获取数据的方法。 4. 2 GetBlock( ) 函数的具体实现 根据 Visual C + + 所提供的强大功能, 编写了 GetBlock( ) 函数[ 11, 8] 。此函数的功能是根据传入参 数的不同, 获取用户感兴趣的数据, 调用该函数能够 分别实现金字塔结构和自动获取技术。GetBlock( ) 函数中有七个参数。其中 dw X0、dw Y0 指明了获取 数据的起始位置, dw Width、dw Height 指定了数据 块的大小。在调用时这四个参数由 OnDraw ( ) 函数 中 ClipRect 传入, 这样就保证了获取数据的灵活 性, 数据的大小不是固定不变的, 而是由重画的区域 自动给出。而步长nStep 实现了金字塔结构, 它规定 了层与层之间数据量的递减级别, nStep 值越大, 数 据量递减的速率就越快。参数* pnBands 代表将要 获取数据的数据源。如果要实现金字塔结构, 则* pnBands 代表上一层金字塔结构的数据; 如果要实 现自动获取技术, 则* pnBands 代表本层金字塔结 构 的 数据。这样, 在垂 直层 面上, 每调 用一 次 GetBlock( ) 函数就形成一层金字塔数据, 然后将其 存 放 到 某 一 个 数 组 中 ( 如 自 定 义 数 组 T ow erArray) ; 在水平层面上, 每调用一次 GetBlock ( ) 函数就表示将此层的金字塔数据根据需要进行了 一次自动获取。nNumberOfBands 代表一幅影像中 波段的数目。 GetBlock( ) 函数的程序代码略。 CGdBandData * CGdRaster: : Get Block ( DWORD dw X0, DWORD dw Y0, DWORD dwWidth, DWORD dw Height, int * pnBands, int nNumberOfBands, int nStep) {   BYTE * pbOriginData, * pbOriginData0;   BYTE * pbResultDat a;   DWORD dwByt esPerRow = ( dwWidth * nNumberOfBands+ 3) / 4* 4;   int Ext raBytes= m _ lBytesPerRow - dw Width;   int i;   DWORD j, k;   CGdBandData * pcdBlock= new CGdBandData;   if( ! pcdBlock)    return pcdBlock; if ( ! pcdBlock - > Creat e ( 0, 0, dw BytesPerRow * dw Height ) ) return NULL; for( i= 0; i < nNumberOfBands; i+ + ) { pbOriginData0 = m cdBandArray [ pnBands [ i ] ] - > 31第 3 期           吕京国等 用 Visual C+ + 实现大数据量的快速存取                Get Buffer( ) + ( m lHeight - dwY0 - dw Height * nStep ) * m lBytesPerRow + dwX0; for( j= 0; j < dw Height; j+ + ) { pbOriginData = pbOriginData0 + j * nSt ep * m lBytesPerRow ; pbResultData = pcdBlock - > GetBuffer ( ) + i + j * dw BytesPerRow ; for( k= 0; k < dwWidth; k+ + ) { * pbResultData= * pbOriginDat a; pbOriginData+ = nStep; pbResultData+ = nNumberOfBands; } }} ret urn pcdBlock; } 5 试验与评价 本文从数据存储、数据流向和数据调度三个环 节, 实现大数据量的快速存取。下面对一幅大数据影 像, 用当前比较流行的图像处理软件 PhotoShop、大 型遥感影像处理软件 ERSDAS 与本文提出的方法 做对比试验。 实验数据如下: ( 1) 环境配置: 计算机硬件配置: CPU Pš550, 内存 128M; ( 2) 操作系统: Windows NT 4. 0; ( 3) 影 像数据: 一幅 TM 影像, Tiff 格式 5. 0, 宽 x 高= 20600 x15200 ( 象素) , 文件大小: 298. 7M , 占用字 节 313, 126, 912 字节; ( 4) 软件版本: PhotoShop 版 本 5. 0, ERSDAS 版本 8. 4。 表 2 本方法与 PhotoShop、ERDAS 软件性能对照表 ( 计时误差为±1s) PhotoShop 5. 0 ERDAS 8. 4 本 方法 导入 T iff 文件 2′04″ 存成内部格式 PSD: 准备存储 1′18″    写入 PSD 7′14″ PDF: 品质级别 8 2′11″       品质 级 别 0  1′ 33″ 3′40″ 计算统计 量: 2′03″ 1′57″ 3′25″ 打开内部格式 PSD: 2′03″ PDF: 品质级别 8 1′53″       品质 级 别 0  1′ 31″ 3″ 4″   从以上实验数据可以看出, 在导入 Tiff 格式 时, 本方法所用时间最少; 在存成软件内部格式时, 由于 ERDAS 导入时已自动存成内部格式 Img, 所 以导入时间应视为导入和存储的总时间, 为 5 分 56 秒, 本方法的两者之和为 5 分 22 秒, 可见本方法所 用时间还是最少; 在打开内部格式时, 本方法与 ERDAS 所用时间相差不大。PhotoShop 的内部格 式有两种: PSD 和 PDF, 在存成 PDF 时所用的时间 最少, 但在打开时所用时间明显变大。 在试验过程中, 均认为所用软件已启动, 且一切 初始化工作已做完。计时工作从选中文件, 软件开始 读取数据开始, 一直到读完数据, 影像在屏幕上显示 为结束。 不可否认, 存取内部文件格式时所用的时间与 软件对内部格式定义的信息复杂度有关, 但是与存 取数据时所采用的技术和算法也有很大关系。 总之, 用本文介绍的方法进行大数据量的存取, 具有一定的优点, 可以运用于遥感影像处理软件开 发应用中。 参考文献 [ 1 ] YANG Ming-hui. On developm ent of quantitative analyses method of satellite remote sensed data [ J] . Science of Surveying and M apping, 1998, ( 1) [ 发展卫星 遥感数据的定量分析方法[ J] . 杨明辉. 测绘科学, 1998, ( 1) ] . [ 2 ] SUN Jia-bing, SHU Ning, GUAN Ze-qun. Remote sensing principle, met hod and application[ M] . Beijing: Publishing House of Surveying and Mapping, 1997[ 孙 家炳, 等. 遥感原理、方法和应用[ M ] . 测绘出版社, 1997] . [ 3] Principle and usement of file mapping in Win95. w w w . VCKBASE. com / art icle/ mult itask/ 0014. htm [ Win95 下 内存映射文件的工作原理及使用方法 ww w . VCKBASE. com/ article/ multitask/ 0014. htm] . [ 4 ] Virt ual m emory management-on address. w w w . chethand. com/ pc/ diy/ neic/ 2001415-3. php[ 虚拟内存 管 理—地 址 篇 w w w . chet hand. com / pc/ diy/ neic/ 2001415-3. php] . [ 5] Kruglinski D J, et al. Inside visual C + + 6. 0: version 5 [ M ] . Beijing: Hope Press, 2001 [ Kruglinski D J, 等. Visual C+ + 6. 0 技术内幕: 第五版[ M ] . 北京: 希望出版 社, 2001] . [ 6] Microsoft Cor. Microsoft visual C+ + 6. 0 M FC library reference[ M] , 1999[ MicroSoft 公司. Visual C + + 6. 0 类库参考手册[ M] . 希望图书创作室, 1999] . [ 7] I/ O file by serialization. w w w . ccw. com. cn/ htm/ produ/ special/ VC/ jiangzuo/ 01-9-11-6. asp[ 利用序列化进行文件 读 写. ww w . ccw . com. cn/ htm/ produ/ special/ VC/ jiangzuo/ 01-9-11-6. asp] . [ 8] ZHANG Hai-fan. Softw are engineering introduction [ M] . Beijing: Press of T sing Hua University[ 张海藩. 软 件工程导论[ M] . 北京: 清华大学出版社] . [ 9] Overview serialization. w w w. ccw . com . cn/ htm/ produ/ special/ VC/ neimu/ 01-9-17-16. asp[ 计算机世界网—3. 3. 1 对 象持 续化简 述. w w w . ccw . com. cn/ htm/ produ/ special/ VC/ neim u/ 01-9-17-16. asp] . [ 10] Castleman K R. Digit al image processing[ M] . Beijing: Electronical Industral Press, 2000[ Castleman K R. 数字 图像处理[ M ] . 北京: 电子工业出版社, 2000] . [ 11] YAN Wei-min. Dat a struct ion [ M ] . Beijing: Press of Tsinghua U niversity, 1997[ 严蔚敏. 数据结构[ M] . 北京: 清华大学出版社, 1997] . 作者简介: 吕京国( 1973- ) 男, 1997 年 毕业于武汉测绘科技大学计算机系, 现 从事遥感图像处理及相关应用研究工 作。 32                        测绘科学                    第 27 卷   prediction and filtering step by step. In succession, the general model of least - squares collocat ion is deduced. It is show n that, the least - squares int erpolation is one of the especial case of collocation in theory. The properties of analytic and of statistic are discussed in the end of this paper. Key words: least - squares; interpolation; collocat ion; prediction; filtering LIU Nian( T he First Topography Surveying Team of the National Bureau of Surveying and Mapping, Xi'an 710054, China) On Designing User Interface of Map Generalization Software AutoMap Abstract: A good softw are must have a friendly user in terfac( U I) as w ell as strong function. By far there is no softw ere which is w holly designed to do automat ic generalization w ork. Although some map softw ares, such as DynaGEN ( Int ergraph Corporation ) and MAS ( Robert Weibel ) developed some generaliztion modules, they are monomial and lack of perfect solutions. And they are far from automatic generalization. We try t o make our softw are think and utilize Ergonom ics scienle to develop more automat ic generalization m odules. We also developed a softw are - Aut oMap. Aut o M ap is an userful softw are which is good at editing graph and operating map generalization and outputing map data at target scale. This paper introduces t he principle of U I of Auto M ap. Key words: ergonomics: AutoM ap; user interface; mapgeneralizat ion; human- computer interact ive WU Jieº , YAN Hao - w en¹ º » , GUO Ren - zhongº » , ZHANG Heng¼, ZHOU Lei¹ ( ¹ Wuhan Universit y, Wuhan 430079, China; º Lanzhou Railway University, Lanzhou 730070, China; » Shenzhen Urban Planning and Land Information Center, Shenzhen 518031, China; ¼ Wuhan Information Center of Surveying and M apping, Wuhan 430012, China) Fast Acquiring 3D Remote Sensing Information of Urban Area and Data Processing Abstract: Fast acquiring 3D informat ion and dat a processing is the key element to remote sensing for earth observation, and airborne 3D imager is a new technology system t hat can acquire 3D informat ion in quasi- real- time. It can be applied in many fields, especially in urban areas. According to t he prot otype and engineering sample of airborne 3D imager developed by Chinese Academy of Sciences, it has been proved t hat 3D imager can acquire geo- referenced image and DEM simultaneously and its efficiency is m any t imes higher than t raditional approaches. We conducted a flight test using airborne 3D imager in Zhongguangcun Science & Technology Industry Garden, Beijing in Oct. 2002. T he raw data are checked and regulated first, and then geo- referenced image and DEM of t he urban area are generat ed using developed 3D information processing soft ware. Threshold segmentat ion and edge regulation are used to extract buildings from DEM data produced by airborne 3D imager. A practical regulation method w hich is com posed of polygon approaching, grouping based on azimuth, determining main direction and regulat ing edge is also present ed in this paper. The 3D bird's - of - view of Zhongguancun area is generated in the end. Key words: urban; 3D remote sensing information; 3D imager; data processing YOU Hong - jian; SU Lin, LIU Tong, LI Shu - kai ( Institute of Remote Sensing Applications, Chinese Academ y of Sciences, Beijing 100101, China) On Implement Fast Access of Large Quantities of Data by Visual C+ + Abstract: In the process of computer's organizing, dispatching, managing large quantities of image data, speed is a critical problem , w hich is also one of major elements t o evaluate the quality of softw are. This paper tries t o implement fast access of large quantities of data. From the view point of programing, three facts are int roduced, t hey are data storage, data flow rend and data dispat ch. The method is simply evaluated in the end. Key words: large quantites of data; storage mapping files technique; serialization; pyramid struct ure; automat ic aquiring data technique L™Jing - guo, HUANG Guo- man, YANG M ing- hui ( Chinese Academy of Surveying and Mapping, Beijing 100039, China) Exploration on the Method of Updating Landuse Maps by Remote Sensing Abstract: This article explored t ne method and workflow of updat ing landuse map by remot e sensing technology through t he illustrat ion of Shenzhen city, China. Based on the remote sensing image data, integrat ing t he landuse explorat ion data and ot her landuse materials, using image fusion and auto- extract ing change information t echnology, and synthesizing m ulti - resource information, this method extracts the change information of landuse by man- machine alternat ely determination of knowledge. GPS w as used t o invest igate change inf ormation on field, and then update the raster image of landuse. By this m eans, the landuse change informat ion can be obtained and acquired in time, and provide the technical support on land resource conservation, utilization and planning. Key words: remote sensing; updating; land resource explorat ion; landuse; landuse change invest igation ZHANG Li¹ , PENG Zi - feng º , ZHANG Ji - xian¹ , ZHANG Bing- zhi¹ ( ¹ Chinese Academ y of Surveying and ·Ⅱ· ABST RACTS OF T HE PRESENT ISSUE

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 3 金币 [ 分享文档获得金币 ] 1 人已下载

下载文档

相关文档