使用说明
在使用分布式架构进行空间数据的计算时,为了让集群发挥分布式计算能力,有两种基本的方式处理要素数据集:
- 是将一个要素数据集以广播对象的方式分发到所有结点;
- 是按照地理范围,将要素数据集按照相同的规则进行地理范围分区。
对于第一种方式,一般适用于单个要素数据集且数据量比较小的情形,这种方式性能较好,但对内存要求比较高,在内存资源不足时,可能无法一次性广播大量数据。
第二种方式,通过建立地理分区索引,将落在相同索引内的对象进行重新划分分区,分区中的要素是重复存储的,如果一个要素跨越多个分区,则每个分区中都有一个要素对象的副本,这样,空间上在同一范围内的对象都会在同一个结点上。这种方式的优点是能处理海量数据,但在使用时数据的重分区往往会较为耗时,而且对网络带宽和磁盘读写要求比较高。
针对第二种通过建立分区的处理方式,iObjects for Spark 在要素数据集的基础上提供了一种新的数据模型:DSF 要素数据集,适用于对海量空间数据进行分布式计算,能够显著提高大数据量的计算性能。分布式分析功能中的叠加分析、空间查询、空间连接等都支持输入DSF要素数据集进行高性能的分析计算。
创建带有地理分区索引的DSF要素数据集,分为格网索引和四叉树索引两种方式。选择何种索引需要根据数据特点进行选择,如果数据分布比较均匀,我们推荐使用格网索引,这样构建索引的时间耗费会很少。
参数说明
参数名 | 默认值 | 参数释义 | 参数类型 |
---|---|---|---|
输入的要素数据集 | 输入的要素数据集,必须是点、线、面等具有空间对象的地理分区要素数据集 | FeatureRDD | |
行数目 | 0 | 格网索引行数目。行列数目的设置依据每个格网内对象数据,形成的格网中对象数目控制在一定程度,比如面对象10w以内,点50w以内 | Integer |
列数目 | 0 | 格网索引列数目 | Integer |
建立格网索引的容限值 (可选) |
1.0E-10 | 建立格网索引的容限值,容限值单位为要素数据集中数据的单位,默认值为1.0e-10 | Double |
需要构建索引的数据地理范围 (可选) |
需要构建索引的数据地理范围,默认情形下将会对整个要素数据集构建格网索引,用户可以通过此参数指定需要构建索引数据范围,但是,落在索引范围外的数据不会被包含在结果的地理分区要素数据集中,在 WPS 客户端中如果输入文本串为范围,格式为 xmin,ymin,xmax,ymax | Envelope |