基于GeoScene Pro的开源数据治理与二维制图规范化处理智能工具箱

内容导读

本文描述的是一个基于GeoScene Pro4.0+/ArcGIS3.1+ Pro平台的开源数据治理与二维制图规范化处理智能工具箱(免费试用,文末有获取方式),旨在解决GIS应用中数据转换、检查、治理和制图数据规范化处理方面的问题。

工具箱结合了Geoscene/ArcGIS Pro平台和Python环境,利用开源工具和包,提供了一个全面的数据治理与制图规范化处理解决方案。该工具箱涵盖了数据转换、检查和治理、制图数据规范化处理等方面,满足了从数据生产到最终地图成品全过程的需求。

通过自动化工具实现数据检查、修复和制图效果优化,减轻了手动操作的负担,提高了数据处理和地图制作的效率。

工具箱的创新点:

(1)综合性的数据处理与制图工具集:涵盖了数据检查和治理、制图数据规范化处理两个方面,满足了从数据源到最终地图成品全过程的需求。

(2)自动化与智能化处理:通过自动化工具实现数据检查、修复和制图效果优化,减轻了手动操作的负担。

(3)高性能与用户友好性:工具箱支持并行计算,处理大规模数据时具备高效性能,并提供易于使用的界面。

(4)重写与开源实现:部分工具是对现有GIS产品中的功能进行了重写,以提高效率和弥补存在的缺陷;绝大多数工具功能是开源实现的,便于技术交流和持续改进。

若您觉得文章内容对你有用,请转发分享。

内容很长,若只关注工具箱的,可直接到文末获取

但为了能完整的介绍工具箱,还是将很多内容放到了这一篇文章中,请谅解

关于工具箱中工具的使用问题,可在本账号下系列文章中找到答案(如:工具使用方法和参数含义),也可直接私信小编反馈问题和获取支持

一、需求与背景

在地理信息系统(GIS)领域,规范的数据处理和高质量的地图配图是确保数据分析和可视化展示效果的关键。特别是在国土空间规划编制审批体系建设中,面对不同规划层级和类型的海量数据,需要一套高效、精准的数据处理方案来保证数据的质量和时效性。

本研究致力于开发一套全面的数据治理与制图规范化处理工具箱,以提高数据处理效率、确保数据质量,并增强规划辅助功能。

旨在为国土空间规划提供高效的数据处理和制图解决方案。该工具箱通过集成大量开源技术和方案,显著提高了数据处理的效率和质量,优化了地图配图效果,为国土空间规划的多个环节提供了强有力的支持。

图片

NO.1 问题分析

在GIS中,数据质量和一致性直接影响空间分析和决策。然而,当前在数据检查、治理和制图规范化处理方面仍存在以下问题:

数据治理: 多样化的数据来源导致格式和属性字段不一致,特别是在大规模数据处理中,现有工具难以实现高效自动化的检测与修复。

制图数据规范化: 现有制图工具在处理不同显示比例尺、POI抽稀、路网和水网连通性检查等问题时,功能有限,效率低下,影响了地图的精度和美观性。

图片

NO.2 需求分析

市场迫切需要一个能够全面解决数据治理和制图规范化问题的综合工具箱。具体需求包括:

数据质量检查与修复: 结合人工智能和自动化技术,工具箱应包括数据库初始化、图层合并、流向分析、中心线提取、悬挂点修复等功能,自动检测并修复常见数据质量问题。

制图数据规范化: 对于制图效果要求越来越精细,市场需要一个能够自动调整数据展示效果的工具箱。通过POI抽稀、路网和水网连通性检查、建筑物2.5D效果生成等功能,确保地图的美观和准确性,减少后期调整工作量。

图片

NO.3 制图综合(Cartographic Generalization)

GIS技术的广泛应用,各行业对高精度数据和高质量地图的需求不断增长。当前市场缺乏一个能够同时满足数据质量检查与制图规范化处理的综合工具。开发一个集数据规范化、质量控制和制图效果优化于一体的工具箱,不仅填补市场空白,还将极大提高数据处理和地图制作的效率。

随着数据处理和制图复杂性的提升,市场迫切需要一种自动化、智能化的解决方案。开发综合性质检工具箱,通过先进技术手段,提高数据治理和制图规范化处理的效率,不仅能满足当前需求,还具有很大的市场机会和发展潜力。

二、总体框架

本研究的成果基于GeoScene Pro 4.0的Python工程环境,开发了一套包含数据检查和治理辅助工具集(21个工具)、制图数据处理规范化处理工具集(11个工具)以及mdb数据转出工具集(4个工具)共36个工具的智能工具箱。这些工具充分利用了开源包和方案,以克服传统工具在运行效率上的限制,并扩展了功能。具体包括:

数据检查和治理辅助工具集:用于数据质量检查和自动修复,辅助数据治理或生成衍生数据,确保数据的准确性、完整性和一致性。

制图数据处理辅助工具集:优化制图数据的处理,提升地图配图效果。

图片

三、应用情况

这些工具集已经在省级规模的数据上进行了验证和完善,证明了它们能够有效应对复杂的数据情况。它们不仅解决了数据治理方面的难题,还实现了数据规范化和制图效果优化的新功能,极大地提高了项目实施效率和用户体验。具体来说:

数据检查和治理辅助工具集:通过自动化的数据质量检查和修复功能,显著提高了数据的准确性、完整性和一致性,有效减少了数据治理过程中的人工干预,加快了数据准备的周期。

