您好,欢迎访问三七文档
当前位置:首页 > 幼儿/小学教育 > 小学教育 > 基于多边形系统的地籍测量软件设计
1基于多边形系统的地籍测量软件设计倪尧(南通市测绘院有限公司,江苏南通226006)摘要本文介绍了面向实际生产应用的地籍测量软件设计思路,对具有地籍特色的拓扑多边形系统自动生成的算法做了详细阐述,对从事测量软件、GIS软件的开发研究有一定的参考价值。关键词地籍测量软件设计拓扑多边形系统AutoCAD1引言当前商业测绘成图软件大多已包含地籍测量功能,但由于软件设计、开发人员缺乏地籍测量生产实践经验,开发出的地籍测量软件存在难以满足地籍测量高效生产和地籍测量管理信息系统入库需要等问题。因此本文作者在总结南通市测绘院有限公司(以下称“本公司”)十多年地籍生产中积累的经验基础之上,采用VisualC++、AutoCADObjectARX开发工具,依托AutoCAD强大图形编辑平台,自主开发直接面向生产人员的实用型地籍测量软件(CadaSVforAutoCADR2000-R2002&R2004)。自2003年以来,该软件已经在本公司承接的数十个建制镇地籍测量生产中得到应用和完善,大幅度提高了地籍测量工效,并顺利实现了与江苏省、南通市两级地籍管理信息系统的衔接。本文将介绍该软件的设计思路,并着重介绍基于AutoCAD环境的地籍拓扑多边形系统自动生成算法。2地籍测量软件设计思路完整的地籍测量工作一般应遵循以下生产流程:(1)野外数据采集→(2)界址点坐标测算→(3)地形要素编辑成图→(4)地籍要素编辑成图→(5)地籍数据转入地籍管理系统数据库。商业测量成图软件对上述流程中的(1)、(2)、(3)支持都不错,可以直接进行地籍测量生产。作者结合本公司的实际生产模式对流程(1)、(2)分别编制了“全站仪碎部测量内存数据处理”软件1(采用VisualC++开发的测量数据采集、通信类软件,包括常用多种型号全站仪内存数据与微机的通信、坐标计算、成果打印、数据格式向常用商业成图软件转换等功能)、“测算法”软件1(助手类测量工具软件,是本公司“测算法”软件PCE500袖珍机版面向PC平台的升级,采用VisualC++、AutoCADObjectARX开发工具包,包括边交会等18种常用解算坐标功能,具有与作业同步的测算图形演示帮助功能,可广泛应用于地籍测2量、地形测量、工程放样等)。2.1功能设计图1软件运行界面地籍测量成图软件(CadaSV)主要功能设计详细介绍如下:配置:弹出配置对话框,输入区名、区号、街道名、街道号等测区基本信息,输入地籍分幅图比例尺、分幅规格等,输入作业单位、坐标系统、采用的地籍分类标准等其它信息。一个街道在作业前必须且仅需输入一次即可。绘界址线:以街坊为作业单元,逐宗将已经测算好的界址点连接,相邻宗地界址线不必重复绘制。该功能设计为仿照AutoCAD的LINE命令,不同之处是界址线自动绘制在指定图层、并添加了扩展属性。界址边长:点击界址边,输入野外实际丈量的界址线边长,检查界址点采集坐标是否测量正确,地籍调查规程要求:⊿S≤±10cm。宗地信息:该功能设计成AutoCAD命令行方式,首先点击标注宗地号位置,根据提示依次输入宗地号、使用者姓名、土地分类号、是否为空宗等信息,最后根据“宗地权属调查表”捕捉宗地1号界址点的坐标,该点一般为宗地左上角的界址线端点。操作结束后,在AutoCAD特定图层中生成了一个宗地号的TEXT对象,宗地信息均存储在其扩展信息中。3宗地号对后续自动形成以街坊为单位的宗地多边形系统充当了多边形的标识点角色。修改宗地信息:以对话框方式中修改存储在宗地号扩展属性中的宗地信息。宗地关系图:该功能是本地籍测量软件精华所在,在AutoCAD平台中开发的类似GIS软件中多边形系统自动生成的功能,在本文后续部分详细介绍算法。宗地图:在宗地关系图形成后,即可输出宗地图。生成宗地图方式分三种:全部自动、窗选自动、人工设置。软件实现该功能时,摒弃商业成图软件中调用AutoCAD的TRIM命令的设计方式(由于图形中存在PLINE等复杂线对象,直接调用TRIM命令经常造成裁剪边界附近多线或漏线),首先在裁剪边界处将线对象截断(调用ARX实体对象内置截断函数,个别线对象没有提供的需编写截断代码),然后将边界外实体栏选删除,裁剪后无多线、无少线,效果非常好。采用自动方式时,软件根据宗地形状、大小自动设置生成宗地图的比例尺;文字对象自动按比例缩放、线对象自动根据比例调整线型比例和线宽、位于裁剪区外的相邻宗地号自动标注、以及界址点号和边长的最佳位置标注。街坊数据导入、导出:以街坊为单元,将街坊内所有宗地的界址点、界址边、界址边链、宗地号等其它拓扑信息或属性信息导出(或导入)文本文件或MDB数据库,主要目的是为地籍报表输出(地籍报表输出功能设计为独立于AutoCAD环境运行的程序)、与GIS系统数据交换。街坊关系图:以街道为单位,提取各街坊最外围界址线(一般为道路、河流等线状地形的中心线,属街坊间拼接线),自动生成街坊关系图,生成原理与宗地关系图基本一致。分幅接图表、地籍图生成:在整个街道测量完毕后,以街坊关系图为基础,自动形成分幅接图表,自动拼接各街坊图后,以矩形或正方形规格自动裁剪输出分幅地籍图。生成GIS信息图层:主要为南通市地籍管理系统、江苏省地籍管理系统专门形成的具有拓扑关系的多边形系统图层,便于入库的接口软件读取拓扑信息。图层工具、帮助、软件注册等:为软件辅助功能,不再赘述。2.2软件设计主要特色操作贴近地籍测量生产实际,形成高度自动化生产流程,提高生产效率和质量。采用VisualC++、ObjectARX、COM开发技术,依托广大测绘人员喜爱的AutoCAD(包括R2000-R2002、R2004)强大图形编辑平台开发。可和任何基于AutoCAD开发的商业成图软件(如CASS、SCS、SV300)配合使用(地形成图采用商业软件,地籍成图采用该软件),仅需APPLOAD命令加载一次,以后4进入AutoCAD后直接键入CMENU命令即可加载地籍菜单。采用多边形自动生成技术实现宗地关系图(以街坊为单位)、街坊关系图(以街道为单位)自动分层次拓扑。输出的交换文件、GIS信息图层可方便转入各种地籍管理信息系统。采用独特的图形裁剪算法,实现宗地图、分幅图的图形要素无损、无多余的自动干净裁剪输出。实现各类文字最佳位置注记(如宗地号居中标注、边长数据对齐界址线标注、界址点号在宗地多边形外角平分线标注等),文字大小、线型比例、线条宽度自动按图形比例缩放,编辑工作量大大减少。生成宗地图、分幅图时自动添加图形分割线附近及其它必要的地籍要素注记,提高生产效率。3地籍多边形系统自动生成3.1地籍基本要素的空间几何特性及定义为顺利实现地籍数据入库以及各种地籍图件最大自动化处理,必须采用拓扑多边形构建地籍各要素之间联系。从几何学方面看,地图上一切空间信息都可以概括为点、线、面三类。多边形系统是一种网格结构,网结构诸元素之间存在拓扑邻接(同类型元素)、拓扑关联(不同类型元素)和拓扑包含关系。地籍要素中界址点、界址线、界址边链(即首尾相接界址线构成的折线)、宗地(街坊、街道)除满足通用几何图形拓扑关系外,还存在其特殊关系为:界址点:共点(即几何位置或编号重复点,需要删除或更该编号)、共线(共用界址线,即相连接,必然共宗地、街坊、街道)、共面(属同一宗地、同一街坊、同一街道,但编号不同);界址线:交叠(即部分重叠或全部重叠,需要处理)、相接(即首尾相接,必然共链、共宗地)、共面(即属同一宗地,必然共街坊、街道);界址边链:相接(即首尾相接,必然共宗地)、共面(即属同一宗地,必然共街坊、街道);宗地(街坊、街道):空置(即多边形没有标识点,该软件取宗地号为标识点,并存储宗地属性信息)、交叠(即一个多边形内有两个以上宗地号标注,如不为包宗应处理)、宗地号重号(一个街坊内宗地号不允许重号)、宗地号漏空(即宗地号标注在街坊线外,必须处理)。根据基本地籍各要素的空间几何特性,在程序中定义如下://界址点定义5typedefstructtagVERTEX{intNo;//界址点号BOOLbNode;//是否节点intNodeNo;//节点编号doublex;//X坐标doubley;//Y坐标}VERTEX;//节点定义typedefstructtagNODE{intPtNo;//界址点编号intDirNo;//连接边数intDirEdges[MAX_DIR];//连接边号数组intDirStatus[MAX_DIR];//连接边方向标识:1出去、-1进来,0初始doubleAngle[MAX_DIR];//连接边方位角}NODE;//界址边定义typedefstructtagEDGE{intFromPt;//起点intToPt;//终点doubleLength;//边长}EDGE;//界址边链定义typedefstructtagSEC{intFromPt;//起始节点号intToPt;//终止节点号intLeftParcel;//左宗地号intRightParcel;//右宗地号CArrayint,intEDGES;//界址边数组}SEC;//宗地定义typedefstructtagPARCEL{intNo;//宗地号intLandUse;//地类号CStringName;//使用者名称doublex1;//1号点Xdoubley1;//1号点YdoublexPos;//定位点XdoubleyPos;//定位点YCArrayint,intSECS;//界址边链数组6CArrayint,intCHILDS;//子宗地数组……}PARCEL;3.2地籍多边形系统自动生成算法步骤本节介绍以街坊为单元的宗地关系图生成算法,与街坊关系图生成算法基本一致。(1)检查界址边是否满足建立拓扑关系要求选中所有界址线,然后进行相交计算。出现下图所示四种情形之一则显示错误信息,标记错误位置,编辑修改后,直至检查全部通过。图2(2)建立界址边数组、界址点数组、宗地数组选中所有界址线,界址点根据界址线产生,同步建立界址边数组和界址点数组。按宗地号由小到大顺序建立宗地数组,同时进行三项检查宗地号是否重复、地类号是否与分类标准一致、扩展属性中的宗地第一个界址点坐标是否在界址点数组中。(3)建立节点数组在界址点数组中依次取出连接3条以上界址边的节点,并在节点类中记录连接界址边数及边号,计算连接边方位角。需特殊处理的情况是宗地的第1号界址点不管也作为节点。(4)建立界址边链数组在节点数组中依次取出一个节点,从连接该节点的某条界址边开始搜索下条边,到达另一节点则建立一条界址边链,在界址边链对象中记录起终节点号、首尾相接的界址边号,最终形成界址边链数组。(5)生成多边形系统在宗地数组中按宗地号依次构建各宗多边形。以宗地号文本插入点为标识点,垂直向上作射线,寻找与该垂线相交且距离最短的界址边链,同时判断该界址边链前进方向是否为顺时针。从该界址链开始,在顺时针方向的界址边链末节点寻找外夹角最大的下一条界址边链,直到回溯到起始界址链顺时针方向的起点,至此一个宗地的多边形回路形成了。为便于后续线段重叠悬挂线情形二线段相交悬挂线情形一(伪节点)7输出地籍表格,以宗地第1个界址点边链为起始边,将各界址链重新排序,并在界址链中记录左右宗地号,同时计算各宗面积。算法如图3所示:图3所有宗地多边形形成后,对街坊外围界址边搜索形成街坊多边形,并将街坊赋予最大宗地号。接着检查每条界址链是否均有左右宗地号(即被使用了两次):如果某宗地所有界址链均仅使用了1次,则可能为包宗中的子宗,在该宗外边界任取一点,利用点与多边形的包含关系算法,若该点落在某一宗地内,则该宗地为外宗地,并将该子宗地号写入外宗地对象内的子宗地数组,并将外宗地面积扣减;反之,则可能漏注宗地号或该链为多边形之间的桥链,将异常界址链标示出来,进行编辑处理。最后一项检查为面积检核(街坊面积=各宗地面积之和),经过前面多项检核后,该软件使用至今还没有出现面积检核不通过的情况。(6)界址点自动编号宗地多边形系统建立
本文标题:基于多边形系统的地籍测量软件设计
链接地址:https://www.777doc.com/doc-2574642 .html