要素数据集ECQL查询

使用说明

要素数据集ECQL查询将使用ECQL语言对要素数据集(FeatureRDD)进行数据过滤,目的是从全量数据过滤读取出部分数据参与后续的运算。由于要素数据集ECQL查询是在内存中完成计算,因此,该工具的查询与数据库无关。

关于如何读取数据为要素数据集(FeatureRDD),请参见矢量数据读写工具部分。

参数说明

参数名 默认值 参数释义 参数类型
待查询的要素数据集 待查询的要素数据集(FeatureRDD)。 FeatureRDD
过滤条件 ECQL 查询语句,用于过滤满足此条件的数据内容。 String

输出结果

要素数据集ECQL查询工具的输出结果为满足指定查询条件的数据,数据以FeatureRDD(要素数据集)形式存储在内存中。

ECQL查询语句示例

要素数据集ECQL查询工具,基本支持ECQL全部的查询谓词,包括:时间谓词、空间关系谓词、数学运算符、比较操作符、逻辑关系判断等,具体参见下面的表格,ECQL查询谓词对大小写不敏感,因此谓词是不区分字母大小写的;但是,表达式中的字段名称区分大小写。

  • 逻辑关系判断
查询谓词 查询语句示例
AND Pop2014<10000 AND PopUrban2014 >5000
OR DLMC =‘水田’ OR DLMC =‘果园’
NOT NOT DLMC =‘水田’
  • 比较操作
查询谓词 查询语句示例
= DLMC =‘水田’
<> DLMC<>‘水田’
< PRES<950
<= GDP_2014<=10000
> Pop_2014>10000
>= PopUrban_2014 >=5000
  • 字符串匹配
查询谓词 查询语句示例
BETWEEN AND WND BETWEEN 40 AND 50
IN DLMC IN (‘有林地’, ‘果园’, ‘灌木林地’)
LIKE QSDWMC LIKE ‘四明村%’
  • 时间谓词
查询谓词 查询语句示例
BEFORE RTime BEFORE 2011-07-27T18:00:00Z
BEFORE OR DURING RTime BEFORE OR DURING 2011-07-27T04:00:00Z/2011-07-28T22:00:00Z
DURING RTime DURING 2011-08-07T22:00:00Z/2011-08-08T16:00:00Z
DURING OR AFTER RTime DURING OR AFTER 2011-08-06T16:00:00Z/2011-08-07T22:00:00Z
AFTER RTime AFTER 2011-08-07T14:00:00Z
  • 空间关系函数
查询谓词 查询语句示例
INTERSECTS INTERSECTS(the_geom, POLYGON((103 17,103 27,119 27,119 17,103 17)))
INTERSECTS(smgeometry, SRID=4326;POLYGON((103 17,103 27,119 27,119 17,103 17)))
DISJOINT DISJOINT(the_geom, POLYGON((103 17,103 27,119 27,119 17,103 17)))
DISJOINT(geom, SRID=4326;POLYGON((103 17,103 27,119 27,119 17,103 17)))
CONTAINS CONTAINS(geom, POINT(12032117.4943 3729511.6419))
CONTAINS(the_geom, SRID=4326;POINT(102 30))
WITHIN WITHIN(thegeom, POLYGON((103 17,103 27,119 27,119 17,103 17)))
WITHIN(the
geom, SRID=4326;POLYGON((103 17,103 27,119 27,119 17,103 17)))
TOUCHES TOUCHES(the_geom, POLYGON((135 300,208 314,122 325, 135 300)))
CROSSES CROSSES(thegeom, LINESTRING(10590100.5840 4275076.8431, 12344803.5872 2804700.7155))
CROSSES(the
geom, SRID=4326;LINESTRING(103 17,103 27))
OVERLAPS OVERLAPS(thegeom, POLYGON((103 17,103 27,119 27,119 17,103 17)))
OVERLAPS(the
geom, SRID=4326;POLYGON((103 17,103 27,119 27,119 17,103 17)))
BBOX BBOX(geom,12032117.4943,2896935.9979,12924879.3294,3729511.6419)
BBOX(the_geom,103 ,17 ,119 ,27,‘EPSG:4326’)
EQUALS EQUALS (the_geom, POLYGON((158 382,208 314,122 325, 158 382)))
RELATE RELATE(smgeometry,POLYGON((116.74072 39.58649,117.68555 40.04242,118.146697 39.23492,117.12524 38.5592,116.74072 39.58649)),T****)
DWITHIN DWITHIN(geom, POINT(10590100.5840 4275076.8431),450,kilometers)
DWITHIN(the_geom, SRID=4326;POINT(102 30),450,kilometers)
BEYOND BEYOND(geom, POINT(10590100.5840 4275076.8431),450,kilometers)
BEYOND(the_geom, SRID=4326;POINT(102 30),450,kilometers)

备注说明:以上查询语句示例中所使用的字段“the_geom”、“smgeometry”、“geom”均为空间数据的几何字段,不同数据库对于空间数据存储的几何字段名称不同,所以要根据实际数据情况填写几何字段的名称。