融合表查询是否可以更新列以包含另外两列的合并内容

时间:2016-06-01 09:35:52

标签: google-fusion-tables

我使用v2 API在lat和long列中有一个融合表。

我想将这些组合成一个名为latlong的LOCATION列。

虽然有Combine multi-column locations的网络支持, Fusion Table API V2 Reference说:

  

您无法使用API​​以编程方式修改列   两列位置,但您可以使用Fusion Tables Web应用程序   一旦创建了表,就修改它。

它还说融合表需要LOCATION列来执行空间查询。

"columns": [
{
    "name": "lat",
    "type": "NUMBER"
},
{
    "name": "long",
    "type": "NUMBER"
}
{
    "name": "latlong",
    "type": "LOCATION"
}

是否有可融合查询将lat和long数串联成一个字符串并在空表中更新? 我无法弄清楚UPDATE查询的语法,其中值是lat和long的结果。

例如

rows =  service.query().sql(sql="SELECT * FROM %s" % (tableid)).execute()
newtable = service.query().sql(sql="UPDATE %s SET latlong = lat ' ' long WHERE ROWID=%s" % (tableid, rows)).execute()

这不起作用,因为对于有效的网址行来说很长。

是否可以使用Fusion Tables Rest API在latlong列中定义formula,还是有其他一些解决此限制的工作?

另一种方法是在创建表格之前将lat和long数据操作到单个列中。

1 个答案:

答案 0 :(得分:0)

你可以在Fusion Table Rows Section中做这件事。只需添加一个新的公式列并将公式放入(' lat'&""&' lng')..不需要做所有这些sql的东西