开发SDE的思路(200分)

S

sythree

Unregistered / Unconfirmed
GUEST, unregistred user!
请问在现有技术条件下开发空间数据引擎的一般思路和方法?
 
空间数据库引擎是GIS的基础平台,一种方法是在现有商用数据库基础上完全自己开发,
包括空间索引,各种空间分析功能,网络通讯及并发控制等;另一种方法是在商用数据
库如ORACLE提供的空间数据库基础上在封装一层,主要是网络通讯及并发控制等。第一种
方法难度大,但通用,第二种方法难度小,但绑定在某个商用数据库上。
 
呵,这个老问题也给翻出来了,不过我很喜欢这种技术题目的讨论。

ESRI给出的空间数据引擎的特征是(它的SDE的特征):
1,海量数据管理
2,多用户管理
3,开放式数据访问,对平台和网络透明
4,高速数据提取和空间分析
5,同开发环境良好的集成和兼容性
6,同应用系统无缝嵌入。

的确,如果SDE能作到这些要求,也就是比较标准的空间数据引擎了。

现在的网络技术在存储量、网络带宽方面已经有很大发展,开放式网络技术也比较成熟,因此,
这方面的实现在以前看来是较大的问题,而现在可能已经不突出了。这里面,我最感兴趣的
就是空间数据结构的组织,这是空数据引擎的核心,几乎所有的实现都有赖于合理和高效的空
间数据描述和表达。我曾研究过基于四叉树(R-TREE)的空间数据存储实现,也较好地实现这
种描述,不过查询实验反而是低效的!比没有索引更慢!真可笑,我知道这里面有一个理论
数据结构和程序实现优化的转换,问题就在于我的数据结构是优化的,但查询方法并不是最
优的。后来快毕业了,没有时间继续研究下去,也就没有再实现我的后续思路:对基于纯离散
网络结构的空间数据描述的研究。真希望能有时间重操此项研究,我是很有信心的。
 
我想问一下版主,四叉树和R-TREE是同一回事吗?
 
按我的理解,R-Tree是用来存储多维空间对象的树型数据结构,你可以实现为四叉对,也
可以是八叉树,十六叉树等,R-Tree只是一个概念。
 
谢谢版主的回答。我在看oracle spatial说明中,它声称采用四叉树索引,但在图例显示
中是将图不断的一分为四,类似网格索引,好像suppermap也是这样。我觉得这与r-tree
的概念还是有出入的。版主能否给以回答?
 
我没研究过Oracle Spatial,但就你所说,应该是正确的,树型结构嘛,本身就是个层次结构。
 
谢谢lishu76的捧场。
我的问题早已解决,用的是VC+ORACLE OCI,虽然很简陋但是在实际中运行的不错。
至于lishu76的第一个方法,我个人正在尝试一些新的空间索引算法(就是在国外找找
新论文,用程序实现并检验),并结合GML和OODB来建立数据结构,希望能有一个结果。
我第一次给分,不知到“行情”,少了请见谅。
 
顶部