基于MapGIS开发地形剖面图自动绘制.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于MapGIS开发地形剖面图自动绘制

基于MapGIS开发地形剖面图自动绘制   【摘 要】文章阐述了GIS开发的原则;系统论述了MapGIS开发地形剖面图的的总体流程图;剖析了程序各模块的设计理念;希望能给广大同行起到抛砖引玉的效果。   【关键词】剖面图;MapGIS;VC++   1 前言   剖面图是地形在垂直向上最直观最有效的表达方式。它主要用于配合地形图了解地形,是土地整治与规划设计的重要依据之一。现阶段,地形剖面图主要采用传统的手工绘制或利用CASS,Excel等工具结合一些编程语言进行绘制。传统的手工绘制不仅精度低,消耗时间长,工作效率比较低,与土地整治与规划设计的高新技术作业方式不符合。利用CASS技术虽然自动化程度提高了,但相对于空间分析、拓扑重建等方面的功能又显得比较弱。MapGIS是一种融计算机图形与数据库于一体、用于存储和处理空间信息的现代高新技术,MapGIS能将地形的具体位置与相关地形图属性有机结合起来,按照实际需要准确真实、图文并茂地表现出来,同时借助MapGIS的空间分析功能和图示化表达能力,帮助土地整治与规划设计者进行各种规划设计。   笔者运用VC++二次开发语言,结合MapGIS技术,以实测地形图数据为基础,通过各模块的算法设计,实现了剖面图的自动生成。   2 MapGIS   MapGIS是中地数码集团的产品名称,是中国具有完全自主知识版权的地理信息系统,是全球唯一的搭建式GIS数据中心集成开发平台,实现遥感处理与GIS完全融合,支持空中、地上、地表、地下全空间真三维一体化的GIS开发平台。   目前MAPGIS二次开发库主要以API函数、MFC(Microsoft Foundation Class)类库、Com组件、ActiveX 控件四种方式提供。开发库被封装在若干动态链接库(DLL)中。如下:   (1) API函数在使用方法上与Windows的API函数完全一样,因此是独立于开发工具的。无论您使用VC++、VB还是BC++、Dephi…,您在这些工具中如何调用Windows的API函数,您就可以怎么调用这些二次开发函数。   (2)MAPGIS类库是为基于MFC类库的C++开发者提供的多个可重用基类,它将应用程序所需的常见基本功能作了封装,使用便利,改动灵活。开发者只需从类库派生即可使自己的程序获得从窗口显示控制到图形查询编辑的各项功能。   (3)MAPGIS COM组件是MAPGIS新一代体系结构的表现,功能更加强大,使用更加便利。具有二次开发方便、易于集成、无限扩展等特点。支持多种开发软件,包括Visual C++、Visual Basic、Delphi、script、InterDev、Power Builder等,开发者可以多层次的访问MAPGIS组件的数据层、功能层和界面层。   (4)ActiveX 控件是MAPGIS完成组件化改造的成果之一,它们使得二次开发更为快捷便利,代码的可复用性更高。   本文主要基于MAPGIS类库,采用VC++6.0开发语言实现的地形剖面图的自动绘制。   3 总体框架图   基于MapGIS开发地形剖面图的自动绘制总体框架图如图1所示。   图1 基于MapGIS开发地形剖面图的自动绘制   4 模块开发   4.1 连接数据源模块   连接数据源模块主要代码:   try{ Connection con =   DriverManager.getConnection(url , username , password ) ;   }catch(SQLException se){   System.out.println(数据库连接失败!);   se.printStackTrace() ; }   4.2 读取地形数据模块   读取地形数据模块典型的程序代码如下:   while(bfind)   {bfind=findfile.FindNextFile(); szExtName=findfile.GetFileName().Mid(findfile.GetFileName().ReverseFind(.)+1); if(szExtName==mpj||szExtName==MPJ)   {m_filelist.AddString(findfile.GetFilePath());}   if(findfile.IsDirectory()!findfile.IsDots())   4.3数据采集模块   数据采集模块典型的程序代码如下:   FindFile(strpath);   int i;   char tmp[200],tmp1[200];   for(i = 0; i m_fileli

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档