MapGIS10 Objects在土地利用总体规划数据库更新中的应用

2021-10-22 13:50邓意媛
国土资源导刊 2021年3期
关键词:数据库

邓意媛

摘 要 为了提高土地利用总体规划数据库增量更新工作的效率,本文在分析土地利用总体规划数据库增量更新工作现状的基础上,结合MapGIS10 Objects开发技术流程,在.NET Framework框架下应用C#语言开发定制了土地利用总体规划数据库增量更新前后面积的快速对比工具。通过实际应用,同以往手动一一比对地块去进行规划面积核查相比,大大缩短了工作时间。

关键词 MapGIS10 Objects开发;土地利用总体规划;数据库;增量更新;面积快速对比

中图分类号:P208 文献标识码:A

Application of MapGIS10 Objects in Updating Database of Land Use Overall Planning

Deng Yiyuan

(The Third Surveying and Mapping Institute of Hunan Province, Changsha Hunan 410114)

Abstract: In order to improve the efficiency of land use overall planning database incremental update work, the current status of land use overall planning database incremental update work was analyzed as thebase of thestudy. MapGIS10 Objects development technology process was combined, and C # language is developed under the .NET Framework to customize the rapid comparison of the area before and after land use overall planning database incremental update tool. Through practical application, compared with the manual verification of planned area in the past, the working time is greatly shortened.

Keywords: MapGIS10 Objects development; land use overall planning; database; incremental update; quick comparison of area

土地利用总体规划数据库增量更新是在一定区域范围内,按照经济发展的前景和需要,对土地的合理使用所做出的安排。对于规划的局部调整和修改,乡镇级土地利用总体规划数据库修改采用日常更新模式,按照增量更新调整和修改的具体审批业务,以单个项目来进行数据更新[1],同按县整库进行修改相比,可在很大程度上减少工作量,大大缩短更新数据的时间。目前,乡镇级土地利用总体规划数据库修改的总体流程是县局通过远程报卷系统上传规划修改批准文件与方案以及规划修改成果更新包,由自然资源厅空间规划局审批,增量更新包数据库质量检查由第三测绘院进行技术审核,项目审批完成后,通过中地公司提供的规划更新批量入库工具,调用湖南省国土空间基础信息平台数据库,进行规划数据库在线更新,更新好的数据库成果直接在湖南省国土空间基础信息平台发布,用于辅助省厅各项业务审批。国土、测绘等部门长期进行土地规划数据的获取、存储、编辑、更新、汇总及分发工作,为各行业提供数据服务。该项工作离不开地理信息系统软件平台的支持,如MapGIS、SuperMap、ArcGIS、MapInfo等。其中,MapGIS是中国地质大学开发的通用工具型地理信息系统软件,尤其在制作具有出版精度的十分复杂的地质图和地形图方面优势突出,广泛应用于各行各业,最新版本为MapGIS 10.3。

MapGIS 10.3桌面二次开发架构提供了两套开发思路。第一,基于MapGIS基础的二次开发库,在.NET Framework框架上构建应用系统,即Objects开发;第二,也是基于MapGIS基础二次开发库,在MapGIS插件框架上,采用“框架+插件”模式构建应用系统,即插件式开发[2]。在日常进行的土地利用总体规划数据库增量更新工作中,如何保证提交的增量更新包更新的正确性,做到更新图斑不重不漏,需要核对更新变更前所有图斑的面积之和与变更后所有图斑的面积之和是否一致。以往只能在MapGIS桌面软件中一一手动核查,费时费力不说还可能出错。鉴于此,利用MapGIS桌面二次开发架构,实现增量更新前后图斑面积的自动快速对比无疑是一种好的解决方案。因此本文采用MapGIS 10 Objects开发,在分析了解土地利用总体规划数据库增量更新工作现状的基础上,利用C#语言在.NET Framework框架下通过MapGIS10 Objects API实现了土地利用总体规划数据库增量更新中因地块变动引起面积变动的快速对比。在实际应用中,节约了土地利用总体规划数据库增量更新的工作时间,提高了工作效率。

