span8
span4
我目前有一个自定义转换器,它从WebMapTiler获取一个参数MaxTileCount (_num_tiles的值),并计算特性的数量,每10条消息发送一个HTTP消息来显示进度。
一切正常。However, now I have issue.PNGwriter不再是PNGRaster的作者了,而是变成了一个进行扇出的特稿作者。这需要很多时间,所以我想把通知器移到管道的后面,在“pngWriter (FeatureWriter)”之后。The issue I have is that I don't know how to count anymore the number of files written by the FeatureWriter as they are emitted, nor do I have access to _num_tiles which is the total number of tiles coming from the WebMapTiler.
简单地说,我想发送一个HTTPPost消息数/总由于这些文件是由FeatureWriter编写的,您知道该由谁来做吗?
第二个通知程序失败。所以我把它关掉了。
嗯…这是一个非常有趣的要求。既然FeatureWriter不是一次输出一个功能,我们必须找出另一种方法。我能想到一些……
1)将写入操作(特稿或普通操作)放在第二个工作区中,并使用WorkspaceRunner运行它。一旦任务完成,它将返回一个特性,您可以在这些特性上进行计数到10。
2)以某种方式扫描文件,因为他们写,所以你有活计数。也许每个特性还会被发送到一个自定义转换器,在输出和计数特性之前,该转换器会循环(等待文件的存在)。另一种方法可能是将该特性传递到Python脚本中,该脚本检查文件并循环,直到文件存在为止。
为了使事情更简单,这些也可以放到一个单独的工作空间中。它可以将计数存储在主程序可读的文本文件中,或者只是将特性传递回来(也许尝试发送/接收对?)
最简单的——尽管是最不精确的——解决方案可能是把一个减速器变压器放进工作空间。比如说,你知道写每一块瓷砖大约需要30分钟(例如),只要在柜台前放30分钟的延迟。它不会很精确,但它会让你大致了解这个过程是如何进行的。或者延迟可能与某个属性有关——例如,如果您知道文件大小或行/列的数量,那么延迟可能与之成比例,从而使其更准确。
在前两种情况下,我不太确定这将如何与您的扇出交互,或者特性如何与文件相关,但我认为这两种情况都能够在没有太多问题的情况下实现。
我希望其中一个能有所帮助。
马克
嗨@ygutfreund, FeatureWriter在完成写入后输出摘要特性,每个特性都有一个名为“_total_features_count”的属性,该属性存储已写入目标数据集(本例中为文件夹)的特性数量(本例中为PNG文件)。我认为您可以从这个属性中获得已写入的PNG文件的总数,然后使用HTTPCaller发送消息。
©2019安全亚搏在线软件公司法律