span8
斯潘4
附加的工作区演示了以下场景的一个潜在解决方案:
我们有一组AutoCAD DWG文件,希望将其包含在deegree CSW服务器提供的元数据目录中。使用第三方编辑器准备一个包含大多数非特定文件元数据记录的ISO19115元数据文件,但是我们需要“填写”一些特定于文件的记录,比如地理范围,文件位置,等。
Deegree CSW具备以下先决条件:
这个Deegree文档是全面的,并提供了一套很好的服务设置说明。
服务的设置包括:
为了验证Deegree配置正确,导航到Tomcat中运行的deegree web应用程序。默认URL是 网址:http://localhost:8080/deegree csw/(或http://
通用Web服务客户端提供了一个简单的接口,用于向服务发送XML格式的请求,以及检查XML格式的响应。客户机接口还包括几个示例请求,这对于理解CSW的工作方式很有用。此演示中包含的“template”元数据文件是从这些示例派生的。
源数据是一组autocad dwg文件,由奥斯汀市的地块数据组成,分为若干部分。有些是重叠的。
数据概述如下:每个文件的边界框显示为彩色框。
放大的部分。
典型的FME翻译从文件中读取数据,这会导致创建具有与文件数据对应的属性数据的特性。此工作区将XML元数据记录视为使用XQueryTransformers操作的不透明块。
这种方法允许我们使用一种易于扩展的构建块方法来操作元数据,然后插入目录服务:
使用XQuery的另一个好处是它可以确保我们在转换的每个阶段都处理有效的XML,从而消除了一个潜在的服务错误源。
工作区分为三个部分:
为了便于导航,工作区被划分为几个编号的书签。下面的部分描述每个书签中发生的事情。
此工作区从几个AutoCAD DWG文件读取。通常情况下,每个文件将映射到一个单独的FME特征类型,然而,如果检查单个源要素类型的属性,您会注意到它是一个“通配符”功能类型,合并了所有源功能类型。这是处理共享公共模式的多个文件的一种非常方便的方法。
元adataaccumulator变压器检查从特征读取的每个特征,并为每种特征类型累积以下信息:
此外,根据特征类型生成标题(元数据引用)。
transformer为读取的每个文件输出一个特性。
元数据模板的副本(作为字符串属性)将在传递时添加到每个功能中。
这一阶段的转换分为几个独立的块。这些块可以重新排序或删除,而不影响前面或后面的块。每个块使用一个非常简单的模式:
使用Python调用程序生成XQuery有以下几个原因:
另一种选择是使用连接转换器,但是要读取正在创建的XQuery会比较困难。
在本演示中,为了便于说明,这些带书签的块中的每一个都被“暴露”在主工作区窗口中。将这些块封装到自定义变压器中非常容易,,强烈推荐。这样做将允许用户创建元数据操作转换程序库,这些转换程序库可以轻松地链接在一起来操作元数据记录。
此块为元数据生成文件标识节。这个特定的示例使用由。生成的随机UUID标识符UUIDGenerator(LINK_TODO)变压器;如果需要更新记录,这种方法在生产环境中可能适用,也可能不适用。在这种情况下,标识符必须从外部维护的文件名到标识符的映射中获得。
此块生成日期戳部分。
此块插入引用部分的title元素。
为包含文件位置和大小的每个数据集文件生成distributionInfo部分,该部分包含transferOptions元素。在这个例子中,我们的源数据集是Autodesk DWG,每个数据集有一个文件。其他格式,如mif/mid或shape,每个数据集有多个文件。有关如何正确处理多个文件的示例,请参阅MetadataAccumulator源代码。在这个时候,要正确处理每个数据集的多个文件问题,必须将正在使用的格式硬编码到MetadataAccumulator中。
根据组织的要求,可能还有其他选项来指示文件位置和格式;这只是一个例子。
此块演示如何提取功能的CRS并用于构造引用系统信息部分。笔记:
使用前面积累的边界框构造identificationInfo部分的ex_geography boundingbox元素。
在翻译的这一点上,已经创建了完整的元数据XML记录,并准备好插入到OGC目录Web服务中。翻译的这个阶段准备了请求,提交给服务器,然后检查响应以确定请求是否成功
准备CSW插入事务相当简单。前面准备的元数据记录简单地包装在XML CSW事务信封中。
使用HTTP POST,请求已发送到Deegree提供的服务。
注意:根据您安装和配置Deegree CSW的方式,您可能需要更改httpuploader转换器中服务端点的URL。
测试服务器响应是否包含文本“exception”,这表示事务失败。无论插入成功与否,web服务都会返回200的HTTP状态。
每个成功的事务响应都包含以下项目:
而是记录每个结果,摘要日志汇总了所有结果,并在翻译结束时创建一个简洁的摘要日志。
失败后,deegre -csw将使用一条异常消息进行响应,该异常消息描述了失败的原因。假设服务配置正确,最常见的失败原因是XML格式不正确,或不一致的元数据记录。
?2019安全亚搏在线软件公司|法律