arangodb 中 distance() 和 geo_distance() 的区别
Difference between distance() and geo_distance() in arangodb
arango 函数 - DISTANCE() 和 GE0_DISTANCE() 之间有什么区别。我知道他们都是用haversines公式计算距离的。
谢谢,
尼洛帕尔
两者用于两个不同的目的
DISTANCE(latitude1, longitude1, latitude2, longitude2) → distance
该值是使用基于球形地球模型的半正弦公式计算得出的。它计算速度快,精度约为 0.3%,足以满足大多数用例,例如 location-aware 服务。
GEO_DISTANCE(geoJsonA, geoJsonB, ellipsoid) → distance
Return 两个 GeoJSON 对象之间的距离,从每个形状的质心开始测量。有关受支持类型的列表,请参阅地理索引页面。 (参考: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>
参考:
arango 函数 - DISTANCE() 和 GE0_DISTANCE() 之间有什么区别。我知道他们都是用haversines公式计算距离的。
谢谢, 尼洛帕尔
两者用于两个不同的目的
DISTANCE(latitude1, longitude1, latitude2, longitude2) → distance
该值是使用基于球形地球模型的半正弦公式计算得出的。它计算速度快,精度约为 0.3%,足以满足大多数用例,例如 location-aware 服务。
GEO_DISTANCE(geoJsonA, geoJsonB, ellipsoid) → distance
Return 两个 GeoJSON 对象之间的距离,从每个形状的质心开始测量。有关受支持类型的列表,请参阅地理索引页面。 (参考: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>
参考: