斯潘8
斯潘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特征类型,然而,如果检查单个源要素类型的属性,您会注意到它是一个“通配符”功能类型,合并了所有源功能类型。这是处理共享一个公共模式的多个文件的一种非常方便的方法。
MetadataAccumulator Transformer检查从特性读取的每个特性,并为每个功能类型积累以下信息:
此外,根据功能类型生成标题(用于元数据引用)。
转换器为读取的每个文件输出一个特性。
元数据模板的副本(作为字符串属性)将在传递时添加到每个功能中。
这一阶段的转换分为几个独立的块。这些块可以重新排序或删除,而不影响前面或后面的块。每个块使用一个非常简单的模式:
python调用程序用于生成xquery的原因有几个:
另一种选择是使用连接转换器,但是要读取正在创建的XQuery会比较困难。
在本演示中,为了便于说明,这些带书签的块中的每一个都被“暴露”在主工作区窗口中。将这些块封装到自定义变压器中非常容易,强烈推荐。这样做将允许用户创建一个元数据操作转换器库,该库可以轻松地链接在一起以操作元数据记录。
此块为元数据生成文件标识节。此特定演示使用由UuidGenerator(链接到)变压器;如果需要更新记录,这种方法在生产环境中可能适用,也可能不适用。在这种情况下,标识符必须从外部维护的文件名到标识符的映射中获得。
此块生成日期戳部分。
此块插入引文节的标题元素。
为包含文件位置和大小的每个数据集文件生成distributionInfo部分,该部分包含transferOptions元素。在这个例子中,我们的源数据集是autodesk dwg,每个数据集有一个文件。其他格式,如mif/mid或shape,每个数据集有多个文件。有关如何正确处理多个文件的示例,请参阅metadataAccumulator源代码。此时,要正确处理每个数据集的多个文件问题,必须将正在使用的格式硬编码到MetadataAccumulator中。
根据组织要求,可能还有其他选项来指示文件位置和格式;这只是一个例子。
此块演示如何提取功能的CRS并用于构造引用系统信息部分。笔记:
使用之前累积的边界框构造IdentificationInfo部分的ex-GeographicBoundingBox元素。
在翻译的这一点上,已经创建了完整的元数据XML记录,并准备好插入到OGC目录Web服务中。翻译的这个阶段准备了请求,提交给服务器,然后检查响应以确定请求是否成功
准备CSW插入事务相当简单。先前准备好的元数据记录简单地包装在一个XML CSW事务信封中。
使用HTTP Post,请求已发送到Deegree提供的服务。
注意:根据您安装和配置Deegree CSW的方式,您可能需要更改httpuploader转换器中服务端点的URL。
测试服务器响应是否包含文本“exception”,这表示事务失败。无论插入是否成功,Web服务都将返回HTTP状态200。
每个成功的事务响应都包含以下项:
而是记录每个结果,摘要日志汇总了所有结果,并在翻译结束时创建一个简明的摘要日志。
失败后,Deegree CSW将以一条异常消息响应,该消息描述了导致故障的原因。假设服务配置正确,最常见的失败原因是XML格式不正确,或不一致的元数据记录。
?2019安全亚搏在线软件公司|合法的