利用Spatial处理空间数据

利用Spatial处理空间数据

ID:36769068

大小:409.47 KB

页数:6页

时间:2019-05-15

利用Spatial处理空间数据_第1页
利用Spatial处理空间数据_第2页
利用Spatial处理空间数据_第3页
利用Spatial处理空间数据_第4页
利用Spatial处理空间数据_第5页
资源描述:

《利用Spatial处理空间数据》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第23卷第4期佳木斯大学学报(自然科学版)Vol.23No.42005年10月JournalofJiamusiUniversity(NaturalScienceEdition)Oct.2005文寒编号:1008一1402(2005)04一0538一06利用Spatial处理空间数据周虹,刁树民(佳木斯大学公共计算机教研部,黑龙江佳木斯154007摘要:主要解释OracleSpatial的核心概念,尤其是它在存储和分析空间数据方面的作用.首先介绍了数据模型的概念,然后通过实例解释了如何把一个复杂的空间图形输入到数据库中,最

2、后对如何高效地查询指定内容进行了详细的描述.关键词:空间数据;多边形;容忍误差;过滤中图分类号:Mil文献标识码:A随着无线定位技术的发展和电子地图的广泛应用,现在对空间数据存储、映射和分析的需求越来越大.传统的数据库技术是把空间数据按X坐标和Y坐标存人数据库中,构成一个笛卡儿坐标系.但这种技术只能进行很有限的索引和查询,无法对电子地图等进行无极缩放,且效率低下,远远不能满足现在的实时定位要求.OracleSpatial通过使用多种数据模型、索引和查询,弥补了这些不足.本文主要解释OracleSpatial的核心概念,尤

3、其是它在存储和分析空间数据方面的作用.1数据模型OracleSpatial可以存储四维数据,但为了说明的方便,本文只讨元素}名称}坐标(顶点序列)点(1,2)论二维数据.OracleSpatial有这样几种基本图素:点、线、多边形,每一.个元素都用它的顶点序列来描述.对于二维的元素,用序列(Xl,Yl,线么2,5,1,3,0)卜X2,Y2,X3,Y3,⋯)表示,如右侧元素一坐标所示:多边形(0,0,1,0,1,1,0,1,0,0在多边形元素的坐标中,有一个顶点的坐标重复出现,Oracle口Spatial就知道该元素是多边

4、形.如果没有这个重复出现的顶点坐标,(10,0)则OracleSpatial无法知道该元素是多边形还是线.这些元素的有序排列就构成了几何数据.多条线连接起来可以描述线路,两个多边形组合起来可以描述一个中间带有小岛的湖泊,这个湖泊的坐标是{0,0,0,10,10,10,10,0,0,0},小岛的坐标是14,4,6,4,6,6,4,6,4,4!.其中要注意三点:(1)内含的多边形不可以嵌套,即如果该小岛上还有一个更小的湖,则要另外定义,不能嵌套;(2)对于单个的多崖边形,其坐标序列按逆时针方向排列,如果内含另一个多边形,则里

5、面的多边形的坐标序列按顺时针方向排列;(3)最后一个顶点和第一锡(10.10)个顶点重合,以关闭该多边形.中间带有小岛的湖泊然而仅有这些坐标还不足以来描述这个中间带有小岛的湖泊,因为还缺少坐标系(或称为空间参照系)和容忍误差.比如,我们无法知道这个湖泊是10米还是10海里宽,也无法知道这个湖泊是在平原上还是在崎岖的山向.OracleSpatial默认的坐标系是笛卡儿坐标系,并且使用的是无量纲的单位.对于大型的测量数据集(比如地球表面的地图).经常使用测量坐标系,比如NAD83等等.这种坐标系使用经度和纬度来①收稿日期:2

6、005-07-21作者简介:周虹(1967一),女.黑龙江佳木斯人,教授,主要研究方向:数据挖掘与数据库技术.第4期周虹,等:利用Spatial处理空间数据539表示坐标,并能自动考虑地球表面曲率因素.当然,对于一个小的湖泊,用笛卡儿坐标系就足够了.另一个要考虑的问题是坐标的精确度,几乎所有的坐标都有一定的误差容忍度,但OracleSpatial默认的容忍误差为零.给定一个坐标系和容忍误差,系统就能正确地查询和绘制空间数据.2将数据存入表中创建一个名为mylake的表,并对空间字段建立索引,可以执行如下哭L语句:CREA

7、TETABLEmylake(featze_idNUMBERPRIMARYKEY,二VARCHAR2(32),shapeMDSYS.SDO_GEOMETRY);INSERTINTOuser_sdo_geom-metadafaVALUES('州eke',,山ape',MDSYS.SDO-DIM-ARRAY(MDSYS.SDO_DIM_EIEIVIEhIT('X'0,100,0.05),MDSYS.SDODIMELEMENT('Y'0,100,0.05))NULL);CREATEINDEXmylake_idxONmylake(

8、shape)INDEXTYPEISMDSYS.SPATIAL_INDEX;第一句创建了一个想要建立的表,并包含一个shape字段以存储空间数据,至于MDSYS.SDO_GEOM-ETRY数据类型,我们以后再讨论;第二句告诉OracleSpatial在表mylake中的空间数据,表user_sdogeom._metad

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。