Query

AMD: require(["geoscene/rest/support/Query"], (Query) => { /* code goes here */ });
ESM: import Query from "@geoscene/core/rest/support/Query";
类: geoscene/rest/support/Query
继承于:Query Accessor
起始版本:GeoScene Maps SDK for JavaScript 4.20

此类定义了用于从图层或图层视图执行要素查询的参数。一旦定义了 Query 对象属性,就可将其传递给可执行函数,该函数将返回 FeatureSet 中的要素。

查询分为三种类型:属性查询、空间查询和统计查询。您可以在这些类别之一中查询要素,或在单个查询中使用每个类别的元素。

属性查询

要根据属性值查询要素,请在 where 属性中指定 SQL where 子句。您可以选择性地将 text 属性用于 LIKE 语句。设置查询的 outFields 将限制查询返回的属性。如果您的应用不需要每个要素的所有属性,这可提高查询速度。

例如,您可使用 where 从代表县的图层中查询某一范围内的所有县:

let query = featureLayer.createQuery();
query.where = "STATE_NAME = 'Washington'";
query.outFields = [ "STATE_NAME", "COUNTY_NAME", "POPULATION", "(POPULATION / AREA) as 'POP_DENSITY'" ];

featureLayer.queryFeatures(query)
  .then(function(response){
     // returns a feature set with features containing the following attributes
     // STATE_NAME, COUNTY_NAME, POPULATION, POP_DENSITY
   });

空间查询

您可以按几何/位置查询要素。虽然在此工作流中不需要 where,但您可将 where 用作查询的一部分以获得更精确的结果。

要执行空间查询,您必须将 geometry 参数设置为 Geometry 对象,并指定有效的 spatialRelationship。您可以选择性地提供查询距离单位,以在给定几何的缓冲区中查询要素。

例如,要查询鼠标移动 2 英里范围内的所有要素,您可以执行以下操作:

view.on("pointer-move", function(event){
  let query = featureLayer.createQuery();
  query.geometry = view.toMap(event);  // the point location of the pointer
  query.distance = 2;
  query.units = "miles";
  query.spatialRelationship = "intersects";  // this is the default
  query.returnGeometry = true;
  query.outFields = [ "POPULATION" ];

  featureLayerView.queryFeatures(query)
    .then(function(response){
      // returns a feature set with features containing the
      // POPULATION attribute and each feature's geometry
    });
});

例如,您还可以使用 where 来返回 2 英里缓冲区内人口超过 10,000 的所有要素。

已知限制

对于 3D 对象 SceneLayerView 上的客户端空间查询,在评估与几何的空间关系时使用要素的范围。这意味着可能会从查询中返回一个要素,即使它的足迹与几何图形没有空间关系。

时间查询

您可以通过指定 timeExtent 属性根据给定时间范围查询要素。仅当使用 timeInfo 信息发布要素服务时,时间查询才会返回结果。时间查询也可以与属性和几何查询相结合。

例如,您可以使用 timeExtentwhere 参数来查询给定时间范围内指定的飓风轨迹。

// query katrina tracks that took place in Aug 30 - Aug 31, 2005
const query = new Query({
  outFields: ["Name, WindSpeed"],
  where: "Name = 'Katrina'",
  timeExtent: {
    start: new Date(2005, 7, 30),
    end: new Date(2005, 7, 31)
  }
});
featureLayer.queryFeatures(query)
  .then(function(response){
     // process the results
   });

统计查询

您可以返回字段属性和表达式的统计信息,而不是从查询中返回单个要素。统计查询由 outStatistics 参数定义,该参数需要一个 StatisticDefinition 对象数组。

例如,您可以通过以下方式查询上述图层中县的平均人口和总人口:


// query for the sum of the population in all features
let sumPopulation = {
  onStatisticField: "POP_2015",  // service field for 2015 population
  outStatisticFieldName: "Pop_2015_sum",
  statisticType: "sum"
};

// query for the average population in all features
let avgPopulation = {
  onStatisticField: "POP_2015",  // service field for 2015 population
  outStatisticFieldName: "Pop_2015_avg",
  statisticType: "avg"
};

// Notice that you can pass a SQL expression as a field name to calculate statistics
let populationChangeDefinition = {
  onStatisticField: "POP_2015 - POP_2010",  // service field for 2015 population
  outStatisticFieldName: "avg_pop_change_2015_2010",
  statisticType: "avg"
};

