Class: QueryFeauresOptions

QueryFeauresOptions

new QueryFeauresOptions(options)

service/igs/support/QueryFeauresOptions.js, line 7

单图层要素查询参数。支持的服务类型:IGS要素服务、IGS地图服务、IGS地图文档mrfs 、IGS矢量图层gdbp 、IGS场景服务、IGS资源服务、ArcGIS地图服务、ArcGIS要素服务

Name Type Description
options Object

构造参数

Name Type Default Description
method String FetchMethod.get 可选

请求类型

headers Object | undefined 可选

请求头参数

responseType String 可选

返回数据的类型,目前可设置'blob'

layerId String 可选

图层id,当为IGS要素服务、IGS地图服务、IGS场景服务、ArcGIS地图服务、ArcGIS要素服务时,此参数必传

gdbp String 可选

gdbp地址,仅当服务为IGS矢量图层gdbp时,此参数必传。当服务为IGS资源服务时,必须传入gdbp、mapSource、filePath参数之一,保证能拿到图层信息。

mapSource Object 可选

地图文档的资源,例如{"url":"/root/wuhan.mapx", "mapIndex": 0, "layerId": "1"} 。仅当服务为IGS资源服务时,必须传入gdbp、mapSource、filePath参数之一,保证能拿到图层信息。

filePath String 可选

图层资源的路径。仅当服务为IGS资源服务时,必须传入gdbp、mapSource、filePath参数之一,保证能拿到图层信息。

where String | undefined 可选

where查询语句,例如name='中国'

outFields String | undefined 可选

输出属性字段,可为*表示所有,多个用英文逗号分隔

objectIds String | undefined 可选

过滤id,多个用英文逗号分隔(参数优先级很高,可能导致其它筛选条件失效)

geometry Geometry | undefined 可选

要素查询几何条件。目前IGS支持Point|LineString|Circle|Extent|Polygon|MultiPolygon几种类型,ArcGIS支持Point|MultiPoint|LineString|MultiLineString|Extent|Polygon几种类型

geometryPrecision Number | undefined 可选

返回要素几何信息中坐标xy的精度,仅支持整数,输入1表示查询出的要素坐标只保留一位小数

spatialRel SpatialRelation | String SpatialReleation.intersects 可选

几何条件的空间判定规则,Intersects(相交)、EnvelopeIntersects(外包矩形相交)、Contains(包含)、Disjoint(相离,ArcGIS服务不支持)

orderByFields String 可选

排序字段,格式: fieldName [ASC|DESC]。例如Name ASC,Age DESC,当为IGS服务时,由于服务接口限制,仅输入的第一个字段生效,即Name ASC

returnGeometry Boolean true 可选

是否返回几何,默认为true

returnAttribute Boolean true 可选

是否返回属性,默认为true

returnStyle Boolean false 可选

是否返回图形参数信息,默认为false

outStatistics Array.<OutStatistic> | Array.<Object> | undefined 可选

计算一个或多个基于字段的统计信息结构,统计类型包括:FUNCTION_MAX/FUNCTION_MIN/FUNCTION_SUM/FUNCTION_AVG/FUNCTION_COUNT/FUNCTION_MAX_OID,示例:"[{"statisticType": "FUNCTION_SUM","onStatisticField": "field1","outStatisticFieldName":"fieldName1"}]"

groupByFieldsForStatistics Array.<Object> | String 可选

分组统计的信息,必须配合outStatistics参数传入,单独传入不生效。常用传入字符串,例如'field1,field2'。IGS地图文档mrfs 、IGS矢量图层gdbp服务仅支持字符串分组参数,但是仅支持输入的第一个字段。ArcGIS服务仅支持传入字符串分组参数。IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务支持字符串,也支持数组对象,详情请参考igs要素查询接口。分组类型包括:SINGLE_VALUED(一值一类)、SEGMENT(分段分类),分组类型默认为 SINGLE_VALUED,如果分组类型为SEGMENT,则需要指定分段数 segmentCount 或者具体的分段信息。当数据源是 DataStore PG 数据时,SINGLE_VALUED 与 SEGMENT 不能混合使用,分组类型为 SEGMENT 时仅支持一个分组,分组类型为 SINGLE_VALUED时支持多个分组

resultRecordCount Number 20 可选

结果返回条数,默认20

resultOffset Number 0 可选

跳过条数

returnZ Number false 可选

是否返回Z轴,默认为false

distance Number | undefined 可选

几何缓冲的距离,需要保证和几何坐标系一致。geometry为Point、LineString时有效(若数据源为大数据PG数据,且geometryType为Point或LineString时为必填数据)

outSrs SpatialReference | undefined 可选

输出几何空间参照系,优先推荐使用wkid,不同服务兼容性更高,不支持IGS地图文档mrfs服务

inSrs SpatialReference | undefined 可选

输入几何空间参考系,仅当为IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务、ArcGIS地图服务、ArcGIS要素服务时,此参数生效, 默认会以geometry的spatialReference作为输入几何的空间参考系。IGS1.0接口需要保证输入的数据空间参考系和数据源空间参考系信息一致,此参数设置无效,仅能通过outSrs设置输出数据的空间参考系

