gpt4 book ai didi

mysql - MYSQL 中 POINT 和 GEOMETRYCOLLECTION 对象之间的距离

转载 作者:行者123 更新时间:2023-11-29 15:28:02 25 4
gpt4 key购买 nike

MYSQL 版本 5.7

要求:
我在 MYSQL 表中有一堆 POINT 几何图形,我必须找到 GEOMETRYCOLLECTION 对象 5 公里距离/半径内的所有 POINT 几何图形。

GEOMETRYCOLLECTION 可能包含不止一种类型的几何图形,例如 POINT、POLYGON 等。

示例 GEOMETRYCOLLECTION 数据:
ojit_代码

点数据示例:
ojit_代码

我尝试过ST_DISTANCE_SPHERE(@g1,@p1)空间函数(返回以米为单位的值),但它似乎不支持除 POINT 和 MULTIPOINT 之外的几何类型。

然后我使用了:

ST_DISTANCE(@g1,@p1)

'0.015301834064271899'

我无法理解 MYSQL 5.7 中这个返回值的 UNIT 是什么?

我在互联网上搜索了很多,但没有相关的适当文档。在 POSTGIS 中,这是可以做到的,但我在 MYSQL 5.7 版中很难做到这一点。

感谢任何帮助。

提前致谢!

最佳答案

ST_Distance 在此处返回以度为单位的“距离” - 即形状之间最短距离的平面 map View 。该值无法映射到实际距离,因为现实世界中平行线 1 度的距离与子午线 1 度的距离不同,除了赤道附近之外。

看起来 MySQL 无法正确计算这里的距离。具有更多地理空间支持的系统会为您提供更好的服务,例如 PostgreSQL + PostGIS 或 Google BigQuery 等。它们会给您正确的答案,您只需将 ST_GeomFromText 替换为 ST_GeogFromText > 处理球形地理。

关于mysql - MYSQL 中 POINT 和 GEOMETRYCOLLECTION 对象之间的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58932591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com