let query = layer.createQuery();
query.where = "STATE_NAME = 'Washington'";
query.outStatistics = [ sumPopulation, avgPopulation, populationChangeDefinition ];
layer.queryFeatures(query)
  .then(function(response){
     let stats = response.features[0].attributes;
     console.log("Total Population in WA": stats.Pop_2015_sum);
     console.log("Average Population in WA counties": stats.Pop_2015_avg);
     console.log("Average Population change in WA counties": stats.avg_pop_change_2015_2010);
  });

处理结果

查询结果可以根据用例以多种方式使用。考虑以下影响结果要素集格式的参数。

  • returnGeometry - 对于在视图中以图形形式显示结果或进行进一步的空间分析,返回几何很有用。如果您的工作流中不需要几何,则不要请求它来提高应用程序性能。
  • outStatistics - 查询统计信息将永远不会从图层返回要素,只会返回具有请求统计信息的数字属性的对象。
  • returnDistinctValues - 将字段中存在的唯一值作为字符串数组返回,因此当此参数为 true 时不返回任何要素。

查询中的字段需要可用并列在 FeatureLayerView.availableFieldsSceneLayerView.availableFields 中。在 FeatureLayer.outFieldsSceneLayer.outFields 中定义它们。

另请参阅

构造函数

new Query(properties)
参数
properties Object
optional

有关可能传递给构造函数的所有属性的列表,请参见属性

属性概述

可以设置、检索或侦听任何属性。请参阅使用属性主题。
显示继承属性 隐藏继承属性
名称 类型 描述
Number[]

表示聚合的对象 ID 数组。

更多详情
Query
Boolean

指示服务是否应缓存查询结果。

更多详情
Query
Number

outSpatialReference 与图层的空间参考不同时,用于在查询结果中投影几何的基准变换。

更多详情
Query
String

类的名称。

更多详情
Accessor
Number

指定到空间查询中给定几何的搜索距离。

更多详情
Query
String

指定要为要素服务查询显示的地理数据库版本。

更多详情
Query
Geometry

应用于空间过滤器的几何。

更多详情
Query
Number

指定 JSON 查询操作返回的几何中的小数位数。

更多详情
Query
String[]

仅用于统计查询

更多详情
Query
String

outStatisticsgroupByFieldsForStatistics 一起使用的条件,以将查询结果限制为满足聚合函数的组。

更多详情
Query
Date

要查询的历史时刻。

更多详情
Query
Number

用于概化查询操作返回的几何的最大距离,使用 outSpatialReference 的单位。

更多详情
Query
Number

设置后,查询返回的最大要素数将等于服务的 maxRecordCount 乘以该因子。

更多详情
Query
String

此参数指示如何返回多面体要素的几何。

更多详情
Query
Number

要检索的要素数。

更多详情
Query
Number[]

ObjectID 数组,用于查询图层中的要素。

更多详情
Query
String[]

用于对查询结果进行排序的一个或多个字段名称。

更多详情
Query
String[]

要包含在 FeatureSet 中的属性字段。

更多详情
Query
SpatialReference

返回几何的空间参考。

更多详情
Query
StatisticDefinition[]

要计算的一个或多个基于字段的统计信息的定义。

更多详情
Query
Object[]

根据预先编写的参数化过滤器过滤图层中的要素。

更多详情
Query
Point

指定在 x 和 y 轴上标识的像素级别。

更多详情
Query
Object

用于将几何投影到虚拟格网上,可能表示屏幕上的像素。

更多详情
Query
Object[]

从图层中过滤指定范围值内的要素。

更多详情
Query
String

维度扩展的九交模型 (DE-9IM) 矩阵关系 (编码为字符串),用于查询输入几何与图层要素的空间关系。

更多详情
Query
Boolean

如果为 true,则返回的 FeatureSet 中的每个要素都将返回一个质心。

更多详情
Query
Boolean

如果为 true,则查询将基于 outFields 中指定的字段返回不同的值。

更多详情
Query
Boolean

如果为 true,则为每个切片请求返回所有要素,即使它们超过了服务上由 maxRecordCount 指示的每个查询的最大记录限制。

更多详情
Query
Boolean

如果为 true,则返回的 FeatureSet 中的每个要素都包含几何。

更多详情
Query
Boolean

如果为 true,且 returnGeometry 也为 true,则 m 值包含在几何中。

