FeatureWriter本身没有您需要的功能(进度监视),但是如果主要问题是数据集扇出需要很长时间,那么这种方法可能会减少时间。
嗯…这是一个非常有趣的要求。既然FeatureWriter不是一次输出一个功能,我们必须找出另一种方法。我能想到一些……
1)将写入操作(特稿或普通操作)放在第二个工作区中,并使用WorkspaceRunner运行它。一旦任务完成,它将返回一个特性,您可以在这些特性上进行计数到10。
2)以某种方式扫描文件,因为他们写,所以你有活计数。也许每个特性还会被发送到一个自定义转换器,在输出和计数特性之前,该转换器会循环(等待文件的存在)。另一种方法可能是将该特性传递到Python脚本中,该脚本检查文件并循环,直到文件存在为止。
为了使事情更简单,这些也可以放到一个单独的工作空间中。它可以将计数存储在主程序可读的文本文件中,或者只是将特性传递回来(也许尝试发送/接收对?)
最简单的——尽管是最不精确的——解决方案可能是把一个减速器变压器放进工作空间。比如说,你知道写每一块瓷砖大约需要30分钟(例如),只要在柜台前放30分钟的延迟。它不会很精确,但它会让你大致了解这个过程是如何进行的。或者延迟可能与某个属性有关——例如,如果您知道文件大小或行/列的数量,那么延迟可能与之成比例,从而使其更准确。
在前两种情况下,我不太确定这将如何与您的扇出交互,或者特性如何与文件相关,但我认为这两种情况都能够在没有太多问题的情况下实现。
我希望其中一个能有所帮助。
马克
嗨@ygutfreund, FeatureWriter在完成写入后输出摘要特性,每个特性都有一个名为“_total_features_count”的属性,该属性存储已写入目标数据集(本例中为文件夹)的特性数量(本例中为PNG文件)。我认为您可以从这个属性中获得已写入的PNG文件的总数,然后使用HTTPCaller发送消息。
您可以使用VariableSetter从WebmapTiler的_numtiles属性创建一个变量。在FeatureWriter之后,您可以使用VariableRetriever转换器从变量中检索值,并将其用于您的计数。