span8
span4
所附的工作空间演示了一个潜在的解决方案,以以下情形:
我们拥有一套AutoCAD的DWG文件,我们希望包含在由deegree CSW服务器提供的元数据目录。第三方编辑器用于制备包含大部分的元数据记录不属于文件,具体的ISO19115元数据文件,但我们需要“补平”几个文件的具体记录,如地理范围,文件位置等等。
deegree-CSW具有以下先决条件:
该deegree文档是全面的,并提供了一个很好的一套用于设置服务的说明。
该服务的设置包括:
要验证deegree正确配置,导航到Tomcat中运行deegree Web应用程序。默认的URL是HTTP://本地主机:8080 / deegree-CSW /(或http:// <主机>:<端口> / deegree-CSW /)。提供链接的功能,状态信息,以及基本的客户端应用程序。
通用Web服务客户端提供了发送XML格式的对服务的请求,并检查XML格式的响应的简单接口。客户端界面还包括几个例子请求,这对于理解CSW如何工作非常有用。本演示附带的“模板”元数据文件,从这些例子的。
源数据是一组AutoCAD的DWG文件,包括了奥斯汀市的包裹数据已被划分为多个部分,其中一些重叠。
的数据的概要低于节目;每个文件的边界框被显示为彩色框。
在上面的部分的放大。
典型FME翻译在创建与对应于文件中的数据的属性数据的特征从文件中读取数据,该数据的结果。此工作区对待XML元数据记录为正在使用我们的XQuery变压器操作不透明块。
这个方法允许我们使用易拉伸积木的方法来操纵所述元数据,然后将其插入到目录服务:
使用XQuery的另一个好处是,它可以确保我们在转型的每一个阶段处理有效的XML,从而消除了服务错误的一个潜在来源。
工作区分为3个部分:
为了便于导航,工作区已被分成若干编号的书签。以下部分描述了什么是内部的每个书签的发生。
此工作区从几个AutoCAD的DWG文件中读取。通常情况下,每个文件将映射到一个单独的FME要素类型,但是,如果检查单源要素类型的属性,你会发现它是合并所有源要素类型的一个“外卡”的功能类型。这是处理那些共享一个通用架构的多个文件一个非常方便的方式。
所述MetadataAccumulator变压器检查从特征读取的每个特征,并且累积每个特征类型的以下信息:
此外,根据特征类型,产生一个标题(对于元数据引文)。
变压器输出为每个读取文件中的一个功能。
元数据模板的副本,因为它穿过被添加(作为字符串属性)的每一个的功能。
改造的这一阶段被分成几个独立的区块。这些模块可以重新排序或不影响前面或后面块取出。每块使用一个非常简单的图案:
Python的调用者被用来生成几个原因的XQuery:
另一种选择是使用一个连接符变压器,但它会更难阅读正在创建中的XQuery。
对于此演示的目的,每个这些书签的块已被留在为了说明的目的主工作区窗口“暴露”。这些块成定制变压器的封装是很容易的,并强烈推荐。这样做将允许用户创建可以很容易地链接在一起,以操纵元数据记录元数据操作变压器库。
该块生成用于元数据中的fileIndentification部。这种特殊的演示使用由生成的随机UUID标识符UUIDGenerator(LINK_TODO)变压器;这种方法可能,如果记录更新是可取的或可能不是在生产环境适宜。在这种情况下,标识符将必须从文件名的标识符到一个外部维护的映射获得的。
该块生成邮戳部分。
该块插入引用部分的标题元素。
生成distributionInfo部,其包括用于包括所述文件的位置和大小的数据集的每个文件中的transferOptions元件。在这个例子中,我们的源数据集的Autodesk DWG,里面有每个数据集一个文件。其他格式,如MIF / MID或形状有每个数据集多个文件。见MetadataAccumulator源代码的如何多个文件可以得到妥善处理的例子。这时,格式是与必须硬编码到MetadataAccumulator与每个数据集的问题这个多文件正确处理工作。
根据组织要求,可能有指示文件的位置和格式等选项;这仅是一个例子。
此块演示特征的CRS如何可以被提取并用于构建一个referenceSystemInfo部。笔记:
构造使用早先积累的边框的identificationInfo部分的EX_GeographicBoundingBox元素。
在翻译这一点上,一个完整的元数据的XML记录已创建并准备被插入到OGC目录Web服务。翻译的这个阶段准备请求时,它提交到服务器,然后检查响应,以确定该请求是否是成功的
准备CSW插入事务是相当简单的。先前准备的元数据记录被简单地包裹在一个XML CSW事务封包。
使用HTTP POST,该请求被发布到由deegree提供的服务。
注:这取决于您如何安装和配置deegree-CSW,您可能需要更改服务端点的URL在HTTPUploader变压器。
服务器响应测试,看它是否包含文字“异常”,这表明交易失败。该Web服务将返回200 HTTP状态,无论如果插入成功与否。
每一个成功的交易响应包含以下项目:
相反的是记录每个结果,SummaryLog积累的所有结果,并在翻译的最后创建了一个简明摘要日志。
如果失败,deegree-CSW将与描述失败原因的异常消息作出响应。假设该服务的配置是否正确,最常见的故障原因或者是异常的XML,或不符合的元数据记录。
©2019安全亚搏在线软件公司|法律