更多详情
Query
Boolean

如果为 true,则查询几何将与查询结果一起返回。

更多详情
Query
Boolean

如果为 true,且 returnGeometry 也为 true,则 z 值包含在几何中。

更多详情
Query
String

对于空间查询,此参数定义了在图层或图层视图中针对输入几何查询要素的空间关系。

更多详情
Query
String

此参数可以是标准 SQL92 standard,也可使用基础数据存储 native 的本机 SQL。

更多详情
Query
Number

从零开始的索引,指示从何处开始检索要素。

更多详情
Query
String

使用 "like” 的 where 子句的简写。

更多详情
Query
TimeExtent

针对时间感知型图层进行时态查询的时间范围。

更多详情
Query
String

在空间查询中指定距离时计算缓冲距离的单位。

更多详情
Query
String

查询的 where 子句。

更多详情
Query

属性详细信息

aggregateIds Number[]

表示聚合 (即聚类) 图形的对象 ID 数组。此属性应用于查询由具有给定 Object ID 的一个或多个聚类图形表示的要素。

这在以下情况下非常有用:

  • 将聚类中包含的要素显示为图形集合。
  • 将聚类要素推送到视图的弹出窗口以供浏览。
  • 在弹出窗口中显示包含在聚类中的要素的统计信息。

已知限制

此属性仅适用于 LayerView 查询方法。我们正在考虑在未来的版本中支持服务器端查询。

示例
// Will execute query for features represented by the clusterGraphic
if( clusterGraphic.isAggregate ){
  query.aggregateIds = [ clusterGraphic.getObjectId() ];
}
cacheHint Boolean

指示服务是否应缓存查询结果。它仅适用于图层的 capabilities.query.supportsCacheHint 设置为 true 时。仅用于每次使用应用程序时具有相同参数的查询。可缓存查询的一些示例:

默认值:undefined
datumTransformation Number

outSpatialReference 与图层的空间参考不同时,用于在查询结果中投影几何的基准变换。

declaredClass Stringreadonly inherited

类的名称。声明的类名称格式化为 geoscene.folder.className

distance Number

指定到空间查询中给定几何的搜索距离。units 属性表示测量单位。本质上,设置此属性会在输入几何周围创建一个指定大小的缓冲区。查询将使用该缓冲区返回在图层或图层视图中符合指定空间关系的要素。

如果查询要素服务,supportsQueryWithDistance 功能必须为 true

gdbVersion String

指定要为要素服务查询显示的地理数据库版本。

应用于空间过滤器的几何。由 spatialRelationship 指定的空间关系将指示应如何使用几何图形来查询要素。

已知限制

当前不支持网格几何类型。

geometryPrecision Number

指定 JSON 查询操作返回的几何中的小数位数。

groupByFieldsForStatistics String[]

仅用于统计查询。当此属性中提供一个或多个字段名称时,输出统计信息将根据这些字段的唯一值进行分组。这仅在定义了 outStatistics 时有效。

示例
query.outStatistics = [{
  onStatisticField: "CUSTOMERS",
  outStatisticFieldName: "avg_customers",
  statisticType: "avg"
}, {
  onStatisticField: "RATING",
  outStatisticFieldName: "min_rating",
  statisticType: "min"
}, {
  onStatisticField: "1=1",
  outStatisticFieldName: "total_businesses",
  statisticType: "count"
}];
query.groupByFieldsForStatistics = [ "region" ];

// query the above stats for each region in the layer
layer.queryFeatures(query).then(displayResults);
having String

outStatisticsgroupByFieldsForStatistics 一起使用的条件,以将查询结果限制为满足聚合函数的组。

本子句支持以下聚合函数:MIN | MAX | AVG | SUM | STDDEV | COUNT | VAR

having 中使用的聚合函数也必须包含在 outStatistics 中。有关其工作原理的示例,请参见以下代码段。

对于基于服务的图层查询,仅当图层的 supportsHavingClause 属性为 true 时,此参数才适用。所有 LayerView 查询都支持此属性。

示例
query.outStatistics = [{
  onStatisticField: "CUSTOMERS",
  outStatisticFieldName: "avg_customers",
  statisticType: "avg"
}, {
  onStatisticField: "RATING",
  outStatisticFieldName: "min_rating",
  statisticType: "min"
}, {
  onStatisticField: "1=1",
  outStatisticFieldName: "total_businesses",
  statisticType: "count"
}];
query.groupByFieldsForStatistics = [ "region" ];
query.having = "AVG(CUSTOMERS) >= 1,000 AND MIN(RATING) >= 3";

