gpt4 book ai didi

mysql - 是否可以将纬度/经度 mysql 多边形的边界扩展 x 英里或公里?

转载 作者:行者123 更新时间:2023-11-29 18:11:56 27 4
gpt4 key购买 nike

因此在 mysql 中搜索多边形内的点非常简单,执行如下操作:

从表中选择 *
其中 ST_CONTAINS(ST_GEOMFROMTEXT('多边形((-72.0429540 42.9949644, -72.0405293 42.9929398, -72.0401645 42.9905541, -72.0353365 42.9888747, -72.0 326543 42.9897850, -72.0343494 42.9935990, -72.0344567 42.9969733, -72.0367098 42.9980562, -72.0417953 42.9970361, -72.0429540 4 2.9949644)) '), POINT(纬度, 经度))

但假设我还想查找距多边形边界 1 英里以内的项目。 mysql 有没有简单的方法?我的另一个想法是,也许我可以以某种方式计算多边形的新点,但我不确定如何知道扩展的方向。

最佳答案

我想我通过挖掘 MySQL 文档找到了自己的答案。我可以使用 ST_Distance 查询两个几何图形之间的最短距离(以度为单位),而不是扩展多边形,如下所示:

SELECT * FROM table
WHERE ST_DISTANCE(ST_GEOMFROMTEXT('POLYGON((-72.0429540 42.9949644, -72.0405293 42.9929398, -72.0401645 42.9905541, -72.0353365 42.9888747, -72.0326543 42.9897850, -72.0343494 42.9935990, -72.0344567 42.9969733, -72.0367098 42.9980562, -72.0417953 42.9970361, -72.0429540 42.9949644))'), ST_GEOMFROMTEXT(CONCAT('POINT(',lat,' ',long,')'))) < 50;

https://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html#function_st-distance

关于mysql - 是否可以将纬度/经度 mysql 多边形的边界扩展 x 英里或公里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47318559/

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