制图数据处理辅助工具集:通过优化制图数据的处理流程,提升了地图的配图效果,实现了更为精细和美观的制图成果,增强了最终用户的体验。

这些工具集的应用不仅提高了数据处理和制图工作的效率,而且为国土空间规划编制审批体系建设提供了有力的技术支撑,使得整个规划过程更加高效、准确和可靠。

四、mdb数据转换工具

将个人地理数据库(mdb)转出为文件地理数据库(gdb)或shapefile格式。

应用场景与功能:

地理数据的存储和交换是一个常见的需求。个人文件地理数据库(MDB)是一种常见的地理数据存储格式,但是在实际应用中,有时需要将MDB文件转换为gdb或shp格式,以便在不同的GIS软件中使用。

 随着ArcMap退出历史的舞台,ArcGIS Pro不再支持mdb数据库,在Pro中如何实现mdb转出为其他格式,虽然别扭,但却是很有必要的。

五、数据检查与治理工具

5.1  初始化地理数据库

按分层属性结构表,创建地理数据库,统一数据库结构。

应用场景与功能:

 在数据处理工作中,当数据分层和图层属性结构设计完成后,需要按照数据分层命名和图层属性结构创建地理数据库库体。规范的库体结构,对后续的数据合并,数据查询,数据分发等使用有着重要的意义。

工具通过读取数据分层命名和图层字段属性的表格,初始化数据库库体。数据库库体可通过编辑存储图层属性结构的表格来进行调整,确保在规范化约束数据库库体的基础上,实现库体结构的便捷拓展。

工具原型界面示例:

图片

工具执行结果示例:

图片

5.2 导出图层字段属性信息表

获取图层的属性结构信息,并可通过编辑修改后,结合“初始化地理数据库工具”,创建新的地理数据库。

应用场景与功能:

  在“初始化地理数据库”工具中,有一个参数为:“输入Excel表”,要求表格中的图层字段属性项需要按工具的帮助文档中的示例进行组织,此外,总有一些特别的需求,需要你将要素类图层的字段属性输出。

工具通过遍历GDB中的所有要素类,读取要素图层的字段属性信息,按“输出类型”组织字段信息,并将其保存到Excel表格中(.xlsx)。

工具原型界面示例:

图片

工具执行结果示例:

       tableInfo.xlsx

tabstructInfo.xlsx

图片

图片

5.3 指定路径下同名图层合并

严格按数据库结构或自动解析适应图层属性结构,对指定目录下的所有空间矢量数据,按图层名,全部或部分合并为一个图层。

应用场景与功能:

对于数据管理人员,经常碰到数据汇总入库,或将作业单位提交的成果数据按项目作业范围、按行政区划范围等将多个同名图层合并到一起,按数据内容进行分类组织,存放到地理数据库中。

指定路径下同名图层合并工具,支持的功能:

(1)对指定目录下的要素类,按同名图层(忽略图层名大小写)进行合并。合并的过程中,对字段类型、几何错误以及空值进行处理。

(2)支持严格模式和非严格模式;严格模式下,默认所有同名图层字段属性项相同;非严格模式下,会对同名(忽略图层名大小写)图层的字段(忽略大小写)进行分析,优化和拓展字段属性项,以确保数据合并能正确执行;

(3)“非严格模式”,将解决影响数据合并规则的因子:

a) 忽略字段名存在大小写,合并或追加时会自动解决;如:feature,Feature;

b) 忽略图层名存在大小写;如:LCRA,Lcra ;

c) 同名字段类型不一致;如:string,date ;

d) 同名字段长度不一致;

e) 同名字段精度不一致;

f) 同名字段是否必填不一致;

g) 同名字段是否包含空值不一致;

(4)“严格模式”,此时,会忽略图层名称大小写问题。但同名图层下的字段属性,需保持一致,否则可能出现数据合并失败。

(5)在输出目录下,输出数据合并日志文本。

工具原型界面示例:

图片

工具执行结果示例:

在“输出路径”下,输出“输出数据库名称”.gdb和数据合并日志。

5.4 按要素范围或要素属性值分割输入要素集

对多个不同数据源的图层,按输入要素的返回或输入要素指定字段属性唯一值,对其进行分割存放到多个地理数据库中。

应用场景与功能:

数据管理部门、数据管理系统或作业人员,通常需要对要素类集合按要素范围、按要素类属性值对其进行分割,达到数据下发,数据审批抽取及数据分块作业的目的。

按要素范围或要素属性值分割输入要素集工具,用于解决一个或多个图层数据,允许一定的缓冲距离,按指定要素范围,或要素属性唯一值,对输入要素类集合进行分割提取。

工具原型界面示例:

图片

工具执行结果示例:

图片

5.5 国家基本比例尺地形图分幅计算

根据输入图层的范围,按国家地形图分幅标准,生成标准图幅,用于元数据制作和数据管理等。

应用场景与功能:

国家基本比例尺地形图分幅是一种制图和地理信息管理的方法,它将一个国家或地区的地形图分成多个小区域或分幅。在作业生产过程中,根据图层数据范围生成指定基本比例尺下图幅号,能快速完成对于与归档数据的查找、比对及元数据信息的补充。

支持的功能:

(1) 输入经纬度,计算指定的国家基本比例尺图幅号(模块提供接口);

(2) 根据国家基本比例尺下的标准图幅号计算当前图幅左上角坐标(支持经纬度坐标值和投影坐标值)(模块提供接口);

(3) 根据输入要素类四至范围,生成基本比例尺图幅面,属性值为图幅号;

工具原型界面示例:

图片

