我正在使用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
但是查询正在返回&#34;无法解析查询&#34;错误。我也试过下面的查询,但我得到了同样的错误。
SELECT geometry, ZIP, latitude, longitude FROM 18n-gPzxv_usPqtFJka9ytDArJgi3Hh8tlGnfuwrN WHERE ST_DISTANCE(LATLNG(24.547123404292083, -114.32373084375001), LATLNG(37.4,-122.1)) <= 25
我无法在获取所有记录后计算距离。它就像数百万条记录(目前的表格大小为10MB)。我需要一个解决方案,就像我们可以使用空间函数(如ST_DISTANCE)或使用距离公式从MYSQL表中获取行一样。
如果任何人可以帮助提供一些替代或一些开箱即用的解决方案,那将是非常棒的:)
答案 0 :(得分:1)
您无法在FusionTable-Query中使用acos
或sin
等功能,支持的功能是聚合功能:COUNT
和
平均
最大值
MINIMUM
ST_DISTANCE期望第一个参数是Location-column的名称
WHERE
- 子句,仅在ORDER BY
支持摘要:您目前无法通过FusionTable查询实现目标