如何使用FusionTable API创建合并表

问题描述:

Fusiontable API(https://developers.google.com/fusiontables/docs/v2/using#CreatingTables)允许您创建新的基表表。这里的描述(https://developers.google.com/fusiontables/docs/v2/reference/table/insert)意味着你可以指定basetableIds,但是使用“Try this API”我没有成功创建一个合并表。我有一张地图几何图表,我不想重复,但想让用户为几何图形指定自己的颜色。如何使用FusionTable API创建合并表

有没有人能够做到这一点?如果是这样,你如何指定要加入的列?

谢谢。

基表是否具有位置类型列?如果“地图几何体”列/列设置了位置类型,那么您可能无法从现有tableId创建新的基表,因为在整个文档中有关于使用API​​修改或更新两列的列的警告位置。

所以我认为,通过从基表id创建一个新表,并将列定义为位置,您还可以创建新列,因此无法通过API执行此操作。

尝试将列类型更改为字符串,然后创建新表。如果情况确实如此,恢复到位置?

希望有所帮助。

Using the API Docs

enter image description here

+0

(单)几何列确实是键入LOCATION。所以这可能是问题所在。我会尝试你的建议。谢谢。 –

+0

好的,让我知道它是否工作。 – bamdan

我最近就遇到了这个问题,我想我会后我的解决方案。似乎通过API创建合并表是通过使用sql查询端点创建视图来完成的。

From the Docs

要创建一个新的合并表,请使用以下语法在HTTP POST 请求

CREATE VIEW <new_table_name> 
AS (SELECT <column_spec> { <column_spec>}* 
FROM <table_list>) 

所以如果你合并两个,你会产生这样的事“邮编”列上的表格例如:

CREATE VIEW 'My New Table' 
AS (
    SELECT T1.'zipcode', T2.'state', T2.'area', T2.'latitude', T2.'longitude', T2.'geometry' 
    FROM somefusiontableid AS T1 
    LEFT OUTER JOIN someotherfusiontableid AS T2 ON T1.'zipcode' = T2.'zipcode' 
) 

希望这可以帮助任何遇到此问题的人。