honghu
路人甲
路人甲
  • 注册日期2003-08-06
  • 发帖数113
  • QQ
  • 铜币292枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2313回复:1

ArcGIS的元数据及其客户化方法(转)

楼主#
更多 发布于:2003-08-06 00:33
关于元数据

元数据被称为关于数据的数据,比较贴切的反映了元数据对数据的特征描述职能。元数据的发布与共享为我们交换和共享空间数据提供了高效的手段。元数据要很好地描述数据,就必须具有清晰的结构和规范的术语,通常,这得通过相应的标准加以保证。比较著名的元数据标准有美国联邦地理数据委员会(Federal GeoGraphic Data Committee,简称FGDC)的《地理空间元数据的内容标准》和国际标准化组织(ISO)的《ISO 19115 Geographic Information -- Metadata》。ArcGIS 8.2对FGDC和ISO的元数据标准都支持。尽管许多国家和地区都在进度不同地制定自己的空间数据元数据标准,但总的来说是在向ISO的标准靠拢,这种趋势将有助于消除在全球范围内共享空间数据的障碍。ArcGIS现在只直接提供了对FGDC和ISO标准的支持,但不同标准的元数据在ArcGIS中的表示和管理是可以客户化的。其方法在本文的后半部分将会给出。

ArcCatalog中的元数据管理

ArcCatalog中以XML形式储存元数据。我们知道,XML(eXtensible Markup Language )已经成为一种工业标准,在Internet环境下,基于XML的数据表示可以很好地在不同的系统和平台间进行交互。与HTML不同的是,XML可以通过定义不同的标记(Tags)给数据赋予不同的语义。在ArcCatalog中对元数据中不同元素(elements)进行描述的XML元素是通过文档类型定义(DTD)完成的。而FGDC和ISO的XML元素没有重叠。因此在同一个元数据文档中可以同时出现FGDC和ISO的元数据元素,只不过这样用ArcCatalog中FGDC元数据编辑器就看不到以ISO格式表达的元数据项,反之亦然。

在ArcCatalog中引入了元数据的同步机制。所谓同步,是指当我们在ArcCatalog中创建或改变数据时,其对应的元数据将自动同步创建或改变。ArcCatalog中,缺省情况下是当我们切换到Metadata Tab时自动进行元数据的创建或修改。有时,当数据及其元数据都已创建完毕并已经对外发布,我们不希望元数据再意外地被改变。为此,ArcCatalog中提供了关闭自动更改元数据的选项。缺省情况下,此选项为开。当关闭此选项后,元数据的同步将置为手动。实际上,在描述元数据的XML中,有一个属性为“Sync”(即同步)。通常情况下,Sync被置为“TRUE”,如:



同步器被触发后即检查该属性,若为“TRUE”,则更改元数据,否则不动。

XSL处理器

XSL棗扩展的样式表语言,与XML配合,用于定义XML的显示表达方式。ArcCatalog创建的元数据以XML形式存储,但当你看到元数据时,这已经是一个动态的HTML页面了。这里起作用的是ArcCatalog中内置的XSL处理器。

XSL样式表将对应的XML元素提出放到DHTML的标记(Tags)下。所以,如果我们要改变元数据在ArcCatalog中的表达形式,只需要改变对应的样式表即可。对于同一元数据,我们可以根据不同的元数据浏览权限或需要,给出不同的XSL样式表,这样,不同的部门或数据使用者,只要得到不同的XSL样式表,看到的就是不同部分的元数据内容,并且显示形式也可能不一样。

元数据客户化

在ArcCatalog的元数据系统中有几个部分是可以客户化的。

1) 客户化XSL样式表

XSL样式表和XML对应起来可以描述任何自定义的元数据项,同时,在客户化元数据编辑器中也可以对自定义的元数据项进行编辑。看下面的例子:



注意上面斜体的<myorigin> </myorigin>及其中间所夹的斜体楷书文字“自定义元数据项内容”。有了在XSL中定义的<myorigin>项名,对应的XML中即可用来描述自己的元数据项内容。上面的XSL文档中,出现了几个XSL的元素:xsl:value-of, xsl:for-each等。用这些XSL元素以控制XML文档中数据元素的抽取对象和次序。定义好的XSL文档可直接拷贝到ArcGIS Desktop的安装目录下的Metadata\Stylesheets子目录即可。对于特定的元数据标准及其显示风格的客户化,要求我们熟悉XML的表达形式,同时对要客户化的对象必须有十分深入的了解方可下手。

2) 元数据编辑器(Metadata Editor)

不同的元数据标准,我们可以自行定义对应的元数据编辑器。即使是对FGDC或ISO标准的元数据,我们也可以按照自己的需要(譬如说:只允许用户修改某15项元数据项的内容,其它元数据项根本不在编辑器中出现),定义客户化的元数据编辑器。

创建客户化元数据编辑器的第一步,是要实现IMetadataEditor接口。IMetadataEditor接口中,需要客户化的有两项:

