1、科技创新导报 Science and Technology Innovation Herald科技创新导报2022 NO.30 Science and Technology Innovation Herald探索与创新基于Arcpy的建设用地预审分析工具开发与实现陈本荣(武汉市规划研究院 湖北武汉 430010)摘要:建设用地预审对引导建设项目科学选址、统筹规划以及促进保护耕地和节约集约用地等方面发挥着重要作用,其审查把关涉及方面多且需要多方基础数据支撑。本文结合建设用地预审分析场景,探讨了利用Arcpy强大的分析功能接口,系统介绍了基于Arcpy的建设用地预审分析工具设计与开发要点,实现了建
2、设用地预审核心数据的自动比对分析与汇总,极大减少了大量的人工处理分析与统计工作,对地方开展建设用地预审基础数据分析判别工作效率的提高具有一定的参考借鉴意义。关键词:Arcpy 建设用地预审 分析工具 开发中图分类号:P208文献标识码:A文章编号:1674-098X(2022)10(c)-0257-04The Development and Realization of the Preliminary Examination of Construction Land Analysis Toolbox Based on ArcpyCHEN Benrong(Wuhan Planning&Desig
3、n Institute,Wuhan,Hubei Province,430010 China)Abstract:The preliminary review of construction land plays an important role in guiding the scientific site selection of construction projects,overall planning,and promoting the protection of cultivated land and economical and intensive land use.Its revi
4、ew involves many aspects and needs the support of multiple basic data.Combined with the analysis scenario of construction land pre-trial,this paper discusses the use of the powerful analysis function interface of Arcpy,systematically introduces the design and development points of the analysis tool
5、for construction land pre-trial based on Arcpy,realizes the automatic comparison,analysis and summary of the core data of construction land pre-trial,and greatly reduces a lot of manual processing,analysis and statistics.It can be used for reference to improve the efficiency of basic data analysis a
6、nd discrimination of construction land pre-trial.Key Words:Arcpy;Preliminary examination of construction land;Analysis toolbox;Development建设用地预审是自然资源主管部门在建设项目审批、核准、备案阶段,依法对建设项目涉及的土地利用事项进行的审查1。在用地规划符合性、用地规模合规性、征地补偿及补充耕地落实性等方面的审查中发挥了重要作用,一定程度上负起了控制建设用地第一道“闸门”的作用2。本文在依据建设用地预审相关政策文件进行业务逻辑及相关依据数据系统梳理基础上,
7、基于Arcpy设计开发了建设用地预审分析工具,并应用到实际生产项目工作中,极大提升了工作效率和质量。1 建设用地预审概述依据 建设项目用地预审管理办法 及各地建设用地预审相关工作要求,用地预审阶段需要审查的事项主要涉及以下方面。(1)土地权属和土地利用现状,其中,土地利用现状重点是农用地中的耕地、园地、林地等地类和面积。(2)土地利用总体规划,重点审查是否符合土地利用总体规划。对于不符合土地利用总体规划的,其修改土地利用总体规划依据是否充分,规划修改方案是否符合法律、法规的规定。(3)城市规划,重点审查用地性质是否相符,是否涉及城市规划强制性内容。对于涉及用地性质不符或涉及规划强制性规划内容的
8、,是否已按照规定进行论DOI:10.16660/ki.1674-098X.2206-5640-3163作者简介:陈本荣(1978),女,硕士,高级工程师,主要从事国土空间规划研究工作。257科技创新导报Science and Technology Innovation Herald2022 NO.30 科技创新导报 Science and Technology Innovation Herald探索与创新证和调整。(4)基本农田,重点审查是否涉及占用基本农田。对于涉及占用基本农田的,并符合 自然资源部关于做好占用永久基本农田重大建设项目用地预审的通知规定情形的,对涉及占用水田、水浇地和旱地的数
9、量、质量等级,以及补划踏勘等进行审查。(5)地质灾害易发程度分区,重点审查是否位于地质灾害易发区,如果位于地质灾害易发区,建设单位是否按照要求开展地质灾害危险性评估,并承诺在工程建设中采取相应措施。(6)压覆资源矿产情况,重点审查用地范围内是否存在矿产资源并设置采矿权。国家因公共利益或经济建设的需要,可以批准压覆矿产资源,建设单位应当对矿业权人给予补偿。(7)生态保护红线,重点审查是否涉及生态保护红线。如果重大建设项目确需占用生态保护红线,则应由省级人民政府充分论证,制定国土空间规划和生态保护红线调整方案,同用地报批一并报国务院或国务院委托的省级人民政府批准。在资料齐全的情况下,审核以上事项主
10、要存在以下两方面困难:一是逐项审查七个事项,耗时较长;二是涉及的数据多,逐项统计分析速度慢,例如,土地利用现状数据统计包括农用地、建设用地和未利用地,农用地则需要统计耕地、园林、林地和其他农用地,耕地中有时还需统计水田、水浇地和旱地。因此,如何将Arcpy软件的地理空间智能分析统计功能应用在建设用地预审中,通过一次性运算分析,汇总得出以上七项数据,并对各种数据按需统计,必将极大提升工作效率。2 Arcpy基本介绍Arcpy是ESRI公司在ArcGIS 10.0及以上版本系列产品提供的一个Python站点包,它像胶水一样粘贴了多个与ArcGIS应用程序相关的Arcobjects函数对象,可以实用
11、高效地通过Python脚本自动化执行地理数据分析、数据转换、数据管理和地图自动化等地理处理业务。使用基于Python和Arcpy好处在于能够将多个地理处理工具组织一起,汇聚成一个工作流,解决一些复杂的地理处理工作,并可以将工作流打包成地理处理包或者创建地理处理服务,与他人共享使用3。Arcpy含有Python的模块、类和函数(每个模块又包含多个函数和类),并且是伴随ArcGIS Deskop安装自动安装的,在安装目录下有一个Arcpy文件夹,当你需要用Python处理地理数据时import arcpy就能引用了。根据ArcGIS帮助文档中的分类,Arcpy共提供了数据访问模块、制图模块、网络分
12、析模块、空间分析模块和时间模块等五大非常丰富的模块。ArcPy也提供了很多函数,按类型主要包括:环境设置、获取和设置工具参数、信息和错误处理、工具和工具箱等。3 工具开发设计与实现3.1 工具开发设计鉴于建设用地预审相关基础数据校核分析工作具有较大工作量,稍有不慎,还容易出现数据分析或统计错误,影响审查结论。因此,笔者根据上述提及的建设用地预审工作要求,借助Arcpy优势,设计建设用地预审空间分析工具,其主要具备以下功能:(1)能够分析预审项目范围内土地利用现状构成情况,并按三大类和二级类和三级类名称进行面积汇总与输出;(2)能够分析预审项目范围内涉及的权属单位构成情况,并按需要进行面积汇总和
13、输出;(3)能够分析预审项目范围是否涉及基本农田占用,如果占用,将分析汇总出基本农田的现状地类和占用面积;(4)能够分析预审项目范围内土地利用总体规划构成情况,并按各规划用途进行面积汇总与输出;(5)能够分析预审项目是否位于易发地质灾害风险区;(6)能够分析预审项目范围内是否压覆矿产资源,如果压占,将分析汇总得出相应占用面积;(7)能够分析预审项目是否涉及占用生态保护红线,如果涉及占用生态保护红线,将分析汇总出相应占用面积。为实现上述功能,设计了如图 1 所示的建设用地预审空间分析工具实现流程图,主要通过通过ArcToolbox传入模板数据库文件路径,然后获取建设项目拟选址范围,通过Arcpy
14、提供的空间分析接口(包括arcpy.Clip_analysis、arcpy.Intersect_analysis),将项目用地范围分别与模板数据库文件中的土地利用总体规划、土地利用现状、基本农田保护图斑、矿产资源与地质环境以及区乡村级行政区划等数据进行空间叠加分析,并利用 Arcpy.Dissolve_management 接口分别按区乡村、地类、面积等相关统计要素进行融合,最后对融合后的要素结果进行汇总统计与结果输出4。3.2 工具开发实现3.2.1 制作分析模板数据库文件通过ArcCatalog新建或拷贝地理文件数据库,导入待分析的建设用地预审项目范围线,并将图层名称设置为“地块范围”;再
15、分别导入行政区范围、乡镇范围、村庄范围、土地利用现状、基本农田、土地利用总体规划调整完善、矿产资源、地质环境、土地利用现状分类字典对应表等数据,并将图层或表格名称分别设置为“区”“乡”“村”“土地利用现状”“基本农田”“土规调2整完善”“矿产资源”“地质灾害”“现状分类”5。3.2.2 工具核心代码编程实现#导入类库import arcpyimport osimport sys#获取个人数据库全路径strMDBFullPath=arcpy.GetParameterAsText(0)258科技创新导报Science and Technology Innovation Herald科技创新导报 S
16、cience and Technology Innovation Herald2022 NO.30 探索与创新#设置现状和地块范围图层名称及其现状分析结果图层名称strFeatureClass_XMFW=r地块范围strTableName_DLFL=r现状分类strFeatureClass_TDLYXZ=r土地利用现状strFeatureClass_XiangZ=r乡镇strFeatureClass_JBNT=r基本农田strFeatureClass_TDLYGH=r土规调整完善#执行地块现状裁剪分析arcpy.Clip_analysis(strFeatureClass_TDLYXZ,strF
17、eatureClass_XMFW,strFeatureClass_XM_TDLYXZ,)#执行地块现状结果与地块乡镇范围进行相交分析arcpy.Intersect_analysis(strFeatureClass_XM_TDLYXZ,strFeatureClass_XM_XiangZ,strFeatureClass_XM_TDLYXZALLXJ,ALL,)#以现状分析结果图层为基础,构建临时图层,并与现状分类表进行关联,形成带三大类的现状分类构成图层strFeatureClass_XM_TDLYXZ_Temp=TempDiKuai_TDLYXZarcpy.MakeFeatureLayer_ma
18、nagement(strFeatureClass_XM_TDLYXZ,strFeatureClass_XM_TDLYXZ_Temp)arcpy.AddJoin_management(strFeatureClass_XM_TDLYXZ_Temp,DLBM,strTableName_DLFL,地类代码)arcpy.CopyFeatures_management(strFeatureClass_XM_TDLYXZ_Temp,strFeatureClass_XM_TDLYXZFL)#按乡镇进行汇总统计strAllXiangZAreas=pCursor_XiangZ=arcpy.da.SearchCur
19、sor(strFeatureClass_XM_XiangZ_Diss,乡名,Shape_AREA)for rowXiangZ in pCursor_XiangZ:#面积转换成公顷dblShapeArea=float(rowXiangZ 1)/10000#图斑乡镇名称和图斑面积进行组合strXZMianJi=rowXiangZ 0 +:.4f 公顷.format(dblShapeArea)if strAllXiangZAreas=:strAllXiangZAreas=strXZMianJielse:strAllXiangZAreas=strAllXiangZAreas+、+strXZMianJi
20、#输出按乡镇汇总统计结果strPrintXZMJTips=乡镇汇总如下:arcpy.AddMessage(strPrintXZMJTips)arcpy.AddMessage(strAllXiangZAreas)arcpy.AddMessage(n)图1建设用地预审空间分析工具开发实现流程图259科技创新导报Science and Technology Innovation Herald2022 NO.30 科技创新导报 Science and Technology Innovation Herald探索与创新#按三大类进行汇总统计strAllYiJiLeiMingChengAndMianJi=
21、pCursor_YJL=arcpy.da.SearchCursor(strFeatureClass_XM_TDLYXZ_DissDLFL,一 级 类,Shape_AREA)for rowYJL in pCursor_YJL:#面积转换成公顷dblShapeArea=float(rowYJL 1)/10000#图斑地类名称和图斑面积进行组合strDiLeiMingChengAndMianJi=rowYJL0 +:.4f 公顷.format(dblShapeArea)if strAllYiJiLeiMingChengAndMianJi=:strAllYiJiLeiMingChengAndMianJ
22、i=strDiLeiMingChengAndMianJielse:strAllYiJiLeiMingChengAndMianJi=strAllYiJiLeiMingChengAndMianJi+、+strDiLeiMingChengAndMianJi#输出按三大地类汇总统计结果strPrintDLFLMJTips=三大类面积汇总如下:arcpy.AddMessage(strPrintDLFLMJTips)arcpy.AddMessage(strAllYiJiLeiMingChengAndMianJi)arcpy.AddMessage(n)3.2.3 在ArcToolbox中配置分析工具在Arc
23、Catalog中打开工具箱中“My Toolboxes”,通过拷贝开发实现的“用地预审辅助分析工具”,并配置好工具的Python脚本文件6。3.2.4 在ArcToolbox中使用配置分析工具在ArcCatalog中找到已配置好的“用地预审辅助分析工具”,双击预审分析工具,在弹出的如图2所示配置界面中设置已制作完成的数据库文件路径,然后点击OK按钮即可等待运行结果,如图3所示,在结果界面中可查看分析结果,也可直接拷贝到Word文档中查看。图3运行结果显示,11.79s完成分析,而传统人工分析与统计往往至少需要半天时间才能完成,分析效率显著提高。4 结语本文结合建设用地预审分析场景,探讨了利用A
24、rcpy强大的分析功能接口,系统介绍了基于Arcpy的建设用地预审分析工具设计与开发要点,实现了建设用地预审核心数据的自动比对分析与汇总,极大减少了大量的人工处理分析与统计工作,显著提高了该项工作效率和质量。基于Arcpy的相关业务应用级开发方式相较于其他专业级开发模式门槛较低,非专业开发人员也可通过较短时间学习就可轻松上手,在自然资源和规划相关数据处理工具开发也可借鉴该开发模式,具有很好的推广应用价值。参考文献1 王兆丰,段君君,张林.建设项目用地预审制度改革实践的现状和思考J.中国土地,2019(2):18-19.2 柴祥君,黄博.有效促进重大建设项目规划选址和用地预审论证工作高质量管理的探索J.浙江国土资源,2022(2):31-33.3 杨柳.一种基于ArcPy的地图数据快速分幅导出方法J.测绘与空间地理信息,2022,45(1):55-57.4 陈雷.济南市新旧动能转换先行区区域地质分析及建设用地适宜性评价研究D.济南:山东大学,2021.5 刘丹丹.基于时序数据的长江中游城市群建设用地扩展分析D.武汉:武汉大学,2021.6 江威,马艺文,姚垚,等.基于ArcPy的空间数据库备份与还原技术研究J.城市勘测,2021(4):57-59.图2用地预审辅助分析工具运行界面图3用地预审辅助分析工具运行结果界面260