与ST_INTERSECT和JOIN的融合表

时间:2014-06-01 00:52:37

标签: sql google-fusion-tables

我在使用ST_INTERSECTS或ST_OVERLAPS时遇到此查询的问题。它不适用于JOIN(s)函数。

SELECT T1.'ZIP', T2.name
  FROM 1fzwSGnxD0xzJaiYXYX66zuYvG0c5wcEUi5ZI0Q as T1 
       LEFT OUTER JOIN 1vVUoTyGcnlbxmd66lZeHj81-tbgpIyKpVmXaZxYH as T2 
         ON ST_OVERLAPS(T1.'geometry', T2.geometry, 0.1)=1 LIMIT 1

我已经通过多种方式测试了这些查询。 以下是两个工作示例,每个表从一个表中拉出带有别名的相同字段:

SELECT `ZIP` as z, `geometry` as gr FROM 1fzwSGnxD0xzJaiYXYX66zuYvG0c5wcEUi5ZI0Q

SELECT 'name' as n, 'geometry' as gl FROM 1vVUoTyGcnlbxmd66lZeHj81-tbgpIyKpVmXaZxYH

你可以用我所看到的方式,以相同的方式使用'和`表格。

一旦我加入,查询就会停止工作,我已经尝试了视图,但也失败了。 我尝试了失败的ST_INTERSECTS。 我尝试重叠= t而不是= 1并且没有任何一个。

当我这样写时似乎效果最好:

SELECT T1.'ZIP', T2.'name' FROM 1fzwSGnxD0xzJaiYXYX66zuYvG0c5wcEUi5ZI0Q as T1, 1vVUoTyGcnlbxmd66lZeHj81-tbgpIyKpVmXaZxYH as T2 WHERE ST_OVERLAPS(T1.'geometry', T2.'geometry', 0.1)=1 LIMIT 1

但是每个逗号都会失败。

我在https://developers.google.com/apis-explorer/#p/fusiontables/v1/fusiontables.query.sql

测试了这些查询

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:2)

必须像这样的多边形

SELECT 'name' FROM 1vVUoTyGcnlbxmd66lZeHj81-tbgpIyKpVmXaZxYH 
WHERE ST_INTERSECTS('geometry', 
POLYGON(
LATLNG(40.249528, -120.8435), 
LATLNG(40.258326, -121.061249), 
LATLNG(40.301765, -121.007911), 
LATLNG(40.249528, -120.8435)))

这些是我从zip 00012获得的结果。我假设超过预期(必须仔细检查),但至少查询有效。

fran id:50315 fran id:50204 fran id:51489 fran id:51318 fran id:51404 fran id:54023 fran id:53658 fran id:54404 fran id:50611 fran id:51406 fran id:53302