《Oracle Spatial空间数据库开发应用指南》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:何原荣,李全杰,傅文杰编著
  • 出 版 社:北京:测绘出版社
  • 出版年份:2008
  • ISBN:9787503018619
  • 页数:350 页
图书介绍:本书不仅深入讲解了对象-关系模式的Oracle Spatial,还讲解了纯关系模式的Spatial(即早期版本的Spatial Cartridge,SC),涉及Oracle 7.3.3、8.1.6,Oracle 8i、9i以及10g Spatial,并以10g Spatial为依据。内容主要包括:矢量数据的存储与管理、空间数据的上载、空间坐标系、Spatial Cartridge等。本书还讲解了如何开发基于Oracle Spatial的应用程序,包括使用Java API、PL/SQL API、以及从Oracle 9i开始提供的开发方式OCCI等。每章均配有示例程序,书后有附录,较详细地解释了Oracle Spatial的各个包。本书还讲解了Oracle 10g Spatial的空间索引与空间查询,从对象-关系数据库的角度阐述Oracle Spatial,是深入学习对象-关系型数据库读者的一本不可多得的理论与使用相结合的书。

第1章 Oracle Spatial概述 1

1.1 Oracle Spatial 1

什么是Oracle Spatial 1

两种模式及其特点 2

空间索引 7

空间查询 13

地理信息系统、空间数据库与Oracle Spatial 14

1.2 Oracle Spatial矢量数据模型 14

元素 14

空间对象 15

空间对象的数据类型 15

Oracle Spatial空间对象数据类型 16

图层 17

大地基准 17

容差 19

1.3 Oracle Spatial的安装 19

1.4 Oracle Spatial示例程序 20

第2章 矢量数据的存储与管理 29

2.1 SDO_GEOMETRY空间数据类型 29

SDO_GTYPE属性 29

SDO_SRID属性 30

SDO_POINT属性 30

SDO_ELEM_INFO属性 31

SDO_ORDINATES属性 31

GET_DIMS方法 32

GET_GTYPE方法 33

GET_LRSDIM方法 33

使用SDO_GEOMETRY数据类型时需 33

要注意的问题 33

类型有效性 34

2.2存储示例 34

线串的存储线 34

中间含有矩形的多边形的存储 36

组合多边形的存储 37

2.3 Oracle Spatial系统元数据视图 37

TABLE_NAME属性 39

COLUMN_NAME属性 39

DIMINFO属性 39

SRID属性 39

OWNER属性 39

2.4空间索引系统元数据视图 40

空间索引基本信息元数据视图 40

空间索引详细信息元数据视图 41

对象-关系模式空间索引数据数据表的结构与含义 43

2.5空间操作 44

查询两个空间对象是否相交 44

查看两个空间对象的空间关系 45

查询空间对象的面积 46

查询两个空间对象之间的距离 47

验证空间对象的有效性 47

验证图层的有效性 48

2.6 Oracle Spatial Java API示例程序 49

第3章 空间数据的上载与浏览 53

3.1上载原理与上载方法 53

上载原理 53

上载方法 53

3.2 EasyLoader 54

窗口下的Easyloader 54

命令行下的Easyloader 55

Mapcatalog 56

MapInfo与Oracle Spatial基本图元之间的关系 58

3.3 SQL*Loader 59

SQL*Loader语法 60

控制文件 61

数据文件 63

3.4 Shp2SDO 64

数据转换 64

数据上载 65

3.5 MapInfo与ESRI的外部交换格式 66

Mif文件格式 66

shp文件格式 68

3.6 SQL存储示例 69

点的存储 69

线的存储 69

由线组合而成的线的存储 70

矩形的存储 71

中间含有矩形的多边形的存储 72

中间含有圆形的组合多边形的存储 73

由基本空间对象组合而成的闭合多边形的存储 74

3.7地图浏览 75

MapInfo Professional 75

MapX 76

LayerInfo对象 77

MapXtreme for Java 78

Spatial Index Advisor 79

MapViewer 80

第4章 空间索引与空间查询 84

4.1空间索引 84

创建空间索引 84

修改空间索引 88

重建空间索引 89

重命名空间索引 90

删除空间索引 90

创建四叉树索引时注意事项 90

创建R-树索引的注意事项 90

四叉树索引与R-树索引的比较 91

4.2不同模式下空间索引的建立 91

4.3扩展空间索引 91

自定义类型中的SDO_GEOMETRY属性索引的建立 91

返回值类型是SDO_GEOMETRY的函数索引 93

返回值是用户自定义类型函数的索引 93

4.4空间查询 95

基本查询 97

再查询 99

4.5基于不同类型空间索引的空间查询 99

基于四叉树索引的查询 100

基于R-树索引的查询 101

两类空间索引对查询的影响比较 101

4.6一定距离内空间对象的查询 102

4.7空间连接 102

4.8交叉模式的查询 103

第5章 空间坐标系及其实现 104

5.1空间坐标系基本概念 104

5.2物理存储结构 105

MDSYS.CS_SRS 105

WKTEXT格式 105

MDSYS.SDO_ANGLE_UNITS 107

MDSYS.SDO_DIST_UNITS 107

MDSYS.SDO_DATUMS 108

MDSYS.SDO_ELLIPSOIDS 108

MDSYS.SDO_PROJECTIONS 109

5.3创建用户自定义的坐标系 109

5.4坐标系转换函数 110

5.5坐标系的转换示例 110

第6章 拓扑数据模型 115

6.1拓扑的基本概念 115

