《Oracle Spatial空间信息管理 Oracle Database 11g》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:管会生编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302211594
  • 页数:782 页
图书介绍:本书涵盖了Oracle数据库中空间信息管理的所有内容,包括空间信息管理的概念、Oracel Spatial的架构,以及大量用于管理空间数据的函数和操作。

第Ⅰ部分 概述 3

第1章 空间信息管理 3

1.1不同行业中使用空间信息 5

1.2空间数据来源 6

1.3管理和分析空间数据 7

1.3.1在数据库中存储空间数据 10

1.3.2空间分析 13

1.4Oracle Spatial的优点 14

1.5本章小结 17

1.6参考文献 17

第2章 Oracle Spatial概述 19

2.1技术和体系结构概述 19

2.2Oracle Spatial入门 21

2.2.1数据模型:存储空间数据 22

2.2.2位置使能 22

2.2.3查询和分析 25

2.2.4可视化空间数据 28

2.2.5高级空间引擎 29

2.3Oracle Spatial技术产品 30

2.3.1Locator 31

2.3.2Spatial选项 33

2.4在Oracle Spatial安装中期望什么 34

2.4.1在数据库中安装Oracle Spatial 34

2.4.2升级 35

2.4.3理解Spatial安装 36

2.4.4检查Spatial安装的版本 36

2.5本章小结 37

第3章 Location-Enabling你的应用程序 39

3.1向表中添加位置信息 40

3.1.1应用专用数据 40

3.1.2地理数据 44

3.2空间表的元数据 47

3.3为应用程序填充空间元数据 52

3.4本章小结 53

第Ⅱ部分 基础空间 57

第4章 SDO_GEOMETRY数据类型 57

4.1Oracle中空间几何体的类型 58

4.1.1点 58

4.1.2线串 58

4.1.3多边形和面 59

4.1.4立方体 59

4.1.5集合 60

4.1.6SDO_GEOMETRY的逻辑实现 60

4.1.7SQL/MM和OGC上的空间数据 61

4.2SDO_GEOMETRY类型、属性和值 62

4.2.1SDO_GTYPE属性 63

4.2.2SDO_SRID属性 65

4.2.3SDO_POINT属性 74

4.2.4SDO_ELEM_INFO和SDO_ORDINATES属性 76

4.3简单二维几何体的例子 79

4.3.1点 79

4.3.2通过直线连接的线串 81

4.3.3通过弧连接的线串 82

4.3.4多边形:边界通过直线连接的环 84

4.3.5多边形:边界通过弧连接的环 85

4.3.6矩形 85

4.3.7圆 87

4.4复杂二维几何体的例子 88

4.4.1构建复杂几何体 88

4.4.2复合元素的SDO_ELEM_INFO 89

4.4.3带void多边形元素的SDO_ELEM_INFO 90

4.4.4复合线串的例子 91

4.4.5复合多边形的例子 92

4.4.6带void的多边形 93

4.4.7集合 94

4.5三维几何体的例子 99

4.5.1三维的点、线串和多边形 100

4.5.2复合面 106

4.5.3简单立方体 109

4.5.4复合立方体 115

4.5.5集合 116

4.6本章小结 118

第5章 空间数据的加载、传输和验证 121

5.1向SDO_GEOMETRY列中插入数据 122

5.2加载和转换空间数据 123

5.2.1用SQL*Loader从文本文件加载 123

5.2.2在Oracle数据库之间传输空间数据 126

5.2.3从外部格式导入 129

5.2.4在SDO_GEOMETRY和WKT/WKB之间转换 130

5.2.5在GML和SDO_GEOMETRY之间转换数据 131

5.3拉伸二维几何体为三维几何体 136

5.4验证空间数据 139

5.4.1验证函数 139

5.4.2验证标准 141

5.4.3复合立方体 147

5.4.4集合 148

5.5调试空间数据 149

5.5.1REMOVE_DUPLICATE_VERTICES 149

5.5.2EXTRACT 150

5.5.3APPEND 153

5.5.4GETNUMELEM、GETNUMVERTICES和GETVERTICES 155

5.5.5EXTRACT3D 155

5.5.6其他函数 157

5.6本章小结 157

第6章 地理编码 159

6.1什么是地理编码 160

6.2Oracle地理编码的体系结构 161

6.2.1解析输入地址 162

