【发布时间】:2012-06-19 11:34:04
【问题描述】:
我已使用几何类型字段将一些地图区域存储到表中。
所以插入是这样的:
INSERT INTO zones (zoneName, coords) VALUES ('name',
PolygonFromText('POLYGON((
41.11396418691335 1.2562662363052368,
41.11370552595821 1.2560248374938965,
41.11851079510035 1.2459397315979004,
41.11880984984478 1.2461864948272705,
41.11396418691335 1.2562662363052368))'));
然后我有用户位置,我需要知道他是否在某个区域内。这很好用:
SELECT id
FROM zones
WHERE MBRContains(coords,GeomFromText('POINT(41.117783 1.260590)'))
但有时,用户位置并不完美,所以我认为最好知道哪个区域最接近用户位置。
那是我不知道的部分...我发现了一些查询来获取两点之间的距离,但不是点和多边形。
【问题讨论】:
标签: mysql polygon distance point between