工具执行结果示例:

图片

5.6 水系流向错误分析及修复

对河网中水系线的流向进行分析,一键实现所有不合理流向水系线的翻转。

应用场景与功能:

河网流向分析计算工具用于解决水系线数据流向错误的问题。

工具基于河流流向分析的结果,并提供了“翻转线”的功能,能一次解决河流流向错误的问题。

工具原型界面示例:

图片

工具执行结果示例:

图片

5.7 面中心线提取

对任意多边形提取中心线,用于道路面或水系面等需要提取骨架线的数据衍生生产需求。

应用场景与功能:

面中心线提取工具,用于解决面要素图层中任意多边形的中心线提取,正确处理面要素图层中面要素之间,面要素图层与其他连接要素(点、线、面)图层间的连接,并对提取的中心线进行平滑和简化处理。

工具支持的功能如下:

1)对面要素提取中心线,面要素形状可以是任意多边形,能很好的处理狭长多边形,非狭长多边形,有孔洞多边形。

2)当面要素有其他连接要素图层,如点、线、面图层,将按照输入面要素与之相交的其他要素的公共点(共享边中点)进行有效连接;

3)对提取的中心线进行了平滑和简化处理;

4)输出的中心线记录了原始多边形的ID,可用于源数据字段的连接和传递;并在每一个连接点处记录构成连接点的源图层名称和要素ID,用于区分连接点类型,和解决汇入段属性值的连续性问题。

工具原型界面示例:

图片

工具执行结果示例:

图片

5.8 文本属性值规范化处理

对图层中所有文本字段,一次完成属性值中空格,标点符号,字符替换等需求,快速解决非法字符和字符的替换;

应用场景与功能:

数据检查方案中,对文本属性值的检查一般包括以下内容:

  • 检查属性值中不能含有不合理的标点符号(“,”、“?”、空格、换行符等);

  • 确认全部属性字段是否为半角;

  • 名称简称中不能出现异常字符;

而我们在属性表中处理文本类型字段属性值时,也常碰到这样的烦恼:

  • 一次只能处理一个字段;

  •  一次只能处理一种非法字符类型;

  • 文本查找与替换,又不能支持字符串两端或中间模糊匹配;

要素类文本属性值规范化处理工具,用于处理输入要素文本字段值中,存在的全角半角、空格、数字、中文、中文标点、英文、英文标点以及值替换等文本规范化需求。

工具原型界面示例:

图片

工具执行结果示例:

图片

5.9 线要素网络连通性分组计算

对道路线、水系线等线层数据,分析网络的连通性,对位于同一个网络中的要素赋相同的属性值。

应用场景与功能:

对于需要构建网络的线要要素图层,一般采取检查悬挂点,或按距离缓冲线后融合面,用来判断整个网络数据是否是一个完整的网络。两种检测方法,检查悬挂点的方式工作量过大且不能保障正确性。而使用线缓冲融合面的方式,缓冲距离的选择会导致方法不准确,且数据量大时,不能输出结果。

计算线要素连通性分组值工具,计算线要素图层中的网络连通性,同一网络中的线要素将被赋予相同的值。

工具原型界面示例:

图片

工具执行结果示例:

图片

5.10 在点处分割线

对线连接未打断,点、线间需要在点位置,或点临近位置分割线的需求,实现快速分割线;

应用场景与功能:

在对矢量数据加工处理时,尤其是基于特殊需求和批量操作时,线要素需要根据线交点或临近点,对其进行分割处理。

支持的功能:

(1)它功能上与Geoscene Pro“在点处分割线”工具相同,但是效率高很多;

(2)支持原地修改,即不用输出新的要素类,直接更改到源要素图层。

工具原型界面示例:

图片

工具执行结果示例:

所有输出的要素类都存放在输出目录中的scratch.gdb中。若scratch.gdb不存在,则自动创建,若已存在,不会覆盖其中已有的要素。

5.11 曲线线段修复

将线层数据中存在曲线线段(贝塞尔曲线、圆弧、椭圆弧等)的部分替换为多段线;

应用场景与功能:

在GIS中,曲线一般有两种表示方式:一类是由多个直线段(多段线)组成的曲线,另一类是由贝塞尔曲线、圆弧和椭圆弧等数学曲线表示的曲线。在某些情况下,入库的数据不能包含曲线。

使用Geoscene Pro提供的地理处理工具“增密”,通过指定“增密方法”为“偏移”,可以实现对曲线线段替换为线段。但不会输出被替换的曲线,即无法对比验证。

“曲线线段修复”工具将曲线线段(贝塞尔、圆弧和椭圆弧)替换为线段。并输出被替换的部分,用于对比验证。

工具原型界面示例:

图片

工具执行结果示例:

图片

5.12 mdb转shp或gdb

对指定目录下的所有mdb数据或指定的mdb数据,转为shp或gdb格式;

应用场景与功能:

地理数据的存储和交换是一个常见的需求。个人文件地理数据库(MDB)是一种常见的地理数据存储格式,但是在实际应用中,有时需要将MDB文件转换为Shapefile(SHP)格式,以便在不同的GIS软件中使用。虽然听起来简单,但实际上这个过程可能会面临一些挑战。

使用ArcMap处理这样的需求,是很简单的。但是使用Geoscene Pro、GDAL 命令行工具以及FME都无法圆满的解决这个需求。

工具支持的功能:

(1) 将mdb转出为shp或gdb;

(2) 迭代指定文件夹路径下的所有mdb,将其批量导出为shp或gdb;

工具原型界面示例:

图片

