The Oracle Spatial User s Guide and Reference provides usage and reference information for indexing and storing spatial data and for developing spatial applications.Spatial requires Oracle 9i Enterprise Edition. Oracle 9i and Oracle 9i Enterprise Edition have the same basic features. However, several advanced features, such as extended data types, are available only with the Enterprise Edition, and some of these features are optional. For example, to use Oracle 9i table partitioning, you must have the Enterprise Edition and the Partitioning Option.For information about the differences between Oracle 9i and Oracle 9i Enterprise Edition and the features and options that are available to you, see Oracle 9i Database New Features. User’s Guide and Reference......Page 1 List of Examples......Page 13 List of Figures......Page 14 List of Tables......Page 16 Send Us Your Comments......Page 17 Audience......Page 19 Organization......Page 20 Changes for Release 9.0.1......Page 21 Conventions......Page 23 Accessibility of Code Examples in Documentation......Page 24 Part I Conceptual and Usage Information......Page 25 1.2 Object-Relational Model......Page 27 1.3 Introduction to Spatial Data......Page 28 1.4 Geometry Types......Page 29 1.5.3 Layer......Page 31 1.5.4 Coordinate System......Page 32 1.5.5 Tolerance......Page 33 1.6 Query Model......Page 35 1.7 Indexing of Spatial Data......Page 37 1.7.1 R-tree Indexing......Page 38 1.7.2 Quadtree Indexing......Page 40 1.8 Spatial Relations and Filtering......Page 46 1.9 Spatial Aggregate Functions......Page 49 1.9.1 SDOAGGRTYPE Object Type......Page 50 1.10 Performance and Tuning Information......Page 51 1.12 Examples......Page 52 2.1 Simple Example: Inserting, Indexing, and Querying Spatial Data......Page 53 2.2.1 SDO_GTYPE......Page 58 2.2.3 SDO_POINT......Page 60 2.2.4 SDO_ELEM_INFO......Page 61 2.2.5 SDO_ORDINATES......Page 65 2.3.1 Rectangle......Page 66 2.3.2 Polygon with a Hole......Page 67 2.3.3 Compound Line String......Page 70 2.3.4 Compound Polygon......Page 72 2.3.5 Type 0 (Zero) Element......Page 73 2.4 Geometry Metadata Structure......Page 76 2.4.3 DIMINFO......Page 77 2.5.1 Spatial Index Views......Page 78 2.5.2 Spatial Index Table Definition......Page 82 2.6 Unit of Measurement Support......Page 83 3.1.1 Bulk Loading SDO_GEOMETRY Objects......Page 85 3.1.2 Bulk Loading Point-Only Data in SDO_GEOMETRY Objects......Page 87 3.2 Transactional Insert Operations Using SQL......Page 88 3.2.1 Polygon with Hole......Page 89 3.2.2 Compound Line String......Page 91 3.2.3 Compound Polygon......Page 92 3.2.4 Compound Polygon with Holes......Page 94 3.2.5 Transactional Insertion of Point-Only Data......Page 95 4.1.1 Creating R-Tree Indexes......Page 97 4.1.3 Spatial Indexing with Fixed-Size Tiles (Quadtree Indexes)......Page 99 4.1.4 Constraining Data to a Geometry Type......Page 102 4.1.6 Using Partitioned Spatial Indexes......Page 103 4.2.2 Spatial Query......Page 106 4.2.4 Cross-Schema Operator Invocation......Page 114 5.1.2 Cartesian Coordinates......Page 117 5.1.8 Transformation......Page 118 5.2.2 Choosing a Geodetic or Projected Coordinate System......Page 119 5.2.3 Other Considerations and Requirements with Geodetic Data......Page 120 5.4 Coordinate Systems Data Structures......Page 121 5.4.1 MDSYS.CS_SRS Table......Page 122 5.4.3 MDSYS.SDO_DIST_UNITS Table......Page 126 5.4.4 MDSYS.SDO_DATUMS Table......Page 127 5.4.6 MDSYS.SDO_PROJECTIONS Table......Page 128 5.5 Creating a User-Defined Coordinate System......Page 129 5.7 Notes and Restrictions with Coordinate Systems Support......Page 130 5.8 Example of Coordinate System Transformation......Page 131 6.1 Terms and Concepts......Page 141 6.1.2 Shape Points......Page 142 6.1.5 Offset......Page 143 6.1.6 Measure Populating......Page 144 6.1.10 Linear Features......Page 146 6.2 LRS Data Model......Page 147 6.3 Indexing of LRS Data......Page 148 6.4 3D Formats of LRS Functions......Page 149 6.5.1 Defining a Geometric Segment......Page 150 6.5.2 Redefining a Geometric Segment......Page 151 6.5.3 Clipping a Geometric Segment......Page 152 6.5.5 Concatenating Geometric Segments......Page 153 6.5.6 Scaling a Geometric Segment......Page 155 6.5.7 Offsetting a Geometric Segment......Page 156 6.5.8 Locating a Point on a Geometric Segment......Page 157 6.5.9 Projecting a Point onto a Geometric Segment......Page 158 6.5.10 Converting Geometric Segments......Page 159 6.6 Example of LRS Functions......Page 160 7 Generic Geocoding Interface......Page 173 7.2 Generic Geocoding Client......Page 174 7.3 Geocoder Metadata......Page 175 7.3.1 Server Properties......Page 176 7.3.2 Geocoding Input and Output Specification......Page 177 7.5 Single-Record and Interactive Geocoding......Page 181 7.6 Java Geocoder Service Interface......Page 182 7.7 Enabling Third-Party Geocoders......Page 183 8.1 SDO_GEOMETRY Objects in User-Defined Type Definitions......Page 185 8.2 SDO_GEOMETRY Objects in Function-Based Indexes......Page 187 8.2.1 Example: Function with Standard Types......Page 188 8.2.2 Example: Function with User-Defined Object Type......Page 190 Part II Reference Information......Page 193 9 SQL Statements for Indexing......Page 195 ALTER INDEX......Page 196 ALTER INDEX REBUILD......Page 199 ALTER INDEX RENAME TO......Page 202 CREATE INDEX......Page 203 DROP INDEX......Page 209 10 SDO_GEOMETRY Object Type Methods......Page 211 GET_DIMS......Page 212 GET_GTYPE......Page 213 GET_LRS_DIM......Page 214 11 Spatial Operators......Page 215 SDO_FILTER......Page 216 SDO_NN......Page 220 SDO_NN_DISTANCE......Page 225 SDO_RELATE......Page 227 SDO_WITHIN_DISTANCE......Page 232 12 Geometry Functions......Page 235 SDO_GEOM.RELATE......Page 238 SDO_GEOM.SDO_ARC_DENSIFY......Page 241 SDO_GEOM.SDO_AREA......Page 244 SDO_GEOM.SDO_BUFFER......Page 246 SDO_GEOM.SDO_CENTROID......Page 250 SDO_GEOM.SDO_CONVEXHULL......Page 252 SDO_GEOM.SDO_DIFFERENCE......Page 254 SDO_GEOM.SDO_DISTANCE......Page 257 SDO_GEOM.SDO_INTERSECTION......Page 259 SDO_GEOM.SDO_LENGTH......Page 262 SDO_GEOM.SDO_MAX_MBR_ORDINATE......Page 265 SDO_GEOM.SDO_MBR......Page 267 SDO_GEOM.SDO_MIN_MBR_ORDINATE......Page 269 SDO_GEOM.SDO_POINTONSURFACE......Page 271 SDO_GEOM.SDO_UNION......Page 273 SDO_GEOM.SDO_XOR......Page 276 SDO_GEOM.VALIDATE_GEOMETRY......Page 279 SDO_GEOM.VALIDATE_LAYER......Page 282 SDO_GEOM.WITHIN_DISTANCE......Page 285 13 Spatial Aggregate Functions......Page 289 SDO_AGGR_CENTROID......Page 290 SDO_AGGR_CONVEXHULL......Page 292 SDO_AGGR_LRS_CONCAT......Page 293 SDO_AGGR_MBR......Page 295 SDO_AGGR_UNION......Page 296 14 Coordinate System Transformation Functions......Page 297 SDO_CS.TRANSFORM......Page 298 SDO_CS.TRANSFORM_LAYER......Page 301 SDO_CS.VIEWPORT_TRANSFORM......Page 303 15 Linear Referencing Functions......Page 307 SDO_LRS.CLIP_GEOM_SEGMENT......Page 311 SDO_LRS.CONCATENATE_GEOM_SEGMENTS......Page 313 SDO_LRS.CONNECTED_GEOM_SEGMENTS......Page 316 SDO_LRS.CONVERT_TO_LRS_DIM_ARRAY......Page 318 SDO_LRS.CONVERT_TO_LRS_GEOM......Page 321 SDO_LRS.CONVERT_TO_LRS_LAYER......Page 324 SDO_LRS.CONVERT_TO_STD_DIM_ARRAY......Page 327 SDO_LRS.CONVERT_TO_STD_GEOM......Page 329 SDO_LRS.CONVERT_TO_STD_LAYER......Page 331 SDO_LRS.DEFINE_GEOM_SEGMENT......Page 333 SDO_LRS.DYNAMIC_SEGMENT......Page 336 SDO_LRS.FIND_LRS_DIM_POS......Page 338 SDO_LRS.FIND_MEASURE......Page 339 SDO_LRS.GEOM_SEGMENT_END_MEASURE......Page 341 SDO_LRS.GEOM_SEGMENT_END_PT......Page 343 SDO_LRS.GEOM_SEGMENT_LENGTH......Page 345 SDO_LRS.GEOM_SEGMENT_START_MEASURE......Page 347 SDO_LRS.GEOM_SEGMENT_START_PT......Page 349 SDO_LRS.GET_MEASURE......Page 351 SDO_LRS.IS_GEOM_SEGMENT_DEFINED......Page 353 SDO_LRS.IS_MEASURE_DECREASING......Page 355 SDO_LRS.IS_MEASURE_INCREASING......Page 357 SDO_LRS.LOCATE_PT......Page 359 SDO_LRS.MEASURE_RANGE......Page 361 SDO_LRS.MEASURE_TO_PERCENTAGE......Page 363 SDO_LRS.OFFSET_GEOM_SEGMENT......Page 365 SDO_LRS.PERCENTAGE_TO_MEASURE......Page 369 SDO_LRS.PROJECT_PT......Page 371 SDO_LRS.REDEFINE_GEOM_SEGMENT......Page 373 SDO_LRS.RESET_MEASURE......Page 376 SDO_LRS.REVERSE_GEOMETRY......Page 378 SDO_LRS.REVERSE_MEASURE......Page 380 SDO_LRS.SCALE_GEOM_SEGMENT......Page 382 SDO_LRS.SET_PT_MEASURE......Page 385 SDO_LRS.SPLIT_GEOM_SEGMENT......Page 388 SDO_LRS.TRANSLATE_MEASURE......Page 391 SDO_LRS.VALID_GEOM_SEGMENT......Page 393 SDO_LRS.VALID_LRS_PT......Page 395 SDO_LRS.VALID_MEASURE......Page 397 SDO_LRS.VALIDATE_LRS_GEOMETRY......Page 399 16 Migration Procedures......Page 401 SDO_MIGRATE.FROM_815_TO_81X......Page 402 SDO_MIGRATE.OGIS_METADATA_FROM......Page 404 SDO_MIGRATE.OGIS_METADATA_TO......Page 405 SDO_MIGRATE.TO_734......Page 406 SDO_MIGRATE.TO_81X......Page 408 SDO_MIGRATE.TO_CURRENT......Page 411 17 Tuning Functions and Procedures......Page 415 SDO_TUNE.ANALYZE_RTREE......Page 417 SDO_TUNE.AVERAGE_MBR......Page 419 SDO_TUNE.ESTIMATE_INDEX_PERFORMANCE......Page 421 SDO_TUNE.ESTIMATE_TILING_LEVEL......Page 424 SDO_TUNE.ESTIMATE_TILING_TIME......Page 426 SDO_TUNE.ESTIMATE_TOTAL_NUMTILES......Page 428 SDO_TUNE.EXTENT_OF......Page 431 SDO_TUNE.HISTOGRAM_ANALYSIS......Page 433 SDO_TUNE.MIX_INFO......Page 435 SDO_TUNE.QUALITY_DEGRADATION......Page 437 SDO_TUNE.RTREE_QUALITY......Page 439 A.1 Introduction......Page 441 A.2 Installation of Spatial......Page 442 A.4 Migrating from Spatial Release 8.1.5, 8.1.6, or 8.1.7......Page 443 A.5 LRS Data Migration......Page 444 B Hybrid Indexing......Page 445 B.1 Creating a Hybrid Index......Page 448 B.2 Tuning Considerations with Hybrid Indexes......Page 449 C Locator......Page 451 Glossary......Page 453 Index......Page 463