作者:刘臻 任效颖 单位:国土资源部信息中心
空之间的数据组织本系统选择ArcGIS作为GIS支撑平台,采用Geodatabase空数据模型组织和管理与矿产资源规划管理相关的空之间的数据。各类数据(如基础地理、基础地质、矿山环境、各类地质灾害数据等。)由地理数据库中的空元素集组织。根据国家标准类别设置的原则,数据存储在& ldquo地理数据库)& rarrfeature dataset)& rarr;feature class)& rdquo;三层结构的组织模式。整个管理系统数据库可以理解为一个独立的地理数据库,一个地理数据库可以包含多个要素类。在ArcSDE中,一个要素类可以包含多个要素集,其中:纯属性要素类表示表要素,点、线、面、文本要素类表示矢量要素,三维点、线数据表示三维要素,影像要素类表示栅格要素。特征是空之间的独立数据对象(特征)的集合,用于存储空之间的同类实体。非空数据组织的属性数据主要以关系表的形式存储在数据库中。Oracle作为目前最流行的数据库管理系统,提供了丰富的数据维护和管理功能,在数据安全、数据备份和恢复等方面有完整的解决方案。
矿产资源规划管理信息系统的总体结构本系统的总体结构分为三个层次:数据服务层、业务处理层和人机交互层。(1)业务处理层通过人机界面与用户交互,在数据服务层提供的数据、模型、方法和知识的支持下,实现矿业权管理、矿产资源规划管理、探矿权审批、矿业权审查、系统管理等应用功能。(2)数据服务层数据服务层存储和管理矿产资源规划管理子系统的所有数据,包括空数据和非空数据。(3)业务分析层业务分析层是矿产资源规划管理信息系统的核心,由矿产资源规划成果管理子系统、辅助核查子系统和统计分析子系统组成。(4)人机交互层系统交互界面是系统用户与应用软件之间的人机界面,其总体功能是通过建立总控程序来构建系统运行的软件环境。具体功能包括控制应用软件的运行,输入运行控制参数,表示运行结果等。除了建立各种业务分析模型外,系统交互界面的设计和开发是系统开发的主要内容。矿产资源规划管理信息系统运行的总原则是:各功能模块系统之间不直接相互控制,而是独立运行,它们之间的数据连接通过信息交换缓冲区进行,控制连接通过传递操作通知来实现。矿产资源规划管理信息系统界面设计的一般原则是:尽量采用直观的图形用户界面技术,信息表达要生动、直观、简洁、清晰;(2)以GIS中的电子地图为系统背景,实现系统的分布式表达和查询;(3)各业务流程与系统接口控制程序之间的接口应平滑过渡;(4)系统操作应基于可视界面元素,如菜单、图形、图标等。大部分操作都可以通过点击鼠标来完成,对话框的层次也不要太多,这样操作更加方便快捷。矿产资源规划管理信息系统的功能设计该系统根据业务功能分为三个子系统:规划成果管理子系统。规划成果管理子系统分为三个模块:规划文本管理模块、规划进度管理模块和规划地图成果管理模块。实现了矿产资源规划成果数据(文本、图表、图纸等)的一体化存储和管理。),并提供规划文本、表格和地图的分级、逐项浏览和查询。辅助验证子系统辅助验证子系统分为八大模块,为提高规划实施管理的效率和质量提供了有效的技术手段。(图略)(1)矿业权空辅助核查模块:根据矿业权项目坐标数据,利用空分析技术,再现项目位置和区域形态,并与开发利用规划图空进行对比。(2)矿业权及矿种辅助核查模块:根据矿产资源规划部署,自动计算矿业权项目涉及的矿产规划要求符合性并列出结果,辅助用户判断项目在矿种方面是否符合规划要求。(3)矿业权规模储量辅助验证模块:根据开采规模、总量控制和矿产资源储量等参数和算法,自动计算矿业权项目的规模和开采储量并列出结果,以辅助用户判断项目的规模储量是否满足规划要求。(4)矿业权指标辅助核查模块:根据矿产资源规划中的开采总量控制、矿业经济、新建矿山三率规划、新建矿山准入等指标的参数和矿业权项目的相关数据,帮助用户判断项目是否满足规划中各项指标的要求。(5)矿业权相关要素辅助验证模块:根据矿业权项目的坐标数据,利用空分析技术,再现项目的位置和区域形态,并根据要求进行项目与相关要素的重叠操作,以获取项目与要素的相关性,辅助用户判断项目是否与其他重大项目(如高速公路、旅游景区、生态保护区等)的规划相冲突。).(6)矿业权法律法规辅助核查模块:以矿产资源相关法律法规数据库为基础,方便用户查询和阅读各类法律政策,辅助用户判断项目是否符合相关法律法规要求。(7)探矿权空区域辅助核查模块:根据探矿权项目坐标数据,利用空分析技术,再现项目位置和区域形态,与勘查规划区和开采规划区空数据进行叠置分析,计算项目与规划区的相关性。(8)探矿权辅助核查模块:根据矿产资源规划的矿产勘查部署要求,自动计算探矿权项目涉及的矿产勘查规划要求符合性,并列出结果,以辅助用户判断项目在矿产资源方面是否符合规划要求和宏观政策导向。
统计分析子系统统计分析子系统分为两个模块:规划核实项目汇总统计模块和开采总量动态统计分析模块。关键技术实现ArcGISEngine是一个完整的类库,供开发者为定制应用构建嵌入式GIS组件。它继承了之前的AO(ArcObjects)组件库,具有组件布局合理灵活、应用部署方便等自身优势。ArcGISENGINE可用于创建具有独立接口的应用程序,或扩展现有应用程序,为用户提供空之间的特殊解决方案。同时,ArcGISENGINE还提供了COM,。NET和其他应用程序编程接口。基于以上原因,本系统由ArcGISEngine开发。SQL属性选择视图用户通过SQL语句选择当前图层的要素,查看要素的属性信息。算法介绍:用户选择的节点项得到对应的图层对象。如果没有得到选中的图层对象,退出此功能。如果图层对象是CFileMapLayer的对象,文件是CAD图层类型,会提示不能进行SQL选择查询。如果选择的对象是CFileMapLayer的对象(不包括CAD图层类型文件)或CIndexLayer,CPhyMapLayer会弹出SQL选择对话框。具体实现如下:dimpfeaturelayerasifier relayerpfeaturelayer = mselectobj。playerifpfeaturelayerinnothinghenexitsubdipishetasikompropertysheetsheet = newcom prop rtysheetdimppasserisystem。ISetpP=NewesriSystem。SetpSheet . Title = & quot定义查询条件”pPset。AddpFeatureLayerpSheet . AddCategoryIDnewUIDDimpQueryPropertyPageAsIQueryPropertyPagepQueryPropertyPage = NewQueryPropertyPagpQueryPropertyPage。table = pfeaturelayerdimmpcompageasicompropertypagepcompage = pQueryPropertyPagepComPage。Title = & quotquery " sheet . addpagecomparepsheet . edit properties(ppset,0)用户输入SQL查询语句后,获取查询到的元素,在视图中高亮显示查询到的元素,并将视图范围缩放到元素的地图范围。刷新视图。关键代码如下:dimpfeaturesurfeature cursordimfeaturesurfeature setpfeatureur = pfeaturayer . search(pquerypropertypage . query filter,True) pfeatureur = pfeatureur。nextfeaturedowwhile(notpfeaturesting)m _ pmap。selectfeaturepfeaturelayer,pfeaturefeature = pfeatureur。nextfeatureloop如果所选对象是另一种类型的对象,则表明SQL查询只针对矢量图层。空叠加分析叠加分析是将两个或两个以上的地图元素叠加生成一个新的元素图层的操作。结果就是原来的元素被分割成新的元素,新的元素综合了原来两个或两个以上元素的属性。叠加分析包括叠加相交、叠加求和(Unio & # 110)。在该系统中,使用重叠交叉。通过项目区域与限制/禁止开采区域、限制/禁止勘探区域、保护区域、区域水系等图层的交集分析,得出不符合规划要求的区域,提示用户移除。算法步骤如下:利用用户选择的节点在地图视图中获取参与相交分析的图层,使用IMAP和IFeatureLayer接口;(2)设置相交分析后输出的数据源和元素类的名称,使用IWorkspaceName、IFeatureClassName等相关接口;(3)设置相交分析涉及的对象,并对其进行相交分析,使用IBasicGeoprocessor接口中的Intersect方法;(4)提取相交结果的坐标,使用IFeatureClass和IFeature接口。缓冲区分析缓冲区是指围绕一个地理实体或空建立的具有一定宽度的带状区域,用以识别其邻近性或影响力。所谓缓冲区分析,是指围绕数据库中的点、线、面实体建立一定宽度的缓冲多边形。系统获取公路、铁路、河流等线状要素的缓冲区。通过缓冲区分析,进而找到与项目区域的交集,从而得到不符合规划要求的区域,提示用户将其移除。算法步骤如下:(1)添加待缓冲分析的矢量图层①清除空列表内容;②从当前地图中获取所有ILayer对象,开始循环;③判断ILayer对象是否为IFeatureLayer,如果不是,继续循环,否则,添加到列表中;④结束。(2)获取缓冲区多边形settopologicaloportor = m _ psourcegometrysetppolygon = ptopologicaloportor . buffer(d length)'外部缓冲区'(3)生成预览元素pElement=NewPolygonElementpEl。元素。geometry = pgemeplemployment = pelemenmployment。symbol = psymbolpgracont。addelementlemployment,0 (4)查询缓冲区结果与所选图层的交集①选择pGeom的相交元素;(2)判断所选元素是否在所选图层中,如果不在,则取消该元素的选择;③进行交集查询;④相交结果的坐标提取。