// query the above stats for all regions where
// the average number of daily customers per business is
// greater than 1,000 and the minimum customer rating
// for a business within the region is 3
layer.queryFeatures(query).then(displayResults);
historicMoment Date

要查询的历史时刻。仅当被查询服务的 supportsQueryWithHistoricMomenttrue 时,此参数才适用。图层资源中提供了此设置。

maxAllowableOffset Number

用于概化查询操作返回的几何的最大距离,使用 outSpatialReference 的单位。它限制了概化几何的任何部分与原始几何的距离。如果 outSpatialReference 未定义,则使用数据的 spatialReference。

已知限制

此属性不适用于 LayerViewCSVLayer 查询。

maxRecordCountFactor Number

设置后,查询返回的最大要素数将等于服务的 maxRecordCount 乘以该因子。该属性的值不得超过 5

例如,如果要素服务的 maxRecordCount2000,并且将 maxRecordCountFactor 设置为 5,则查询可以返回的最大要素数是 10000

已知限制

仅支持 GeoScene Online 托管服务或 GeoScene Enterprise 1.6 服务。

默认值:1
multipatchOption String

此参数指示如何返回多面体要素的几何。目前,唯一受支持的值是 xyFootprint。如果指定,将在结果中返回每个多面体几何的 xy 轨迹。

示例
let queryTask = new QueryTask( ... );
let query = new Query({
  objectIds: [22],
  multipatchOption: "xyFootprint",
  outFields: ["*"],
  returnGeometry: true
});
queryTask.execute(query);
num Number

要检索的要素数。此选项应与 start 属性结合使用。可使用它来实现分页 (即,在查询时检索结果的 "页面")。

如果未提供,但 Query 实例具有 start 属性,则默认 num 值为 10。如果未提供 numstart 属性,则默认值 num 等于服务的 maxRecordCount,该值可在 FeatureLayer 的 REST 端点中找到。

objectIds Number[]

ObjectID 数组,用于查询图层中的要素。

orderByFields String[]

用于对查询结果进行排序的一个或多个字段名称。在字段名称后指定 ASC (升序) 或 DESC (降序) 以控制顺序。默认顺序是 ASC

已知限制

  • 如果查询 MapImageLayer,则 supportsAdvancedQueries 在服务上必须为 true
  • 对于 FeatureLayerFeatureLayer.capabilities.queryRelated.supportsOrderBy 必须为 true
另请参阅
示例
query.orderByFields = ["STATE_NAME DESC"];
outFields String[]

要包含在 FeatureSet 中的属性字段。字段必须存在于服务图层中。您必须列出实际的字段名称而不是字段别名。但是,您可以在显示查询结果时使用字段别名。

指定输出字段时,应将字段限制为仅希望在查询或结果中使用的字段。您包含的字段越少,有效负载大小越小,因此查询的响应速度就越快。

还可将 SQL 表达式指定为 outFields,以计算服务器端查询结果的新值。有关此示例,请参阅下面的示例片段。

每个查询都必须有权访问图层的 ShapeObjectId 字段。但是,outFields 列表不需要包括这两个字段。

已知限制

  • 如果将 outFields 指定为基于要素服务的 FeatureLayer 上的表达式,则服务功 advancedQueryCapabilities.supportsOutFieldSQLExpressionuseStandardizedQueries 都必须为 true。
默认值:null
示例
// query for field attributes
query.outFields = [ "NAME", "STATE_ABBR", "POP04" ];
// query for data returned from an expressions and other fields as the following field names
// POP_CHANGE_2020, NAME, POP2020
// where POP_CHANGE_2020 represents the population change from 2010 - 2020
query.outFields = [ "( (POP2020 - POP2010) / POP2010 ) * 100 as POP_CHANGE_2020", "NAME", "POP2020" ]
outSpatialReference SpatialReferenceautocast

返回几何的空间参考。如果未指定,则会在查询图层的空间参考中返回几何。

自动转换自 Object[]

要计算的一个或多个基于字段的统计信息的定义。如果指定了 outStatistics,则唯一可以使用的其他查询参数是 groupByFieldsForStatisticsorderByFieldstextwhere

已知限制

对于基于服务的查询,outStatistics 仅在 supportsStatistics = true 的图层上受支持。

