字段配置

元数据选项卡的用户界面由一系列字段组件组成。可以在YAML文件中配置字段组件的类型以及它们的行为方式。所有字段都应配置为具有父键的列表 attributes

字段选项

在YAML中定义如下键-值对的字段:

钥匙

键是字段的标识符,因此应该是唯一的。其他配置可以通过使用该标识符来引用该字段。如地网测绘、国际化等。

必填项

价值

钥匙

唯一的字符串

字段类型

选择字段的输入小工具的类型。有关每种类型的详细说明,请参阅 Field Types 一节。

必填项

价值

字段类型

  • COMPLEX

  • TEXT

  • NUMBER

  • TEXT_AREA

  • DATE

  • DATETIME

  • BOOLEAN

  • UUID

  • DROPDOWN

  • SUGGESTBOX

  • REQUIREBOX

  • DERIVED

标签

如果存在,则该值将用作该字段的标签。当标签不在YAML配置中时,该键将用作标签。注意:当密钥出现在国际化(I18N)文件中时,请参见 Internationalization support 则该文件中的值将用作标签。

必填项

价值

标签

不是

任何字符串

发生

的值 occurrence 确定该字段应显示为表还是显示为单个输入字段。 SINGLE 将产生一个输入字段。

../../_images/single-value.png

例如,fieldType的单值输入字段 TEXT

选择 REPEAT 将在允许用户输入多个值的表中呈现该字段。

../../_images/repeat.png

例如,字段类型为 TEXT 呈现为一张桌子。

可以使用绿色箭头按钮对表中的数据进行排序。

必填项

价值

发生

不是

  • 单一(默认)

  • REPEAT

条件

条件属性是仅对某些层可见的属性。一个典型的例子是仅存在于栅格或矢量层的属性。该条件在中指定 CQL 它是根据层的 ResourceInfo 对象。

例如:

condition: equalTo(typeOf("."), 'FeatureTypeInfo')

中的选择 DROPDOWNSUGGESTBOXREQUIREBOX 可以使用 values 属性。这对于较小的列表很有用,对于较大的列表,最好在单独的.csv文件中列出选项。

派生自

仅用于 DERIVED 菲尔德。该属性 derivedFrom 包含父项的键,在父项上 DERIVED 字段视情况而定。点击链接,了解更多有关 DERIVED 菲尔德。

类型名称

这个 typename 是的必需属性 COMPLEX 菲尔兹。它包含指向 COMPLEX 菲尔德。一份特别的 typename featureAttribute is reserved for the Feature Catalog Generation 并且不应该被使用。

字段类型

TEXT

允许任何文本的输入字段。

../../_images/fieldtext.png
attributes:
  - key: text-field
    fieldType: TEXT

TEXT_AREA

多行输入。

../../_images/fieldtextarea.png
attributes:
  - key: text-area-field
      fieldType: TEXT_AREA

UUID

UUID的输入字段,它允许任何文本输入或用户可以生成UUID。

../../_images/fielduuid.png
attributes:
  - key: uuid-field
    fieldType: UUID

NUMBER

只接受数字作为有效输入。

../../_images/fieldnumber.png
attributes:
  - key: number-field
    fieldType: NUMBER

BOOLEAN

带有复选框的输入字段。

../../_images/fieldboolean.png
attributes:
  - key: boolean-field
    fieldType: BOOLEAN

DATE

不带时间信息的日期选择。

../../_images/fielddate.png
attributes:
  - key: date-field
    fieldType: DATE

DATETIME

带有时间信息的选择日期。

../../_images/fielddatetime.png
attributes:
  - key: datetime-field
    fieldType: DATETIME

SUGGESTBOX

用于从建议框中选择值的字段。对于输入与可能值的开头匹配的值,将给出建议。可以将这些值放入单独的CSV文件中,方法与下拉列表字段相同。

../../_images/fieldsuggest.png
attributes:
  - key: suggestbox-field
    fieldType: SUGGESTBOX
    values:
          - first
          - second
          - third

REQUIREBOX

此类型与SuggestBox相同,不同之处在于不允许用户填写自定义值,但强制用户选择建议值。当字段值必须是列表中的元素时,这可能会很方便,但这个列表太长了,下拉列表不实用。

