<map_uri>/distance[.<format>]
distance 资源是一个算法资源,作为 map 资源的一个子资源,用于根据给定参数(point2Ds 和 unit)量算地图上的距离,参数必须包含在 URI 中,不能放在请求体里。
支持的方法:
支持的表述格式:RJSON、JSON、HTML、XML、JSONP、FASTJSON。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名,“世界地图”是地图名({mapName})。
http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/distance.rjson
用于根据参数量算地图上的距离。
point2Ds 和 unit 是两个必选的参数,必须包含在 URI 中,不能放在请求体里。
名称 | 类型 | 含义 |
point2Ds | Point2D[] | 【必填参数】用于量算的点集。 |
unit | Unit | 【必填参数】期望返回结果的单位。 |
prjCoordSys | PrjCoordSys | 请求的地图的坐标参考系统。
当此参数设置的坐标系统不同于地图的原有坐标系统时, 系统会进行投影转换,并返回转换后的,即目标投影坐标系下的地图上的距离。 参数使用时,需按照PrjCoordSys中的字段结构来构建,同时也支持通过只传递 epsgCode 的方式传入坐标参考系,如: prjCoordSys={"epsgCode":3857}。 |
_cache | boolean | 是否使用缓存,默认为 true。如果为 false,则关闭所有缓存。 |
mode |
DistanceMode[] | 距离量算模式。包括:
Geodesic:测地线模式,沿着地球椭球体的最短距离,默认采用该模式。 Planar:平面模式,两点直线距离,当且仅当量算时点串坐标系是投影坐标系有效。 |
对 distance 资源执行 GET 请求,返回操作结果的表述如下:
字段 | 类型 | 说明 |
distance | double | 量算的距离的值。 |
unit | Unit | 量算结果的单位。 |
对 distance 资源:http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/distance.rjson?point2Ds=[{"x": 23.00,"y":34.00},{"x": 53.55,"y":12.66},{"x": 73.88,"y":12.6}]&unit=METER 执行 GET 请求,返回 rjson 格式的资源描述如下:
{
"area": -1,
"distance": 6103981.650241052,
"unit": "METER"
}
如果需要获取指定坐标参考系统下的距离,则可以执行 GET 请求如下:
http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/distance.rjson?point2Ds=[{"x":23.00,"y":34.00},{"x": 53.55,"y":12.66},{"x": 73.88,"y":12.6}]&unit=METER&prjCoordSys={"epsgCode":3857}
{
"area": -1,
"distance": 57.59532837444771,
"unit": "METER"
}
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。image 资源的 HEAD 操作也可以有跟 GET 操作类似的请求参数。
HEAD 请求可以用来判断 distance 资源是否存在,参数是否合法,或者客户端是否有权限访问 distance 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 distance 资源是否支持<format>格式的表述。