故障诊断/常见问题

在尝试创建谷歌Fusion Tables工作区时,有时会出现问题。这几乎总是由于用户环境中的错误配置造成的。以下建议通常有助于发现和克服这些问题。

我的工作空间不再运行。为什么我不用登录呢?

这种格式的空间和非空间版本以前都使用谷歌Fusion Tables SQL API来访问数据,使用谷歌帐户、电子邮件和密码。然而,从2013年1月开始,该API已被弃用,并且由于身份验证方案的变化,新的API不兼容。

截至FME 2015年,reader和writer的两个版本都使用了使用OAuth 2.0认证的谷歌Fusion Tables v1.0。这意味着不再需要电子邮件地址和密码:要进行身份验证,您将需要通过命名连接参数。

要创建有效的命名连接:在阅读器或写入器参数对话框中,单击Refresh Token字段旁边的浏览按钮。看到读者概述读者参数为更多的信息。

注意:您需要将阅读器或写入器重新添加到旧的工作区,以便它们能够正常运行。

为什么我的位置没有产生几何图形?

阅读器只会从里面的数据创建几何体位置类型字段。读取器当前处理的两种数据类型是:

  • 以逗号/空格分隔的经度/纬度对(例如,-123.1207375,49.2827291)
  • KML几何

如果我的位置列包含不同类型的数据,会发生什么?(例如,KML、lat/lon和地理编码地址)

读取器将从它支持的数据类型(KML和lat/lon对)中读取并创建几何图形,而忽略其他类型的数据。

我的表中的位置列包含不受支持的位置类型。我如何提取信息?

所有字段都将是Fusion表的特征类型的属性。用户可以使用FME的内置函数来转换这些数据。如果您的表没有任何受支持的位置类型,请考虑使用非空间版本。

为什么列名有时会加一个整数?

谷歌融合表允许重复列名。在FME中,属性必须有唯一的名称。如果读取一个重复列,第一个列将保留原来的名称,而后面的所有重复列将附加一个从0开始的整数。

如何访问公共表?

在Reader Parameters框中,在表列表文本行中添加(以空格分隔的)公共表的Table ID。公共表的特性类型名称将是它们的表ID。对于写入,在写入器参数框中指定写入器特性类型名称作为表ID。

注意,由于容量的原因,API无法提供公共表列表,因此需要显式id。数字ID也不再支持,所以请使用加密的ID。当在谷歌融合表web界面中查看表时,可以从文件>关于菜单中获得显式id和加密id。

谷歌融合表(空间格式)和谷歌融合表(非空间格式)的区别是什么?

非空间版本将只读取属性数据,由用户来转换数据。空间阅读器执行非空间版本所做的一切,但也将从位于单个位置列下的KML几何或纬度/经度对创建几何。对于在表中包含此类信息的某些用户来说,这可能很方便。

我得到了错误无法创建到谷歌融合表服务器的连接。检查您的登录信息、表名和表id。这是FME的问题还是服务坏了?

如果在检查登录、表信息、网络连接后仍然出现这个错误,那么这可能是服务的问题。

我得到一个错误的几何列没有正确的坐标系统。我该如何解决这个问题?

谷歌Fusion Tables在LL84投影中以KML的形式写入几何,并要求输入特征具有有效的坐标系统(理想情况下是LL84)才能正确地写入或重新投影。使用诸如CoordinateSystemSetter之类的转换器可以通过识别已知输入特征的坐标系统来帮助解决这个问题。

我怎么写空白或未命名的列?

谷歌融合表写入器需要一个唯一的列名才能正确地写入。为现有表的列提供名称可以通过编辑>修改列下的谷歌融合表web界面执行。注意,目前不支持带空格的列名。

如何将单个几何列写入包含多个位置列的表?

谷歌Fusion Tables识别输入特征上存在多个几何图形或表中存在多个位置列,并尝试将几何名称与列名匹配以正确映射它们。如果没有名称,则不知道要写入哪一列。一种解决方案是使用GeometryPropertySetter变压器在单个输入几何图形上设置名称,该名称将与表中预期的目标列名匹配。

请注意,当严格处理输入特性和表列上的单个几何图形时,无论名称如何,都不会发生匹配和写入。