Discussion on "Feature" , GeoWeb2007

这是一篇GeoWeb2007上关于要素定义的讨论。原文地址 http://www.geowebblog.org/?p=11

近日以来,我们都认为现代GIS技术以要素为基础,但是是否每个人都理解了其中的含义呢?要素到底是代表一个别名还是一个对象呢?那么我们是否还需要回头想想所谓要素是否是我们在地图上看到的那些东西。你认为不是?那么coverage是否算是一个要素呢?要素是否只是那些相互不相关的河流,机场或是乡间小道?矢量的事物?那么矢量的事物又是什么呢?那么过去对于矢量和栅格的区分是否真的能够提供一个足够强大的框架来描述真实世界。为什么会有栅格?而栅格又代表什么呢?假如我向窗外看去,能够幸运地看到山脉和海洋消失在远方。它们既不是线也不是点。我可以把它们认为是连续的表面,高程面。同时,还有一些离散的东西,比如山峰,山脊和悬崖之类的,也会被标注在地图上。那么它们算是要素吗?它们是离散的,区别于连续环境的离散部分。我们将一个湖泊定义为多边形,以湖的边界为形状。但是湖和陆地的边界是否是非常地定义了呢?怎样来对待湖边的沼泽和湿地呢?

要素被认为是具名的可编程对象,具有一些能够确定它们特镇的属性。比如一条路,有一个宽度,一些车道,一个路面的类型,还有它建成的日期。很简单,但是路面的材质并不向它的长度或是车道数一个在路的任何部分都是一样的。于是一部分属性必须被认为是它们位置的函数,这对所有要素都有效吗?

在早期的GIS中,很多是以栅格为基础的。矢量和栅格在GIS中一直以来是相互竞争的。那么什么是以栅格为基础的要素呢?还是以道路为例子。它包含了一个关联的特征函数来表示道路的表面,以1来表示道路,0来表示非道路的部分。这是否是一个合适的几何模型呢?有时是的,但是大部分时候不是。

以上就是在GeoWeb时代的老话重提。


Brad :
我不知道是否大家对于要素的定义都相同,但是较老一代GIS人对地图上的要素的认同是一致的。而新的矢量系统使我们可以访问数据库中的要素。我认为新一代的面向对象的编程人员更加认同后一点。

对象的概念将属性加入到传统的地图要素中去。对象可能关联一些几何数据来使它足以显示在地图上。因此我认为这个时候把栅格的概念引入进来纯粹是没有意义的。总之,栅格地图仅仅是现实世界中对象的摘要,对象的属性完全可以渲染为一个不同表现形式的栅格地图。

栅格的图象场景本身可以被认为是一个对象,我们可以从其中提取要素(现实世界中的对象)。栅格地图也仅仅是从数据库中提取对象而进行重现后的最终产品。在我的意识里,区别一个地图要素的关键在于数据库中存储的属性,包括几何属性。而这些完全是数据库方面的事务,而非GIS。


Ron :
我将提出几个区别地理要素和地图要素的例子,它们是不同的,但是相互关联。地理要素是现实世界的实体(抽象或是具体的)模型。地图要素则是地理要素一个可视化的(图形化的)表现,它们无需拥有相同的几何特征(甚至可以放大或是缩小),也无需和地理要素有任何几何上的关联,甚至可以不存在几何特征。地图要素被设计为用于进行可视化表现和交流。我认为它们相互之间的关系可以被定义为“样式”。


Josh :
通用要素模型的定义并不复杂,但是非常巧妙,而且重要。当在地图上画图之前,当在处理属性数据之前,甚至在把一些地理的事物转换为几何对象之前,需要进行一些思考。宇宙无非是我们的工作将要交待的物理世界的一部分。对此需要洞察力,将世界上的一个部分不同于另一部分的要素特征提取出来:比如,对于一条河流,它区别于周围的陆地,下面的地球,上面的天空。所有的其他周边的事物、几何特征、属性,光谱表,色彩,已经构成了一个要素。


mpg :
作为一个栅格的爱好者,从一个实践的基点来看,我非常高兴看到栅格数据被确定为要素,在GML的语意中,它为我提供了很大的便利。栅格的城市地图从概念上来说,和一个shapefile中的城市是没有什么区别的。两种类型的要素虽然含有不同的属性,但是在数学上它们仍然描述了相同的事物。

加入Josh所说的要素仅仅是纯粹理想的,脱离了数学的描述的话,那么我和他的观点应该是一致的。

另外,我同意地图是要素渲染的结果这一观点。地图不是地形,仅仅用来表现地形。


Raj :
这个讨论让我会议起我的大学课程现代文化和媒体,更具体地说是物化的定义。Josh所说的要素的定义就如同穿着黑衣,在咖啡店里连续抽烟的人物。我们都仅仅是技术人员,我们期待的是能够以最快捷的方式来表现复杂的自然界,构建一个让程序员最舒服的变成环境。

GIS始于景观的设计,专注于自然环境。所以选择栅格模型来表现常见的不同类型的自然要素。接着工程师加入到这个领域,他们更加关注模型的分离。这些努力从六七十年代开始,在计算机能力还很弱的时候,很多的功夫都用来优化系统,使空间分析的任务不致于要花费数天的时间。现在,Geoweb和便宜的超级计算机已经称为我们日常的工具。我们通过诸如XML和RDF的数据结构来为世界建模,这在二十年前简直就是自杀行为。

所以,回到我的观点。过去对于要素的定义无意中被计算机的处理能力所限制。现在,在网络和信息共享越来越成为要素显示的重要因素的时候,最重要的事情是鼓励程序员构建可以共享数据和服务的应用。所以我认为要素的定义应该是:
1. 支持多种表现方式(XML,RDF,ER-diagrams等)
2. 便于存放到通用的数据库中
3. 便于常用的编程语言访问
4. 具有简明的概念
5. 能够进行综合


-----------------------------------------------------------------------------------
还有三篇,篇幅比较长,不再进行翻译了,说说我自己的看法吧。
我很同意Ron(GML的创始人)的观点,Ron只用了很简短的话就说明了地理要素和地图要素的关系。举一个我熟悉的例子,两者的关系就如同html和显示在浏览器中网页的效果一样。前者是数据,是实体,后者是可视化渲染的结果。关联数据和表现形式的就是CSS和浏览器默认的解析方式。而数据通过渲染后往往是扭曲的,网页如此,地图也是一样。地图没有必要完全遵守地理要素属性的描述,两者之间通过一个关系来实现映射。这个关系包括地图投影,制图综合以及符号、色彩的选择等等。

你可能感兴趣的:(数据结构,编程,浏览器,网络应用,领域模型)