基于EPS平台的规划绿化面积自动化测算

2019-10-30 02:27李甫群曾光清彭军文黄江雄
城市勘测 2019年5期
关键词:绿地面积内业脚本

李甫群,曾光清,彭军文,黄江雄

(长沙市规划勘测设计研究院,湖南 长沙 425501)

1 引 言

随着城市化、工业化的发展,城市环境矛盾日趋突出,而园林绿化是城市生态系统中促进良性发展的积极因素,在创造优良的生产环境和改善人们的生存条件方面的作用是其他系统所不能代替的。根据《城市园林绿化当前产业政策实施办法》相关要求指出对于新建住宅区和旧城改造,需同步搞好绿化和建设配套公园,改善人民居住环境,为儿童和老年人提供休息和活动条件,按各类规划指标,同步建设好附属环境绿地。为此通过行政立法和技术立法规定城市总体和各类用地的园林绿化指标、各类功能区域的绿地率,作为编制城市园林绿化规划的依据,促进城市绿地系统规划的实现。城市规划测量中一个重要的内容就是测算建设工程项目的绿化面积、计算绿地率,以验证建设工程项目绿化指标是否达到规划设计要求。生产实践中对于建设工程绿地面积的分类、标注、绘制、计算是一项烦琐的工作,研究其自动化操作具有一定的现实意义。本文结合长沙市规划竣工验收测量生产中绿地面积测算的实际情况,分析了绿地面积自动化测算程序设计需求,在EPS平台下利用VBS二次开发技术设计并实现了绿地面积自动分类、提取、统算及成果表自动绘制等程序。

2 EPS平台基本框架

EPS平台是北京清华山维自主创新研发的集GIS数据采集、处理、建库更新于一体的地理信息系统软件[1]。如图1所示,EPS平台遵循从底至上的设计思想,可分为数据存储、管理、通用及专业功能层四个功能区,利用模板定制、信息映射、二次开发等关键技术实现了GIS数据的高效采集、处理、入库及应用维护,在国土规划领域应用广泛[2~6]。EPS二次开发方式主要有C++程序级及脚本功能级两种:C++开发方式是在VC++6.0环境下利用EPS提供的SDL包进行开发;脚本开发常用的是VBScript,VBS分为有模脚本和无模脚本,其中无模脚本支持与视图窗口交互操作。相比C++开发方式,脚本功能级二次开发具有简单、易学、实用、开发周期短等优点,本文主要采用VBS脚本语言开发[7]。

图1 EPS平台框架

3 程序设计需求

按《长沙市城市规划管理技术规定》要求,建设工程绿地面积测算需根据地面绿地、生态停车场绿地、屋顶覆土种植绿地等不同地块类型进行分类,核实各地块面积测算边界与测算系数,计算各地块的绿化面积,进而下列公式计算建设工程项目的绿地率,以便规划审批主管部门核对建设工程项目绿地率是否满足规划控制需求。

绿地率=绿地面积总和/建设工程项目用地面积×100%

根据长沙市建设工程绿地面积测算生产实践,总结出绿地面积测算生产流程,如图2所示。长沙市建设工程绿地面积测算内业数据处理使用的是北京清华山维EPS软件,目前EPS 2018版软件中竣工测量模块对绿地面积测算存在以下问题:①根据绿化地块分类分系数计算要求,需进行计算的地块数量较多,内业数据处理工作量大;②涉及的绿地地块图形编辑、地块标注及绿地面积计算表绘制等环节均由内业作业人员处理,未能有效地利用EPS软件中脚本的图形编辑操作、数据整理功能,自动化程度低,生产效率低;③易产生数据编辑错误与统计错误,影响成果质量。针对以上问题,为了提高作业效率和面积测算成果质量,在绿地地块范围线绘制、地块注记、面积计算表绘制及地块属性提取、面积数据统计等环节开发设计绿地面积自动化测算程序。

图2 绿地面积测算生产流程

4 程序设计与实现

4.1 绿地地块范围线自动绘制及地块编号

针对地块范围线绘制和地块注记问题,设计程序采用EPS脚本语言进行编写处理,对地块范围线实现自动绘制,同时标注地块编号。EPS脚本语言在EPS脚本编辑器下运行,脚本语言具体运行时解释执行[8]。脚本采用目录树方式组织脚本,支持新建脚本分组、删除脚本分组、新建脚本、删除脚本、保存脚本和执行脚本等功能。脚本文件存放在工作台面下,可以在菜单栏中单独指定存放,方便运行[9]。

