【问题标题】:Fusion table spatial query融合表空间查询
【发布时间】:2013-05-02 11:58:38
【问题描述】:

可以在融合表的边界框中搜索位置:

SELECT * FROM <tableid> WHERE ST_INTERSECTS(<location_column>, RECTANGLE(LATLNG(B, Y), LATLNG(A, X))

现在我的问题是,是否可以在不规则形状(矩形或圆形除外)的多边形内搜索位置并将其显示在地图上?

更准确地说,我有一个融合表,里面有几个不规则形状的多边形(使用 kml)。另一个融合表,其中包含位于第一个表的多边形内的点数据。现在我想使用 fusion table api 过滤第一个表中的多边形,以便我只能使用交集逻辑查看该多边形内的点。

【问题讨论】:

  • 你能给我们你上传到谷歌融合表的文件的结构吗?谢谢。

标签: google-maps google-maps-api-3 google-fusion-tables


【解决方案1】:

在该点周围使用一个小圆圈。如果您的&lt;location_column&gt; 包含多边形,&lt;latitude&gt;/&lt;longitude&gt; 是您要查找的点的坐标:

SELECT * FROM <tableid> WHERE ST_INTERSECTS(`<location_column>`, 
CIRCLE(LATLNG(`<latitude>`, `<longitude>`), 0.5))

【讨论】:

  • 除了 RECTANGLE & CIRCLE 之外还有其他关键字吗?我的意思是我可以在不规则多边形内找到点吗?
  • 您可以在具有位置类型的列中找到由 KML 定义的多边形中的点(小圆圈)。你看过我的例子吗?
  • 是的...我浏览了您的示例。这很好。可以使用下拉菜单而不是搜索框,以便我可以选择一个区域,并且在选择地图时将显示融合表中的所有点,它位于该区域内的融合表(如您的示例2中的类似点显示的所有点圆形区域)。
  • I want to filter a polygon in first table using fusion table api so that I can only view the points inside that polygon using intersection logic - 你可以这样做,只是不能在 FusionTables 查询中。您需要编写 Google Maps API v3 oode 才能做到这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-29
  • 1970-01-01
  • 2017-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多