工具执行结果示例:

图片

5.13 数据投影转换

对地理坐标系下的图层,按标准分带或指定的分带经差,自动计算分带对应的投影坐标系并将其转出;

应用场景与功能:

地图投影是把地球表面的任意点,利用一定数学法则,转换到地图平面上的理论和方法。在地图制作、空间数据分析以及工程和建筑项目中,面对地理坐标系的图层数据,进行精确的面积计算、距离量测、规则分块等需求时,需要进行地图投影。

工具支持的功能:

(1)按标准分带或自定义分带,使用高斯克吕格投影对数据按分带投影输出;

工具原型界面示例:

暂未封装。

工具执行结果示例:

按3°带,使用高斯克吕格投影对某省水系数据进行投影并输出。

图片

5.14 面要素规则化处理(直角化、曲线)

消除面图层几何要素中不需要的伪影,实现轮廓的正交或平滑处理;

应用场景与功能:

在数据获取过程中,受GPS精确度、遥感影像分辨率或人为因素的影响,数据往往存在不同程度的误差。其中,图像分割、深度学习等技术提取的建筑物多边形边界由任意折线构成,直角特征弱,点数冗余,无法实现地理信息的规范化表达。

工具对面要素的轮廓线,按直角或平滑进行规则化处理,用于消除面要素范围几何中不规整的边界及细节。

工具原型界面示例:

暂未封装。

工具执行结果示例:

直角:

图片

平滑:

图片

5.15 线悬挂点检查和修复

智能检测线图层中不合理的悬挂点,并自动修复;

应用场景与功能:

悬挂点是指在地图数据中孤立存在的点,它们不与任何线或面的节点相连接。悬挂点通常是数据中的异常情况,可能是由于数字化或数据编辑错误而导致的。

图片

图片

线要素悬挂点修复工具用于解决,在指定距离容差(距离为扇形半径,扇形角度默认180)范围内,沿着线走向向前自动检测线要素图层存在的悬挂点,并按更为合理的方式将悬挂点给予修复,可根据需要是否输出被修剪、延伸、连接的部分。同时,工具支持另存修复结果或直接原地修复源数据。

图片

工具与常规GIS软件中的裁剪、延伸有明显的区别。本工具功能将更加高效、准确和合理。

工具原型界面示例:

图片

工具执行结果示例:

 1)连接

在悬挂点处,寻找最近的悬挂点进行连接,且连接后不能与其他要素相交;

图片

2)裁剪

裁剪功能除了包含arcgis中的“修剪线”功能外,将在裁剪处对线进行打断,一步到位解决网络连通问题,且可以将被裁剪的部分输出,使用该记录可用于数据修复情况的检查和验证。

图片

 3) “延伸”功能,不是简单的解决两条线要素的延长相交问题。而是优先寻找“合适点”,找不到合适点的线将不进行延伸处理,避免因为延伸带来的极小角、自相交、增加新的点位等额外的数据问题。

此外,“延伸”功能将在连接处打断线,一步到位解决网络连通问题。

GIS软件中的“延伸线”工具,是一种不考虑延伸后线要素之间夹角的“粗暴”做法。示例插图如下:

图片

5.16 线、面极小角检查

输出线、面层中因编辑或空间分析造成的极小角的位置;

应用场景与功能:

极小角,类似Geoscene中的“急锐角化”,急锐角化校验用于识别折点之间包含大角度转弯的要素。

但是本文中介绍的极小角,主要是指折线中结点之间包含大角度转弯或折线间存在小角度夹角的线要素图层,以及面要素图层中,面要素折点的大角度转弯造成的小夹角。

图片

 线、面要素极小角查找工具,对输入的线、面要素,找出小于指定角度的夹角或转角位置,并记录该点所在的输入要素ID,该点处的夹角,并输出点。

工具原型界面示例:

图片

工具执行结果示例:

  1)面极小角输出示例如下:

图片

2)线极小角输出示例如下:

图片

5.17 线、面打折修复

对线、面层中出现打折的结点,进行自动修复;

应用场景与功能:

在数据编辑、空间分析以及数据转化中,总会出现“打折”的情况;同时,极小角存在地方,往往伴随着线、面要素的打折。

在对矢量数据质量检查时,对线要素图层的验收方案中,拓扑一致性提到的图形正确性,就包括检查图形相交、打折、重线。

图片

“打折”可以通过质量检查软件自动检查,但并没有对“打折”问题修复的工具。

线层、面层打折修复工具,用于在线、面要素存在打折的地方,对打折线、打折面进行修复,消除打折质量问题。

工具原型界面示例:

图片

工具执行结果示例:

1)线图层修复示例:

图片

2)面图层修复示例:

图片

5.18 线、面间悬挂点检查和修复

对线、面层间需要保证要素间正确连接的要求(如水系数据),自动检测和修复不合理悬挂点;

应用场景与功能:

当地理空间数据主要以线或面表达时,如水系数据。有条件采集面状水系骨架线的,应采集骨架线、赋骨架线分类代码,并与线状河流构成河网。

如下图①、②、③处,水系线与水系面未正确连接,即满足线、面间悬挂点的定义。

图片

工具原型界面示例:

图片

工具执行结果示例:

图片

5.19 线重叠检查修复

对线层中,要素间存在重叠的区域,按周边要素的连接情况,智能化裁剪修复;

应用场景与功能:

先明确一下“线重叠”的定义。

不能自重叠(线):线要素不得与自身重叠。这些线要素可以交叉或接触但不得有重合的线段。此规则适用于街道等线段可能接触闭合线的要素,但同一街道不得出现两次相同的路线。

