空间数据库课程设计报告第五章Word文档下载推荐.docx
- 文档编号:15071586
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:27
- 大小:343.08KB
空间数据库课程设计报告第五章Word文档下载推荐.docx
《空间数据库课程设计报告第五章Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《空间数据库课程设计报告第五章Word文档下载推荐.docx(27页珍藏版)》请在冰豆网上搜索。
10000,--SALES_REGIONSID
SDO_GEOMETRY--usetheSDO_GEOMETRYconstructor
(
2003,--Atwo-dimensionalPolygon
8307,--SRIDisGEODETIC
NULL,--SDO_POINT_TYPEisnullasitisnotapoint
SDO_ELEM_INFO_ARRAY(1,1003,1),--Apolygonwithjustonering
SDO_ORDINATE_ARRAY--SDO_ORDINATESfield
-77.04487,38.9043742,--coordinatesoffirstvertex
-77.046645,38.9040983,--othervertices
-77.04815,38.9033127,-77.049155,38.9021368,
-77.049508,38.9007499,-77.049155,38.899363,-77.048149,38.8981873,
-77.046645,38.8974017,-77.04487,38.8971258,-77.043095,38.8974017,
-77.041591,38.8981873,-77.040585,38.899363,-77.040232,38.9007499,
-77.040585,38.9021368,-77.04159,38.9033127,-77.043095,38.9040983,
-77.04487,38.9043742--coordinatesoflastvertexsameasfirstvertex
)
二、加载和转换空间数据
(一)用SQL*Loader从文本文件加载
SQL*Loader是Oracle的一个工具,用于从文件向Oracle表加载数据,可以执行批量加载。
SQL*Loader由控制文件和数据组成,控制文件定义了数据的格式,怎样把文件数据分解成Oracle中的行,以及怎样把这些行分解为不同的列。
数据可以在同一个控制文件的BEGINDATA关键字之后被指定,也可以存储在一个独立文件里。
加载点数据时,不需要指定SDO_SRID、SDO_ELEM_INFO_ARRAY和SDO_ORDONATE_ARRAY组件,它们将被自动设为NULL。
程序5-3是将点数据插入geom列中,数据在控制文件中被指定:
程序5-3
LOADDATA
INFILE*
INTOTABLEsales_regions
APPEND
FIELDSTERMINATEDBY'
|'
TRAILINGNULLCOLS
idNULLIFID=BLANKS,
geomCOLUMNOBJECT
SDO_GTYPEINTEGEREXTERNAL,
SDO_POINTCOLUMNOBJECT
XFLOATEXTERNAL,
YFLOATEXTERNAL
)
BEGINDATA
1|2001|-76.99022|38.888654|
2|2001|-77.41575|38.924753|
将该文件用DOS导入,
插入了数据,
也可将控制文件和数据文件分开,在命令行中指定这个文件,如程序5-6是控制文件,程序5-7是数据文件,DOS中的语句改为程序5-5:
程序5-6
INFILEsales_regions.dat
INTOTABLEsales_regions
APPEND
FIELDSTERMINATEDBY'
TRAILINGNULLCOLS
程序5-7
程序5-5
SQLLDRspatial/spatialCONTROL=sales_regions.ctlDATA=sales_region.dat
这样和程序5-3的功能是相同的。
加载非点数据时,需要填充SDO_GEOMETRY中的SDO_ELEM_INFO域和SDO_ORDINATES域,如程序5-8:
程序5-8
CONTINUEIFNEXT(1:
1)='
#'
idCHAR(6),
SDO_SRIDINTEGEREXTERNAL,
SDO_ELEM_INFOVARRAYterminatedby'
/'
(EFLOATEXTERNAL),
SDO_ORDINATESVARRAYterminatedby'
(OFLOATEXTERNAL)
10000|2003|8307|
#1|1003|1|/
#-77.04487|38.9043742|-77.046645|38.9040983|-77.04815|38.9033127|-77.049155|
#38.9021368|-77.049508|38.9007499|-77.049155|38.899363|-77.048149|
#38.8981873|-77.046645|38.8974017|-77.04487|38.8971258|-77.043095|
#38.8974017|-77.041591|38.8981873|-77.040585|38.899363|-77.040232|
#38.9007499|-77.040585|38.9021368|-77.04159|38.9033127|-77.043095|
#38.9040983|-77.04487|38.9043742|-77.04487|38.9043742|/
如果数据被包含在控制文件中,SQL*Loader就不能处理多于64K的数据,为了变通解决这个限制,记录可被分割成多行,如果每行的首字母以“#”开始,记录就是连续的。
(二)在Oracle数据库之间传输空间数据
加载数据最简单的方式是使用独立于Qracle平台的.dmp文件,这种文件被Oracle的Import/Export实用工具所使用,如程序5-9是从spatial模式中导出customers表:
程序5-9
EXPspatial/spatialFILE=customers.dmpTABLES=customers
使用OracleImport实用工具这个.dmp文件导入到scott模式中,如程序5-10:
程序5-10
IMPscott/tigerFILE=customers.dmpIGNORE=YTABLES=CUSTOMERS
也可以用fromuseer和touser命令行参数向scott模式中导入数据,导入的命令是以系统账户(system/manager)来运行的,如程序5-11:
程序5-11
IMPSYSTEM/MANAGERFROMUSER=spatialTOUSER=scottFILE=customers.dmp
在不同的Oracle数据库之间传输数据的另一种机制是可传输的表空间,利用这种机制,可以在两个数据之间传输整个表空间,如程序5-12:
程序5-12
CONNECTSPATIAL/SPATIAL
EXECUTESDO_UTIL.PREPARE_FOR_TTS('
TBS'
CONNECTSYSTEM/MANAGERASSYSDBA
EXECUTEDBMS_TTS.TRANSPORT_SET_CHECK('
TRUE);
ALTERTABLESPACETBSREADONLY;
EXIT
导入rans_ts.dmp中的内容:
程序5-13
IMPUSERID="
'
SYS/<
password>
"
TRANSPORT_TABLESPACE=YFILE=trans_ts.dmpDATAFILES='
sdo_tts.dbf'
TABLESPACES=tbs
导入后,应该改变表空间TBS以允许对其进行读/写操作,并执行SDO_UTIL.INITIALIZE_INDEXES_FOR_TTS过程来启用空间索引:
程序5-14
CONNECTSYS/<
ALTERTABLESPACETBSREADWRITE;
CONNECTspatial/spatial;
EXECSDO_UTIL.INITIALIZE_INDEXES_FOR_TTS;
SDO_UTIL.INITIALIZE_INDEXES_FOR_TTS函数重新启用了空间索引,但是如果尾格式不同,空间索引需要通过ALTERINDEXREBUILD命令进行重建:
程序5-15
ALTERINDEXcustomers_sidxREBUILD;
SDO_MIGRATE程序包中类似于TO_CURRENT的函数可以把空间数据从以前的版本中移植到当前版本中:
程序5-16
EXECUTESDO_MIGRATE.TO_CURRENT('
customers'
'
location'
100);
其中第三个参数规定了提交间隔为100,也就是每移植customers表的100行数据就提交一次。
(三)在SDO_GEOMETRY和WKT/WKB之间转换
SQL/MM为几何体定义了WKT(熟知文本)和WKB(熟知二进制)格式,程序5-20显示了怎样把一个SDO_GEOMETRY对象转换成WKT格式,使用SDO_GEOMETRY数据类型的GET_WKT方法将WKT作为一个字符大对象返回。
程序5-21显示了另一个使用SDO_UTIL.TO_WKTGEOMETRY函数得到同样结果的方法:
程序5-20
SELECTa.location.GET_WKT()wktFROMcustomersaWHER
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 空间 数据库 课程设计 报告 第五