CN116450871A - 基于Spark分布式的栅格转矢量方法、系统及设备 - Google Patents
基于Spark分布式的栅格转矢量方法、系统及设备 Download PDFInfo
- Publication number
- CN116450871A CN116450871A CN202310490992.XA CN202310490992A CN116450871A CN 116450871 A CN116450871 A CN 116450871A CN 202310490992 A CN202310490992 A CN 202310490992A CN 116450871 A CN116450871 A CN 116450871A
- Authority
- CN
- China
- Prior art keywords
- rdd
- spark
- data
- boundary
- tile
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 21
- 230000004927 fusion Effects 0.000 claims abstract description 12
- 238000001914 filtration Methods 0.000 claims abstract description 11
- 230000002688 persistence Effects 0.000 claims abstract description 8
- 238000005516 engineering process Methods 0.000 claims abstract description 7
- 230000011218 segmentation Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 3
- 230000008901 benefit Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003012 network analysis Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 208000022417 sinus histiocytosis with massive lymphadenopathy Diseases 0.000 description 1
- 239000002689 soil Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/56—Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/587—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Image Processing (AREA)
Abstract
本发明涉及空间数据处理技术领域,具体涉及一种基于Spark分布式的栅格转矢量方法、系统及设备,旨在提供简单高效的解决方案。本发明的方法包括:基于Spark读取栅格数据,并进行切片和序列化后生成第一RDD;将第一RDD中的栅格数据转换为矢量数据,并提取矢量数据中的属性和空间几何信息,生成第二RDD;对第二RDD进行持久化并过滤,生成与边界不相交的第三RDD以及与边界相交的第四RDD;将第四RDD中彼此相邻且属性相同的要素进行边界融合生成第五RDD;将第五RDD和第三RDD进行合并生成第六RDD;通过Spark分布式技术将第六RDD进行反序列化并输出。本发明提高了处理效率和精度,且编程模型较简单。
Description
技术领域
本发明涉及空间数据处理技术领域,具体涉及一种基于Spark分布式的栅格转矢量方法、系统及设备。
背景技术
栅格数据和矢量数据是两种常见的GIS(Geographic Information System,地理信息系统)空间数据类型,它们分别采用了不同的数据结构来表示地理现象。栅格数据是一种基于网格的数据结构,它将地理空间划分为等大小的正方形或矩形单元(称为像元或栅格),并为每个单元赋予一个数值,表示该单元所代表的地理属性或特征。栅格数据通常用于表达连续变化的地理现象,如温度、高程、土壤类型等。矢量数据是一种基于几何图形的数据结构,它使用点、线和多边形等基本要素来表示地理对象的位置和形状,并为每个要素赋予一个属性表,记录该要素所具有的非空间信息。矢量数据通常用于表达离散或明确边界的地理现象,如道路、河流、建筑物等。
Spark是一种基于内存计算的大规模并行处理框架,它可以对结构化或半结构化的大规模数据进行快速处理和分析。Spark的原理是:将大规模数据划分为多个小块(称为分区),并将每个分区分配给一个计算节点(称为执行器)。Spark使用了一种叫做RDD(Resilient Distributed Datasets,弹性分布式数据集)的数据结构来表示分区。RDD是一种只读的、分布式的、容错的数据集,它可以在内存或磁盘中缓存,并支持多种转换和动作操作。Spark通过DAG(Directed Acyclic Graph,有向无环图)来表示RDD之间的依赖关系,并通过DAG调度器来优化和执行任务。Spark还提供了多种高级API(ApplicationProgramming Interface,应用程序接口),如SQL(Structured Query Language,结构化查询语言)、Streaming(streaming media,流媒体)、MLlib(Machine Learning lib,机器学习库)、GraphX(图处理框架)等,来支持不同类型的数据处理和分析。
栅格矢量化是一种将栅格数据转换为矢量数据的过程,它可以提高数据的可视化效果和分析能力。栅格矢量化的意义是:可以将栅格数据中的像元边界转换为矢量数据中的线或多边形,从而使数据更加清晰和精确。栅格矢量化还可以将栅格数据中的数值属性转换为矢量数据中的属性表,从而使数据更加丰富和灵活。栅格矢量化还可以方便地进行空间查询、拓扑分析、网络分析等操作,从而提高数据的分析能力。栅格矢量化的目标是:尽可能地保留栅格数据中的空间信息和属性信息,同时尽可能地减少矢量数据中的冗余信息和误差信息。
栅格矢量化的常用方法一般基于串行逐行处理栅格单元,该方法主要有以下缺点:(1)该方法的效率较低,因为它需要对每个栅格单元进行逐一的扫描和判断,如果栅格数据的规模较大,会消耗较多的时间和资源;(2)该方法的精度较差,因为它不能很好地保留栅格数据的原始信息,如灰度值、颜色、纹理等,而是将其简化为二值或多值的表示,可能会导致矢量化结果的失真或变形。
此外,基于Hadoop(是Apache软件基金会旗下的一个开源分布式计算平台)分布式计算框架也可以实现栅格数据矢量化转换的方法,例如GeoMesa等开源项目。这些方法主要利用Hadoop提供的MapReduce编程模型来表示和处理空间数据,并通过自定义函数或第三方库来实现具体的矢量化算法。这些方法的优点是可以处理大规模的栅格数据,但是缺点是需要对原始数据进行预处理,以适应Hadoop的输入输出格式,并且MapReduce编程模型较为复杂和低效。
另外,基于GPU(Graphics Processing Unit,图形处理器)并行计算也可以实现栅格数据矢量化转换的方法,例如CUDA(Compute Unified Device Architecture,是显卡厂商NVIDIA推出的运算平台)等平台或库。这些方法主要利用GPU提供的高性能并行计算能力来加速栅格数据矢量化转换过程,并通过自定义函数或第三方库来实现具体的矢量化算法。这些方法的优点是可以快速处理小规模或中等规模的栅格数据,但是缺点是需要对原始数据进行预处理,以适应GPU的内存结构,并且GPU编程模型较为复杂和专业。
因为现有的基于Hadoop或GPU进行栅格转矢量算法只是将瓦片(Tile)转换为矢量几何数据(Geometry)等,同时未对转换结果做融合等处理,所以无法提供一个流程完整的将原始栅格数据直接转换为矢量数据的工具。
发明内容
为了解决现有技术中的上述问题,本发明提出了一种基于Spark分布式的栅格转矢量方法、系统及设备,提高了处理效率和精度,并且编程模型较为简单。
本发明的第一方面,提出一种基于Spark分布式的栅格转矢量方法,所述方法包括:
基于Spark读取栅格数据,并进行切片和序列化后生成第一RDD;
将所述第一RDD中的栅格数据转换为空间矢量数据,并提取所述空间矢量数据中的属性和空间几何信息,生成第二RDD;所述第二RDD中的元素包括:是否和边界相交,以及由所述属性和所述空间几何组成的要素;
对所述第二RDD进行持久化并过滤,生成与边界不相交的第三RDD以及与边界相交的第四RDD;
将所述第四RDD中彼此相邻且属性相同的所述要素进行边界融合,生成第五RDD;
将所述第五RDD和所述第三RDD进行合并,生成第六RDD;
通过Spark分布式技术将所述第六RDD进行反序列化,并写出至本地或HDFS(Hadoop Distributed File System)空间矢量数据图层中。
优选地,“基于Spark读取栅格数据,并进行切片和序列化后生成第一RDD”的步骤包括:
基于Spark从输入文件中读取栅格数据;
根据预设的最大切片尺寸将读取的栅格数据按行列切分,得到多个瓦片;
将所述多个瓦片进行序列化,进而生成第一RDD;
其中,所述第一RDD的每行中包括一个瓦片和一个表示该瓦片位置的索引,且每个瓦片为一个数值型的多维数组。
优选地,“将所述第一RDD中的栅格数据转换为空间矢量数据,并提取所述空间矢量数据中的属性和空间几何信息,生成第二RDD”的步骤包括:
利用Spark中的flatMap函数将所述第一RDD中每个瓦片的栅格数据转换为空间矢量数据;
提取所述空间矢量数据中的属性和空间几何信息,生成第二RDD。
优选地,所述要素是一种表示空间矢量数据的基本单元,包括一个属性对象和一个几何对象;
所述是否和边界相交是一个布尔值,表示所述要素是否和瓦片的边界有交集。
本发明的第二方面,提出一种基于Spark分布式的栅格转矢量系统,所述系统包括:
切分模块,用于基于Spark读取栅格数据,并进行切片和序列化后生成第一RDD;
转换模块,用于将所述第一RDD中的栅格数据转换为空间矢量数据,并提取所述空间矢量数据中的属性和空间几何信息,生成第二RDD;所述第二RDD中的元素包括:是否和边界相交,以及由所述属性和所述空间几何组成的要素;
过滤模块,用于对所述第二RDD进行持久化并过滤,生成与边界不相交的第三RDD以及与边界相交的第四RDD;
边界融合模块,用于将所述第四RDD中彼此相邻且属性相同的所述要素进行边界融合,生成第五RDD;
数据合并模块,用于将所述第五RDD和所述第三RDD进行合并,生成第六RDD;
反序列化输出模块,用于通过Spark分布式技术将所述第六RDD进行反序列化,并写出至本地或HDFS空间矢量数据图层中。
优选地,所述切分模块包括:
读取单元,用于基于Spark从输入文件中读取栅格数据;
切分单元,用于根据预设的最大切片尺寸将读取的栅格数据按行列切分,得到多个瓦片;
序列化单元,用于将所述多个瓦片进行序列化,进而生成第一RDD;
其中,所述第一RDD的每行中包括一个瓦片和一个表示该瓦片位置的索引,且每个瓦片为一个数值型的多维数组。
优选地,所述转换模块包括:
转换单元,用于利用Spark中的flatMap函数将所述第一RDD中每个瓦片的栅格数据转换为空间矢量数据;
提取单元,用于提取所述空间矢量数据中的属性和空间几何信息,生成第二RDD。
优选地,所述要素是一种表示空间矢量数据的基本单元,包括一个属性对象和一个几何对象;
所述是否和边界相交是一个布尔值,表示所述要素是否和瓦片的边界有交集。
本发明的第三方面,提出一种处理设备,包括存储器和处理器,所述存储器上存储有能够被所述处理器加载并执行上面所述方法的计算机程序。
本发明的第四方面,提出一种存储设备,存储有能够被处理器加载并执行上面所述方法的计算机程序。
本发明具有如下有益效果:
与串行逐行处理方法相比,本发明利用Spark分布式计算框架实现并行处理,充分利用集群资源,可以大幅缩短处理时间,提高了处理效率;利用自定义的TileRDD,即第一RDD来表示和存储栅格数据,避免了对原始数据的预处理,一方面提高了效率,另一方面由于保证了栅格数据的完整性和一致性,避免投影变换等误差引入,提高了矢量化结果的精度。
基于flatMap操作将每个瓦片数据转换为一个或多个要素数据并进行扁平化,同时在同一步骤中进行边界检测,筛选了边界要素,减少了后续进行边界融合时数据循环遍历次数,提高了性能。
通过持久化操作将矢量数据缓存到内存或磁盘中,避免了重复计算,提高了稳定性和可靠性;通过过滤操作将矢量数据分为与边界相交和不相交两类,并分别进行处理,简化了逻辑和算法,提高了准确性和完整性;通过聚合操作将相同属性且相邻的矢量对象融合为一个对象,并与不相交的对象进行合并,实现了空间拓扑关系的维护,提高了质量和美观度。
可以利用Spark弹性特性实现动态调节资源分配,适应不同规模和复杂度的栅格数据处理需求,具有可扩展的优点;可以利用Spark容错机制实现故障恢复,保证任务执行成功,具有稳定可靠的优点。
此外,相比基于Hadoop或GPU实现栅格数据矢量化转换的方法,本发明的编程模型较为简单。本发明的栅格转矢量系统集成了栅格转矢量流程中的多个复杂环节,对于使用该系统的工程师来说,即无需事先对原始数据进行预处理也无需对转换结果数据进行后处理,即拿即用,只需要提供待转换的栅格数据(如GeoTIFF文件),设置相关参数(如预设的最大切片尺寸等)便可将栅格数据转换为矢量数据(如Shapefile文件),同时利用该系统处理大体量栅格数据耗时也较短。
附图说明
图1是本发明的基于Spark分布式的栅格转矢量方法实施例的主要步骤示意图;
图2是本发明的基于Spark分布式的栅格转矢量系统实施例的主要构成示意图。
具体实施方式
下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本申请的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明的描述中,术语“第一”、“第二”仅仅是为了便于描述,而不是指示或暗示所述装置、元件或参数的相对重要性,因此不能理解为对本发明的限制。另外,本发明中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
图1是本发明的基于Spark分布式的栅格转矢量方法实施例的主要步骤示意图。如图1所示,本实施例的方法包括步骤S10-S60:
步骤S10,基于Spark读取栅格数据,并进行切片和序列化后生成第一RDD。该步骤可以具体包括步骤S11-S13:
步骤S11,基于Spark从输入文件中读取栅格数据。
步骤S12,根据预设的最大切片尺寸将读取的栅格数据按行列切分,得到多个瓦片。
步骤S13,将多个瓦片进行序列化,进而生成第一RDD(自定义的TileRDD)。
其中,第一RDD的每行中包括一个瓦片和一个表示该瓦片位置的索引,且每个瓦片为一个数值型的多维数组。
步骤S20,将第一RDD中的栅格数据转换为空间矢量数据,并提取空间矢量数据中的属性和空间几何信息,生成第二RDD。该步骤可以具体包括步骤S21-S22:
步骤S21,利用Spark中的flatMap函数将第一RDD中每个瓦片的栅格数据转换为空间矢量数据。
步骤S22,提取空间矢量数据中的属性和空间几何信息,生成第二RDD。
其中,第二RDD中的元素包括:是否和边界相交,以及要素。要素是一种表示空间矢量数据的基本单元,包括一个属性对象和一个几何对象;是否和边界相交是一个布尔值,表示要素是否和瓦片的边界有交集。
步骤S30,对第二RDD进行持久化并过滤,生成与边界不相交的第三RDD以及与边界相交的第四RDD。
步骤S40,将第四RDD中彼此相邻且属性相同的要素进行边界融合,生成第五RDD。
在该步骤中,彼此相邻且属性相同的两个或两个以上的要素会融合为一个要素。
步骤S50,将第五RDD和第三RDD进行合并,生成第六RDD。
合并后,来自第五RDD和第三RDD的原始数据及数据量不会改变。
步骤S60,通过Spark分布式技术将第六RDD进行反序列化,并写出至本地或HDFS空间矢量数据图层中。
上述实施例中虽然将各个步骤按照上述先后次序的方式进行了描述,但是本领域技术人员可以理解,为了实现本实施例的效果,不同的步骤之间不必按照这样的次序执行,其可以同时(并行)执行或以颠倒的次序执行,这些简单的变化都在本发明的保护范围之内。
基于与方法实施例相同的技术构思,本申请还提供了一种系统的实施例,下面进行具体说明。
图2是本发明的基于Spark分布式的栅格转矢量系统实施例的主要构成示意图。如图2所示,本实施例的系统包括:切分模块10、转换模块20、过滤模块30、边界融合模块40、数据合并模块50,以及反序列化输出模块60。
其中,切分模块10用于基于Spark读取栅格数据,并进行切片和序列化后生成第一RDD;转换模块20用于将第一RDD中的栅格数据转换为空间矢量数据,并提取空间矢量数据中的属性和空间几何信息,生成第二RDD;第二RDD中的元素包括:是否和边界相交,以及由属性和空间几何组成的要素;要素是一种表示空间矢量数据的基本单元,包括一个属性对象和一个几何对象;是否和边界相交是一个布尔值,表示要素是否和瓦片的边界有交集;过滤模块30用于对第二RDD进行持久化并过滤,生成与边界不相交的第三RDD以及与边界相交的第四RDD;边界融合模块40用于将第四RDD中彼此相邻且属性相同的要素进行边界融合,生成第五RDD;数据合并模块50用于将第五RDD和第三RDD进行合并,生成第六RDD;反序列化输出模块60用于通过Spark分布式技术将第六RDD进行反序列化,并写出至本地或HDFS空间矢量数据图层中。
本实施例中,切分模块10可以具体包括:读取单元11、切分单元12和序列化单元13。
其中,读取单元11用于基于Spark从输入文件中读取栅格数据;切分单元12用于根据预设的最大切片尺寸将读取的栅格数据按行列切分,得到多个瓦片;序列化单元13用于将切分得到的瓦片进行序列化,进而生成第一RDD。第一RDD的每行中包括一个瓦片和一个表示该瓦片位置的索引,且每个瓦片为一个数值型的多维数组。
本实施例中,转换模块20可以具体包括:转换单元21和提取单元22。
其中,转换单元21用于利用Spark中的flatMap函数将第一RDD中每个瓦片的栅格数据转换为空间矢量数据;提取单元22用于提取空间矢量数据中的属性和空间几何信息,生成第二RDD。
进一步地,本发明还提供了一种处理设备的实施例。本实施例的处理设备包括存储器和处理器,所述存储器上存储有能够被所述处理器加载并执行上面所述方法的计算机程序。
更进一步地,本发明还提供了一种存储设备的实施例。本实施例的存储设备中存储有能够被处理器加载并执行上面所述方法的计算机程序。
本实施例的存储设备可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的方法步骤、模块和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案。但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
Claims (10)
1.一种基于Spark分布式的栅格转矢量方法,其特征在于,所述方法包括:
基于Spark读取栅格数据,并进行切片和序列化后生成第一RDD;
将所述第一RDD中的栅格数据转换为空间矢量数据,并提取所述空间矢量数据中的属性和空间几何信息,生成第二RDD;所述第二RDD中的元素包括:是否和边界相交,以及由所述属性和所述空间几何组成的要素;
对所述第二RDD进行持久化并过滤,生成与边界不相交的第三RDD以及与边界相交的第四RDD;
将所述第四RDD中彼此相邻且属性相同的所述要素进行边界融合,生成第五RDD;
将所述第五RDD和所述第三RDD进行合并,生成第六RDD;
通过Spark分布式技术将所述第六RDD进行反序列化,并写出至本地或HDFS空间矢量数据图层中。
2.根据权利要求1所述的基于Spark分布式的栅格转矢量方法,其特征在于,“基于Spark读取栅格数据,并进行切片和序列化后生成第一RDD”的步骤包括:
基于Spark从输入文件中读取栅格数据;
根据预设的最大切片尺寸将读取的栅格数据按行列切分,得到多个瓦片;
将所述多个瓦片进行序列化,进而生成第一RDD;
其中,所述第一RDD为自定义的TileRDD;所述第一RDD的每行中包括一个瓦片和一个表示该瓦片位置的索引,且每个瓦片为一个数值型的多维数组。
3.根据权利要求1所述的基于Spark分布式的栅格转矢量方法,其特征在于,“将所述第一RDD中的栅格数据转换为空间矢量数据,并提取所述空间矢量数据中的属性和空间几何信息,生成第二RDD”的步骤包括:
利用Spark中的flatMap函数将所述第一RDD中每个瓦片的栅格数据转换为空间矢量数据;
提取所述空间矢量数据中的属性和空间几何信息,生成第二RDD。
4.根据权利要求1所述的基于Spark分布式的栅格转矢量方法,其特征在于,
所述要素是一种表示空间矢量数据的基本单元,包括一个属性对象和一个几何对象;
所述是否和边界相交是一个布尔值,表示所述要素是否和瓦片的边界有交集。
5.一种基于Spark分布式的栅格转矢量系统,其特征在于,所述系统包括:
切分模块,用于基于Spark读取栅格数据,并进行切片和序列化后生成第一RDD;
转换模块,用于将所述第一RDD中的栅格数据转换为空间矢量数据,并提取所述空间矢量数据中的属性和空间几何信息,生成第二RDD;所述第二RDD中的元素包括:是否和边界相交,以及由所述属性和所述空间几何组成的要素;
过滤模块,用于对所述第二RDD进行持久化并过滤,生成与边界不相交的第三RDD以及与边界相交的第四RDD;
边界融合模块,用于将所述第四RDD中彼此相邻且属性相同的所述要素进行边界融合,生成第五RDD;
数据合并模块,用于将所述第五RDD和所述第三RDD进行合并,生成第六RDD;
反序列化输出模块,用于通过Spark分布式技术将所述第六RDD进行反序列化,并写出至本地或HDFS空间矢量数据图层中。
6.根据权利要求5所述的基于Spark分布式的栅格转矢量系统,其特征在于,所述切分模块包括:
读取单元,用于基于Spark从输入文件中读取栅格数据;
切分单元,用于根据预设的最大切片尺寸将读取的栅格数据按行列切分,得到多个瓦片;
序列化单元,用于将所述多个瓦片进行序列化,进而生成第一RDD;
其中,所述第一RDD为自定义的TileRDD;所述第一RDD的每行中包括一个瓦片和一个表示该瓦片位置的索引,且每个瓦片为一个数值型的多维数组。
7.根据权利要求5所述的基于Spark分布式的栅格转矢量系统,其特征在于,所述转换模块包括:
转换单元,用于利用Spark中的flatMap函数将所述第一RDD中每个瓦片的栅格数据转换为空间矢量数据;
提取单元,用于提取所述空间矢量数据中的属性和空间几何信息,生成第二RDD。
8.根据权利要求5所述的基于Spark分布式的栅格转矢量系统,其特征在于,
所述要素是一种表示空间矢量数据的基本单元,包括一个属性对象和一个几何对象;
所述是否和边界相交是一个布尔值,表示所述要素是否和瓦片的边界有交集。
9.一种处理设备,其特征在于,包括存储器和处理器,所述存储器上存储有能够被所述处理器加载并执行如权利要求1-4中任一项所述方法的计算机程序。
10.一种存储设备,其特征在于,存储有能够被处理器加载并执行如权利要求1-4中任一项所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310490992.XA CN116450871B (zh) | 2023-05-04 | 2023-05-04 | 基于Spark分布式的栅格转矢量方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310490992.XA CN116450871B (zh) | 2023-05-04 | 2023-05-04 | 基于Spark分布式的栅格转矢量方法、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116450871A true CN116450871A (zh) | 2023-07-18 |
CN116450871B CN116450871B (zh) | 2023-12-29 |
Family
ID=87125594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310490992.XA Active CN116450871B (zh) | 2023-05-04 | 2023-05-04 | 基于Spark分布式的栅格转矢量方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116450871B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123479A (zh) * | 2014-08-14 | 2014-10-29 | 国家电网公司 | 一种电网特殊区域数据栅格转矢量的质量控制方法 |
CA3075614A1 (en) * | 2017-12-28 | 2019-07-04 | Landmark Graphics Corporation | Gridding global data into a minimally distorted global raster |
CN112966134A (zh) * | 2021-03-26 | 2021-06-15 | 北京亿耘科技有限公司 | 一种遥感影像数据处理方法、系统和存储介质 |
CN113628291A (zh) * | 2021-08-02 | 2021-11-09 | 电子科技大学 | 基于边界提取与合并的多形状目标栅格数据矢量化方法 |
-
2023
- 2023-05-04 CN CN202310490992.XA patent/CN116450871B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123479A (zh) * | 2014-08-14 | 2014-10-29 | 国家电网公司 | 一种电网特殊区域数据栅格转矢量的质量控制方法 |
CA3075614A1 (en) * | 2017-12-28 | 2019-07-04 | Landmark Graphics Corporation | Gridding global data into a minimally distorted global raster |
CN112966134A (zh) * | 2021-03-26 | 2021-06-15 | 北京亿耘科技有限公司 | 一种遥感影像数据处理方法、系统和存储介质 |
CN113628291A (zh) * | 2021-08-02 | 2021-11-09 | 电子科技大学 | 基于边界提取与合并的多形状目标栅格数据矢量化方法 |
Non-Patent Citations (2)
Title |
---|
RUDOLF SZENFREI 等: "a knowledge-based approach to raster-vector conversion of large scale topographic maps", 《ACTA CYBERNETICA》, vol. 20, no. 1, pages 146 - 165 * |
徐朔: "基于Spark的地理空间分析算法并行计算", 《中国优秀硕士学位论文全文数据库基础科学辑》, no. 01, pages 008 - 150 * |
Also Published As
Publication number | Publication date |
---|---|
CN116450871B (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Isenburg et al. | Generating raster DEM from mass points via TIN streaming | |
CN107544948B (zh) | 一种基于MapReduce的矢量文件转换方法和装置 | |
CN103995861A (zh) | 一种基于空间关联的分布式数据装置、方法及系统 | |
CN114820279B (zh) | 基于多gpu的分布式深度学习方法、装置及电子设备 | |
Jahn et al. | Topologically consistent models for efficient big geo-spatio-temporal data distribution | |
Kocon et al. | Point cloud indexing using Big Data technologies | |
CN116450871B (zh) | 基于Spark分布式的栅格转矢量方法、系统及设备 | |
CN108334532B (zh) | 一种基于Spark的Eclat并行化方法、系统及装置 | |
CN106846457B (zh) | 一种ct切片数据可视化重构的八叉树并行构造方法 | |
EP1708142A1 (en) | Three-Dimensional data controller and three-dimensional data processor | |
CN113191016A (zh) | 一种基于体表达模型的多材料产品建模分析一体化方法 | |
CN112614207A (zh) | 等值线绘制方法、装置和设备 | |
US20050213823A1 (en) | Distributed CAD apparatus | |
Peng et al. | A GPU-accelerated approach for feature tracking in time-varying imagery datasets | |
Kelly et al. | Quad-tree construction on the gpu: A hybrid cpu-gpu approach | |
CN112000312B (zh) | 基于Kettle和GeoTools的空间大数据自动化并行处理方法和系统 | |
CN115145930A (zh) | 基于树状层次索引的gis矢量数据层次编码方法及装置 | |
Marques et al. | A cloud computing based framework for general 2D and 3D cellular automata simulation | |
Zhang et al. | High-performance spatial join processing on gpgpus with applications to large-scale taxi trip data | |
CN110349265B (zh) | 一种四面体拓扑网格生成方法及电子设备 | |
CN100464335C (zh) | 微机电系统中三维实体到标准工艺版图的转换方法 | |
CN116450872B (zh) | 基于Spark分布式的矢量转栅格方法、系统及设备 | |
CN112070895A (zh) | 一种高质量的实时等值面网络生成方法 | |
CN112765292A (zh) | 一种使用瓦片技术处理shp数据的方法 | |
KR100993297B1 (ko) | Catia를 이용한 패널 코드 전처리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Room 105, 1st Floor, Building 5, No. 8 Dongbei Wangxi Road, Haidian District, Beijing, 100000 Patentee after: Yizhirui Information Technology Co.,Ltd. Address before: Room 150, 1st Floor, Building 5, No. 8 Dongbei Wangxi Road, Haidian District, Beijing, 100000 Patentee before: Yizhirui Information Technology Co.,Ltd. |