示例
let query = new Query();
let statisticDefinition = new StatisticDefinition({
  statisticType: "sum",
  onStatisticField: "POP2000",
  outStatisticFieldName: "TotalPop"
});

query.outStatistics = [ statisticDefinition ];
parameterValues Object[]

根据预先编写的参数化过滤器过滤图层中的要素。如果未为请求中的任何参数指定值,则将使用在创作期间分配的默认值。需要 GeoScene Enterprise 服务 1.5 或更高版本。只有指向地图服务的 MapImageLayer 才支持此参数。

属性
name String

参数名称。

单个值或值数组。

pixelSize Pointautocast

指定在 x 和 y 轴上标识的像素级别。如果未指定,则默认为数据集的基本分辨率。仅适用于影像服务图层。

quantizationParameters Object

用于将几何投影到虚拟格网上,可能表示屏幕上的像素。几何坐标通过构建分辨率与 quantizationParameters.tolerance 相匹配的网格来转换为整数。然后将每个坐标捕捉到格网上的一个像素。

已知限制

仅支持 GeoScene Online 托管服务或 GeoScene Enterprise 1.6.1 服务。

属性
extent Extent
optional

定义量化网格边界的范围。如果为查询指定了其空间参考,则其 SpatialReference 与输入几何空间参考相匹配。否则,范围将在图层的空间参考中。

mode String
optional

优化了几何坐标以查看和显示数据。

可能值"view"|"edit"

originPosition String
optional
默认值:upper-left

相对于此属性值定义的原点位置将返回整数坐标。

可能值"upper-left"|"lower-left”

tolerance Number
optional
默认值:1

outSpatialReference 为单位的一个像素的大小。此数字用于通过构建分辨率与容差相匹配的格网将坐标转换为整数。然后将每个坐标捕捉到格网上的一个像素。移除捕捉到相同像素的连续坐标,以减小整体响应大小。容差单位将与 outSpatialReference 单位相匹配。如果未指定 outSpatialReference,则假定容差使用图层空间参考的单位。如果未指定容差,则使用 maxAllowableOffset。如果未指定容差和 maxAllowableOffset,则默认情况下使用 10,000 * 10,000 网格的网格。

示例
let query = new Query();
query.quantizationParameters = {
  mode: "view",
  originPosition: "upper-left",
  tolerance: 4820,
  extent: layer.fullExtent
};
rangeValues Object[]

从图层中过滤指定范围值内的要素。需要 GeoScene Enterprise 服务 1.5 或更高版本。仅当 MapImageLayer 指向地图服务时才支持此参数。

属性
name String

范围 id。

单个值或值范围。

relationParameter String

维度扩展的九交模型 (DE-9IM) 矩阵关系 (编码为字符串),用于查询输入几何与图层要素的空间关系。该字符串包含 DE-9IM 矩阵中表示的每个交叉点的测试结果。每个结果都是字符串的一个字符,可以表示为数字 (返回的最大维度:0,1,2),布尔值 (T 或 F),或掩码字符 (用于忽略结果:'*')。

spatialRelationshiprelation 时,需设置此参数。有关如何构造这些字符串的更多详细信息,请参阅 ST_Geometry 的关系函数主题。

已知限制

此属性不适用于图层视图或 CSVLayer 查询。

示例
let query = new Query({
  relationParameter: "FFFTTT***"
});
returnCentroid Boolean

如果为 true,则返回的 FeatureSet 中的每个要素都将返回一个质心。此属性仅适用于针对多边形 FeatureLayers 的查询。

已知限制

仅支持 GeoScene Online 托管服务或 GeoScene Enterprise 1.6.1 服务。

默认值:false
returnDistinctValues Boolean

如果为 true,则查询将基于 outFields 中指定的字段返回不同的值。

已知限制

  • 对于基于服务的查询,仅当图层的 supportsAdvancedQueriestrue 时,此参数才适用。
  • returnDistinctValues 为 true 时,确保将 returnGeometry 设置为 false。否则,将不返回可靠的结果。
默认值:false
returnExceededLimitFeatures Boolean

如果为 true,则为每个切片请求返回所有要素,即使它们超过了服务上由 maxRecordCount 指示的每个查询的最大记录限制。如果为 false,当超出 maxRecordCount 限制时,切片请求将不会返回任何要素。

已知限制

