基于AutoCAD的地图分幅图制作程序设计测绘工程.docx
- 文档编号:13200833
- 上传时间:2023-06-12
- 格式:DOCX
- 页数:41
- 大小:621.58KB
基于AutoCAD的地图分幅图制作程序设计测绘工程.docx
《基于AutoCAD的地图分幅图制作程序设计测绘工程.docx》由会员分享,可在线阅读,更多相关《基于AutoCAD的地图分幅图制作程序设计测绘工程.docx(41页珍藏版)》请在冰点文库上搜索。
基于AutoCAD的地图分幅图制作程序设计测绘工程
本科毕业设计(论文)
原创性声明
本人郑重声明:
本人所呈交的毕业设计(论文),是在指导老师的指导下独立进行研究所取得的成果。
毕业设计(论文)中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。
除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。
对本文的研究成果做出重要贡献的个人和集体,均已在文中以明确方式标明。
本声明的法律责任由本人承担。
论文作者签名:
日期:
关于使用授权的声明
本人在指导老师指导下所完成的毕业设计(论文)及相关的资料(包括图纸、试验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属成都大学。
本人完全了解成都大学有关保存、使用毕业设计(论文)的规定,本人授权成都大学可以将本毕业设计(论文)的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存和汇编本毕业设计(论文)。
如果发表相关成果,一定征得指导教师同意,且第一署名单位为成都大学。
本人离校后使用毕业设计(论文)或与该论文直接相关的学术论文或成果时,第一署名单位仍然为成都大学。
论文作者签名:
日期:
指导教师签名:
日期:
基于AutoCAD的地图分幅图制作程序设计
专业:
测绘工程学号:
201510216217
学生:
刘佳指导教师:
徐万福
摘要:
在地图生产过程中,对总图(即待分幅地图,后都简称总图)进行分幅,将总图裁切输出形成独立图形文件,单纯靠AutoCAD现有命令处理,尚且能够完成,但工作重复繁琐且工作量大。
为提高对地图的分幅、裁切和输出效率,本次课题研究以成都大学现有平面地形图为例,在研究AutoCAD二次开发工具VisualLISP语言的基础上,利用VisualLISP语言进行地图分幅图制作程序设计。
该程序是在AutoCAD软件平台上运行,实现对成都大学地形图按选定大比例尺(1:
500、1:
1000、1:
2000三种比例尺)、自定义分幅范围,进行地图自动分幅、裁切、输出以及加图廓整饰的效果,以求实现地图分幅图制作分幅自动化的目的。
程序设定地图分幅范围自定义与分幅比例尺可选择,可以满足多种用户的需求,降低了图形处理难度,提高工作效率。
关键词:
大比例尺地形图;分幅裁切;AutoCAD;VisualLISP;图廓整饰
DesignofMapFramingDiagramMakerBasedonAutoCAD
Major:
SurveyingandMappingEngineeringStudentID:
201510216217
Student:
LiuJiaInstructor:
XuWanfu
Abstract:
Inthemapproductionprocess,thegeneralmap(thatis,themaptobeframing,whichisreferredtoasthegeneralmap)isdivided,andthetotalmapiscutandoutputtoformaseparategraphicfile,whichcanbecompletedsimplybytheexistingAutoCADcommand,butTheworkistediousandtheworkloadisheavy.Inordertoimprovetheframing,cuttingandoutputefficiencyofthemap,thisresearchtakestheexistingplanartopographicmapofChengduUniversityasanexample.BasedontheVisualLISPlanguageofAutoCADsecondarydevelopmenttool,themapisbasedonVisualLISPlanguage.Productionprogramming.TheprogramisrunontheAutoCADsoftwareplatformtoachievealargescale(1:
500,1:
1000,1:
2000scale)andacustomrangeforthetopographicmapofChengduUniversity.Theeffectofcutting,outputtingandaddingcontourstoachievethepurposeofautomatingtheframingofthemapframingmap.Programsettingmaprangerangecustomizationandframingscalecanbeselectedtomeettheneedsofavarietyofusers,reducingthedifficultyofgraphicsprocessingandimprovingworkefficiency.
Keywords:
Largescaletopographicmap;framingandcutting;AutoCAD;AutoLISP;Figurefinishing
绪论1
1地图与地图分幅3
1.1地图定义与投影3
1.1.1地图定义3
1.1.2地图投影3
1.2地图分幅与编号4
1.2.1地图分幅4
1.2.2地图编号5
2研究方法与工具6
2.1研究方法与路线6
2.1.1研究方法6
2.1.2研究路线6
2.2研究工具7
2.2.2开发平台7
2.2.3编程语言选择7
3程序总体设计9
3.1程序设计准备工作9
3.1.1带属性图廓制作9
3.2程序功能设计10
4程序关键技术12
4.1实现矩形分幅方格网绘制12
4.1.1选定分幅初步范围、比例尺、计算分幅具体范围12
4.1.2矩形分幅格网点坐标计算12
4.1.4矩形分幅方格网绘制13
4.2实现分幅图裁切、加图廓与输出15
4.2.1分幅图裁切15
4.2.2图廓信息获取16
4.2.3分幅图输出18
5程序流程与结果演示19
5.1程序整体操作流程19
5.2程序整体操作演示19
结论24
参考文献26
附录一地图分幅图制作程序代码27
致谢32
绪论
●研究目的
对于一个确定的制图区域来说,如果内容要求得比较概括,就可以采用较小的比例尺,将制图区域绘制到一张图纸上;如果要求内容表达得比较具体,就需要采用较大的比例尺,此时就不能将制图区域绘制到一张图纸上,特别是制图区域比较辽阔时,缩绘到一张图纸上就更加的不现实。
为了不重测与漏测,就需要将所测区域按照一定的规律分成若干块,于是就有了地图分幅。
为了科学地反映各种比例尺地图间的关系和相同比例尺地图间的拼接关系,并能够快速检索查找所需要的某区域的某种比例尺地图,同时还为了满足地图便于保存、发放与使用,需要对地图按照一定规律进行编号。
总之,为了便于地图测量、绘制、印刷、保管和使用,就必须对地图进行分幅与编号。
对于要求内容表达详细的地图会采用大比例尺地图,一般采用的计算机机助制图方式,对外业采集的地理空间信息基于制图软件平台将区域总图以电子地图方式存储。
对于一个确定的区域都是对其整体区域进行测绘制图,所成的地图都是大范围的电子地图,需要对地图进行分幅裁切输出成若干幅分幅地图,以求满足各种需求的使用。
本次研究是基于工程建设中广泛使用的Autodesk公司的AutoCAD软件平台对地图的分幅裁切,若直接使用现有AutoCAD命令尚且能够完成地图裁切分幅,但是整体流程工作非常繁琐重复且效率低下,本次研究是通过地图分幅图程序设计,以求实现地图分幅图制作分幅自动化的目的。
程序设定地图分幅范围自定义与分幅比例尺可选择,可以满足多种用户的需求,降低了图形处理难度,提高工作效率。
●研究现状
目前,市场上还没有成熟并满足需求的商用地图分幅图制作的专业软件。
业内大多数测绘生产单位均使用地图成图系统软件进行地形图分幅处理,比如国内南方公司开发的CASS成图软件。
南方CASS软件专业性非常强,其功能在测绘专业非常实用,拥有AutoCAD的图形编辑能力。
强大的地图绘制编辑功能,使CASS软件广泛应用于工程建设之中。
但是其昂贵的软件购置成本、庞大的软件存储空间,使得一些只需要地图分幅图制作功能的用户进退两难。
于是部分作业单位自行编制数字地形图分幅程序或插件实现地形图分幅处理。
程序功能不尽相同,软件界面、处理流程、分幅效果有所区别,但对于分幅地形图基本都采用独立文件形式。
●研究内容
本次课题研究目标是完成地图分幅图制作程序设计,来提高地图分幅裁切的效率。
程序采用分幅方法是矩形分幅法,以50cm*50cm图廓图幅规格对测区范围内的地图进行自动分幅。
分幅程序是按照用户自行选定设定的大比例尺(1:
500、1:
1000、1:
2000三种比例尺)、自定义分幅范围进行,程序需完成分幅矩形方格网绘制、按照矩形方格网裁切、加带图廓整饰、输出成独立图形文件等步骤。
●主要工作
(1)根据课题研究目标的需要,系统研究现代地图和地图分幅的基础理论及其发展,作为研究的理论基础。
(2)研究了解AutoCAD软件平台,对程序设计所使用的语言VisualLISP进行深入的研究,为程序设计提供工具。
(3)深入研究地图分幅的算法,实现VisualLISP语言实现地图自动分幅、裁切、插入图廓整饰和输出成图步骤,完成地图分幅图制作程序。
(4)综合论述程序设计的整体流程。
(5)对本次设计的创新点、成果进行总结,找出不足与进一步的研究方向,以及对应用前景与未来的研究方向进行展望。
1地图与地图分幅
1.1地图定义与投影
地图是先于文字形成的用图解语言表达空间事物的工具。
自古代起,为记载生活资料的产地,人类将地形地貌用象形的图案模仿记载下来,作为后面活动的指导。
它是人们对周围客观环境与事物的认识的总结,然为了进一步的对客观环境的认识与探索,就会以现有的地图为依据不断的深化不断的更新。
过去,人们将地图看作是“地球表面在平面上的缩写”。
这种说法是局部、片面、不充分的,只表达出了以缩小符号去表达客观世界,但是这就与风景图画以及现今的遥感图像、地面摄影相片就没什么区别了。
1.1.1地图定义
地图是根据一定的数学法则将地球上各种自然现象和社会现象,使用地图语言,通过制图综合,缩小表示在平面上,反应各种空间分布、组合、联系和质量特征及其在时间中的变化和发展。
1.1.2地图投影
近代地图学是以地图投影为其标志,它承袭了大地测量学对地球空间的概念,通常在进行外业作业采集的坐标点都是以大地水准面与铅垂线作为基准面与基准线的,然而由于地球内部质量分布的不均匀处处与铅垂线垂直的大地水准面是一个高低起伏不规则的曲面,因此为解决大地水准面不能作为内业计算基准面的矛盾,就选择了既能用数学公式表达又十分契合于大地水准面的参考椭球面作为内业计算的基准面。
虽参考椭球面能作为内业计算基准面,但它任是一个曲面。
为了方便承载着地理数据与地理信息的地图的生产使用,就需要将曲面上的地理信息投影到平面上。
地图投影使用解析方法找出参考椭球面点经纬度坐标(Φ,λ)与平面直角坐标(x,y)之间的关系。
地图投影最终目的是将椭球面上的经纬度坐标(Φ,λ)变成平面上的直角坐标(x,y)。
正是实现了这样的点位坐标的变换,才能将地面各种物体和现象正确的描绘到平面上,因此才能保证地图图形具有可量测性,,人们能够依据地图研究制图物体与想象的形状和分布,进行各种量测。
投影的结果存在误差是不可避免的,地图投影方法可以精确地确定每个点上产生的误差性质和大小。
地图比例尺是地面上线段在地图上缩小的倍数,它是地图上某线段l与实际地面上相应线段L长度的比,表示:
l:
L=1:
M(1.1)
式中,M表示地图比例尺分母。
因为地球表面是曲面,因此在进行地图投影时会限定一个投影范围,将曲线长度看作水平长度。
地图定向是确定地图图形的地理方向,没有确定的地理方向,就无法确定地理事物的方向。
地图的数学法则中一定要包含地图的定向法则。
使用了特殊的数学法则,地图就有了可量测性。
我国国家标准地图采用的是高斯-克吕格等角方位投影,即假设一个圆柱面横套在椭球面上,使其与椭球面上的一子午线相切(中央子午线)然后按照一定的数学法则将中央子午线两侧一定范围的区域地物与地理现象投影到圆柱面上,然后展开此圆柱面形成的平面就为投影地图。
1.2地图分幅与编号
1.2.1地图分幅
地图分幅方法有两种:
经纬线分幅和矩形分幅。
(1)经纬线分幅
经纬线分幅又称梯形分幅,是根据不同的比例尺按照不同的经差和纬差进行地图分幅。
它是当前世界上各国地形图和大区域的小比例尺分幅地图所采用的主要分幅形式。
我国的八种基本比例尺地形图就是按经纬线分幅的,它们都是以1:
100万地图为基础进行经差纬差划分图幅,从而使得相邻比例尺地图数量有成简单的倍数关系。
经纬线分幅的比例尺图幅范围详见表1.1
表1.1小比例尺地图各种比例尺分幅图幅范围
比例尺
1:
100万
1:
50万
1:
25万
1:
10万
1:
5万
1:
2.5万
1:
1万
1:
5千
纬差
4°
2°
1°
20′
10′
5′
2′30″
1′15″
经差
6°
3°
1°30′
30′
15′
7.5′
3′45″
1′52″
图幅
间数
量关
系
1
4
16
144
576
2304
9216
36864
1
4
36
144
576
2304
9216
1
9
36
144
16
576
2304
1
4
64
256
1
4
16
64
1
4
16
1
4
经纬线分幅优点:
每个图幅都有明确的地理位置概念,适合用于非常大的区域范围(全省、全国、大陆洲、大洋、全世界)地图分幅可分多次投影,变形较小。
经纬线分幅缺点:
当经纬线是曲线时,图幅拼接非常不方便;随着纬度的升高,相同的经纬差所包含的地面区域面积越来越小,于是实际的图幅也越来越小,这会造成印刷机版面调整的问题,为克服这一困难,对高玮地区采用合幅的方法,但是这破坏了分幅系统性;经纬线分幅经常会破坏地物的完整性。
(2)矩形分幅
矩形分幅地图图廓都是一个矩形,相邻图幅都是以直线划分的。
矩形的大小是根据纸张和印刷机的规模而定。
矩形规格大小一般为40cm*50cm或50cm*50cm。
矩形分幅优点:
图幅之间结合紧密,便于拼接使用;各图幅印刷面可以相对平衡,利于充分利用印刷纸张的版面;可以灵活使用分幅线有意识的避开重要地物,保持地图地物的完整性。
矩形缺点:
图廓线没有明确的地理坐标,会使图幅缺少准确的地理位置概念,整个制图区域只能一次投影,变形较大。
因此矩形分幅时对于小区域的大比例尺地图进行分幅首选方法,分幅简单容易实现,精度高。
1.2.2地图编号
地图编号就是对多幅地图的每一幅地图进行用特定的号码来表示,地图编号应该有一定的逻辑性、规律性以及唯一性。
根据分幅的方式不同,常见的编号方式有:
(1)行列式编号
将制图区域划分为若干行与若干列,并以顺序配以相应的序数或者字母编号。
行号可以是自上向下编号,也可从自下而上编号;列号可自右向左编号,也可自左向右编号。
因此每一图幅的编号则取“行号-列号”或者“列号-行号”标注。
这种编号方式用于大区域小比例分幅地图,例如国际1:
100万地图采用行列号形式编号。
目前,国际上许多国家的地图编号都采用该方法编号。
(2)自然序数编号
对分幅地图按照自然序数进行顺序编号,可以采用自左向右,自下而上进行编号。
也可以采用其他排列方式,如顺时针;逆时针;自上而下,自右向左。
自然序数编号一般应用于小区域制图中,编号方法简单直观。
(3)经纬度编号
经纬度编号仅适用于按经纬度分幅,以图幅的右图廓的经度除以该图幅的经差得行号,上图廓的纬度除以该图幅的纬差得到行号,然后行数在前、列数在后顺序编在一起组成该图幅的行号。
本次研究采用自然序数编号法进行地图分幅图的编号。
2研究方法与工具
2.1研究方法与路线
2.1.1研究方法
本次研究采用网络、图书资料查询方法来搜集国内外地图分幅的相关文献资料,采用了文献研究法,了解地图分幅的国内外相关问题与研究现状。
分析了地图矩形分幅的需求,设计了程序的结构以及程序功能的测试。
将程序功能进一步的细化,方便程序功能的实现。
采用的是AutoCAD二次开发方法VisualLISP编程语言实现预期程序功能。
2.1.2研究路线
图2.1研究路线图
根据程序功能的开发流程分为需求分析、系统设计、编码、及功能实现、设计总结及论文撰写等阶段。
结合研究的具体要求提出了一个开发基于AutoCAD地图自动裁切分幅输出功能技术路线,详见图2-1研究路线
2.2研究工具
2.2.2开发平台
AutoCAD是由美国Autodesk公司开发的通用计算机辅助绘图与设计软件包,具有易掌握、使用方便、体系结构开放等特点。
AutoCAD自1982年问世以来,进行了多次升级,随着版本的不断提高和功能的日益完善,深受广大工程技术人员的青睐,目前已经是国内甚至国际上最流行的制图软件之一。
AutoCAD具备杰出的用户界面,具有易学易用法人特点,通过命令行或者交互菜单的形式便可以进行各种操作,方便、快捷、易操作。
但是在使用AutoCAD时,多数人只是利用了其强大的绘图功能,来替代手工绘图,却忽略了在使用AutoCAD绘图同时,将绘图功能专业化,从而实现AutoCAD的真正应用。
目前,在中国AutoCAD已经成为工程设计领域中应用最为广泛的计算机辅助设计软件之一。
本次课题研究程序设计采用AutoCAD作为程序的软件平台,进行二次开发实现地图自动裁切分幅输出。
2.2.3编程语言选择
AutoCAD提供的开发工具语言主要有:
VisualLISP、VBA(VisualBASICApplication)和ObjectARX(AutoCADRuntimeExtension),本次研究的程序设计选用VisualLISP进行。
VisualLISP是为加速AutoCAD程序开发设计的语言工具,是AutoLISP的换代产品,与AutoLISP完全兼容,并提供了它的所有功能。
AutoLISP是由Autodesk公司开发的一种LISP程序设计语言,由于AutoCAD强大的绘图功能,通过AutoLISP编程调用,可以节省很多开发时间,大大降低开发难度,提高开发效率。
AutoLISP语言作为嵌入在AutoCAD内部的具有智能化特点的编程语言是开发AutoCAD的有效工具。
AutoLISP不光具备一般高级语言的功能和基本结构,而且还拥有较为强大的图形处理能力。
AutoLISP有如下优点:
(1)语言规则非常简单,易学易用,即便是对计算机了解不太深的工程专业人员,只需要短期的学习,就能熟练掌握这门语言,该语言非常的简洁,是其它编程语言无法相比的。
(2)直接针对AutoCAD解释执行,易于交互。
AutoLISP提供的大多数函数都是直接针对AutoCAD操作执行的,用AutoLISP可编写访问AutoCAD图形数据库的操作。
(3)解释执行立竿见影。
程序员可以一次运行一段AutoLISP代码,也可以在AutoCAD的“command:
”下逐条输入AutoLISP指令,立即得到结果。
但是随着时代的发展,计算机技术的革新,对编程语言的要求也呈几何式增长。
AutoCAD在工程中的应用层次不断提高,在对AutoCAD进行二次开发时,智能化、集成化的要求也越来越高,计算机处理的要求越来越多,程序设计越来越复杂繁琐,代码越来越庞大,AutoLISP的缺点也越来越明显。
如:
综合能力差、程序运行速度慢、软件质量不一保证、开发环境集成度低以及和人的思维方式不一致等。
由于AutoLISP的这些特点,它仅仅适合于有能力的终端用户做些自己的开发任务。
为了弥补AutoLISP的不足,满足AutoCAD环境下较大型的集成化、智能化二次开发,Autodesk公司在提供了一种AutoLISP的换代产品——VisualLISP。
VisualLISP提供完整的集成开发环境,为开发AutoLISP程序提供了极大的方便。
VisualLISP提供了AutoLISP的所有功能并与AutoLISP完全兼容,大大增强了AutoLISP的原有功能。
VisualLISP是一个交互式智能控制台,它还具有强大的文本编辑器和格式化器,使编程更加轻松高效。
该开发环境具有自己的窗口和菜单,包括编译器、调试器和其他工具,可以实时调试AutoLISP程序。
VisualLISP可以对源代码进行编译,编译后的程序比解释型的AutoLISP程序在运行效率上快,但它并不能独立于AutoCAD运行。
3程序总体设计
3.1步骤设计
当前若直接使用现有AutoCAD命令进行大比例尺地图裁切分幅,整体流程复杂重复且效率低下。
为解决地图分幅自动化程度地下的需求,研究的目的就是通过对地图分幅图程序设计以求提高地图分幅裁切过程的效率,提高工作效率。
地图自动裁切,设计将总图,按用户选定的比例尺进行矩形格网分幅编号,再根据绘制的矩形格网,将分幅地图从原图幅一一分离出来,形成新的图幅。
模拟人工操作编写地图分幅裁切程序、自动处理图形。
采用矩形分幅时,地图编号,采用自然序数进行编号,采用自左向右,自下而上进行编号。
在AutoCAD平台下实现的地图自动裁切分幅程序可分以下几个步骤:
(1)确定初步分幅范围
用户自定义一个最大与最小坐标点,进行确定地图的分幅范围。
(2)选定比例尺,计算点坐标
选定设定的三种比例尺:
1:
500、1:
1000、1:
2000其中一种,修正分幅范围,再计算分幅中所用到点位坐标。
(3)方格网绘制
按照计算的点位坐标进行选定比例尺下的矩形分幅格网的绘制。
(4)图幅裁切
按照绘制的矩形格网进行图幅的裁切。
(5)图廓整饰
对每一幅裁切好的分幅图幅进行加入制作好的带属性的图廓,进行图廓整饰。
(6)图形存盘
对分幅图一一输出成单独图形文件,存盘。
详见图3.1
图3.1分幅裁切流程图
3.2程序准备
3.2.1带属性图廓制作
地形图编辑修改工作完成、分幅后需要对图形进行加图框。
图廓是图幅四周的范围线,我国大比例尺地形图测量中规定,地形图按矩形50cm*50cm或者40cm*50cm标准尺寸进行分幅。
由于同一测区所使用的图框除图名与编号不同外,其他是完全相同的。
因此,可事先将图框按图示要求绘制好后以图块形式保存,使用时直接插入图中。
地形图图廓分内外图廓线、坐标格网线、图廓文字与坐标注记等。
本次程序所用图廓以图3.1为例子,设定为50cm*50cm规格。
先绘制出图框,以及接图表,再通过AutoCAD命令“ATTDEF”添加图廓的属性,方便图廓在不同图幅的适用性。
所加属性有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AutoCAD 地图 分幅图 制作 程序设计 测绘 工程