搜索城市内及其周围半径内的地方

eqfvzcg8  于 2021-06-23  发布在  Mysql
关注(0)|答案(0)|浏览(157)

我正在尝试找出如何实现在城市内和城市周围半径范围内搜索位置。我已经有一张城市的table了:
城市表: id: INT name: VARCHAR(20) lat: FLOAT lng: FLOAT 我还有一张有位置的table。
位置表: id: INT city_id: INT name: VARCHAR(30) lat: FLOAT lng: FLOAT 通常城市的坐标是以城市为中心的。这没关系,因为当我搜索特定城市的位置时,我可以使用 locations table。然而,当我在城市周围的半径范围内搜索时,结果就不太准确了。如果城市相对较小,这不会是一个问题。然而,如果城市很大,搜索范围是城市周围10公里,那么结果很可能只针对城市本身。
我的问题是,如何处理这种情况,让结果更准确?
我在想的是,每个城市的直径(包括城市的领土)都存储在 cities table。当我搜索城市周围的地方时,我会首先选择半径(让我们来命名它) cityRadius )目标城市。然后我将它添加到搜索的半径中(假设 searchedRadius = 10 ). 然后我会执行一个查询,搜索城市中心周围的位置,在 cityRadius + searchedRadius . 我有两个问题:
我找不到这种类型的信息(半径覆盖城市的领土,特别是德国的城市)。
感觉有点不舒服。我想有更好的办法,但我找不到。
我的堆栈是:php7.2,mysql 5.7。
提前谢谢!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题