1  土地利用总体规划数据库调整更新工作现状

土地利用总体规划数据库增量更新日常工作流程中的图形数据检查主要分为五个方面,第一,接收土地利用规划数据库增量更新包,命名必须为增量更新成果,格式为MapGIS数据库文件(*.HDF);第二,附加数据库文件到MapGIS本地工作空间,获取图形数据(共包含8個简单要素类图层),见表1;第三,对各图层进行坐标系、拓扑关系、图形参数、符号库及中英文对应字段检查;第四,地块面积检查,根据地块标识码同原始土地规划数据的图层内容进行面积对比,面积对比结果在允许容差范围内即通过检查,否则不予通过;第五,图形数据的必填字段检查。只有图形数据检查全部通过后才可开展下一步的数据更新工作。

本文针对土地利用总体规划数据库更新日常工作流程中图形数据检查的第四步,实现土地利用总体规划数据库更新前后地块面积的快速对比。土地利用总体规划数据库增量更新包中每类数据分为更新过程图层和更新结果图层,更新过程图层记录了地块调整的变化。数据对应关系为:更新过程图层的变更前标识码字段(BGQBSM)对应原始规划数据图层的标识码字段(BSM),更新过程图层的变更后标识码字段(BGHBSM)对应更新图层的标识码字段(BSM)。地块变更前后面积变动的对比:更新图层中所有要素面积求和同原始规划数据图层中提取出现在更新过程图层的地块面积之和进行对比,面积比对结果在允许容差范围内的更量增新包可进行下一步的更新工作。通过手动去打开各数据图层进行面积核查工作,不仅耗时耗力,还很容易出错。因此通过MapGIS10 Objects二次开发去完成土地利用总体规划数据库更新前后面积的快速对比,可以很大程度提高工作效率。

2 面积快速对比设计及实现

土地利用总体规划数据库调整前后面积快速对比工具的完成可分为三个步骤,第一,部署MapGIS10 Objects开发环境;第二,设计面积快速对比技术流程;第三,技术流程的代码实现。

2.1 部署MapGIS10 Objects开发环境

要进行MapGIS10 Objects二次开发,需要先在司马云上升级成为开发者,开发授权类型有基础开发授权和高级开发授权。其中,基础开发授权不能进行空间数据库和三维开发,对HDF数据库文件的大小也有限制(≤256 M),考虑到土地利用规划增量更新包的实际大小,故只需要获取简单的基础开发授权。开发授权获取后需注册到系统注册表中,同时安装MapGIS 10 X64桌面开发包并完成MapGIS插件(自动选取IDE)配置,就完成了整个MapGIS10 Objects开发环境部署。

2.2 面积快速对比技术流程

面积快速对比的技术流程如图1所示。

流程实现思路:

1)附加土地利用总体规划数据库增量更新包(*.HDF)到MapGIS本地工作空间,获取图形数据,分别建立更新过程图层列表和更新图层列表;

2)选取一类更新过程图层,获取图层属性表内容(表2展示了TDGHDLGXGC属性表的部分内容),建立不重复的BGQBSM字段值集,并计算出对应的更新图层要素面积之和,记作面积H;

3)打开原土地规划数据图层(*.WP),读取Feature,遍历找出属性字段BSM的值同BGQBSM值集中值相符合的要素,并对要素面积进行求和,记作面积Q;

4)比对面积H和面积Q,差值在允许范围内,就表示该土地利用总体规划数据库增量更新包符合要求,可进行下一步的数据更新。

2.3  技术流程的代码实现

在IDE(Visual Studio)中建立窗体工程,拖动控件进行界面布局。然后,按照土地利用总体规划调整前后面积快速对比技术流程,用C#逐一实现每个功能。

