SQLServer空间大数据库应用案例报告材料.docx

上传人:b****8 文档编号:12685576 上传时间:2023-06-07 格式:DOCX 页数:19 大小:2.58MB
下载 相关 举报
SQLServer空间大数据库应用案例报告材料.docx_第1页
第1页 / 共19页
SQLServer空间大数据库应用案例报告材料.docx_第2页
第2页 / 共19页
SQLServer空间大数据库应用案例报告材料.docx_第3页
第3页 / 共19页
SQLServer空间大数据库应用案例报告材料.docx_第4页
第4页 / 共19页
SQLServer空间大数据库应用案例报告材料.docx_第5页
第5页 / 共19页
SQLServer空间大数据库应用案例报告材料.docx_第6页
第6页 / 共19页
SQLServer空间大数据库应用案例报告材料.docx_第7页
第7页 / 共19页
SQLServer空间大数据库应用案例报告材料.docx_第8页
第8页 / 共19页
SQLServer空间大数据库应用案例报告材料.docx_第9页
第9页 / 共19页
SQLServer空间大数据库应用案例报告材料.docx_第10页
第10页 / 共19页
SQLServer空间大数据库应用案例报告材料.docx_第11页
第11页 / 共19页
SQLServer空间大数据库应用案例报告材料.docx_第12页
第12页 / 共19页
SQLServer空间大数据库应用案例报告材料.docx_第13页
第13页 / 共19页
SQLServer空间大数据库应用案例报告材料.docx_第14页
第14页 / 共19页
SQLServer空间大数据库应用案例报告材料.docx_第15页
第15页 / 共19页
SQLServer空间大数据库应用案例报告材料.docx_第16页
第16页 / 共19页
SQLServer空间大数据库应用案例报告材料.docx_第17页
第17页 / 共19页
SQLServer空间大数据库应用案例报告材料.docx_第18页
第18页 / 共19页
SQLServer空间大数据库应用案例报告材料.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

SQLServer空间大数据库应用案例报告材料.docx

《SQLServer空间大数据库应用案例报告材料.docx》由会员分享,可在线阅读,更多相关《SQLServer空间大数据库应用案例报告材料.docx(19页珍藏版)》请在冰点文库上搜索。

SQLServer空间大数据库应用案例报告材料.docx

SQLServer空间大数据库应用案例报告材料

实验四SQLServer空间数据库应用案例

一、实验学时

4学时

二、实验目的

1.了解SQLServer2008r2的空间参考系统表;

2.掌握SQLServer2008r2的空间数据类型的使用;

3.掌握空间数据库与数据表的设计与实现

4.掌握用SQL实现空间查询与分析功能的方法

三、预习容

1.SQLServer有关空间操作的教程

2.教材中有关SQL语言的关于空间查询与分析的语法章节

四、实验设备及数据

1.安装了SQLServer2008r2的电脑

2.教材第五章的空间数据库实例数据

五、实验容

1.SQLServer2008的空间参考系统表的介绍

2 空间数据类型的介绍与使用

3.空间数据库与数据表的创建与修改

4.使用SQL语句添加、删除、修改空间数据记录

5.用SQL实现空间查询和分析

六、实验步骤

建蓝湖数据库

createtablelakes(

fidintegernotnullprimarykey,

namevarchar(64),

shoregeometry);

createtableroad_segments(

fidintegernotnullprimarykey,

namevarchar(64),

alisesvarchar(64),

num_lanesinteger,

centerlinegeometry);

createtabledivided_routes(

fidintegernotnullprimarykey,

namevarchar(64),

roadseg1idintegerreferencesroad_segments,

roadseg2idintegerreferencesroad_segments,

positiongeometry);

createtablebridges(

fidintegernotnullprimarykey,

namevarchar(64),

roadseg1idintegerreferencesroad_segments,

roadseg2idintegerreferencesroad_segments,

positiongeometry);

 

createtablestreams(

fidintegernotnullprimarykey,

namevarchar(64),

fromlakeidintegerreferenceslakes,

tolakeidintegerreferenceslakes,

centerlinegeometry);

createtablebuildings(

fidintegernotnullprimarykey,

addressvarchar(64),

positiongeometry,

footprintgeometry);

createtablepoods(

fidintegernotnullprimarykey,

namevarchar(64),

typevarchar(64),

shoresgeometry);

createtableisland(

fidintegernotnullprimarykey,

namevarchar(64),

lakeidintegerreferenceslakes,

boundarygeometry);

createtablezone(

fidintegernotnullprimarykey,

namevarchar(64),

boundarygeometry);

 

录入数据

insertintolakesvalues(101,'蓝湖',

geometry:

:

STGeomFromText('multipolygon(((5218,6623,739,486,5218),

(5918,6718,6713,5913,5918)))',101));

insertintolakesvalues(0,'图片外其他湖泊',

geometry:

:

STGeomFromText('multipolygon(((6228,7633,8319,5816,6228),

(6928,7728,7723,6923,6928)))',101));

--路段

