XMP元数据支持

6.2 新版功能.

在Web地图服务中,广告许可和使用条款的挑战之一是这些条款通常与实际内容分开发布。因此,OpengisWMS服务可能在功能文档中指定术语,但地图图像本身将不被标记。水印是用地图图像传播许可条款的一种方法,但是水印限制了在不影响地图输出的情况下可以传输的信息量。传播许可证信息的另一种方法是使用通用元数据标准将许可证信息嵌入到图像文件中。

XMP是 extensible metadata platform “这允许跨多种文档和图像格式嵌入元数据信息:png、gif、jpeg、pdf等。xmp最初是由 Adobe 并在整个产品线中得到支持。现在,它越来越多地被包含在元数据嵌入的其他标准中,并被用于查看图像信息的工具(例如exiftools)所支持。

因为XMP是通用的和可扩展的,所以任何元数据都可以嵌入其中。创意公地 standards for using XMP 在图像和其他文档中嵌入通用许可,包括特定的创造性通用模式。都柏林核心元数据也有一个标准模式。

先决条件

为了使用XMP元数据,您需要

  1. 确保在MapServer中内置了XMP支持。

    您可以在现有的 mapserv 通过运行程序 mapserver -v 寻找 SUPPORTS=XMP 在回流管中。

  2. 使用gdal输出驱动程序生成图像。

要使用XMP支持构建MapServer,需要首先安装 exempi 系统上的库。

  1. 从下载libexempi http://libopenraw.freedesktop.org/wiki/Exempi

  2. 使用“--with exempi”选项配置MapServer,然后重新生成

要使用gdal输出驱动程序,对于要输出的每个格式,都需要设置一个 OUTPUTFORMAT 使用gdal驱动程序。以下是PNG图像的gdal输出示例:

OUTPUTFORMAT
  NAME png
  DRIVER "GDAL/PNG"
  MIMETYPE "image/png"
  IMAGEMODE RGB
  EXTENSION "png"
END

有关gdal输出格式的更多示例,请参见 OUTPUTFORMAT 参考文献。

使用XMP元数据

每个图像可以有一个XMP包,因此地图的XMP元数据设置在 Mapfile 的顶层,即 WEB 对象的 METADATA 部分。

这个 METADATA 每个xmp条目的键的形式为'xmp_u<namespace><tag>`,因此,例如,仅设置都柏林核心“title”如下:

WEB
  METADATA
    "xmp_dc_Title" "Super Map"
  END
END

请注意,都柏林核心架构是使用代码“dc”指定的,标签是使用完整拼写的标记名(“title”)指定的。默认情况下支持以下架构代码:

  • “meta_uuu”,这是标准的xmp标记集

  • “cc_uuu”,这是创意共享标记集

  • “DC_uuu”是都柏林核心标签集

  • “权限”是标准的XMP权限标记集

  • “exif_uuu”是exif标记集

  • “tiff_uuu”,即tiff标签集

  • “crs_uuu”,这是photoshop相机的原始模式

  • “photoshop”是photoshop标记集

有关每个命名空间中有效标记的列表,请参见 http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/XMP.html .

下面是使用默认名称空间设置多个标记的示例:

WEB
  METADATA
    "xmp_rights_Marked" "true"
    "xmp_cc_License" "http://creativecommons.org/licenses/by-sa/2.0/"
    "xmp_cc_AttributionURL" "http://www.landgate.wa.gov.au/corporate.nsf/web/About+Us"
    "xmp_cc_AttributionName" "Landgate (landgate.wa.gov.au)"
  END
END

也可以定义一个新的名称空间,并在其中放置您喜欢的任何标记。下面是一个例子:

WEB
  METADATA
    "xmp_lightroom_namespace" "http://ns.adobe.com/lightroom/1.0/"
    "xmp_lightroom_PrivateRTKInfo" "My Information Here"
  END
END

格式为“xmp_uu<namespace>namespace”的第一个标记定义XML命名空间的唯一URI,该URI将在xmp文档中声明。然后,以下标记可以像引用默认名称空间一样引用该名称空间。