【发布时间】:2013-04-18 17:00:21
【问题描述】:
我试图弄清楚如何使用地理边界框的“左上纬度和经度”和“右下纬度和经度”从下面的 MySQL 表中检索信息。
CREATE TABLE `markers` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` VARCHAR( 60 ) NOT NULL ,
`address` VARCHAR( 80 ) NOT NULL ,
`lat` decimal(10,7) NOT NULL ,
`long` decimal(10,7) NOT NULL,
`geopoint` point NOT NULL,
PRIMARY KEY (id),
SPATIAL geopoint (geopoint)
) ENGINE = MYISAM ;
到目前为止,我有下面的 SQL 查询,但我不确定它是否是检索信息的最有效和最高效的方式?
$sql = "SELECT * FROM `markers` WHERE (long BETWEEN '$west_long' AND '$east_long') AND (lat BETWEEN '$north_lat' AND '$south_lat')";
【问题讨论】:
-
与从任何其他表中检索信息有什么不同?
-
如上所述,我需要根据地图的边界框检索信息!
-
问题保持不变。但是你也可以提供更多关于你的边界框的信息,比如……代码?
-
我添加了一个 SQL 查询来显示我的目标
标签: php mysql geospatial bounding-box