分享
基于VLISP的农房不动产面积计算方法研究.pdf
下载文档

ID:2643125

大小:1.97MB

页数:4页

格式:PDF

时间:2023-08-20

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于 VLISP 不动产 面积 计算方法 研究
第40 卷第2 期2023年6 月长江工程职业技术学院学报Journal of Changjiang Institute of TechnologyVol.40 No.2Jun.2 0 2 3基于VLISP的农房不动产面积计算方法研究陈文玲1,刘登杰?(1.长江工程职业技术学院,武汉43 0 2 12;2.成都久远华图测绘有限公司,成都6 10 0 0 0)摘要:近几年,农村不动产确权登记发证的工作在不断进行,由于整体数据较多,给数据整合工作带来了较大难度。为了解决这一问题,基于VLISP语言研发出一套能应用在农房不动产测绘项目中的辅助软件,结果表明辅助软件在农产测绘中提高了工作效率,节省了大量的人力物力,在数据整合工作中发挥了很大的作用。关键词:农房不动产;VLISP语言;房产分层面积;房产分层图中图分类号:F301.3DOI:10.14079/42-1745/tv.2023.02.006引言农房不动产测绘是指在对宅基地、集体建设用地使用权及地上的建筑物、构筑物的所有权进行权属调查、测绘的基础上进行确权登记并颁发不动产权证书的工作。关于做好不动产权籍调查工作的通知(国土资发2 0 1541号)及其附件不动产权籍调查技术方案(试行)1,为各级政府开展不动产登记提供了政策依据。在农村不动产登记工作中,由于整体数据较多,给数据整合工作的开展带来较大难度。这就需要各单位在工作实践中,积极探索、开拓创新,研究出相关配套数据管理系统和处理技术,以便高效、准确开展不动产登记工作2 。笔者基于AutoCAD二次开发语言VLISP研究开发了一套满足于项目成果资料的辅助工具软件,建立了统一的数据标准,具有计算房屋占地面积、建筑面积、批量输出相关图表簿册成果等多种功能,并能无缝对接不动产数据库管理系统,确保各类成果质量、极大提高工作效率。本文重点讨论利用VLISP语言实现房产分层面积计算及分层图绘制的过程。1农房不动产测绘1.1主要工作内容农房不动产测绘工作就是将农村房屋的权属情况、宗地面积、构(建)筑物结构、楼层、建筑面积等进收稿日期:2 0 2 3-0 2-2 7作者简介:陈文玲(19 8 3-),女,湖北黄冈人,讲师,硕士,研究方向:地籍测绘。一2 8 一文献标识码:A文章编号:16 7 3-0 49 6(2 0 2 3)0 2-0 0 2 8-0 4行调查、测绘与计算,并制作相关图表簿册权属认定材料,从而为不动产的登记工作提供可靠的数据,以此为他们的发证以及权利人未来保护自已的合法权益提供有效的帮助。农房建筑面积及占地面积的测算应参照现行的房产测量规范的要求进行测算并分幢绘制分层图。农房不动产测绘项目主要依据是地籍调查规程及相关规程和标准。1.2项目主要成果农房不动产项目成果主要为文字成果、表格成果、图件成果。除由权利人申请时提交的身份证、户口簿复印件及相关审批材料复印件外,包括不动产权籍调查授权委托书、权源资料、不动产权籍调查表、界址点坐标成果表、不动产测量报告、宗地图、宗海图、房产分户图等3 。2系统的功能设计VLISP是一种可视化的LISP语言开发环境,它不仅是AutoLISP的简单扩展,还在其中加人了面向对象的新特征,使利用VLISP 进行 AutoCAD二次开发的用户在编程时更为容易、快捷4。笔者结合项目实际要求,依托于AutoCAD提供的二次开发语言VLISP实现全作业流程的功能模块开发,具有如下功能:(1)提供一些工具型辅助命令,协助技术人员进行相关检查的错误定位、批量的自定义属性输出与挂接等处理。(2)提供面向房屋(或房屋附属)、宗地、自然幢与任意多段线的拓扑、交叉和跨越等必要检查及属性填充和图属一致性检查等功能。(3)提供房屋、房屋附属、宗地、自然幢有关的设置、关联、录入、挂接及检查等功能。陈文玲,刘登杰基于VLISP的农房不动产面积计算方法研究(4)提供宗地图、宗地草图、房产图、权籍表、人库图表的制作、计算、输出与打印5。满足项目成果的具体要求,便于高效提供有关成果并快捷打印。同时,提供人库接口数据,以无缝衔接不动产管理系统的批量数据导人。3核心算法及代码实现利用上述模块提供的功能,将宗地、自然幢、房屋和房屋附属进行相应检查、关联、属性录人等预处理操作,确保无拓扑错误、属性齐全正确,供房产面积计算或生成房产分层图。3.1核心算法设计根据宗地线识别该宗地内全部自然幢,逐自然幢识别其内部主体房屋PL实体,计算主体房屋的结构、层数。然后按由低到高的楼层顺序,逐层计算主体房屋、关联的房屋附属(如果有)的房屋面积,合并全面积计算部分、虚线显示半算面积部分,并汇总该楼层总建筑面积。同时,进行分层图的生成及相关检查。最终汇总本幢、本宗总建筑面积。3.2地籍图形数据的必要处理外业地籍图数据采集,采用常规RTK+全站仪或倾斜摄影测量+三维模型测图等方法,获取地形地籍要素。对权属线、房屋线等相关要素的拓扑、捕捉、交叉等进行检查并修改,在此基础上,将阳台、檐廊等房屋附属进行区分并进行相应标注,且确保其注记唯一、正确,逻辑楼层与依附的主房楼层也必须一致。同时,保证注记实体的插入点须在房屋附属的范围内。房屋附属面积标注每层由2 个代码(类型代码+计算代码)组成,1-N层依次组合。按照简易识别的原则自定义代码,房屋附属类型代码包括:L(檐廊)Y(阳台)Z(柱廊)P(飘楼)C(飘窗)M(门廊)/F(房屋)S(室外楼梯)I。类型代码可按项目要求扩展。房屋附属计算代码包括:厂N(不算)/B(半算)/Q(全算)。图1中LBYQ表示:1层檐廊半算、2 层阳台全算。图2 所示,各房屋附属均需一对一注记相应正确的面积标注,做到不重不漏,且代码正确、与依附的房屋楼层数一致。将房屋附属与主体房屋进行关联,并经程序辅助进行面积注记的代码合法性、逻辑层数与主体房屋层数是否一致等检查与属性值写入等处理。砖JC01002LBYQ砖2200608图1房屋标注LNYQLNYQ梯顶砖3JC01004砖2砖3GNYBYgINYBYRLNYBYOY图2 面积标注3.3核心代码本文重点探讨房产分层面积计算及分层图绘制。核心代码实现如下:(1)识别自然幢内部房屋多边形建立选择集用ssget函数,自然幢按“CP”模式建立的多边形包含或接触到的选择集,可能包含了相邻幢的的房屋多边形,需要通过计算房屋多边形与自然幢多边形的面域的差集,判断其差集的面积是否与其自身面积一致,以识别出自然幢内部的房屋多边形,并建立选择集。代码如下:(setq,ssJMDget ssadd)(if(/-55JMDni1)(progn(repeat(sslength ssJMD)(setgJMDentU1aJMDUlaJHDArea(uia-get-area vlaJHD))(set curues(ulax-nake-safearray(ulax-safearray-fill curues(list vlaJMD))(setq regJMDList(ula-AddRegion nSpace curues)regJMD)(setqregzRzTmp_(ula-copy,regzRz)(ula-booleanregzR2TnpacintersectionregJMD)面域-交集(setgregArea(ula-get-area regzRZTnp)(i f(e q u a l r e g A r e a u 1a JM D A r e a 8.6 8 1):保留内部的实体(差集面积和自身基本一致)(ssadd JMDent ssJMDget)(setq ssJMDid(1+ssJMDid)(2)计算最低楼层、最高楼层和总层数考虑到有地下室、依坡而建等特殊情况,需要按CASS居民地楼层数及起算层计算本自然幢的最低一2 9 一梯顶JLNNQYQ砖4(ssnane SsJMD SSJMDid)(ulax-enane-ula-object JMDent)ulax-ubobject(8.6))(ulax-safearray-get-elenent(ulax-uariant-valueregJHDList))2023年6 月楼层、最高楼层及总层数。以便于逐楼层计算房产面积及生成房产图。代码如下:(setq JMDInfList ni1)(repeat(sslengthssJMD)(setqJMDentF-Begin(atoi(getxdataJMDentFwsc),JMDFioor(atoi(getxdata JMDentFwCs))SSJMDid(1+SSJMDid)(setq F-End F-Begin)(repeat(1-JMDFloor)(setq F-End(1+F-End)(if(-F-En d 0)跳过层)(setq F-End(1+F-End)(setq JMDInfList(append(list(1ist F-Begin F-End)JMDInfList)(setg ListTnp(ul-sort JMDInfList(function(1anbda(e1 e2)(nth 8 e1)(nth g e2)按终贴层数申大到小排序ZRZ-FUp(n t h 1(n t h Li s t T n p)幢药最尖另最高楼层数)(if(ZRZ-FDown0)(SetqZRz-FSun(-_ZRZ-FUpZRZ-FDown)(SetqZRZ-FSumZRZ-FUp))(3)计算房产面积由低到高,逐楼层计算房产面积。遍历本自然幢内部的房屋多边形,当前楼层数大于等于其最低楼层、小于等于最高楼层时,计算其自身面积,如果存在房屋附属关联,再通过关联关系按房屋附属的面积计算方式、参数计算其房屋附属面积,得到该自然幢的各层房产面积、整幢房产面积等相关数据。同时,通过图形的处理,生成各层的房产图。代码如下:(setqJZDMinDownJZDMAXUPJMDF10orID)(if(=JMDFloorIDgetFloorsta)(ChkTraArea0.001)洛楼屋(setg ChkTrarAreaSun(ChkTrarAreaSun ChkTraarea)算的PL选择集ChkTrarErr全算的PL选择集)注总面积)附属总面粉(ula-deleteTra-ZRZulaTnp)(setqChkOuerJMD-ID(1+ChkOuerJMD-ID)(if(ChkTrarAreaSum8.05)(princ(strcat宗地 DJH-QLRj第(rtosJMDF10orID20)(nthidtmpJMDInfList)-处跨越,共跨越:(rtos ChkTrarAreaSun24)m。)房屋结构(5)检查房屋线是否相互交叉为确保面积计算准确,在逐层计算房产面积及(ulax-ename-ula-objectgetEnt)生成房产图的过程中,也需要检查该层的所有参与(+JMDArea getualArea)面积计算的房屋多边形是否存在相互交叉的情况。如果存在,需进一步进行分析检查与处理。代码如下:(setq ChkouerJMD-LenChkOuerJHD-ID1ChkouerErr(1+ErrSun)ChkouerAreaSun)DJHOLR房属(/HND(repeat ChkoverJMD-LengetHand1e)未提取房黛谢属实体(fsfujb)。(setq ChkoverEnt1ChkoerJMD-ID2ChkOuerJMD-ID1ChkouerJHD-ID1(1+ChkouerJHD-ID1))(repeat(-ChkoverJMD-Len ChkOverJMD-ID2)(Setg ChkouerEnt2(SSnane ChkoverJMD ChkouerJMD-ID2)(ulax-enane-ula-objectfsgetEnt)(setqChkover-Rnt自定义函数交又检查ChkouerArea(nth Chkover-Rnt))(if(ChkoverArea8.001)(setq ChkoverareaSun(

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开