使用通用写程序的技巧

几何

通用写入器支持点、线、折线、弧、椭圆、矩形、圆角矩形、区域(多边形)、文本、空值和栅格几何数据的全范围。类似地,它支持全范围的属性类型。个别写入器可能无法支持所有数据类型,如果遇到无法解决的不兼容,可能会导致错误。

一般作家将允许不同类型的几何写到一个单一的输出特性类型——如果真正的作家在运行时不允许,这将创建单独的输出特性类型geometry-name后缀添加到基本特征类型以相互独立的特性与不同的几何图形。例如,如果在运行时选择形状写入器作为目标写入器,并且设置了一个称为rivers的单一功能类型来容纳多个几何图形,那么发送到rivers功能类型的任何线性功能都将以一个名为的形状文件结束rivers_line.shp,任何点特征都会被发送到rivers_point.shp.

功能类型定义

泛型写入器的输出特性类型定义通常显式指定,但写入器还提供动态模式设置,其中输出特性的定义基于来自工作区的源读取器的模式信息。

有关工作台中此设置的更多信息,请搜索动态模式在FME工作台帮助。

写入多种格式

使用泛型写入器时,预先配置特定于各个输出格式的参数有时很有用。例如,要写入设计文件,必须指定种子文件。

为此,向工作区添加一个额外的写入器。这会导致Workbench认为有不止一种输出格式,并强制Workbench创建一个Multiwriter的工作空间。多写入器中的第一个写入器将是泛型写入器,这个写入器应该具有所有输出特性类型。第二个写入器将没有任何特性类型,但将用于将任何特定于格式的写入器设置与泛型写入器通信(当该格式用作泛型写入器的格式时)。

如果将泛型写入器配置为将其写入到需要文件名作为数据集的格式,则泛型写入器将通过将文件扩展名附加到文件夹名的最后一部分来将输出文件夹转换为文件名。当提供特定于格式的设置时,此扩展将从为特定格式指定的数据集中获取。数据集的其余部分将被忽略。

笔记

  • 在设置工作区时,只能在泛型写入器中指定一种输出格式。您可以将格式作为公共参数发布,然后在每次工作空间运行时选择输出格式。
  • 还可以为多种输出格式设置一个专用的写入器,并使用测试人员/TestFilter将特性路由到所需的编写器(例如,基于已发布的参数)。
  • FME知识中心包含使用泛型写入器的一些示例。