如何使用 Google Maps Fusion Table 计算距离?
How do I calculate distance using a Google Maps Fusion Table?
我正在使用 Google Map Fusion Tables,最近在获取所需数据时遇到了一个棘手的问题。
我正在使用以下查询:
SELECT geometry, ZIP, latitude, longitude,( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance FROM 18n-gPzxv_usPqtFJka9ytDArJgi3Hh8tlGnfuwrN WHERE distance <= 25
但查询返回 "could not parse query" 错误。我也试过下面的查询,但我得到了同样的错误。
SELECT geometry, ZIP, latitude, longitude FROM 18n-gPzxv_usPqtFJka9ytDArJgi3Hh8tlGnfuwrN WHERE ST_DISTANCE(LATLNG(24.547123404292083, -114.32373084375001), LATLNG(37.4,-122.1)) <= 25
获取所有记录后无法计算距离。就像数百万条记录(table 目前大小为 10MB)。我需要一个解决方案,就像我们可以使用像 ST_DISTANCE 这样的空间函数或使用距离公式从 MYSQL table 中获取行。
如果有人可以提供一些替代或开箱即用的解决方案,那就太棒了:)
您不能在 FusionTable-Query 中使用 acos
或 sin
等函数,支持的函数是聚合函数:COUNT
和
平均的
最大限度
最小值
ST_DISTANCE 期望第一个参数是位置列的名称
- ST_DISTANCE 不能在
WHERE
子句中使用,它仅在 ORDER BY
中受支持
总结:FusionTable-Query
(目前)无法实现您想要实现的目标
我正在使用 Google Map Fusion Tables,最近在获取所需数据时遇到了一个棘手的问题。
我正在使用以下查询:
SELECT geometry, ZIP, latitude, longitude,( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance FROM 18n-gPzxv_usPqtFJka9ytDArJgi3Hh8tlGnfuwrN WHERE distance <= 25
但查询返回 "could not parse query" 错误。我也试过下面的查询,但我得到了同样的错误。
SELECT geometry, ZIP, latitude, longitude FROM 18n-gPzxv_usPqtFJka9ytDArJgi3Hh8tlGnfuwrN WHERE ST_DISTANCE(LATLNG(24.547123404292083, -114.32373084375001), LATLNG(37.4,-122.1)) <= 25
获取所有记录后无法计算距离。就像数百万条记录(table 目前大小为 10MB)。我需要一个解决方案,就像我们可以使用像 ST_DISTANCE 这样的空间函数或使用距离公式从 MYSQL table 中获取行。
如果有人可以提供一些替代或开箱即用的解决方案,那就太棒了:)
您不能在 FusionTable-Query 中使用
acos
或sin
等函数,支持的函数是聚合函数:COUNT 和 平均的 最大限度 最小值ST_DISTANCE 期望第一个参数是位置列的名称
- ST_DISTANCE 不能在
WHERE
子句中使用,它仅在ORDER BY
中受支持
总结:FusionTable-Query
(目前)无法实现您想要实现的目标