arcgis地图服务之 identify 服务

时间:2023-03-08 17:54:30
arcgis地图服务之 identify 服务

arcgis地图服务之 identify 服务


在近期的一次开发过程中,利用IdentityTask工具查询图层的时候,请求的参数中ImageDisplay的参数出现了错误,导致查询直接不能执行,百度了半天也没有解决。最后还是Bing搜索比较给力。

出现这个错误的主要原因是:IdentityParams参数设置中地图显示范围的height和width只能值整数。接下来将idetify的请求参数进行一个总结:


Identify(地图服务)

URL:对象查询的地图服务

功能:查询

功能描述:执行此操作的结果是识别一个地图资源,每一个结果包括其中名称、layer的ID、layerName、geometry、geometry Type、还有其他的一些属性数据。

请求参数说明:(Request Parameters)

  • f  :描述响应格式,默认的是HTML,html/json.
  • geometry:  必须能要的一个参数,是有geometry Type参数指定的类型,返回json对象。
    1. json结构:geometryType=<geometryType>geometry={}
    2. JSON structures: geometryType=<geometryType>&geometry={ geometry}
    3. Point simple syntax: geometryType=esriGeometryPoint&geometry=<x>,<y>
    4. Envelope simple syntax: geometryType=esriGeometryEnvelope&geometry=<xmin>,<ymin>,<xmax>,<ymax>
  • geometryType:指定几何参数的类型。几何类型包括点、线、面、封闭的图形。默认为点 POint
  • sr  :描述空间参考的输入和输出以及地图的Extent  MapExtent。
  • layerDefs: 允许进行过滤部分的图层。
  • time:时间参数,time=startTime , endTime.
  • layerTimeOptions:设定显示的layer时候在时间的范围内。
    • {
      "0" : {
      "useTime" : true,
      "timeDataCumulative" : false,
      "timeOffset" : 1,
      "timeOffsetUnits" : "esriTimeUnitsYears"
      },
      "3" : {
      "useTime" : false
      }
      }
  • layer:确认需要操作的层。
    • top:最上面的layer
    • visible:所有的可见的图层
    • all:服务中的所有图层
  • tolerance:宽度容差。 
  • mapExtent:地图的范围,一把如果是拉框查询的活此范围就是所绘制的几何范围。
  • imageDisplay:为当前显示地图的屏幕参数,用来确定当前图层的可见程度。为屏幕指定范围的像素的大小。此值一定为整数,不能存在小数点。
  • returnGeometry:返回包括相关几何图形的结果。默认值是false。