span8
span4
inspire-la-url-test-copy.xlsx网站
大家好,
我想创建一个工作台,将读取/下载52个单个URL,并将其写入为使用原始URL作为文件名和文件地理数据库的一部分文件地理52个个人要素类以及52个个人DWGS两 an attribute under the feature class.我会希望有此运行每月为一个批处理文件。
我的被存储在电子表格(附几的一例)52页的URL的列表。每个URL是一个下载链接包含一个单独的GML文件的.zip文件。我能顺利通过URL来我HTTPCaller节省了响应体到文件。
所谓的原始URL的一个例子是下面这样:
http://data.inspire.landregistry.gov.uk/kensington_和_chelsea.zip
而被保存称为响应文件
'http_下载'u 1497369123968_8888.zip'
我需要有一种方法来从电子表格传输实际的URL名称,以便它可以是我的输出的属性。我不知道如何做到这一点?
下面是我的工作台的截图,因为它是目前,当我尝试运行它的三个问题我得到的是:
任何帮助任何人都可以给我将不胜感激,谢谢。
你好@杜努斯,似乎所有的GML数据集只称为预定义的单一功能型,它的架构是相同的,固定的。我想,你打算读从52个网址预定义功能(zip文件),并将它们与同名的zip文件的根名称写入到每个要素类(如“灵顿”, “Kensington_and_Chelsea” 等)。
如果我没有理解你的要求,你可以编写功能到使用功能型扇出机制所需的目标要素类。例如
如果此正则表达式设置为目的地作家要素类型名称(要素类名),各功能将被写入要素类,其名称是不带扩展名的源zip文件名。
@ReplaceRegEx(@Value(Actual_URL),^。+ /(。+?)\。拉链$,\ 1)
从4个样品网址结果。
好。这是复杂的,有许多的疑问和问题。
我不能让这是真正的动态。真正的动态将意味着我们下载GML文件,阅读其使用模式的读者模式,以及该模式适用于输出(动态)数据集;简单地使用两个FeatureReader变压器。
但是,我不能得到那个工作。我认为一个问题是,FME将无法读取从GML数据集,如果它在一个zip文件的架构(我提起这个问题与我们的开发商PR#78109)。
此外,你要输出到所有进入一个名为预定义的表格?我可以让它进入这样的表,与定义的数据来自权威的属性,但我不能把它写入到一个单独的表中的每个权威,因为源层/表中没有这个名字 (so the dynamic writer can't find a schema to match).
不管怎样,我把它作为一个两个工作空间解决方案的工作。第一个下载数据,然后将文件名传递给第二个进行处理。这是我唯一能让它充满活力的方法。我不知道是否可以让它在单个工作区中工作,因为要设置输出模式,需要一个不是由FeatureReader提供的数据集路径。
因此,工作区是附加的:authorityprocessing.zip文件是的。
请注意子工作区中的已发布参数以传递权限名称。filenameextractor转换器是我用来解码url并从中提取授权名称的东西。看来效果不错!
还要注意,因为它多次运行同一个工作空间,所以不能使用覆盖现有的地理数据库设置。或者,至少,你不能将其设置为“是”。因此,您需要确保在运行进程之前删除geodatabase,或者可以向第一个工作区添加python启动脚本来删除它。
我已设置为等待一个进程完成后再开始下一个进程的WorkspaceRunner。geodatabase作为一个数据库,您可以同时编写多个连接,但我不想冒险。
希望这有帮助!您可能需要对输出进行一些小修改(例如authority字段设置为只有20个字符),但这应该是一个好的开始。
作记号
你好@杜努斯
这是一个有趣的任务,一开始我以为你真的很亲近。
FeatureReader说属性“只使用结果”。如果你想保留实际的网址,你需要做“合并发起者和结果”。然后你就会得到这个属性。所以这是一个无法解决的问题。
因为这是一个动态翻译,所以您需要告诉作者从何处获取模式。我以为你可以用这个属性,但显然你不能。我想我们需要一个模式阅读器来获取这些信息,而FeatureReader无法将其传递给动态编写器。
好吧,事情越来越复杂了。给我一点时间,我会研究如何最好地做到这一点。可能我们需要一个两个工作区的解决方案。
作记号
©2019安全亚搏在线软件公司|法律