insertintoroad_segmentsvalues(102,'路',null,2,

geometry:

:

STGeomFromText('linestring(018,1021,1623,2826,4431)',101));

insertintoroad_segmentsvalues(103,'路','主街',4,

geometry:

:

STGeomFromText('linestring(4431,5634,7038)',101));

insertintoroad_segmentsvalues(104,'路',null,2,

geometry:

:

STGeomFromText('linestring(7038,7248)',101));

insertintoroad_segmentsvalues(105,'主街',null,4,

geometry:

:

STGeomFromText('linestring(7038,8442)',101));

insertintoroad_segmentsvalues(106,'绿森林边路',null,1,

geometry:

:

STGeomFromText('linestring(2826,280)',101));

--组合路

insertintodivided_routesvalues(119,'路',null,4,

geometry:

:

STGeomFromText('multilinestring((1048,1021,100),(160,1623,16

48))',101));

--桥

insertintobridgesvalues(110,'卡姆桥',102,103,geometry:

:

STGeomFromText('point(44

31)',101));

insertintostreamsvalues(111,'卡姆河',0,101,

geometry:

:

STGeomFromText('linestring(3848,4441,4136,4431,5218)',101));

insertintostreamsvalues(112,null,101,0,

geometry:

:

STGeomFromText('linestring(760,784,739)',101));

insertintobuildingsvalues(113,'主街号',

geometry:

:

STGeomFromText('point(5230)',101),

geometry:

:

STGeomFromText('polygon((5031,5431,5429,5029,5031))',101));

insertintobuildingsvalues(114,'主街号',

geometry:

:

STGeomFromText('point(6433)',101),

geometry:

:

STGeomFromText('polygon((6634,6234,6232,6632,6634))',101));

insertintopoodsvalues(120,null,'思道哥池塘',

geometry:

:

STGeomFromText('multipolygon(((2444,2242,2440,2444)),

((2644,2640,2842,2644)))',101));

insertintoislandvalues(109,'鹅岛',101,

geometry:

:

STGeomFromText('multipolygon(((6713,6718,5918,5913,6713)))',101));

--区域

insertintozonevalues(117,'阿诗顿',

geometry:

:

STGeomFromText('multipolygon(((6248,8448,8430,5630,5634,62

48)))',101));

insertintozonevalues(118,'绿森林',

geometry:

:

STGeomFromText('multipolygon(((2826,280,840,8442,2826),

(5218,6623,739,486,5218)),((5918,6718,6713,5913,5918)))',101));

 

查询

获得鹅岛的wkt表示

selectboundary.STAsText()

fromisland

wherename='鹅岛'

查找本数据库中所有的空间表

SelectTABLE_NAME

FROMspatial.INFORMATION_SCHEMA.TABLES

WhereTABLE_TYPE='BASETABLE'

判断名为路5别名为“主街”的路段的几何属性是否为空

selectcenterline.STIsEmpty()

fromroad_segments

wherename='路'

andaliases='主街';

4蓝湖的几何结构是否是简单的

selectshore.STIsSimple()

fromlakes

wherename='蓝湖';

5.获得鹅岛的边界

selectboundary.STAsText(),boundary.STBoundary()

fromisland

wherename='鹅岛';

6获得鹅岛的MBR边界

selectboundary.STAsText(),boundary.STEnvelope()

fromisland

wherename='鹅岛';

7.获取73号路的几何类型

selectcneterlines.STGeometryType()

fromdivided_routes

wherename='路';

8获得102路段中点的第一个点

selectcenterline.STAsText(),centerline.STPointN

(1)

fromroad_segments

wherefid='102'

9获得卡姆桥的x,y坐标

SELECTposition.STX,position.STY

FROMbridgesWHEREname='卡姆桥';

10获得路段的长度

SELECTcenterline.STLength()

FROMroad_segmentsWHEREfid=106;

11判断鹅岛的MBR边界是否闭合  

SELECTboundary.STIsClosed(),boundary.STBoundary()

FROMislandWHEREname='鹅岛';

12获得路段的起点和终点

selectcenterline.STAsText(),centerline.STStartPoint(),centerline.STEndPoint()

fromroad_segments

wherefid=102

13获得鹅岛的质心

selectboundary.STCentroid(),boundary.STAsText()

fromisland

wherename='鹅岛'

14判断PointOnSurface函数返回鹅岛上的点是否在其边界上

selectboundary.STContains(boundary.STPointOnSurface())

fromisland

wherename='鹅岛';

15获得路段的点数目

selectcenterline.STNumPoints()

fromroad_segments

wherefid='102'

16获得鹅岛的面积

selectboundary.STArea()

fromisland

wherename='鹅岛';

17--获得蓝湖环的数目

selectshore.STNumInteriorRing()

fromlakes

wherename='蓝湖';

18判断号路的几何元素的数目

selectcneterlines.STNumGeometries()

fromdivided_routes

wherename='路';

19获得号路的第二个几何元素

selectcneterlines.STAsText()

fromdivided_routes

wherename='路';

20获得号路的长度

selectcneterlines.STLength()

fromdivided_routes

wherename='路';

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2