仅支持 GeoScene Online 托管服务或 GeoScene Enterprise 1.6 服务。

默认值:true
returnGeometry Boolean

如果为 true,则返回的 FeatureSet 中的每个要素都包含几何。

已知限制

对于 FeatureLayerView 查询,返回的几何图形的精度将仅与视图的比例分辨率一样高,因为已对几何进行了量化,用以提高视图的性能。比例越小,几何的分辨率越低。

此限制不适用于 FeatureLayerCSVLayerCSVLayerView 查询。

默认值:false
returnM Boolean

如果为 true,且 returnGeometry 也为 true,则 m 值包含在几何中。

returnQueryGeometry Boolean

如果为 true,则查询几何将与查询结果一起返回。获取由按距离查询要素生成的缓冲区几何或获取在查询的 outSpatialReference 中投影的查询几何时,这很有用。如果图层的 capabilities.query.supportsQueryGeometrytrue,则仅为客户端查询和 返回查询几何。

默认值:false
returnZ Boolean

如果为 true,且 returnGeometry 也为 true,则 z 值包含在几何中。

已知限制

FeatureLayerView.queryFeatures()GeoJSONLayerView.queryFeatures() 和 OGCFeatureLayerView.queryFeatures() 结果在 2D MapView 中调用时不包括 z 值,即使 returnZ 设置为 true

spatialRelationship String

对于空间查询,此参数定义了在图层或图层视图中针对输入几何查询要素的空间关系。空间关系可发现要素在空间上是如何相互关联的。例如,您可能想知道代表县的多边形是否完全包含代表定居点的点。

空间关系是由几何的边界或内部是否相交的决定。

  • 边界 - 线要素所有线性部分的端点,或多边形的线性轮廓。只有线和多边形具有边界。
  • 内部 - 点完全在内部,没有边界。对于线和多边形,内部是不属于边界的几何图形的任何部分。

该参数的可能值如下所述,图像突出显示为给定几何图形的指定空间关系返回的几何图形。

intersects 空间关系在图层视图中返回与查询几何相交的要素。

intersects

contains 空间关系在图层视图中返回完全包含在查询几何中的要素。

contains

当查询几何的内部与图层视图中要素的内部或边界接触时,crosses 空间关系将返回图层视图中的要素。换句话说,几何图形共享一些内部区域,但不是所有内部区域。

crosses

envelope-intersects 空间关系在图层视图中返回与过滤器几何的包络 (或范围) 相交的要素。

envelope-intersects

overlaps 空间关系在图层视图中返回与查询几何重叠的要素。只能比较相同几何的要素。

overlaps

touches 空间关系在图层视图中返回与查询几何接触的要素。几何的边界相交,但内部不相交。

touches

within 空间关系在图层视图中返回完全包含查询几何的要素。换句话说,过滤器几何完全 within 图层视图中的要素。它与 contains 相反。

within

disjoint 空间关系在图层视图中返回无论如何都不会与查询几何相交的要素。与 intersects 相反。

disjoint

已知限制

  • 对于 3D 对象 SceneLayers 和 BuildingSceneLayers 上的空间查询,空间关系是根据要素的范围而不是覆盖区进行评估的。这意味着可能会从查询中返回一个要素,即使它的足迹与几何图形没有空间关系。
  • 目前,3D Object SceneLayers 和 BuildingSceneLayers 的空间查询仅支持 intersectscontainsdisjoint spatialRelationships

可能值"intersects"|"contains"|"crosses"|"disjoint"|"envelope-intersects"|"index-intersects"|"overlaps"|"touches"|"within"|"relation”

默认值:intersects
示例
let query = new Query({
  spatialRelationship: "contains"
});
sqlFormat String

此参数可以是标准 SQL92 standard,也可使用基础数据存储 native 的本机 SQL。请参阅 GeoScene REST API 文档以了解更多信息。

已知限制

此属性不适用于图层视图或 CSVLayer 查询。

可能值"none"|"standard"|"native”

默认值:none
start Number

从零开始的索引,指示从何处开始检索要素。此属性应与 num 结合使用。可使用它来实现分页并在查询时检索结果的 "页面"。默认情况下,要素按对象 ID 升序排序。

text String

使用 "like” 的 where 子句的简写。使用的字段是在服务目录中定义的显示字段。

默认值:null

针对时间感知型图层进行时态查询的时间范围。例如,它可用于发现在特定日期从晚上 10 点到早上 6 点的夜班期间发生的所有犯罪。