不能重叠(线):线不得与同一要素类(或子类型)中的线重叠。例如,当河流要素类中线段不能重复时,使用此规则。线可以交叉或相交,但不能共享线段。

图片

 “线重叠检查修复修复”工具,支持的功能如下:

  (1)对线自重叠部分进行查找输出,支持自动修复功能;

  (2)对线重叠部分进行查找输出,支持批量、合理性自动修复。

工具原型界面示例:

图片

工具执行结果示例:

图片

5.20 线缠绕检查修复

多源数据融合时,对同一实体选择了多条重复记录,形成线缠绕的数据情况,实现自动检测和修复;

应用场景与功能:

做数据融合时,经常碰到这样的问题?

我获取的数据源有A、B、C,……,在数据分析阶段,需要选择表达准确、现势性好、精度高、内容全的要素进行融合更新,通过对比分析,A、B的几何都好,C中有几个属性项需扩展到成果数据中。

图片

 “缠绕线”,主要是指表达同一段实体的多条折线存在来回穿插相交,或整体偏移,在数据处理编辑时,不能简单的通过删除其中一条线要素而实现网络的构建的数据现象。

图片

  “缠绕线查找和修复”工具,支持的功能如下:

(1)在指定搜索距离范围内,分析线要素周边的其他线要素,计算其与自身的曲线相似度,对相似度值满足指定阈值的曲线,计算两条曲线间的最优路径,使用最优路径替换原曲线。

(2)能有效解决线要素图层中存在的线缠绕数据质量问题,以及提取双线至单线的需求。

工具原型界面示例:

图片

工具执行结果示例:

图片

5.21 点实体查重

对点层数据,按属性值和位置的临近关系,分析同一点位实体的重复的可能性;

应用场景与功能:

在兴趣点数据的融合过程中,由于数据来源的繁多,数据质量参差不齐,表达同一点位实体的要素可能会出现多条记录的情况。

点实体数据重复示例:

图片

工具对输入点图层,在指定距离范围内任意点,查找出名称与之相似度最高的点位,记录其ID,与之的方位角和距离,输出到属性表中。相似度字段similarity的取值为[0,1],为1时,表示在指定距离范围内找到一个与之名称完全相同的点位。值越大,相似程度越高。

工具原型界面示例:

图片

工具执行结果示例:

1)输出类型为点

图片

2)输出类型为线

图片

5.22 面要素形状指数(狭长度)计算

计算面的形状指数,按计算值,找出狭长面或规则面,一般用于查找因编辑和叠加分析造成的小面或狭长带。

应用场景与功能:

如何确定一个面要素是近圆的还是扁的?如下图所示,哪些图形更加规整,而哪些图形比较“狭长”?

图片

狭长面通常是由诸如相交或联合等叠加操作生成的较小的面。通常,狭长面的面积远远小于周长。

那些场景下需要鉴别狭长面?

(1)有很多小碎面需要消除,但不能简单的只通过设置面积大小去筛选面是否是“极小面”,会错过那些大面积但狭长的面要素;

(2)面要素有孔洞(裂缝),要消除这种裂缝,又不能把面中的孔洞全部补起来,会错误的删除合理的孔洞;

(3)一些应用场景下,需要找出比较规整的分类地块。

面要素形状指数(狭长度)计算工具,用于计算面要素的“形状指数”,形状指数表示多边形的紧凑度,最小值为1,值越大,多边形越狭长。并提供修复的功能,修复的内容包括在计算面要素形状指数时,删除极小面和删除狭长面。此功能主要应用在非完整覆盖地表的图层。

工具原型界面示例:

图片

工具执行结果示例:

图片

六、制图数据规范化工具

6.1 POI数据显示抽稀

不同显示比例尺下,按规则对POI数据进行过滤抽稀。

应用场景与功能:

制图工作中,经常会遇到大量密集的地名地址与兴趣点(以下简称“兴趣点”)的显示问题,兴趣点在空间分布上位置临近甚至重叠,造成标注信息存在压盖和重叠,为了制图美观,突出制图内容标注主题,通常需要对大量的兴趣点进行抽稀 。

POI显示抽稀工具用于解决密集POI 点显示和标注时,点位均匀分布和疏密得当的要求。抽稀过程中,算法只对数据进行过滤筛选,不对数据空间位置和其他属性值进行更改,能确保抽稀前后数据质量不发生改变。

工具原型界面示例:

图片

工具执行结果示例:

图片

6.2 POI简称处理

按简称规则和要求,对POI的标注名称进行简称处理。

应用场景与功能:

外业采集或收集到的兴趣点点位名称,一般是点位名称的全称,有些公司、单位或机构的名称字符较长,甚至超过了20个汉字,如:XX 区YY 县ZZ 镇人民代表大会常务委员会,简称为“ZZ 镇人大”。

在制图中对于点要素名称的标注,当名称长度超过6个字符时,为了地图美观和有限的图幅内能容纳更多的标注信息,一般对名称采取换行标注或采用名称简称的方式进行标注。如,中国社会科学院,简称为“社科院”;XX 市税务局 YY 区(县)分局第一税务所,简称为“YY 区(县)第一地税所”。

POI简称处理工具用于解决名称简称的规范化处理。

工具原型界面示例:

图片

工具执行结果示例:

图片

6.3 POI换行标注

对名称长度超过6字符的,在不分割词语、成语、短句等字符单元的情况下,进行字符分割。

应用场景与功能:

