谈谈我对“空间数据库”的看法。
gis吧
全部回复
仅看楼主
level 8
LionGG 楼主
http://hi.baidu.com/geochenyj/blog/item/471e80dd520b27e976c63829.html空间数据库2008-09-26 14:04谈谈我对“空间数据库”的看法。一提到“空间数据库”,大家就会想到oracle spatial、arcsde、SuperMap SDX+ 等,实现了GIS图形数据的数据库存储和管理,但仅仅有这些,还不能称其为“空间数据库”,下面列举几点,来说明我的观点:1,空间数据的完整性。这个问题没有得到很好的解决。所谓“完整性”,就是数据的正确性和一致性,在关系型数据库中,有“实体完整性”、“参照完整性”、“用户自定义完整性”;在空间数据库中,语义层面的空间数据的正确性和一致性,就很难界定,它要比关系型属性数据复杂得多。打个比方,一条道路横跨一条河流,必然经过一座桥,而如果不经过,就必然违背了空间数据的正确性,也就是说“不完整”。这只是一个很简单的例子,类似于这样的空间语义关系,是需要空间数据库提供“用户自定义完整性约束”,以保证空间数据的完整性;但目前所谓的“空间数据库”还很难保证这一点,arcsde能从“图形”层面保证几何规则的完整性,但还很难从语义层面保证空间语义的完整性。2,空间查询的执行效率。一个带有空间和属性的混合查询,是先进行空间查询,再进行属性查询,还是反过来,先进行属性查询,再进行空间查询,还是多个步骤交错进行,这是一个值得思考的问题,怎样作查询效率才更高?3,空间数据的物理存储。物理存储,关系到空间数据添加删除修改的性能,而目前,空间数据是以二进制对象或字符等形式,交给关系型数据库来管理的,屏蔽了物理层的存储细节,粒度较大;同时,空间聚簇与数据更新存在矛盾,如果这些问题交给关系型数据库来处理,还很难得到较好的解决,需要单独针对空间数据实现物理存储的管理。以上三点表明,不是空间数据存储在数据库里,实现数据的共享,就是所谓的“空间数据库”,空间数据挖掘,也是提高空间数据库智能化水平的手段。空间数据库是目前一个很重要的研究领域,还不成熟,有很多工作要作,还需要大家继续努力研究。
2008年09月26日 06点09分 1
level 0
2.空间查询的执行效率。应该是先属性查询、后空间查询,效率会更高吧?
2008年10月07日 08点10分 2
level 4
回复:2楼 还是根据你的要求来吧。
2010年09月13日 16点09分 3
level 5
用户才不管你数据库方面的问题呢,用户要求的是:
1 你系统的稳定性要好。万一我机房哪天被人误操作或者突然停电被闪了,你得保证我的数据不会丢失。开源数据库PostGreSql 就做不到这点,如果在执行数据加工的过程中,发生了断电,那个数据库就废了。
2 速度要可以。10秒以内的查询间隔是OK的,但如果你要拖1分钟以上,那就不爽了。一般做数据库查询优化,就是建个主键,这就够啦~~
3 用户才不管你“数据的完整性”呢。开发人员很少会为了做到完整性,在建数据库表的时候建一大堆外键约束~~
4 有关空间数据存储,矢量数据存数据库,栅格数据直接文件夹管理,轻量级数据也是直接文件夹管理(比如常用国界,省界和业务无关的东东,直接一个KML存储好了)
2010年09月21日 11点09分 4
level 1
同意楼上的观点
2010年11月30日 03点11分 5
1