returnIdsOnly Boolean false 可选

仅当为IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务、ArcGIS地图服务、ArcGIS要素服务时,此参数生效。是否只返回id,默认为false

returnCountOnly Boolean false 可选

仅当为IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务、ArcGIS地图服务、ArcGIS要素服务时,此参数生效,是否只返回条数,默认为false

returnExtentOnly Boolean false 可选

仅当为IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务、ArcGIS地图服务、ArcGIS要素服务时,此参数生效。是否只返回范围,默认为false

supportArc3 Boolean false 可选

仅当为IGS要素服务、IGS地图服务、IGS资源服务时此参数生效。是否返回弧段数据,默认为false

f String 'json' 可选

查询返回的数据格式。支持"json" "geojson" "csv"(csv仅IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务支持)、"pbf"(pbf仅ArcGIS服务支持)返回格式

Example

指定图层要素查询使用示例

1.支持的服务类型
  const mapServer = new MapServer({
    url: "http://{ip}:{port}/igs/rest/services/{serverName}/MapServer",
  });
  const featureServer = new FeatureServer({
    url: "http://{ip}:{port}/igs/rest/services/{serverName}/FeatureServer",
  });
  const featureServerV1 = new FeatureServer({
    url: "http://{ip}:{port}/igs/rest/mrfs/docs/{serverName}",
  });
  const featureServerGDBP = new FeatureServer({
    url: "http://{ip}:{port}/igs/rest/mrfs/layer",
  });
  const sceneServer = new SceneServer({
    url: "http://{ip}:{port}/igs/rest/services/{serverName}/SceneServer",
  });
  const resoureServer = new ResourceServer({
    url: "http://{ip}:{port}/igs/rest/services/system/ResourceServer",
  });
  const arcgisMapServer = new ArcGISMapServer({
    url: "http://{ip}:{port}/arcgis/rest/services/{serverName}/MapServer",
  });
  const arcgisFeatureServer = new ArcGISFeatureServer({
    url: "http://{ip}:{port}/arcgis/rest/services/{serverName}/FeatureServer",
  });

  2.调用方法,以要素服务举例(除资源服务外查询但图层要素接口为queryTempDataFeatures,其他服务查询均为queryFeatures)
  2.1 根据要素NAME字段分组统计2011年gdbp总和
  const queryFeauresOptions = {
    layerId: "0",
    // 对于部分服务需要传入gdbp
    // gdbp:"gdbp://MapGISLocalPlus/湖北省/ds/行政区/sfcls/湖北省市级区划",
    outStatistics: [
      {
        statisticType: "FUNCTION_SUM",
        onStatisticField: "GDP2011",
        outStatisticFieldName: "GDP2011_total",
      },
    ],
    groupByFieldsForStatistics: "NAME",
    f: "json",
  }
  featureServer.queryFeatures(queryFeauresOptions)

  2.2 几何过滤
  const queryFeauresOptions = {
    layerId: "0",
    // 对于部分服务需要传入gdbp
    // gdbp:"gdbp://MapGISLocalPlus/湖北省/ds/行政区/sfcls/湖北省市级区划",
    geometry: new Polygon({
      coordinates: [
        [
          [12579102.459639914, 3375646.034919311],
          [12690421.950433187, 3375646.034919311],
          [12690421.950433187, 3492635.98026307],
          [12579102.459639914, 3492635.98026307],
          [12579102.459639914, 3375646.034919311],
        ],
      ],
      spatialReference: "EPSG:3857",
    }),
    geometryPrecision: 3,
    outSrs: new SpatialReference("EPSG:4547"),
  }
  featureServer.queryFeatures(queryFeauresOptions)

  2.3 查询图层要素总数
  const queryFeauresOptions = {
    layerId: "0",
    // 对于部分服务需要传入gdbp
    // gdbp:"gdbp://MapGISLocalPlus/湖北省/ds/行政区/sfcls/湖北省市级区划",
    returnCountOnly:true,
  }
  featureServer.queryFeatures(queryFeauresOptions).then((res)=>{
    // 图层要素总数
    const count = res.data.count
  })

  2.4 返回信息
  const queryFeauresOptions = {
    layerId: "0",
    // 对于部分服务需要传入gdbp
    // gdbp:"gdbp://MapGISLocalPlus/湖北省/ds/行政区/sfcls/湖北省市级区划", 
    resultRecordCount: 10
  }
  featureServer.queryFeatures(queryFeauresOptions).then((res)=>{
    const data = res.data
    // 要素数据集
    const featureSet = data.featureSet
    // 字段名称
    const fields = featureSet.fields
    // 几何类型
    const geometryType = featureSet.geometryType
    // 要素信息 
    const features = featureSet.features
  })

Members

distanceNumber undefined

几何缓冲的距离,需要保证和几何坐标系一致。geometry为Point、LineString时有效(若数据源为大数据PG数据,且geometryType为Point或LineString时为必填数据)

fString