标注是制图中一个非常重要的内容,它是最直接的地图信息传递方式,一般用于标识某类要素的主体信息或辅助几何图形表达要素内容。在电子地图的制作中,最为常见的标注就是地名地址与兴趣点的名称标注。

对名称的标注,有一些常规约束,如每行标注的字符一般不应超过6个字,对POI名称字符长度超过6的记录,需按语义进行字符串分割等。

注记基本要求:

1) 注记,符号相互不能压盖;

2) 注记文字长度超过6个汉字时一般分行显示;

3) 根据图面负载,文字可放置在注记符号的八个方向,优先顺序分别为:右方、左方、上方、下方、右上、右下、左上、左下。

工具使用自然语言分词模型HanLP 的依存句法分析功能,在不破坏名称句法关系,即在不分割词语、成语、短句等字符单元的情况下,为过长名称的标注进行换行。

工具原型界面示例:

图片

工具执行结果示例:

图片

6.4 顶层道路线制作

在道路立交区域,提取顶层道路线。

应用场景与功能:

道路数据在制图中,为了在道路存在立交的区域,显示出道路的正确压盖关系,最简单的做法,就是在立交区域,截取最顶层道路线,让其长度能够跨越下层道路线,在渲染显示时,让截取的顶层道路线最后渲染,便能展示出道路的高低层级关系。

图片

顶层道路线制作工具在路网存在立交的地方,按指定的长度截取相交道路线。

工具原型界面示例:

图片

工具执行结果示例:

图片

6.5 路网连通性检查

对不同显示比例尺下的路网,进行连通性检查。

应用场景与功能:

制图对道路数据的要求:

(1)道路名称:检查道路名称合理性,道路名称字段不能含有不合理的字符,有道路编号的道路NAME不能为空;

(2)道路编号:道路名称相同的等级道路,其道路编号必须一致,其应保持道路编号的连续性。

(3)显示类别:道路应保持连通,避免物理孤立或显示孤立。道路显示类别DISPCLASID与CLASID保持一致,当遇到与周边道路显示不连通时,适当升降显示类别,保持与周边路网的显示连通。

路网显示连通性检查工具用于找出不同显示级别下的道路数据,其存在不连通的位置和类型。

工具原型界面示例:

图片

工具执行结果示例:

图片

6.6 水网连通性检查

对水网,进行连通性检查(检查项包括水系流向)。

应用场景与功能:

河网和路网连通性的区别,在于河网不仅需要物理连通性,还需要判断河流汇入点河流流向的逻辑正确性,即每个河流汇入点,一定有河流流入,也一定有河流流出。

     河网连连通性检查,和道路连通性检查一样,需要检查“孤立线”、“不合理悬挂点”、以及“不合理立交”等。

水系流向错误检查工具,用于找出不同显示级别下的水系线数据,其存在不连通的位置和类型。

工具原型界面示例:

图片

工具执行结果示例:

图片

6.7 水系河流分级

分别按STRAHLER和SHREVE分级方法,对水网进行分级,根据分级结果,可实现河网渐变效果。

应用场景与功能:

河网分级工具用于对矢量河流线数据进行分级计算,河网分级是一种将级别数分配给河流网络中的连接线的方法。此级别是一种根据支流数对河流类型进行识别和分类的方法。仅需知道河流的级别,即可推断出河流的某些特征。

“河网分级工具有两种可用于分配级别的方法。这两种方法由 Strahler (1957) 和 Shreve (1966) 提出。

图片

在主流的GIS桌面产品中,如ArcGIS的地理处理工具中,有河网分级工具,但只有针对栅格数据的河网分级工具,该工具一般用于水系栅格数据进行矢量化提取。缺乏解决水系线矢量数据河网分级按Strahler法或Shreve法进行分级的工具。

工具原型界面示例:

图片

工具执行结果示例:

输出新增字段“strahler”、“shreve”,记录河流分级的计算结果。分别表示按STRAHLER和SHREVE分级方法分析计算的值。同时,输出字段“node_level”,记录当前河流从源头到终点的层次。

图片

对于水系线矢量数据,有河流分级结果,不仅能推断出河流的某些特征,还能在制图中通过对分级值分级符号渲染,展示出河流从支流到干流的汇入的渐变效果。

图片

6.8 水系要素显示抽稀

对水网数据,按显示比例尺,逐级提取水系骨架,在制图中均匀显示水系数据。

应用场景与功能:

水系数据的处理要求中,对“显示级别”的要求为:

(1)显示级别字段“LEVEL”一般是必填;

(2)地下河段、 消失河段、 干涸河、干河床、 河道干河、坎儿井、地下渠道、暗渠、干沟、泉、漫流干河、干涸湖、干涸水库、干涸池塘、河、湖岛、水系结构线等地表不可见水系不显示, 其 LEVEL 赋值为-1;

(3)同一水系其 CLASID、 NAME、 LEVEL 属性需保持一致,MINLEVEL 有值的要素 LEVEL 赋值为 11;

(4)取值范围 11-18。

图片

我们获取到的水系线数据,可能如如上图一样,采集粒度比较细,水系线数据就显得非常密集,尤其是水系发达的区域,更是如此。

无论是制图中对水系数据的表达,还是水文分析中对水域骨架结构的需要,都需要对水系按从干流到支流的梳理。

水系显示级别就是在这样的需求背景下,迫切需要。

河网显示抽稀工具用于解决河网在不同显示级别下,保持河流骨架和河网结构,解决水系的显示抽稀问题。极大的解决了水系线在制图过程中的数据处理工作。

