第6章空间数据库体系结构1-1优质PPT.ppt
《第6章空间数据库体系结构1-1优质PPT.ppt》由会员分享,可在线阅读,更多相关《第6章空间数据库体系结构1-1优质PPT.ppt(26页珍藏版)》请在冰豆网上搜索。
理方法。
海量地理空间数据安全、高效、分布海量地理空间数据安全、高效、分布式的管理成为目前地理信息系统应用、式的管理成为目前地理信息系统应用、发展的基本需求。
发展的基本需求。
q空间数据关系管理包括:
空间数据关系管理包括:
空间数据存储空间数据存储和和空间数据分析空间数据分析。
空间数据管理系统空间数据管理系统空间数据空间数据访问模块访问模块数据库管理系统数据库管理系统(RDBMS)空间数据库空间数据库(SDBSDB)空间数据关系化管理的体系结构空间数据关系化管理的体系结构q空间数据在关系数据库中存储空间数据在关系数据库中存储
(1)
(1)多边形号多边形号多边形号多边形号弧段号弧段号弧段号弧段号周周周周长长长长面积面积面积面积中心点中心点中心点中心点弧段号弧段号弧段号弧段号起始起始起始起始点点点点终结终结终结终结点点点点左多边左多边左多边左多边形形形形右多边形右多边形右多边形右多边形弧段号弧段号弧段号弧段号点坐标点坐标点坐标点坐标点坐标号点坐标号点坐标号点坐标号XXYYZZ多边形多边形多边形多边形号号号号A1A1AA22A3A3弧段号弧段号弧段号弧段号A1A1AA22A3A3点坐标号点坐标号点坐标号点坐标号AA11AA22A3A3空间表结构空间表结构空间表结构空间表结构77SDB=SQL92数数据类型,据类型,int,char,空间表空间表空间表空间表属性表属性表属性表属性表空间表与属性表关联空间表与属性表关联基本查询基本查询q基本的基本的RDBMSRDBMS的的SQLSQL查询语言查询语言-多表关联多表关联Select*fromSelect*from多边形表,弧段表,弧段坐标多边形表,弧段表,弧段坐标表,坐标表表,坐标表wherewhere多边形表多边形表.弧段弧段ID=ID=弧段表弧段表.ID.IDandand弧段表弧段表.弧段坐标弧段坐标ID=ID=弧段坐标表弧段坐标表.ID.IDandand弧段坐标表弧段坐标表.坐标坐标ID=ID=坐标表坐标表.ID.ID;
Select*fromSelect*from多边形视图表;
多边形视图表;
更新、删除。
10/27/202210/27/202288空间分析查询(空间分析查询(11)q空间数据的分析功能由空间数据的分析功能由关系数据库关系数据库实现实现10/27/202210/27/202299SDBSQL(复杂嵌套、联合)(复杂嵌套、联合)基本运算符基本运算符(,=,=,=,!
=)q判断两个点是否重合判断两个点是否重合Select*from点表点表1,点表,点表2where点表点表1.x=点点表表1.xand点表点表1.y=点表点表1.y;
q判断两条弧段线是否重合判断两条弧段线是否重合通过表关联的到弧段线对应的点坐标;
通过表关联的到弧段线对应的点坐标;
对坐标的对坐标的X、Y属性逐一的比较。
属性逐一的比较。
q直接使用标准直接使用标准SQL语句来在语句来在RDBMS系统中系统中实现空间数据分析十分复杂。
实现空间数据分析十分复杂。
10/27/202210/27/20221010空间分析查询(空间分析查询(22)q使用使用SQL查询获取空间数据后,利用面向查询获取空间数据后,利用面向对象程序语言,构建要素对象类进行空间分对象程序语言,构建要素对象类进行空间分析。
析。
10/27/202210/27/20221111SDB要素对象类要素对象类利用利用循环、循环、控制控制功能功能实现空间分析实现空间分析SQL只实现数据只实现数据的读取功能的读取功能10/27/202210/27/20221212ClasspointIntX;
IntY;
PublicSet(intx,inty,inty)X=x;
Y=y;
Z=z;
PublicbooleanEqa(PointA,PointBifA.X=B.X&
A.y=B.yReturntrueElseReturnfalseODBC(SQL)读读取取数数据据赋值赋值关系运算关系运算调调用用分分析析函函数数q空间数据在关系数据库中存储空间数据在关系数据库中存储
(2)
(2)10/27/202210/27/20221313SDBSDB=IDIDIDIDShapeShapeShapeShapeA1A1A1A1A2A2A2A2A3A3A3A3A4A4A4A4A5A5A5A5A6A6A6A6。
关系数据库支持(关系数据库支持(Blob、Image等类型的存储),空间数据序列等类型的存储),空间数据序列化存储。
在数据库中不能直接对化存储。
在数据库中不能直接对序列化数据进行运算。
序列化数据进行运算。
空间查询、分析空间查询、分析q使用使用SQLSQL查询获取空间数据后,利用面向对象查询获取空间数据后,利用面向对象程序语言,构建程序语言,构建内存数据模型内存数据模型进行空间分析。
进行空间分析。
10/27/202210/27/20221414SDB要素对象类要素对象类SQL数据数据序列序列化化/反反序列序列实现实现二进制数据二进制数据与与空间数据类型空间数据类型的转换的转换实现空间关系运算实现空间关系运算SelectA.Shape,A.SelectA.Shape,A.属性属性1,A.1,A.属性属性2fromA2fromASelect*fromA.ShapeSelect*fromA.ShapeoverlapoverlapB.ShapeB.Shapeqq空间数据在关系数据库中存储空间数据在关系数据库中存储(3)(3)1616SDB=ADT(自定义数据类型自定义数据类型),SQL99支持支持,Geometry空间数据的查询、分析空间数据的查询、分析q利用关系数据库扩展的利用关系数据库扩展的SQLSQL语句语句Geo-SQLGeo-SQL10/27/202210/27/20221717SDBRDBMSRDBMS中间件中间件(Spatialware)(Spatialware)Geo-SQLGeo-SQLnnDDLDDLnnDMLDMLnnGeo-SQLGeo-SQLGeo-SQL查询WorldWorld空间数据库:
空间数据库:
countycounty、citycity、riverriverNameNamePopulationPopulationCapitalCapitalNameNamePopulationPopulationcontinentcontinentLife-EXPLife-EXPGDPGDPNameNameLengthLengthCityCityCountryCountryRiverRiverOriginatesOriginatesCapitalofCapitalofNameNameContContPopPopGDPGDPLife-ExpLife-ExpShapeShapeCanadaCanadaNAMNAM30.130.1658.0658.077.0877.08Polygonid-1Polygonid-1MexicoMexicoNAMNAM107.5107.5694.3694.369.3669.36Polygonid-2Polygonid-2BrazilBrazilSAMSAM1831831004.01004.065.6065.60Polygonid-3Polygonid-3CubaCubaNAMNAM11.711.716.916.975.9575.95Polygonid-4Polygonid-4USAUSANAMNAM2702708003.08003.075.7575.75Polygonid-4Polygonid-4ArgentinaArgentinaASMASM363.3363.3348.2348.270.7570.75Polygonid-6Polygonid-6countrycountryNameNameCountryCountrypoppopcapitalcapitalshapeshapeHavanaHavanaCubaCuba2.12.1YYPointid-1Pointid-1WashingtonDCWashingtonDCUSAUSA33YYPointid-2Pointid-2MonterreyMonterreyMexicoMexico22NNPointid-3Pointid-3TorontoTorontoCanadaCanada3.43.4NNPointid-4Pointid-4BrasiliaBrasiliaBrazilBrazil1.51.5YYPointid-5Pointid-5RosarioRosarioArgentinaArgentina1.11.1NNPointid-6Pointid-6OtawaOtawaCanadaCanada0.80.8YYPointid-7Pointid-7NexicoCityNexicoCityMexicoMexico1414YYPointid-8Pointid-8BuenosBuenosArgeninaArgenina1010YYPointid-9Pointid-9NameNameOriginOriginlengthlengthShapeShapeRioParanaRioParanaBrazilBrazil26002600LineString-1LineString-1StLawrenceStLawrenceUSAUSA12001200LineString-2LineString-2RioGrandeRioGrandeUSAUSA30003000LineString-3LineString-3MissisippiMissisippiUSAUSA60006000LineString-5LineString-5RiverRiver表表表表citycity表表表表
(1)DDL
(2)DMLINSERTINTORiver(Name,Origin,Length)VALUES(Mississippi,USA,6000)DELETEFROMRiverwhereName=Mississippi(3)Geo-SQL查询:
列出查询:
列出Country表中每个国家的名字、人口和国土面积:
表中每个国家的名字、人口和国土面积:
SelectC.Name,C.Pop,Area(C.shape)asAreafromCountryC查询:
找出查询:
找出River表中所列出的河流流经的国家表中所列出的河流流经的国家SelectR.NameC.namefromRiverR,CountryCwhereCross(R.Shape,C.Shape)=1查询:
对于查询:
对于River表中所列出的河流,在表中所列出的河流,在City表中找到距离表中找到距离其最近的城市其最近的城市SelectC1.NamR1.namefromCityC1,RiverR1whereDistance(C1.Shape,R1.Shape)ALL(SelectDistance(C2.shape,R1.shape)FromCity