我已经使用几何类型字段将一些地图区域存储到表中。Mysql从测试点到多边形的距离
因此,刀片是这样的:
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)'))
但有时候,用户位置并不完美,所以我认为它更好地了解哪个区域最接近用户位置。
这是我没有任何想法的部分...我发现一些查询来获得两点之间的距离,但不是一个点和多边形。
感谢您的信息,我会牢记在心。 – Biwu
带PostGIS扩展的PostgreSQL比MySQL有更复杂的这类处理功能。 –