Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1997063
  • 博文数量: 1647
  • 博客积分: 80000
  • 博客等级: 元帅
  • 技术积分: 9980
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 15:15
文章分类

全部博文(1647)

文章存档

2011年(1)

2008年(1646)

我的朋友

分类:

2008-10-28 17:53:37

  如果你已经在中了几何数据,你就可以直接从浏览器中浏览它,而不需要任何其它的软件。

   Spatial无论从功能,数据结构,还是帮助用户或重新找回空间数据的表格来说,都算得上是一种完备的设置。该数据以二维空间,三维空间,或四维空间的形式来描述形状以及它们的几何关联。

  有了Oracle Spatial,你就可以定义一组有特色的形状(诸如点,线,矩形,多边形,或者圆);你可以将数据存储注册于Oracle Spatial数据词典中,并可从中重新找回;还可以对该数据提出质疑,以重新找回关于范围,交叉点,亲密关系,以及其它一些以内插值置换的信息。

  Oracle Spatial数据最初是从一些很难阅读的存储物诸如SDO-POINT、SDO_ORDINATES中得来的。能够直接解压,直接使用而不需要额外的软件,这对用户来说无疑很有益处。SVG(可变动的矢量绘图档)是从数据库中产生的,只要你的机器上安装了SVG浏览器,它就可以帮你毫不费力地完成这一任务,。

  这篇文章里,我将要向你展示一个PL/SQL包裹,当用户通过modplsql界面下达指令时,这一包裹会产生出足够的SVG,让你用它们来浏览那些数据,这些在Oracle Spatial使用说明的第二章中用一个简单的例子作了介绍。(在Oracle Technology Network上,你可以在线看到每一个主要数据库版本的HTML版本,在该网络上,你可能需要注册)。这个例子中定义了四个图形――一个矩形,两个多边形,以及一个圆,以此来帮助一个软件制造商确定在哪里可以获得更多的销售利润。为了节省空间,我只支持这个例子中所涉及的三种形状。我不支持单元转换(公尺置换成像素),但是我支持将那些图象卷起来并放大。我还假设所有的数据现在都是二维的。

  在将数据转换成SVG所期望的形式的过程中遭遇到的最大挑战是,描述那些形状有许多不同的方法。比如说,Oracle Spatial对“圆”的定义是:三个点沿着其圆周而成。这对于描述一个二维的圆很有用,而在三维或四维空间中,从特定的方向看,它则可能是歪斜的。SVG期望中点与半径相匹配。在数学中只要求那些三点不在同一条直线上,这样的可能性则大多了。还有一个小难题就是这样一个事实,那就是Oracle Spatial更倾向于按照数学图表来描述数据,以Y轴为纵轴,而在SVG中则以Y轴为横轴,因此要把整个图形翻转成垂直状。

  如果你安装了Oracle Spatial,并运行Oracle Spatial用户指导第二章中的声明,就可以从modplsql中编辑并运行以下脚本了。我发现“m=20”是一个很好的放大倍率,与图表很相符。

【责编:Amy】

--------------------next---------------------

阅读(160) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~