6.2.2地址搜索 162

6.2.3计算空间坐标 163

6.3为地理编码设置参考数据 164

6.3.1参数表 164

6.3.2数据表 165

6.4地理编码函数的使用 166

6.4.1GEO_AS_GEOMETRY 167

6.4.2GEOCODE 169

6.4.3GEOCODE_ALL 185

6.5用结构化的地址进行地理编码 192

6.5.1GEOCODE_ADDR 192

6.5.2GEOCODE_ADDR_ALL 194

6.6反地理编码 194

6.7商业数据的地理编码 197

6.7.1添加空间数据列 197

6.7.2对地址进行地理编码:简单的方法 197

6.7.3地址验证和纠正 198

6.7.4自动地理编码 204

6.8地理编码服务器 208

6.8.1体系结构 208

6.8.2安装和配置 209

6.8.3地理编码的使用:XML查询和响应 212

6.9本章小结 218

第7章 在应用程序中操作SDO_GEOMETRY 219

7.1用PL/SQL操作几何体 221

7.1.1VARRAY操作入门 223

7.1.2SDO_GEOMETRY对象的读写 228

7.1.3创建新的几何体 228

7.1.4从几何体中提取信息 230

7.1.5修改已有的几何体 232

7.2在Java中操作几何体 236

7.2.1使用JGeometry类 237

7.2.2使用3D几何体:J3D_Geometry类 242

7.2.3从3D几何体中提取元素:ElementExtractor类 243

7.2.4使用标准的格式:WKT、WKB和GML 246

7.2.5使用ESRI shapefile 249

7.3本章小结 254

第Ⅲ部分 空间与网络分析 257

第8章 空间索引和操作符 257

8.1空间索引 258

8.1.1建立索引之前为空间层插入元数据 260

8.1.2创建空间索引 261

8.1.3空间索引概念 261

8.2空间索引参数 264

8.2.1USER_SDO_INDEX_METADA视图 266

8.2.2空间索引大小需求 267

8.3空间操作符 268

8.3.1空间操作符的语法 268

8.3.2空间操作符的语义 269

8.3.3空间操作符的计算 269

8.4深入理解空间操作符 270

8.4.1SDO_WITHIN_DISTANCE操作符 271

8.4.2SDO_NN操作符 276

8.4.3用于空间相互作用(关系)的操作符 283

8.4.4空间操作符的Hint 297

8.5空间索引的高级特性 303

8.5.1基于函数的空间索引 303

8.5.2本地分区空间索引 306

8.5.3并行索引 310

8.5.4在线索引重建 310

8.5.5空间连接 312

8.5.6三维分析 315

8.6本章小结 320

第9章 几何处理函数 321

9.1缓冲函数 323

9.2关系分析函数 325

9.2.1SDO_DISTANCE 326

9.2.2SDO_CLOSEST_POINTS 329

9.2.3RELATE 331

9.3几何组合函数 337

9.3.1SDO_INTERSECTION 338

9.3.2SDO_UNION 339

9.3.3SDO_DIFFERENCE 340

9.3.4SDO_XOR 342

9.4几何分析函数 343

9.4.1面积、长度和体积函数 343

9.4.2MBR函数 348

9.4.3各种几何分析函数 350

9.5聚合函数 354

9.5.1聚合MBR函数 354

9.5.2其他聚合函数 355

9.6本章小结 360

第10章 网络建模 361

10.1网络建模通用概念 362

10.1.1网络实例 364

10.1.2Oracle网络数据模型 365

10.2数据结构:网络表 366

10.2.1结点表 367

10.2.2边表 368

10.2.3路径表 368

10.2.4路径连接表 369

10.2.5网络元数据 369

10.3网络定义 371

10.3.1“自动”网络定义 371

10.3.2“手动”网络定义 373

10.3.3在同一表中定义多个网络 375

10.3.4删除网络 379

10.3.5在网络表上创建空间索引 380

10.3.6获取网络信息 380

10.3.7验证网络连通性 382

10.3.8网络实例 383

10.4使用Java API分析和管理网络 386

10.4.1分析网络:NetworkManager类 387

10.4.2限制搜索空间:SystemConstraint类 399

10.4.3高级分析:网络约束 401

10.4.4网络结构:Network、Node、Link和Path类 407