工具原型界面示例:

图片

工具执行结果示例:

图片

6.9 水系注记字头朝北实现

解决地图中水系名称注记的排版设计字头朝北的要求。

应用场景与功能:

电子地图中水系注记(如河流名称)的排版设计有其特定的要求,以确保地图的可读性和一致性。具体要求河流左斜体,且字头朝北。

但是,在实际制图中,注记仅使用左斜体,字头朝北却很少实现(这部分有一定的难度)。

“水系注记字头朝北”工具用于解决在Geoscene Pro中制图时,注记字符朝北的需求。

工具原型界面示例:

图片

工具执行结果示例:

图片

6.10 创建建筑物2.5D效果

在二维地图中,实现建筑物数据的立体效果。

应用场景与功能:

我们知道,在完成地图模板的制作后,还有很多优化的工作需要处理,优化的内容一般是提升地图的美观,提高数据的表达维度,平衡多个要素之间的突出程度,以实现图面的整洁美观,酷炫突出制图主题,更容易提取地图信息,使得制图效果更加赏心悦目。

 制图中,居民地图层在二维地图制图中立体效果的呈现,是非常有必要和难实现的一个优化内容。

本工具用于解决在二维地图中,建筑物呈现立体效果的需求。

工具原型界面示例:

图片

工具执行结果示例:

图片

6.11 居民地要素简化(直角化和规则化处理)

对居民地面数据,近似直角的节点处进行直角化处理,冗余点或复杂区域按特征分组简化。

应用场景与功能:

在地图综合和地理信息系统(GIS)中,建筑物多边形的轮廓数据是重要的空间信息之一,建筑物轮廓通常由任意折线构成,通常呈现出以下特点:

  • 直角特征弱:实际建筑物通常具有直角特征,但边界由任意折线构成,缺乏直角特征。

  • 点数冗余:为了精确描述边界,多边形顶点数目冗余,增加了数据处理的复杂度和存储负担。

  • 规范化表达困难:数据不规范,难以满足地理信息系统(GIS)中的规范化表达要求。

这些特点不仅影响了数据的可读性和美观性,还可能导致后续分析工作中的精度问题。建筑物多边形的简化通常包括三种处理模型:化简直角化制图综合

工具原型界面示例:

图片

工具执行结果示例:

(1)消除冗余点

图片

(2)建筑物轮廓直角化

图片

(2)分组简化建筑物轮廓

图片

七、应用价值

(1)省级规模的数据验证:工具箱已经在省级规模的数据上进行了验证和完善,证明了它们能够有效应对复杂的数据情况。

(2)提高项目实施效率:通过自动化和智能化的数据处理,显著提高了项目实施效率和用户体验。

(3)增强制图效果:优化制图数据处理,提升了地图的配图效果,实现了更为精细和美观的制图成果。

(4)综合性的解决方案:不仅解决了制图数据处理方面的难题,还实现了数据规范化和制图效果优化的新功能,极大地提高了项目实施效率和用户体验。

(5)易部署与高效功能:工具箱易于部署,具备全面高效的特性,能够快速应用于各种GIS项目中,支持大规模数据处理。

链接:https://pan.baidu.com/s/1dhziqLrFZ3MA4G4dzzjJ6Q?pwd=1012 提取码:1012

欢迎反馈使用过程中存在的问题、建议和新的需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/894425.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Asp.net Core SignalR 跨域设置(Furion)

前端VUE2.0/3.0 后端NET8.0/NET6.0 框架Furion 前端安装SignalR通信库&#xff0c;下面任意一条安装指令都可以&#xff0c;根据项目自行选择 npm install microsoft/signalr yarn add microsoft/signalr前端使用 <script> import { HubConnectionBuilder } from micr…

[Halcon矩阵] 通过手眼标定矩阵计算相机旋转角度

&#x1f4e2;博客主页&#xff1a;https://loewen.blog.csdn.net&#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;本文由 丶布布原创&#xff0c;首发于 CSDN&#xff0c;转载注明出处&#x1f649;&#x1f4e2;现…

SpringBoot教程(三十二) | SpringBoot集成Skywalking链路跟踪

SpringBoot教程&#xff08;三十二&#xff09; | SpringBoot集成Skywalking链路跟踪 一、Skywalking是什么&#xff1f;二、Skywalking与JDK版本的对应关系三、Skywalking下载四、Skywalking 数据存储五、Skywalking 的启动六、部署探针前提&#xff1a; Agents 8.9.0 放入 项…

C#从零开始学习(用unity探索C#)(unity Lab1)

初次使用Unity 本章所有的代码都放在 https://github.com/hikinazimi/head-first-Csharp Unity的下载与安装 从 unity官网下载Unity Hub Unity的使用 安装后,注册账号,下载unity版本,然后创建3d项目 设置窗口界面布局 3D对象的创建 点击对象,然后点击Move Guzmo,就可以拖动…

云服务解决方案,针对小程序、网页、HTML5等轻量化视频解决方案

无论是社交媒体上的短视频分享&#xff0c;还是企业官网中的产品展示&#xff0c;亦或是教育平台上的互动课程&#xff0c;高质量、易制作的视频内容正以前所未有的速度改变着我们的生活方式和工作模式。然而&#xff0c;面对多样化的发布平台和日益增长的个性化需求&#xff0…

Python从0到100(六十五):Python OpenCV-图像运颜色转换及几何变换

