arangodb中distance()和geo_distance()之间的差异

nx7onnlm  于 2022-12-09  发布在  Go
关注(0)|答案(1)|浏览(147)

arango函数- DISTANCE()和GE0_DISTANCE()的区别是什么?我知道它们都是用半正矢公式计算距离的。
谢谢你,尼洛帕尔

czq61nw1

czq61nw11#

两者都有两种不同的用途

DISTANCE(latitude1, longitude1, latitude2, longitude2) → distance

该值使用基于球形地球模型的半正矢公式计算,计算速度快,精确度约为0.3%,对于大多数用例(如位置感知服务)来说已经足够。

GEO_DISTANCE(geoJsonA, geoJsonB, ellipsoid) → distance

返回两个GeoJSON对象之间的距离,从每个形状的质心开始测量。有关支持的类型列表,请参见geo索引页面。(参考:https://www.arangodb.com/docs/3.8/aql/functions-geo.html#geo-index-functions)
此GeoJSON对象可以是诸如GEO_LINESTRING、GEO_MULTILINESTRING、GEO_MULTIPOINT、GEO_POINT、GEO_POLYGON和GEO_MULTIPOLYGON等任意对象-参考<2>
参考编号:

  1. https://www.arangodb.com/docs/3.8/aql/functions-geo.html#geo-utility-functions
  2. https://www.arangodb.com/docs/3.8/aql/functions-geo.html#geojson-constructors

相关问题