10.4.5创建网络:NetworkFactory类 409

10.5调试网络结构 412

10.6使用PL/SQL API分析网络 413

10.6.1使用内存对象 415

10.6.2分析网络 417

10.6.3创建和更新网络 420

10.6.4使用网络约束 423

10.7网络编辑器 430

10.7.1启动编辑器 430

10.7.2使用加载网络 431

10.8本章小结 434

第11章 路由引擎 435

11.1体系架构 436

11.2安装和配置 438

11.3数据结构 440

11.4实例数据:旧金山的街道 442

11.5分区 444

11.6使用路由器:XML查询和响应 446

11.6.1路由请求 448

11.6.2路由选项 449

11.6.3预先对起始位置和终止位置进行地理编码 450

11.6.4地理起始位置和终止位置 450

11.6.5批路由 451

11.7本章小结 453

第Ⅳ部分 可视化 457

第12章 使用MapViewer定义地图 457

12.1在Location-Enabled应用中使用地图的原因 458

12.2MapViewer和Oracle地图概述 460

12.2.1Oracle MapViewer 460

12.2.2Oracle Maps 462

12.3前期准备 463

12.3.1加载样本数据 465

12.3.2Location-Enable应用数据 465

12.3.3加载地理数据 465

12.3.4为MapViewer加载地图、主题、样式和地图缓存定义 465

12.3.5定义数据源 466

12.3.6安装示例应用程序 467

12.4配置MapViewer 468

12.4.1使用管理控制台 469

12.4.2配置参数 472

12.5定义地图 476

12.5.1Map Builder的使用 477

12.5.2样式的使用 480

12.5.3主题的使用 491

12.5.4地图的使用 500

12.6定义地图缓存 506

12.6.1USER_SDO_CACHED_MAPS视图 506

12.6.2使用MapViewer控制台来管理缓存 507

12.6.3创建新的地图缓存 508

12.6.4使用SQL创建地图缓存 510

12.6.5缓存数据格式 513

12.6.6导出缓存定义 513

12.6.7清除和刷新缓存内容 514

12.6.8使用外部数据源 514

12.7本章小结 518

第13章 在应用程序中使用地图 519

13.1MapViewer的APIs概述 519

13.1.1XML、Java、JSPs和PL/SQL 520

13.1.2JavaScript和Ajax:Oracle地图 521

13.1.3选择API 522

13.2剖析地图请求 523

13.2.1什么(what):应当展示在地图上的信息 523

13.2.2哪里(where):地图覆盖的地理区域 524

13.2.3怎样做(how):生成地图的格式和大小 525

13.3与地图进行交互 525

13.3.1控制的详细程度:放大和缩小 525

13.3.2控制地图上显示的区域:平移和重新计算中心 526

13.3.3特性的选择:识别 526

13.3.4选择要在地图上显示的信息:层控制 527

13.4Oracle地图:JavaScript API 527

13.4.1显示地图 528

13.4.2与地图交互:缩放和平移 530

13.4.3添加地图修饰 532

13.4.4添加通用修饰 532

13.4.5创建概况地图 533

13.4.6矩形(选取框)缩放 534

13.4.7添加动态信息:基于主题的FOI 536

13.4.8添加个体FOI 540

13.4.9控制样式 541

13.4.10捕获用户输入:工具和选择器 542

13.4.11事件响应 545

13.5使用Java API 547

13.5.1地图请求 547

13.5.2缩放和平移 550

13.5.3主题控制 553

13.5.4样式控制 557

13.5.5识别和查询 557

13.5.6动态特性 560

13.5.7图例 560

13.5.8地图修饰 562

13.5.9使用地图缓存 563

13.5.10发现数据源、地图、主题 564

13.5.11使用JSP标签 564

13.6使用XML API 569

13.6.1简单的地图请求 570

13.6.2为底图添加主题 572

13.6.3使用多个数据源 573

13.6.4从主题构建地图 574

13.6.5动态主题 575

13.6.6动态特性 578

13.6.7图例 581

13.6.8XML地图响应 582

13.7使用PL/SQL API 583

13.7.1安装API 584

13.7.2一个简单的示例 584

13.8使用管理性API 585

13.8.1浏览地图定义 586

13.8.2管理MapViewer服务器 588

13.8.3重启MapViewer 591

13.9网络地图服务(OGC WMS)接口 591