拓扑与拓扑学 115

矢量数据的简单数据结构与拓扑数据结构 116

拓扑元素 116

空间数据库中的拓扑关系 116

拓扑示例 118

空间对象与拓扑对象 119

Oracle 10g Spatial的拓扑与拓扑图层 119

拓扑图层的层次化存储 120

6.2拓扑数据类型 122

SDO_TOPO_GEOMETRY数据类型 122

SDO_TOPO_GEOMETRY的构造函数 123

GET_GEOMETRY成员函数 127

SDO_LIST_TYPE数据类型 128

SDO_EDGE_ARRAY与SDO_NUM-BER_ARRAY数据类型 128

6.3存储结构 128

弧段表 129

结点表 130

面表 130

要素拓扑关系表 130

编辑历史信息表 131

6.4系统元数据视图 131

XXX_SDO_TOPO_INFO视图 131

XXX_SDO_TOPO_METADATA 132

6.5拓扑编辑 132

编辑结点 133

编辑弧段 135

拓扑缓冲区 137

拓扑缓冲对象 137

使用PL/SQL API直接操作缓冲区的过程 138

6.6拓扑示例程序 140

向〈topology_name〉_EDGE$表中存储数据 140

向〈topology_name〉_NODE$结点表中存储数据 143

向〈topology_name〉_FACE$面表中存储数据 145

创建要素表 146

把要素与拓扑关联起来,并向拓扑CIT-Y_DATA中添加3个拓扑图层 147

初始化Oracle Spatial拓扑元数据 147

向类型为SDO_TOPO_GEOMETRY的字段中装载要素类 147

查询数据 150

6.7使用拓扑数据模型的基本步骤 151

6.8拓扑数据模型的Java API 152

Java开发接口类 152

使用JAVA API直接操作缓冲区的过程 152

第7章 网络数据模型 154

7.1网络与网络分析 154

网络的定义 154

网络分析 154

7.2基本概念 155

网线(link) 155

结点(node) 155

路径(path) 155

网络(network) 155

要素 155

代价(cost,也叫权重或者网络权重) 156

可抵达结点(reachable nodes)与连通点(reaching nodes) 156

度、出度与入度 156

网络约束 156

最小生成树与最短路径 156

7.3网络抽象模型与抽象网络 156

网络抽象 156

几何模型与几何网络 157

逻辑网络 157

7.4 PL/SQL示例程序 157

SDO网络示例 157

LRS网络示例 159

逻辑网络示例 166

具有分层结构的网络示例 167

7.5网络数据模型编辑器 174

java虚拟机与CLASSPATH的设置 174

网络数据模型编辑器的使用 175

7.6网络表结构 176

结点表 176

网线表 177

路径表与路径-链接表 178

7.7元数据视图 179

7.8网络数据模型Java API简介与示例程序 180

网络示例程序一 181

网络示例程序二 184

7.9使用网络数据模型的基本步骤 188

CREATE_〈network_type〉_NETWORK创建网络 188

手工创建网络 189

第8章 栅格数据模型 190

8.1栅格数据模型 190

维度与分层 190

波段与图层 190

栅格数据与元数据 191

图像坐标系与地面坐标系 191

8.2物理存储结构 192

数据块 192

SDO_GEORASTER与SDO_RASTER数据类型 193

SDO_GEORASTER数据类型 193

SDO_RASTER数据类型 194

栅格数据表格 195

栅格表与栅格数据表的关系 195

物理存储结构 196

8.3栅格图像的装载、浏览与导出 197

配置java虚拟机 197

设置CLASSPATH 197

GeoRasterLoader 197

处理栅格图像时可能出现的问题 199

GeoRasterViewer 200

GeoRasterExporter 202

使用工具注意事项 202

8.4同色的与空的栅格图像 203

同色的栅格图像 203

空的栅格图像 204

8.5地理参照 204

定义 204

原理 205

方法 206

查看地理参照信息 208

8.6影像金字塔 208

影像金字塔的类型 209

层次大小 209

分块金字塔 210

操作金字塔的函数 210

8.7其他栅格数据类型 211

8.8系统视图与XML模式 212

系统视图 212

XML模式 213

8.9 PL/SQL示例 213

8.10栅格数据模型Java示例程序 229

第9章 用OCCI开发Oracle 10g Spatial应用程序 234

9.1 OCCI数据类型 234

9.2 OCCI应用程序接口 237

OCCI类的使用方法 237

OCCI类 237

9.3 OCCI示例与OCCI的类 237

VC++环境设置 237

OCCI各类之间的关系 238

环境变量Environment 239

连接对象Connection 240

连接池对象(ConnectionPool与State-lessConnectionPool) 240

Statement对象 243

ResultSet对象 251

Metadata对象 252

9.4对象类型翻译器(OTT) 253

OTT环境设置 253

OTT翻译类的使用 254

在多文档程序中使用OTT翻译过来的类 257

OTT可用的参数 259

9.5 OTT示例程序 261

翻译数据类型 261

示例程序 262

附录1 空间操作 266

附录2 SDO_GEOM包 273

附录3 SDO_CS包 283

附录4 SDO_TUNE包 285

附录5 SDO_UTIL包 287

附录6 SDO_MIGRATE包 294

附录7 SDO_TOPO包 295

附录8 SDO_TOPO_MAP包 298

附录9 SDO_NET包 310

附录10 SDO_GEOR包 321

附录11 SDO_GEOR_UTL包 344

附录12 SDO_ADMIN包 345

附录13 空间聚合函数 348

参考文献 350