mysql设计经纬度表_MySQL经纬度表设置

您应该将点存储在数据类型Point的一个列中,您可以使用空间索引(如果您的表格类型为MyISAM)进行索引,则可以:

CREATE SPATIAL INDEX sx_place_location ON place (location)

SELECT *

FROM mytable

WHERE MBRContains

(

LineString

(

Point($x - $radius, $y - $radius),

Point($x + $radius, $y + $radius)

)

location

)

AND Distance(Point($x, $y), location) <= $radius

这将大大提高查询的速度,例如“在所有范围内找到所有内容”.

请注意,最好使用普通TM测量坐标(东,北),而不是极坐标(纬度和纬度).对于小半径,它们是足够准确的,并且计算被大大简化.如果你所有的分数都在一个半点,远离极点,你可以使用单个中心子午线.

您当然可以使用极坐标,但用于计算MBR和距离的公式将更为复杂.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值