1

如果您查询

包含忽略大小写

然后查询将返回数据,但速度很慢。

如何在融合表的几何列中进行查询?

我用谷歌地图创建了一个 kml 文件,该文件被导入到谷歌融合表中。当我尝试在列中搜索经度和纬度geometry以返回经度和纬度在折线内的一个或多个点中匹配的区域的名称时。

在我的例子中,几何列存储一条折线,如下所示:

当前单元格值:

<LineString><coordinates>
-99.832771,16.88472,0.0
-99.832703,16.88558,0.0
-99.832703,16.88558,0.0
-99.831383,16.885441,0.0 
..... 
</coordinates></LineString>

现在我尝试查询tableid = 3427749

http://fusiontables.googleusercontent.com/fusiontables/api/query?sql=
SELECT name FROM 3427749 
WHERE ST_INTERSECTS('geometry',RECTANGLE(LATLNG(32.618591,-115.441528),LATLNG(31.954109,-115.212509)))

并返回void但如果您尝试在矩形中绘制相同的坐标,您可以很好地看到它,如果您查看表格,该区域包含我的查询的有效坐标。

绘制同一区域:


 var boudns = new google.maps.LatLngBounds(new google.maps.LatLng(32.618591, -115.441528),    new google.maps.LatLng(31.954109,-115.212509));

 var rectOptions = {
          strokeColor: "#000000",
          strokeOpacity: 0.6,
          strokeWeight: 2,
          fillColor: "#000000",
          fillOpacity: 0.2,
          bounds: boudns
        };
 rect.setOptions(rectOptions);

 var myOptions = {
      center: new google.maps.LatLng(23.926013,-101.90918),
      zoom: 5,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
 map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

 rect.setMap(map);

//You need implement a div with id map_canvas and put the code in `<script>` tags.

怎么了?请问有什么帮助吗?

4

1 回答 1

1

您在搜索 RECTANGLE 中的纬度有误。

来自FT SELECT 参考文档

The syntax is: RECTANGLE(<lower_left_corner>, <upper_right_corner>)

你有:

ST_INTERSECTS('geometry',RECTANGLE(LATLNG(32.618591,-115.441528),LATLNG(31.954109,-115.212509)))

纬度 32.618591 > 31.954109 当我切换这些纬度并运行您的查询时,我得到了一个名字“Mexicali - El Faro”

于 2012-04-05T21:59:55.467 回答