1)附加HDF数据库文件并获取MapGIS本地工作空间数据源,分别通过AttachGDB()与Connect()方法实现。附加数据库文件窗口如图2所示。

2)获取数据库文件中的图形数据,得到更新过程图层列表和更新图层列表。通过OpenGDB(“数据库名称”)得到指定的数据库对象,从数据库对象的GetXclsName()方法获取到简单要素类的图层名,根据“GC”“GX”关键字对图层进行分类。

3)选取一类更形过程图层,利用SFeatureCls的Open(“TDGHDLGXGC”,0)得到要素类对象,用查询方法Select() 取得全部图元对象RecordSet[3]。循环遍历RecordSet,每条记录通过Record.get_FldVal(“BGQBSM”)得到没有重复的BGQBSM值集。

4)计算对应更新过程图层的更新图层图元面积之和。在获取图元对象后,利用简单要素类SFeatureCls的GetGeometry()方法得到图元多边形几何实体,根据GeoPolygon.CalArea()方法累加后得到面积H。

5)打开原土地规划数据图层(MapGIS区文件,*.WP)[4],用SFeatureCls的Open(“file:///” + @”盘符:\数据\原土地规划数据图层.WP”)得到所有图元记录[5],逐一获取图元的BSM字段值,并判断是否存在于BGQBSM值集,存在则记录图元的面积,最后累加得到面积Q。

6)对面积Q和面积H作减法,得到面积差,根据面积差来判别土地增量更新包的去留。

3 实际应用与结果分析

在IDE中完成代码编写之后,通过编译得到土地利用总体规划数据库更新增量包面积核查的可运行文件,将其拷贝到MapGIS安装目录的program文件夹(“盘符:\MapGIS 10\program\”)下面,进行授权验证后,打开可执行文件exe运行。图3给出了选取某个土地更新增量包TDGHDLGXGC图层进行面积比对的结果。

从得到的面积对比结果来看,其面积差在允许容差范围内,表示该图层的土地利用总体规划数据库增量更新地块面积检查通过,可更新到土地利用总体规划数据库中。

4 结论

经济的发展离不开土地的合理使用,土地的规划更新是为经济发展服务。可以说土地利用总体规划数据库增量更新是一种有效便捷的更新方式,同传统人工核查数据库增量更新包相比,并对增量更新前后面积进行对比的工作方式作比较,通过计算机自动实现核对变更前后面积,既可杜绝人为产生的错误,又缩短了核查时间,从而提高了工作效率。该技术方法的推广使用可在一定时间内提升增量更新包的核查数量,进一步减少了数据更新的时间,将为自然资源审批业务提供有力支撑。

参考文献/References

[1] 姚敏,吴洪涛,邓颂平,等. 土地利用总体规划数据库更新技术研究[J]. 国土资源信息化, 2016(5):3-7.

[2] 武汉中地数码科技有限公司. MapGIS 10.3 Objects开发入门[EB/OL]. http://www.smaryun.com/dev/resource_center.html#/ type27/ tag183/ page1/ doc687, 2019.

[3] 周宇阳. 基于MapGIS 10编程辅助HNCOOR软件转换矢量文件坐标系[J]. 国土资源导刊, 2017, 14(4): 77-80.

[4] 黃宗维,廖超明,滕永核,等. 基于MapGIS SDK的矢量数据坐标转换程序的设计与实现[J]. 地矿测绘, 2018, 34(3):1-3,7.

[5] 康承旭,汪新庆,张龙. 基于MapGIS的图层要素符号信息提取研究[C].//第十二届全国数学地质与地学信息学术研讨会论文集. 乌鲁木齐,2013, 308-315.

猜你喜欢
数据库
Designer测试大数据预定义均衡配置
MemSQL获3000万美元D轮融
数据库
数据库
数据库
数据库
数据库
数据库
SQL语言在电信业务数据库数据查询中的应用
数据库