SSProcess是系统缺省定义的对象,是与EPS平台交互的主要入口对象,SSProcess对象的功能包括工程管理、选择集操作、图形编辑操作、数据整理、数据转换、坐标体系转换和系统设置等[10]。通过SetSelectCondition函数,设置选择集条件,选定满足选择集条件的地块,运用ChangeSelectionObj函数将地块面属性转换为范围线属性,转换操作前关键需要对地块进行分类构面,通过研究分析绿地面积计算细则,地面绿地有效面积与地面标高和最小覆土厚度有关,而绿化面积折算系数则根据屋面(顶板)标高与道路(地坪)的平均高差和地块最小覆土厚度确定,对应绿地面积计算细则将绿化地块按折算系数划分不同类型,对不同类型及计算系数的地块设定构面属性,在竣工基础地形图基础上按地块构面属性进行构面,通过脚本程序设置地块面属性选择集条件,将选定的地块面运用ChangeSelectionObj函数转换为地块范围线,完成地块范围线绘制,核心程序代码为:

SSProcess.ClearSelection ’

SSProcess.ClearSelectCondition

SSProcess.SelectFilter

SSProcess.ClearChangeSelectionParameter

SSProcess.SetChangeSelectionObjParameter "SSObj_Code=2", "SSObj_Code=1,SSObj_Color=COLORNO(258),SSObj_LineWidth=30" ’设置转换条件为将地块面属性编码=2的地块面转换为地块范围线,同时设置范围线颜色和宽度

SSProcess.ChangeSelectionObj ’执行转换

按地块的类型及计算系数对地块进行编号,并将编号标注于地块内,首先需要提取地块的属性,各不同属性的地块按面积计算系数从大到小依次排列,相同属性的地块按顺序编号依次递增。标注地块编号需新增注记要素,利用Function函数设定程序AddNote添加注记模块工具包,在SSProcess对象中调用Function函数AddNote实现添加注记功能。Function函数需要设定AddNote的相关参数模式,包括注记分类号、注记内容、字体、注记高、注记宽、注记坐标等。调用Function函数AddNote时需参照参数模式设置标注属性。最终生成的地块范围线及地块标注如图3所示。

图3 地块范围线及地块标注

4.2 绿地面积计算表自动绘制

建设工程绿地面积计算表内容包括地块编号、地块面积、地块类别、有效系数、有效面积、总面积、单位等,运用解析法计算各地块面积,为便于规划审批主管部门执法,实际生产中通常将面积计算表绘制于建设工程绿地面积计算图中。为实现绿地面积计算表自动化绘制,设计程序流程如图4所示。

图4 自动化绘制程序设计流程

绿地面积计算表自动化绘制的关键环节是绘制表格框架与地块属性数据填充。表格框架绘制首先需要确定表格参数,其次是要添加空间线到新图形对象。在不同比例尺成图中,表格参数也不同,通过对比分析,总结出在1∶250、1∶500比例尺成图中表格框架的参数;通过Function函数设定AddLine程序添加空间线模块工具包,根据表格参数调用Function函数AddLine程序绘制表格。地块属性数据填充可利用地块面积计算系数设置选择集条件筛选绿地地块,提取对应地块的地块编号、地块类型、地块面积等属性数据,调用AddNote程序将提取的属性数据按地块编号对应填充至绿地面积计算表中,完成地块属性数据填充。同时汇总所有地块面积及有效绿地面积,计算地块总面积与有效绿地总面积,填充至绿地面积计算表对应汇总项。程序运行生成绿地面积计算表如表1所示。

绿地面积计算表 表1

通过程序设计,生产实践中仅需在基础地形图上按照计算细则确定各地块面积计算边界,对各地块按照“相同计算系数构面属性一致”原则进行构面处理后,运行自动化绘制程序,即可完成地块范围线绘制、地块编号注记、绿地面积计算表绘制及地块属性数据填充与统计,将脚本管理器中的自动化绘制程序脚本添加至菜单工具栏,便于生产实践中对程序进行调用。

5 结 语

本文紧密结合长沙市城市规划管理中绿地面积测算生产实际,提出了目前绿地面积测算中内业数据处理存在的一些基本问题,针对相应问题分析总结了自动化程序设计需求,利用EPS平台二次开发技术设计并实现了绿地地块范围线的绘制、地块分类、地块编号注记、地块面积属性提取、绿地面积计算表绘制、地块属性填充与统计等系列自动化绘制程序,实践证明这一系列自动化绘制与面积测算过程的实现在很大程度上减少了内业处理的工作量,减少了人为编辑错误的概率,提高了内业数据处理工作效率,更确保了产品的成果质量。通过对绿地面积测算自动化绘制程序设计的探索,可利用EPS平台二次开发技术对涉及面积计算的测绘工作领域进行实际生产环节的程序设计及改进,如国土三调、房产实测绘等生产实践中,将具体的内业数据处理环节通过自动化程序处理,为大数据的信息自动化处理提供基础技术支撑。

猜你喜欢
绿地面积内业脚本
酒驾
公路施工项目内业资料管理探讨
GIS技术在城市绿地可达性研究中的应用
江苏新型城镇化进程下人均公园绿地面积的时空分布研究①
山西运城绿地草本植物组成沿面积变化规律及其与环境特征的相关性
安奇奇与小cool 龙(第二回)
公路工程内业资料管理的不足及处理措施
高速公路机电系统内业资料管理思考
关于城市绿地面积的计量分析
建筑工程内业资料管理探讨