URI

<geometryService_uri>/areasAndLengths[.<format>]

支持的方法

GETPOSTHEAD

父资源

geometryService

介绍

面积和长度资源表示在几何服务资源中进行的计算多边形面积和周长的操作, 此操作为输入的几何数组中每一个指定的多边形计算其面积和周长。

支持的方法:

  • GET:获取几何数组内每个多边形的面积和周长。
  • POST:根据给定条件,计算几何数组内每个多边形的面积和周长。
  • HEAD:检查 areaAndLength 资源是否存在,或权限是否可以访问 areaAndLength 资源。

资源层次

HTTP 请求方法

对如下 URI 执行 HTTP 请求,以 json 输出格式为例加以说明,其中,supermapiserver 是服务器名, {component}是服务组件名。

http://supermapiserver:8090/iserver/services/{component}/arcgisrest/Geometry/GeometryServer/areasAndLengths.json

GET 请求

获取几何数组内每个多边形的面积和周长。

请求参数

名称

类型

含义

f

String

响应格式,支持 json、pjson

polygons

String

【必设参数】 需要进行面积和周长计算的几何数组。几何的空间参考由 sr 指定。 例如:

[

  {

    "rings" :

    [

      [[-117,34],[-116,34],[-117,33],[-117,34]],

      [[-115,44],[-114,43],[-115,43],[-115,44]]

    ]

  },

  {

    "rings" :

    [

      [[32,17],[31,17],[30,17],[30,16],[32,17]]

    ]

  }

]

sr

String

【必设参数】 输入的 polygons 的空间参考或空间参考 JSON 对象的 ID。有效的 ID 请参见投影坐标系对照表地理坐标系对照表

lengthUnit

int

用来计算多边形周长的长度单位。如果 calculationType 是 planar,则 lengthUnit 可以是任何 esriUnits 常数(如果未指定 lengthUnit,则单位由 sr 决定),否则 lengthUnit 必须为线性 esriUnits 常数,例如 esriSRUnit_Meter 或 esriSRUnit_SurveyMile。如lengthUnit未指定单位默认为米。更多有效单位列表,请参考 esriSRUnitType 常量esriSRUnit2Type 常量

areaUnit

String

用来计算多边形面积的面积单位。如果 calculationType 是 planar,则 areaUnit 可以是任何 esriUnits 常数(如果未指定 areaUnit,则单位由 sr 决定),否则 areaUnit 必须为线性 esriUnits 常数,例如 esriSRUnit_Meter 或 esriSRUnit_SurveyMile。如areaUnit未指定单位默认为米。 更多有效单位列表,请参考 esriSRUnitType 常量esriSRUnit2Type 常量。 例如: {"areaUnit" : "esriHectares"}

calculationType

ArcGISCalculationType

【必设参数】

输入几何的面积和长度计算类型。 该类型可以是以下值之一:

  • planar:planar 使用 2D 欧式距离来计算面积和长度。仅当需要在给定的空间参考中计算面积或长度时,才应使用此类型。 否则,请使用 preserveShape 类型。

  • geodesic: geodesic 指椭球上两点之间的最短路径。使用此类型可仅使用多边形的顶点来计算面积或长度,并将点之间的线定义为 geodesic,与多边形的实际形状无关。

  • preserveShape:此类型计算地球椭球表面上的几何图形的面积或长度。 计算时,几何形状在其坐标系中被保留。

响应结构

对 areaAndLength 资源执行 GET 请求,返回的是几何图形的面积和长度等信息。

字段 类型 说明
serialVersionUID long 几何图形的序号
area String 面积
length String 周长

响应示例

对 ArcGIS geometryService 资源:http://localhost:8090/iserver/services/geometry-a/arcgisrest/Geometry/GeometryServer/areasAndLengths?f=pjson&polygons=[{%22rings%22%20:%20[[[91.4320089772,45.8144059777],[104.74204710354365,30.602933833248507],[124.74452618557407,33.50927694772776],[111.43448805923042,48.720749092179254],[91.4320089772,45.8144059777]]]}]&sr=4326&calculationType=preserveShape&areaUnit=%7B%22areaUnit%22:%22esriSquaremeters%22%7D&lengthUnit=9001 执行 GET 请求,返回 pjson 格式的资源表述如下 :

{

    "area": ["3.2302156140907783E12"],

    "length": ["7520898.748448642"]

}

POST 请求

跟 GET 请求结构类似。

HEAD 请求

返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。

HEAD 请求可以用来判断 areaAndLength 资源是否存在,或者客户端是否有权限访问 areaAndLength 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 areaAndLength 资源是否支持<format>格式的表述。

请参见