示例
let layer = new FeatureLayer( ... );
let timeExtent = new TimeExtent({
  start: new Date(1992, 0, 1),
  end: new Date(1992, 11, 31)
});
let timeQuery = new Query({
  timeExtent: timeExtent
});
layerView.queryFeatures(timeQuery).then(function(featureSet) { ... });
units String

在空间查询中指定距离时计算缓冲距离的单位。如果未指定 units,则从几何空间参考派生单位。如果未指定几何空间参考,则从要素服务数据空间参考派生单位。对于基于服务的查询,仅当图层的 capabilities.query.supportsDistancetrue 时,此参数才适用。

可能值"feet"|"miles"|"nautical-miles"|"us-nautical-miles"|"meters"|"kilometers"

默认值:null
示例
// Query at a distance in pixels of the query geometry.
// Use the unit of the query geometry's spatial reference.
layerView.queryFeatures({
  geometry: event.mapPoint,
  distance: 2 * view.resolution,
  returnGeometry: true
}).then(processResults);
where String

查询的 where 子句。允许对图层中的字段进行操作的任何合法 SQL where 子句。在 JavaScript 中编写 where 子句时,请务必使用正确的单引号和双引号顺序。

示例
query.where = "NAME = '" + stateName + "'";
query.where = "POP04 > " + population;

方法概述

显示继承的方法 隐藏继承的方法
名称 返回值类值 描述

添加一个或多个与对象的生命周期相关联的句柄。

更多详情
Accessor
Query

创建 Query 对象的深度克隆。

更多详情
Query
*

创建此类的新实例并使用从 GeoScene 产品生成的 JSON 对象值对其进行初始化。

更多详情
Query
Boolean

如果存在指定的句柄组,则返回 true。

更多详情
Accessor

移除对象拥有的句柄组。

更多详情
Accessor
Object

将此类的实例转换为 GeoScene Portal JSON 表示。

更多详情
Query

方法详细说明

addHandles(handleOrHandles, groupKey)inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

添加一个或多个与对象的生命周期相关联的句柄。当对象被销毁时,将移除句柄。

// Manually manage handles
const handle = reactiveUtils.when(
  () => !view.updating,
  () => {
    wkidSelect.disabled = false;
  },
  { once: true }
);

// Handle gets removed when the object is destroyed.
this.addHandles(handle);
参数
handleOrHandles WatchHandle|WatchHandle[]

对象销毁后,标记为要移除的句柄。

groupKey *
optional

标识句柄应添加到的组的键。组中的所有句柄稍后都可使用 Accessor.removeHandles() 进行删除。如果未提供键,则句柄将被添加到默认组。

clone(){Query}

创建 Query 对象的深度克隆。

返回
类型 描述
Query Query 对象的新实例,其等于用于调用 .clone() 的对象。
fromJSON(json){*}static

创建此类的新实例并使用从 GeoScene 产品生成的 JSON 对象值对其进行初始化。传入到输入 json 参数的对象通常来自对 REST API 中查询操作的响应或来自另一个 GeoScene 产品的 toJSON() 方法。有关何时以及如何使用该函数的详细信息和示例,请参阅指南中的使用 fromJSON() 主题。

参数
json Object

GeoScene 格式实例的 JSON 表示。有关各种输入 JSON 对象的结构示例,请参阅 GeoScene REST API 文档

返回
类型 描述
* 返回该类的新实例。
hasHandles(groupKey){Boolean}inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

如果存在指定的句柄组,则返回 true。

参数
groupKey *
optional

组键。

返回
类型 描述
Boolean 如果存在指定的句柄组,则返回 true
示例
// Remove a named group of handles if they exist.
if (obj.hasHandles("watch-view-updates")) {
  obj.removeHandles("watch-view-updates");
}
removeHandles(groupKey)inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

移除对象拥有的句柄组。

参数
groupKey *
optional

要移除的组键或组键的数组或集合。

示例
obj.removeHandles(); // removes handles from default group

obj.removeHandles("handle-group");
obj.removeHandles("other-handle-group");
toJSON(){Object}

将此类的实例转换为 GeoScene Portal JSON 表示。有关详细信息,请参阅使用 fromJSON() 指南主题。

返回
类型 描述
Object 此类实例的 GeoScene Portal JSON 表示。

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。请参阅浏览器弃用帖子以获取更多信息