查询返回的数据格式。支持"json" "geojson" "csv"(csv仅IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务支持)、"pbf"(pbf仅ArcGIS服务支持)返回格式

failurequeryFailure

查询失败回调函数,若使用Promise方式则不必填写

filePathString

图层资源的路径。仅当服务为IGS资源服务时,必须传入gdbp、mapSource、filePath参数之一,保证能拿到图层信息。

gdbpString

gdbp地址,仅当服务为IGS矢量图层gdbp时,此参数必传。当服务为IGS资源服务时,必须传入gdbp、mapSource、filePath参数之一,保证能拿到图层信息。

geometryGeometry undefined

要素查询几何条件。目前IGS支持Point|LineString|Circle|Extent|Polygon|MultiPolygon几种类型,ArcGIS支持Point|MultiPoint|LineString|MultiLineString|Extent|Polygon几种类型

geometryPrecisionNumber undefined

返回要素几何信息中坐标xy的精度

groupByFieldsForStatisticsArray.<Object> String

分组统计的信息,必须配合outStatistics参数传入,单独传入不生效。常用传入字符串,例如'field1,field2'。IGS地图文档mrfs 、IGS矢量图层gdbp服务仅支持字符串分组参数,但是仅支持输入的第一个字段。ArcGIS服务仅支持传入字符串分组参数。IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务支持字符串,也支持数组对象,详情请参考igs要素查询接口。分组类型包括:SINGLE_VALUED(一值一类)、SEGMENT(分段分类),分组类型默认为 SINGLE_VALUED,如果分组类型为SEGMENT,则需要指定分段数 segmentCount 或者具体的分段信息。当数据源是 DataStore PG 数据时,SINGLE_VALUED 与 SEGMENT 不能混合使用,分组类型为 SEGMENT 时仅支持一个分组,分组类型为 SINGLE_VALUED时支持多个分组

headersObject undefined

请求头参数

inSrsSpatialReference Object String undefined

输入几何空间参考系,仅当为IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务、ArcGIS地图服务、ArcGIS要素服务时,此参数生效, 默认会以geometry的spatialReference作为输入几何的空间参考系。IGS1.0接口需要保证输入的数据空间参考系和数据源空间参考系信息一致,此参数设置无效,仅能通过outSrs设置输出数据的空间参考系

layerIdString

图层id,当为IGS要素服务、IGS地图服务、IGS场景服务、ArcGIS地图服务、ArcGIS要素服务时,此参数必传

mapSourceObject

地图文档的资源,例如{ "url":"/root/wuhan.mapx", "mapIndex": 0, "layerId": "1"} 。仅当服务为IGS资源服务时,必须传入gdbp、mapSource、filePath参数之一,保证能拿到图层信息。

methodString

请求类型

objectIdsString undefined

过滤id,多个用英文逗号分隔(参数优先级很高,可能导致其它筛选条件失效)

orderByFieldsString

排序字段,格式: fieldName [ASC|DESC]。例如Name ASC,Age DESC,当为IGS服务时,由于服务接口限制,仅输入的第一个字段生效,即Name ASC

outFieldsString undefined

输出属性字段,可为*表示所有,多个用英文逗号分隔

outSrsSpatialReference Object String undefined

输出几何空间参照系,优先推荐使用wkid,不同服务兼容性更高

outStatisticsArray.<OutStatistic> Array.<Object> undefined

计算一个或多个基于字段的统计信息结构,统计类型包括:FUNCTION_MAX/FUNCTION_MIN/FUNCTION_SUM/FUNCTION_AVG/FUNCTION_COUNT/FUNCTION_MAX_OID,示例:"[{"statisticType": "FUNCTION_SUM","onStatisticField": "field1","outStatisticFieldName":"fieldName1"}]"

resultOffsetNumber

跳过条数

resultRecordCountNumber

结果返回条数,默认20

returnAttributeBoolean

是否返回属性,默认为true

returnCountOnlyBoolean

仅当为IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务、ArcGIS地图服务、ArcGIS要素服务时,此参数生效,是否只返回条数,默认为false

returnExtentOnlyBoolean

仅当为IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务、ArcGIS地图服务、ArcGIS要素服务时,此参数生效。是否只返回范围,默认为false

returnGeometryBoolean

是否返回几何,默认为true

returnIdsOnlyBoolean

仅当为IGS要素服务、IGS地图服务、IGS场景服务、IGS资源服务、ArcGIS地图服务、ArcGIS要素服务时,此参数生效。是否只返回id,默认为false

returnStyleBoolean

是否返回图形参数信息,默认为false

returnZNumber

是否返回Z轴,默认为false

spatialRelSpatialRelation String

几何条件的空间判定规则,Intersects(相交)、EnvelopeIntersects(外包矩形相交)、Contains(包含)、Disjoint(相离,ArcGIS服务不支持)

查询成功回调函数,若使用Promise方式则不必填写

supportArc3Boolean

仅当为IGS要素服务、IGS地图服务、IGS资源服务时此参数生效。是否返回弧段数据,默认为false

whereString undefined

where查询语句,例如name='中国'