Go to content Go to navigation and search

Home

Free Software Download

Download Code, Packages and Installers

Object Documentation

Package Documentation

CENTROID
COGO
EXPORTER
GEOM
KML
NETWORK
SDO_ERROR
Spatial Companion For Oracle (SC4O)
TOOLS

Articles

    New versions of LINEAR, CENTROID and GEOM etc packages
    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
    New Release of Free PL/SQL Packages
    New version of PL/SQL packages released
    New Version PL/SQL Spatial packages released
    New PL/SQL Package Upload
    PL/SQL Spatial Types and Packages
    Update to PL/SQL Packages
    New PL/SQL Packages
    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


Search

Browse

RSS / Atom

Email me

textpattern

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.

VB6 Oracle Spatial or Locator OO4O code

Monday January 01 2007 at 09:55

I have just uploaded a radically revised and improved VB6 code for accessing Oracle Spatial or Locator.

In revising the code I came to appreciated something the Catholic priest who married my wife and I once said to me: “True scholarship requires leisure”. I have had the lesiure to revise the code and am horrified by what was in the previous code. Though well intentioned, I simply did not have the time to address, in a systematic fashion, all aspects of squeezing the maximum performance out of a set of code to access Sdo_Geometry data in VB6. (I will convert the code to VB.NET but not yet!).

From the history notes of the library here are some highlights:

  • Modified code to bring back in some improvements from PL/SQL port.
  • Added Tolerance Property and ObjectTolerances() function to set its values.
  • included support for min_resolution parameter in Sdo_Filter/FindFirst
  • Overhauled asPoint, asMultiPoint, asPolyline and asPolygon routines to improve readibility and speed
  • Upped default lFetchArrayBufferSize to 524288 bytes
  • Added ObjectTolerances routine to extract sdo_tolerance from XXX_SDO_GEOM_METADATA views
  • Some type and object name changes
  • Modified implementation of mobjGF.isNull()
  • Fixed bug with converting circle/circulararc to vertex-connected segments when ArcToChord value is large
  • Fixed handling of 3D data
  • Added ability to output shape data as ADFText/EWKT via FindFirst/MoveNext and mobjGF.AsString
  • Cleaned up object memory handling in some routines
  • Removed setting mutLayerProperties.layerMBR in ObjectExtent()
  • Simplified setting of all SQL properties and moved all checking of rules and combinations in the BuildSQL function.
  • Removed support for group by, order by and having clauses to reduce complexity (can be used via the directly setting a complete SQL statement.
  • Recreated separate CGeometryFactory class from the GF_ inline code. Involved splitting out of SQL SELECT field indexes from actual sdo_geometry data in mutGeomUDTFields
  • Implemented use of ErrorHandler resource strings in error/warnings.
  • Replaced ORADYN_READONLY with ORADYN_NOCACHE to improve read performance and reduce memory use.
  • Improved dynaset processing efficiency by implementing performance tip”Avoiding Multiple Object Reference” in OO4O documentation
  • Simplified handling of optional extent in FindFirst
  • Added Parameter support to FindFirst in order to improve cursor sharing on database server
  • Made actual FindFirst modified query a returnable property to aid client debugging
  • Load error messages on layer startup

Also, added lots more tests to the LibTest.vbp project.

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

Comment [1]

Hi Simon
your article looks fantastic! & am a newbee to store procedure via VB6 and looking forward to learn from you about the vb6 & Oracle OO4O concept .So can you please share the VB6 codes & the concepts behind. This will really help to improvise my understanding OO4O thru VB6.Thanks

Regards
Prabhu Senthil

— Prabhu · 26 January 2015, 10:21 · #

META HTTP-EQUIV=