CSW ISO元数据配置文件映射文件¶
一般¶
见 映射文件 有关CSW映射文件的基本信息。ISO元数据映射可以在文件中找到 csw/MD_Metadata.properties
在数据目录中。
以下是ISO元数据配置文件映射文件的示例:
@fileIdentifier.CharacterString=id
identificationInfo.MD_DataIdentification.citation.CI_Citation.title.CharacterString=title
identificationInfo.MD_DataIdentification.citation.CI_Citation.alternateTitle.CharacterString=list(description,alias,strConcat('##',title))
identificationInfo.MD_DataIdentification.descriptiveKeywords.MD_Keywords.keyword.CharacterString=keywords
identificationInfo.MD_DataIdentification.abstract.CharacterString=abstract
$dateStamp.Date= if_then_else ( isNull("metadata.date") , 'Unknown', "metadata.date")
hierarchyLevel.MD_ScopeCode.@codeListValue='http://purl.org/dc/dcmitype/Dataset'
$contact.CI_ResponsibleParty.individualName.CharacterString=
identificationInfo.MD_DataIdentification.resourceConstraints[0].MD_LegalConstraints.accessConstraints.MD_RestrictionCode=
identificationInfo.MD_DataIdentification.resourceConstraints[1].MD_SecurityConstraints.classification.MD_ClassificationCode=
identificationInfo.MD_DataIdentification.citation.CI_Citation.date%.CI_Date.date.Date=lapply("metadata.citation-date", if_then_else(isNull("."), "Expression/NIL", dateFormat('YYYY-MM-dd', ".")))
identificationInfo.MD_DataIdentification.descriptiveKeywords.MD_Keywords.keyword.CharacterString=list(keywords, if_then_else(equalTo(typeOf("."), 'FeatureTypeInfo'), 'vector', 'raster'))
必须指定每个字段的完整路径(用点分隔)。XML属性是用指定的 @
符号,类似于通常的XML X-path表示法。要避免与映射行开头的标识符符号混淆,请使用 \@
(对于不是标识符的属性)或 @@
(对于同时也是标识符的属性)-请参见特征目录映射文件以获取示例。
这个 %
符号表示将多值映射拆分为多个标记的位置。多重 %
符号可用于多维映射-有关示例,请参见下面的要素目录映射文件。
带方括号的索引可用于避免合并不应合并的标记,如上面所示 resourceConstraints
.
为了保持结果XSD兼容,参数 dateStamp.Date
和 contact.CI_ResponsibleParty.individualName.CharacterString
前面必须是 $
签名以确保即使在使用属性选择时也始终包含它们。
这个 lapply
函数可用于将表达式应用于列表项,这对于多维字段非常方便。
这个 typeOf
函数(CSW-ISO模块除外)返回正在处理的目录项的类型 (LayerGroupInfo
, FeatureTypeInfo
, CoverageInfo
,…),例如,如果需要以不同于栅格层的方式处理矢量层,则此选项非常方便。
有关ISO元数据标准的更多信息,请参阅 OGC Implementation Specification 07-045 .
要素目录¶
- 在ISO元数据配置文件中,还支持
Feature Catalogues
包含有关矢量层类型元数据的信息。按照ISO元数据标准的规定,它们在单独的记录中公开。为此,我们有一个单独的映射文件: @@uuid=“元数据.custom.feature-目录/功能目录标识符“@id=”元数据.custom.feature-目录/要素目录标识符“$featureType.FC_功能类型.typeName.LocalName=连接(“名称”,'类型')$featureType.FC_功能类型.isAbstract.Boolean=“错误”$featureType.FC_功能类型.featureCatalogue。@uuidref=“元数据.custom.feature-目录/要素目录标识符“featureType.FC_功能类型.definition.CharacterString定义="元数据.custom.feature-目录/要素类型/要素类型定义“featureType.FC_功能类型.carrierOfCharacteristics%.FC属性_FeatureAttribute.memberName.LocalName特性="元数据.custom.feature-目录/功能类型/功能属性/名称“featureType.FC_功能类型.carrierOfCharacteristics%.FC属性_FeatureAttribute.valueType.TypeName特性.aName.CharacterString="元数据.custom.feature-目录/要素类型/要素属性/类型“featureType.FC_功能类型.carrierOfCharacteristics%.FC属性_FeatureAttribute.length.CharacterString特性="元数据.custom.feature-目录/要素类型/要素属性/长度“featureType.FC_功能类型.carrierOfCharacteristics%.FC属性_FeatureAttribute.definition.CharacterString特性="元数据.custom.feature-目录/要素类型/要素属性/定义“featureType.FC_功能类型.carrierOfCharacteristics%.FC属性_FeatureAttribute.cardinality.Multiplicity特性.range.multilityrange.lower范围。整数=“元数据.custom.feature-目录/要素类型/要素属性/最小出现次数“featureType.FC_功能类型.carrierOfCharacteristics%.FC属性_FeatureAttribute.cardinality.Multiplicity特性.range.multiplitityrange.upper范围.multiplitityrange.upper.UnlimitedInteger=“元数据.custom.feature-目录/要素类型/要素属性/最大出现次数“featureType.FC_功能类型.carrierOfCharacteristics%.FC属性_FeatureAttribute.cardinality.Multiplicity特性.range.multiplitityrange.upper范围.multiplitityrange.upper.UnlimitedInteger。@isInfinite=falsefeatureType.FC_功能类型.carrierOfCharacteristics%.FC属性_FeatureAttribute.listedValue%.FC项_ListedValue.label.CharacterString="元数据.custom.feature-目录/功能类型/功能属性/域/值“featureType.FC_功能类型.carrierOfCharacteristics%.FC属性_FeatureAttribute.listedValue%.FC项_ListedValue.definition.CharacterString="元数据.custom.feature-目录/功能类型/功能属性/域/定义“featureType.FC_功能类型.carrierOfCharacteristics%.FC属性_FeatureAttribute.listedValue%.FC项_ListedValue.code.CharacterString="元数据.custom.feature-目录/功能类型/功能属性/域/代码“
只有在目录映射文件中具有非空标识符的记录才会具有要素目录记录。标准Geoserver GUI中不支持用户配置此信息。即将到来的元数据社区模块使这成为可能。