DERIVED

派生字段是其值依赖于其他字段的隐藏字段。YAML密钥 derivedFrom 应包含它所依赖的字段的键。在父字段中选择值后,将在CSV文件中搜索派生字段的匹配值,或从值列表中选取具有相同索引的值。

Csv文件应该至少有两列,并从第一列的父字段的键开始,后跟父字段的值,其他列应该在第一行包含派生字段(S)的键(S),后跟匹配值。

CSV文件中具有配置的派生字段示例:

../../_images/fielddireved.png

metadata-ui.yaml

attributes:
  - key: derived-parent-field
    fieldType: DROPDOWN
  - key: hidden-field
    fieldType: DERIVED
    derivedFrom: derived-parent-field
csvImports:
  - derived-mapping.csv

derivedmapping.csv

derived-parent-field;hidden-field
parent-value01;hidden-value01
parent-value02;hidden-value02
parent-value03;hidden-value03

值列表的派生字段示例:

metadata-ui.yaml

attributes:
  - key: derived-parent-field
    fieldType: DROPDOWN
    values:
        - parent-value01
        - parent-value02
        - parent-value03
  - key: hidden-field
    fieldType: DERIVED
    derivedFrom: derived-parent-field
    values:
        - hidden-value01
        - hidden-value02
        - hidden-value03

COMPLEX

一个复合域由多个其他域组成。YAML密钥 typename 添加到现场配置中。在根级别上,YAML密钥 types 指示所有复杂类型定义的开始。类型定义应包含 typename 后跟按键 attributes 它包含子字段的配置。

../../_images/fieldcomplex.png
attributes:
  - key: complex-type
    fieldType: COMPLEX
    typename: complex-field

types:
   - typename: complex-field
     attributes:
          - key: object-text
            fieldType: TEXT
          - key: object-numer
            fieldType: NUMBER

要素目录生成

To create a feature catalog for a vector layer, a complex structure is needed to describe all the attributes. A lot of this information is already present in the GeoServer feature type or the database. Metadata supports automatically generating a new structure in the metadata from the information at hands that can be customised afterwards. To create support for this feature in your configuration, define a repeatable COMPLEX field with built-in fieldType featureAttribute .

在本例中,FeatureCatalog对象有两个属性。类型的唯一标识符 UUID 和特征属性字段。

../../_images/fa01.png

例如,要素属性字段为空

- typename: featureCatalog
  attributes:
      - label: Unique identifier
        key: feature-catalog-identifier
        fieldType: UUID
      - label: Feature attribute
        key: feature-attribute
        fieldType: COMPLEX
        typename: featureAttribute
        occurrence: REPEAT

这个 Generate 操作将检查该层的数据库元数据,并为表中的每一列生成一个要素属性。

../../_images/fa02.png

例如,具有生成要素类型的要素属性

在每个要素属性中存在另一个要素属性 Generate 将生成域的操作。

../../_images/generate_domain.png

例如,生成域对话框

有两个选项可以执行此操作:
  • 使用此属性的数据库中的现有数据。

  • 使用来自同一数据库中的查找表的数据。在这种情况下,您必须指定表、从中获取值的属性和从中获取定义的属性。

../../_images/fa03.png

例如,具有生成属性域的要素属性

国际化支持

中显示的所有元数据字段标签 Metadata fields 可以国际化。这是通过创建一个名为metadata.properties的国际化(I18N)文件来执行的。按照以下模式为图形用户界面配置中的每个键创建一个条目: PREFIX.attribute-key

例如:

metadata.properties

metadata.generated.form.metadata-identifier=Unique identifier for the metadata

metadata_nl.properties

metadata.generated.form.metadata-identifier=Metadata identificator

在相同的属性文件中,也可以使用键转换下拉标签 metadata.generated.form.[attributeKey].[value]=[label] 。将在内部为该字段存储的值保持不变。

隐藏字段

隐藏字段在图形用户界面中不可见,不需要配置。它们会自动更新。

  • _timestamp :上次元数据更新的日期和时间。

Previous: 入门