Go to content Go to navigation and search


Software Documentation


SQL Server

Oracle Objects (New)

Oracle Packages (Original)

Spatial Companion For Oracle (SC4O)


    PL/SQL Objects from "Applying and Extending Oracle Spatial"
    TESSELATE and CENTROID package updates
    Applying and Extending Oracle Spatial: Source Code Problem
    CENTROID package use with ESRI's sde.st_geometry
    Changes to CENTROID and TESSELATE packages
    CENTROID Package now returns centroid of multi-linestring
    New versions of PL/SQL packages uploaded
    VB6 Oracle Spatial or Locator OO4O code
    Spatial PL/SQL Packages by Example
    Catalog Registry Tool
    Image Catalog Tool
    Oracle Spatial PL/SQL and VB6 Source Code



RSS / Atom

Email me


Creative Commons License
All Blog Articles, Data Models and Free Source Code by Simon Greener, The SpatialDB Advisor is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

Applying and Extending Oracle Spatial: Source Code Problem

Sunday December 22 2013 at 04:23

KeywordsApplying and Extending Oracle Spatial Source Code Problem T_GEOMETRY

Applying and Extending Oracle Spatial Source Code Problem T_Geometry T_Vector T_Vertex etc.

Source Code

The source code for the T_GEOMETRY object which was released with my book “Applying and Extending Oracle Spatial” (co-authored with Dr Siva Ravada) is incorrect. The zip file code for chapters 6,7,8, 10 and 11 is draft code from an earlier stage of the book’s production. The final code (which include the vitally important “common” folder) was not released with the book.

I was made aware of this problem through a reader in Sweden who tried to compile the code from the wrong source.

I have requested an update of the code on the website.


The person who made me aware of the code problem can now compile the code and has compared the LRS functions within it with those offered by Oracle’s SDO_LRS package. In doing so a small error with the way the code handled 3D unmeasured lines was identified and corrected. The result is that the LRS code produces identical results to Oracle’s except that my code does not require on to measure the linestring before it is used: it will calculate measures etc based on the slope length of an unmeasured linestring.

Precision Model

The T_GEOMETRY object has a precision model such that one can set the tolerance of a sdo_geometry object and also its ordinate decimal digits of precision. For example, a geodetic/geographic sdo_geometry can have its tolerance set to 0.05 meters (as per the Oracle documentation for use in Oracle functions such as sdo_length) but it can also have its decimal units of precision set to something like 6 or 8 (one for both lat and long). The latter allows two ordinates or length values to be compared. The ST_Locate_Measure method was inconsistent in how it compared two numbers. This has been corrected in the updated source code.

Contact Me

If you think you have found a problem with the T_GEOMETRY code, please contact me directly via this site or my email address and I will examine and correct as required..

Creative Commons License

post this at del.icio.uspost this at Diggpost this at Technoratipost this at Redditpost this at Farkpost this at Yahoo! my webpost this at Windows Livepost this at Google Bookmarkspost this to Twitter