前言&#xff1a; 零基础学Python&#xff1a;Python从0到100最新最全教程。 想做这件事情很久了&#xff0c;这次我更新了自己所写过的所有博客&#xff0c;汇集成了Python从0到100&#xff0c;共一百节课&#xff0c;帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…

.net 根据html的input type=“week“控件的值获取星期一和星期日的日期

初始化 "week" 控件值&#xff1a; //MVC部分 public ActionResult WeeklyList() {int weekNo new GregorianCalendar().GetWeekOfYear(System.DateTime.Now, System.Globalization.CalendarWeekRule.FirstDay, DayOfWeek.Sunday);string DefaultWeek DateTime.No…

ssm医院交互系统+vue

系统包含&#xff1a;源码论文 所用技术&#xff1a;SpringBootVueSSMMybatisMysql 免费提供给大家参考或者学习&#xff0c;获取源码请私聊我 需要定制请私聊 目 录 摘要 I Abstract II 1绪论 1 1.1研究背景与意义 1 1.1.1研究背景 1 1.1.2研究意义 1 1.2国内外研究…

python+大数据+基于spark的短视频推荐系统【内含源码+文档+部署教程】

博主介绍&#xff1a;✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久&#xff0c;选择我们就是选择放心、选择安心毕业✌ &#x1f345;由于篇幅限制&#xff0c;想要获取完整文章或者源码&#xff0c;或者代做&am…

Mybatis框架 day1018

ok了家人们书接上文&#xff0c;我们继续学习mybatis框架 五.数据输出 5.7 属性和字段的映射 5.7.1 别名映射 将数据库表的字段别名设置成和实体类属性一致。 <!-- 给每一个字段设置一个别名&#xff0c;让别名和Java实体类中 属性名一致 --> <select id"fi…

赋能特大城市水务数据安全高速运算,深圳计算科学研究院YashanDB数据库系统斩获“鼎新杯”二等奖

第三届“鼎新杯”数字化转型应用优秀案例评选结果日前正式公布&#xff0c;深圳计算科学研究院联合深圳市环境水务集团有限公司申报的《深圳环境水务国产数据库YashanDB&#xff0c;赋能特大城市水务数据安全高速运转》案例&#xff0c;经过5个多月的评审&#xff0c;从4000申报…

设计模式04-创建型模式1(简单工厂/工厂模式/抽象工厂/Java)

3.1 简单工厂模式 3.1.1 创建型模式 创建型设计模式将对象的创建过程和对象的使用过程分离&#xff0c;用户使用对象时无需关注对象的创建细节&#xff0c;外界对于这些对象只需要知道它们共同的接口&#xff0c;而不用清楚其实现细节&#xff0c;使得整个系统的设计更加符合…

Redis JSON介绍

Redis JSON介绍 Redis JSON先说说JSON是什么再说说JSON Path先推荐两个网站JSONPath JAVA clents Redis JSON 安装内存json命令语法命令url命令解释JSON.ARRAPPENDJSON.ARRINDEXJSON.ARRINSERTJSON.ARRLENJSON.ARRPOPJSON.ARRTRIMJSON.CLEARJSON.DEBUG MEMORYJSON.DEBUGJSON.DE…

单例模式(自动加载)

目录 介绍 使用 在脚本中写一个函数 让一个「自定义场景」作为单例「自动加载」 介绍 单例模式是编程中的一种设计思想&#xff0c;是为了解决某些编程语言中没有全局变量概念而产生的这对于实现某种模块非常好用 比如玩家信息&#xff0c;有时候&#xff0c;游戏中的很多…

数组中超过一半的元素

有一个数组&#xff0c;找出其中数量超过的元素是谁。比如数组 [3, 2, 3] &#xff0c;输出 3。 这个问题要解起来不难&#xff0c;暴力计数&#xff0c;转为 map&#xff0c;排序都能解决。但是他们的空间复杂度都不低&#xff0c;即便排序能做到 O(1) 的空间复杂度&#xff…

计算机系统简介

一、计算机的软硬件概念 1.硬件&#xff1a;计算机的实体&#xff0c;如主机、外设、硬盘、显卡等。 2.软件&#xff1a;由具有各类特殊功能的信息&#xff08;程序&#xff09;组成。 系统软件&#xff1a;用来管理整个计算机系统&#xff0c;如语言处理程序、操作系统、服…

电影评论网站:Spring Boot技术栈应用

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理电影评论网站的相关信息成为必然。开发合适…

安装macOS Sequoia注意事项

随着macOS Sequoia的发布&#xff0c;许多Mac用户开始计划升级到这一最新版本。然而&#xff0c;升级系统并非简单点击“升级”按钮即可。在安装新系统之前&#xff0c;有一些关键的注意事项可以帮助你避免潜在的问题&#xff0c;确保顺利过渡到macOS Sequoia。本文将详细介绍在…

FPGA图像处理之三行缓存

文章目录 一、前言二、FPGA实现三行缓存的架构三、Verilog代码实现四、仿真验证五、输入图像数据进行仿真验证 一、前言 在 FPGA 做图像处理时&#xff0c;行缓存是一个非常重要的一个步骤&#xff0c;因为图像输入还有输出都是一行一行进行的&#xff0c;即处理完一行后再处理…

实现uniapp天地图边界范围覆盖

前言&#xff1a; 在uniapp中&#xff0c;难免会遇到使用地图展示的功能&#xff0c;但是百度谷歌这些收费的显然对于大部分开源节流的开发者是不愿意接受的&#xff0c;所以天地图则是最佳选择。 此篇文章&#xff0c;详细的实现地图展示功能&#xff0c;并且可以自定义容器宽…