13.9.1GetCapabilities请求 591

13.9.2GetMap请求 593

13.9.3GetFeaturelnfo请求 595

13.9.4空间参照系统(SRS)映射 597

13.10本章小结 597

第Ⅴ部分 应用中的空间特性 601

第14章 应用程序示例 601

14.1数据准备和安装 602

14.1.1加载地理数据 602

14.1.2location-enabling应用程序数据 602

14.1.3加载地图、主题、样式并为MapViewer定义地图缓存器 603

14.2应用程序安装 603

14.3JavaScript应用程序 604

14.3.1应用程序纵览 604

14.3.2底层实现 608

14.4Java(JSP)应用程序 624

14.4.1应用程序纵览 624

14.4.2底层实现 631

14.5本章小结 644

第15章 案例研究 645

15.1案例研究概述 645

15.2用于管理伦敦公共汽车网络的空间信息 646

15.2.1BusNet 647

15.2.2BusNet中的空间数据和Oracle Spatial 648

15.2.3BusNet中空间数据的用户界面 650

15.2.4BusNet总结 652

15.3P-Info:一个供警察部门使用的移动应用程序 653

15.3.1P-Info的功能 654

15.3.2P-Info体系结构 655

15.3.3在P-Info中使用Oracle Spatial 657

15.3.4P-Info的可度量的附加值 659

15.4Risk Repository for Hazardous Substances系统 660

15.4.1RRGS技术 662

15.4.2在RRGS中使用Oracle Spatial 663

15.4.3从危险品到风险管理 665

15.5美国地质勘探局全国土地覆盖的可视化和分析工具 666

15.5.1美国地质勘探局的可视化和分析工具的体系结构 669

15.5.2美国地质勘探局可视化和分析工具中的Oracle Spatial 670

15.5.3USGS可视化和分析工具带来的好处 673

15.6美国国防部的MilitaryHOMEFRONT LBS系统 673

15.6.1MilitaryHOMEFRONT LBS的体系结构 675

15.6.2MilitaryHOMEFRONT中的Oracle Spatial 677

15.6.3移动Military INSTALLATIONS 681

15.6.4MilitaryHOMEFRONT LBS的好处 683

15.7本章小结 683

第16章 提示、常见失误和常见错误 685

16.1提示 685

16.1.1数据建模和数据装载 685

16.1.2空间查询操作符的性能 688

16.1.3其他空间处理函数的性能 692

16.1.4插入、删除、更新的性能 694

16.1.5关于空间索引扩展性和可操纵性的最佳实践 695

16.2常见失误 701

16.2.1测量数据的范围、经纬度和容差 701

16.2.2SDO_GEOMETRY的NULL值 702

16.2.3使用GEOCODE或GEOCODE_ALL 702

16.2.4在CREATE INDEX中指定“INDEXTYPE is mdsys.spatial_index” 702

16.2.5始终在WHERE子句中使用空间操作符 702

16.2.6没有有效的空间索引时请使用空间函数 702

16.2.7不要移动、导入或者复制MDRT表 704

16.2.8网络元数据 704

16.2.9地图元数据 705

16.3常见错误 705

16.3.1ORA-13226:没有空间索引接口将不被支持 705

16.3.2ORA-13203:读取USER_SDO_GEOM_METADATA视图失败 705

16.3.3ORA-13365:层的SRID与几何体的SRID不符 705

16.3.4ORA-13223:SDO_GEOM_METADATA中<table_name,column_name>的重复项 706

16.3.5ORA-13249,ORA-02289:不能撤销序列/表 706

16.3.6ORA-13249:sdo_index_metadata表有重复条目 706

16.3.7ORA-13207:不正确地使用<operator-name>操作符 707

16.3.8ORA-13000:维数超出范围 707

16.3.9ORA-00904:…无效的标识符 707

16.3.10ORA-00939:函数参数过多 707

16.3.11ORA-13030:SDO_GEOMETRY的维数无效或者ORA-13364:层维数与几何体维数不符 708

16.4本章小结 710

第Ⅵ部分 附录 713

附录A 其他一些空间分析函数 713

附录B 线性参考 725

附录C Oracle数据库中的拓扑数据模型 737

附录D Oracle中的栅格数据存储 751

附录E 在Oracle中使用点云和TIN进行三维建模 769