NAME属性
EDIT函数




Edit方法的返回的是一个Boolean值,以表示元数据是否已被修改。

第二步:设计一个编辑对话用FORM,根据所要编辑的元数据项的多少和内容长短需要设计FORM。这件事本身再简单不过。关键是在FORM对应的程序中,我们要有相应的代码:



以上客户化Project应编译为DLL,然后将其注册,并用ArcGIS Desktop提供的工具程序Categories.exe加载。在ArcCatalog中就可以使用该客户化元数据编辑器了。

3) 其它可客户化的部分

除了前面讨论的XSL样式表和元数据编辑器可以客户化外,我们还可以客户化元数据的导入和导出工具:Metadata Importor,Metadata Exportor,以及元数据同步器等。我们将另外撰文加以介绍和讨论。

喜欢0 评分0
denxiqing
路人甲
路人甲
  • 注册日期2003-07-28
  • 发帖数76
  • QQ
  • 铜币180枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2003-08-07 22:02
是否可以把元数据直接输出成网页,并支持查询?
举报 回复(0) 喜欢(0)     评分
NinJa
  • 注册日期
  • 发帖数
  • QQ
  • 铜币
  • 威望
  • 贡献值
  • 银元
2楼#
发布于:2003-08-26 10:26
为了先凑够帖子,大家别怪我:)

顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
 顶顶顶顶顶顶 顶顶顶顶顶顶顶顶顶顶 顶顶顶  顶顶顶顶顶
 顶顶顶顶顶顶    顶顶顶顶顶顶顶 顶顶顶顶 顶顶顶顶顶
 顶顶顶顶顶   顶顶顶顶顶顶顶顶顶 顶顶顶顶  顶顶顶顶
 顶顶顶顶  顶顶顶顶顶顶顶顶顶顶顶顶 顶   顶顶 顶顶
 顶顶  顶 顶顶顶顶顶顶顶顶顶顶  顶顶顶 顶顶   顶
 顶顶顶顶顶 顶顶顶顶顶顶顶顶顶   顶顶顶   顶顶顶顶
 顶顶顶顶   顶顶顶顶顶顶顶顶顶顶 顶  顶 顶顶顶顶顶
 顶顶顶顶顶顶顶 顶顶顶顶顶顶顶顶顶  顶  顶   顶顶
 顶顶   顶  顶顶顶顶顶顶顶顶顶 顶顶顶顶  顶顶顶顶
 顶 顶顶   顶顶顶顶顶顶顶顶   顶   顶 顶顶顶顶
 顶顶顶顶顶  顶顶顶顶顶顶顶顶 顶  顶顶 顶 顶顶顶顶
 顶顶顶顶    顶顶顶顶顶顶 顶顶 顶顶顶顶顶 顶顶顶顶
 顶顶顶  顶顶   顶顶顶顶 顶  顶顶 顶顶 顶顶顶顶
 顶   顶顶顶顶    顶顶顶顶顶 顶顶顶   顶顶顶顶
 顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
举报 回复(0) 喜欢(0)     评分
NinJa
  • 注册日期
  • 发帖数
  • QQ
  • 铜币
  • 威望
  • 贡献值
  • 银元
3楼#
发布于:2003-08-26 10:27
为了先凑够帖子,大家别怪我:)

顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
 顶顶顶顶顶顶 顶顶顶顶顶顶顶顶顶顶 顶顶顶  顶顶顶顶顶
 顶顶顶顶顶顶    顶顶顶顶顶顶顶 顶顶顶顶 顶顶顶顶顶
 顶顶顶顶顶   顶顶顶顶顶顶顶顶顶 顶顶顶顶  顶顶顶顶
 顶顶顶顶  顶顶顶顶顶顶顶顶顶顶顶顶 顶   顶顶 顶顶
 顶顶  顶 顶顶顶顶顶顶顶顶顶顶  顶顶顶 顶顶   顶
 顶顶顶顶顶 顶顶顶顶顶顶顶顶顶   顶顶顶   顶顶顶顶
 顶顶顶顶   顶顶顶顶顶顶顶顶顶顶 顶  顶 顶顶顶顶顶
 顶顶顶顶顶顶顶 顶顶顶顶顶顶顶顶顶  顶  顶   顶顶
 顶顶   顶  顶顶顶顶顶顶顶顶顶 顶顶顶顶  顶顶顶顶
 顶 顶顶   顶顶顶顶顶顶顶顶   顶   顶 顶顶顶顶
 顶顶顶顶顶  顶顶顶顶顶顶顶顶 顶  顶顶 顶 顶顶顶顶
 顶顶顶顶    顶顶顶顶顶顶 顶顶 顶顶顶顶顶 顶顶顶顶
 顶顶顶  顶顶   顶顶顶顶 顶  顶顶 顶顶 顶顶顶顶
 顶   顶顶顶顶    顶顶顶顶顶 顶顶顶   顶顶顶顶
 顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
举报 回复(0) 喜欢(0)     评分
游客

返回顶部