About oracle spatial

Hi,
I'm new to this oracle spatial.I want to use relational model of oracle spatial.In that I read that I need to create 4 tables(layer,dim,index,geom).And then I've to populate index table using sdo_admin.populate_index.But when I do this I'm getting error as "No data found".Actually I inserted one row in each table.Where can I find some examples regarding oracle spatial(relational model,not object relational) ?In technet.oracle.com/product/spatial I found samples but they use object relational model.
Can any one help m with this ?
Thank you.
null

Hi,
Does anyone working with relational model of spatial ? If so please share some info .What is the better approach in creating SDOGEOM table .I know that I can create a table with all the coordinates as sepearte columns,when creating a polygon.Or I can use only x1,y1,x2,y2 columns and repeate them.Like
GID x1 y1 x2 y2
1 1 2 3 4
1 3 4 5 6
1 5 6 7 8
1 7 8 1 2
Some thing like the above.
GID x1 y1 x2 y2 x3 y3 x4 y4 x1 y1
What is the better approach ?Can any one help me ?
TIA,
KKR

Similar Messages

  • About oracle spatial development platform

    Dear sir:
    At present,I can set the spatial data with oracle spatial in Oracle dba 11g,and can view map throught IE with Javascript API.But is there any oracle spatial development platform.With it ,I can drag the visual module(as:JavascriptAPI) to finish the Web page edition.Like ArcGIS,they supply them(as:throuht visual studio,asp.net API).
    Can you show me the way to get it?
    Looking forward your reply.
    Thanks your attention.
    dongrui

    Hi,
    It sounds like you are using Oracle Maps - i.e. the javascript API of Oracle MapViewer. In that case you are better off posting on the MapViewer forum:
    MapViewer
    As for looking for a development environment, JDeveloper is likely to be your best bet for integration, but that really depends on what type of application are you developing? Is it Oracle APEX? BI? ADF? .NET? etc.
    John

  • Oracle Spatial & Fusion MiddleWare MapViewer at Oracle OpenWorld

    If you happen to be attended OOW next week you will see a very large presence for our products. hands on labs, sessions, demos ...
    Look for us at Business Intelligence,Oracle Utilities, DigitalGlobe, Navteq, KPI Partners, and GE.
    Hope to meet some of you at the demo booth.
    thanks
    Steve
    Session ID      Session Title     Speaker(s)     Date/Time     Venue/Room      Presentation
    11 Record(s) Found
    S292934     IOUG Spatial SIG: Public Sector Geospatial Architecture built on the Oracle technology stack     Kevin Kelley, Cuyahoga County     Sunday 11/11/200710:00 AM - 11:30 AM     Moscone West2008 - L2                         
    S291477     Building Google-Like Map-Based Applications with Oracle Spatial 11g, Oracle MapViewer, and Oracle JDeveloper Application Development Framework Components     Jean Ihm, Oracle; Ji Yang, Oracle     Monday 11/12/200712:30 PM - 1:30 PM     HiltonContinental Ballroom 4                         
    S291480     Everything You Ever Wanted to Know About Oracle Spatial 11g and Oracle Fusion Middleware MapViewer     Steve Serra, Oracle; James Steiner, Oracle     Monday 11/12/200712:30 PM - 1:30 PM     Moscone South304                         
    S291479     Building Map-Based Business Intelligence Dashboards, Using Oracle Spatial 11g, Oracle Business Intelligence Enterprise Edition, and Oracle MapViewer     David Lapp, Oracle; Jayant Sharma, Oracle     Monday 11/12/20073:15 PM - 4:15 PM     HiltonContinental Ballroom 4                         
    S292299     Developing a Next-Generation Utility Network Management System with Oracle Database and Oracle Fusion Middleware      Robert Laudati, General Electric; James Steiner, Oracle     Monday 11/12/20074:45 PM - 5:45 PM     Westin SF Market StreetCity Room                         
    S293026     Oracle Utilities Work and Asset Management: Oracle Geospatial and Map Viewer--New Technology and a New Option      Rob Book, Oracle; Pat Caldwell, Oracle; Barry DeMartini, Oracle     Tuesday 11/13/20078:00 AM - 9:00 AM     Westin SF Market StreetFranciscan II                         
    S291563     Developing 3-D City Models with Oracle Spatial 11g and Google Earth      Ravi Kothuri, Oracle; Xavier Lopez, Oracle     Tuesday 11/13/20073:15 PM - 4:15 PM     HiltonContinental Parlor 9                         
    S291569     Building Secure Spatial Web Services, Using Oracle Spatial 11g and Oracle JDeveloper     Raja Chatterjee, Oracle; Jayant Sharma, Oracle     Tuesday 11/13/20074:45 PM - 5:45 PM     HiltonContinental Parlor 9                         
    S291628     Bridging the IT/OT Gap in Utilities, Using Oracle Technology and Spatial Capabilities      Ivan Albertini, Oracle; Tim Armitage, Oracle Corpration Australia Pty Ltd     Tuesday 11/13/20074:45 PM - 5:45 PM     Westin SF Market StreetStanford                         
    S291509     Oracle Spatial Best Practices and Tuning Tips for DBAs and Developers     Daniel Geringer, Oracle     Wednesday 11/14/200711:15 AM - 12:15 PM     Moscone South200 & 212                          
    S292598     Practical Application: GIS Mapping and Visualizations Integrated with Oracle Business Intelligence Enterprise Edition     Jerry Conrad, Oracle     Wednesday 11/14/200711:15 AM - 12:15 PM     Moscone West3022 - L3

    for more updates to schedule check out the main Spatial page.
    http://www.oracle.com/technology/products/spatial

  • Oracle Spatial explained!?

    Can anyone tell me in layman terms about Oracle Spatial please? I know it's a feature to help GIS solutions but can someone define this for a novice such as myself?
    Thanks, Ian Bennett

    I have not actually used Oracle Spatial, but I do have some experience with GIS solutions. What I do know is that Oracle Spatial provides capabilities designed to more easily deal with geometric data types, such as shapes, lines and points. Functionality which would be difficult to achieve with standard data types is optimized (for example, the ability to query all customers within a 10 mile radius of a known location). Another common component of GIS systems is geocoding (converting an address to a geographic coordinate like latitude / longitude).
    <BR><BR>
    I suggest reading the Oracle Spatial User's Guide

  • Oracle Spatial Information?

    we are planing to use oracle spatial in oracle 10g release 2.For this feature where i can find the information related to its licence,Hardware requirements and about oracle spatial architecture.
    Thank You All...

    Oracle Spatial is an Enterprise Edition option only, Oracle Locator a free subset available in all editions. Please address licence questions to your sales representative,you won't get here an official answer,what exactly you have to pay.
    I don't see any specific hardware issues for Spatial.
    Spatial architecture is explained in the docs:
    http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14255/toc.htm
    Werner

  • ORACLE SPATIAL  CONFERENCES

    Hi,
    does anyone can inform me about Oracle Spatial Conferences or meetings
    around the world for the next year?
    Thanks
    Akis

    Oracle Spatial SIG Meeting in UK
    http://www.ukoug.org/calendar/show_event.jsp?id=2823
    Oracle Spatial User Conference, Texas USA
    http://www.gita.org/events/annual/30/Oracle-callforpapers.htm
    There's probably something on in Australia too similar to....
    http://www.oracle.com/technology/products/spatial/htdocs/au_spatial_forum/au_melbourne06_present.html

  • Loading shapefiles into Oracle Spatial

    Fellow Oracle Spatiallers!
    Currently we edit Oracle Spatial data by checking data out into a shapefile,
    making our changes off-line, and reloading the shapefile back into Oracle.
    Instead of using the Oracle Spatial supplied tool, we decided to purchase
    a utility called the "Spatial Loader" from a company called Geometry Pty Ltd
    (http://www.geometryit.com). There are a number of reasons why we decided to
    go that way which might become evident from the command line parameters of
    this utility:
    Usage: Shp2Spt [Arguments] [Options]
    OR
    Usage: Java com.geometryit.spatialloader.oracle.AdvancedJavaSpatialTranslator [Arguments] [Options]
    [Arguments] must specify these values:
    -o create
    type of operation to perform
    create creates a new table, must not exist already
    recreate creates a new table, may exist already
    init drops existing table, creates a new one
    append appends data onto existing table
    -f <shape_file>
    the shape file or project to translate
    -l <table,column>
    target table and column for the geometry data
    -D <database>
    target database name
    -u <username>
    username for RDBMS
    -p <password>
    password for RDBMS
    [Options] values are not necessarily required:
    -s <server_name>
    name of server with database
    -port <port_number>
    the port to connect to on the server
    -ufi <column_name>
    specify the name of the UFI field (unique ID)
    -seq <sequence_name>
    specify the sequence to use for the spatial data unique IDs
    -a none
    attributes mode
    none no attributes will be transferred
    all all attribtues will be transfered as found
    file= file containing lines of the form:
    <shape_attribute><space/tab><rdbms_column>
    where
    <shape_attribute> selects the column to be output
    <rdbms_column> name of the column in RDBMS
    -srid <id>
    specify the Spatial Reference ID for the spatial data
    (this must be set to use Spatial Reference Transformations)
    -i [<level>] or -i rtree
    create an index for the generated table
    the <level> parameter is an optional integer
    representing the depth of the quadtree created
    if rtree is specified, the index created will be
    an rtree
    -c <commit_interval>
    number of rows to commit after
    -t <tolerance>
    tolerance value for metadata
    -r none
    used to determine number of decimal places to round vertices to
    if you use the tolerance-parameter option, specify the -t parameter before -r
    -igc
    ignore geometry collections
    -sgc
    split geometry collections
    -sgd f
    split geometry direction [forward | reverse]
    -update-metadata <true/false>
    update the Oracle Spatial Metadata table after loading data
    -validate <true/false>
    perform Oracle Spatial validation after loading data
    -v
    verbose mode on
    -h or -?
    display this help message
    The main things I like about this tool are:
    1. One step (no conversion to sqlloader form followed by a call to the sqlloader).
    2. The ability to round the coordinates of the shapes in the shapefile by applying
    the XY tolerance values held in the SDO_GEOM_METADATA table.
    This is quite important because our editing package - due to double/single precision
    issues - can actually move coordinates but those movements are sub the precision of
    the actual data. By rounding to the nominate precision we can detect situations where
    no actual change to the shape (and its attributes) was made and thus not create superfluous
    revisions within the database.
    3. It will correctly re-wind the coordinates of the outer/inner shells of polygons. This is
    important as ESRI shapefiles are agnostic on the winding order: an outer shell coordinates
    can be listed in either clockwise or anti-clockwise order.
    4. You can specify the primary key (UFI) column (numeric) and an Oracle Sequence number such
    that each new shape loaded can have its UFI assigned from that sequence.
    Because of this flexibility, and the excellent support (it is a purchasable product) from the
    developers, I can heartily recommend this loader to fellow Spatiallers. It is worth every
    penny I spent on it. Try the free version on their website and if, like me, you like it,
    purchase it!
    regards
    Simon

    Hi Shuan,
    As part of the zip file created for the next training course to be posted for Oracle Spatial on OTN (within the next few weeks) there is a free (unsupported, undocumented) version of a shape to sdo converter. This should work, but it is unsupported. It will create a layer that then needs to be migrated into 8.1.6 format.
    If you need it quite soon send email to [email protected] and I can get it to you.
    Hope this helps,
    dan

  • Help define the requirements for an Oracle Spatial management tool

    Hi,
    We are developing a tool that, we hope, will be indispensable for all Oracle Spatial and Locator dbas/users. We've released version 1.0, but we need your help to define the requirements for the next version.
    What features would you like to have in a management tool for your spatial databases?
    The features we've got so far:
    1. Viewing of vector data in a map + attributes
    2. Loading from shapefiles
    3. Exporting to shapefiles
    4. Validating metadata, indexes and spatial data.
    We are adding editing of vectors in the next version - basic stuff for add, update and delete.
    But there must be a lot more. What do you find difficult to do in Oracle Spatial/Locator? What would you like in a tool such as this?
    Any feedback either to myself or the forum is much appreciated.
    cheers,
    Andrew
    [email protected]
    PS If you like to have a look at what we have done so far, go to http://www.geometryit.com/products/spatialConsole.php

    Andrew knows what I have asked for but for others to think about and to start
    the ball rolling, here's what they are:
    1. Ability to enter own SQL commands but with PARAMETERS for attributes
    and shapes as in the following examples:
    SELECT ...
    FROM my_spatial_table a
    WHERE a.ATTRIBUTE = :attr
    AND MDSYS.SDO_RELATE(a.shape,:polygon,'mask=anyinteract') = 'TRUE'
    When executed the attribute value is asked for via a input box (data type?)
    and the user is asked to define the SDO_GEOMETRY for the :polgygon parameter via mouse clicks on the screen.
    Similarly, this would work for INSERT, UPDATE and DELETE...
    INSERT INTO my_spatial_table (shape) values(:polygon)
    The data type of an attribute parameter could be determined in two ways:
    a) By querying the Oracle catalog;
    b) By using a "PARAMETERS" command before the query as follows
    PARAMETERS name type [(size)] [, name type [(size)] ...]
    The PARAMETERS declaration has these parts:
    name     The name of the parameter.
    type     The type of the parameter.
    size     The size of the parameter in characters or bytes.
    2. When executing an SQL SELECT statement I would like the tool
    to suggest the HINTS that are needed to improve performance.
    3. Following on from 2, I would like to Tick an option that would return the
    EXPLAIN PLAN that the query optimizer used when executing my query.
    4. The tool has to support ALL Oracle's spatial vector data types.
    5. It would be nice to be able to work with GeoRasters. Since Spatial Console
    imports/exports shapefiles why not the same for rasters. However, the problem
    with supporting foreign data formats is WHERE DO YOU STOP!!!!!
    6. You could allow for the styling of the Spatial Console to be stored in the MapViewer catalogs or use the MapViewer catalogs when styling an Sdo_Geometry if it exists (I note that your tool extracts the SDO_METADATA
    why not the MapViewer metadata as well)?
    regards
    S.

  • Oracle Spatial User Conference  - GITA Conference Seattle

    http://www.gita.org/events/annual/31/Oracle.asp
    Oracle Spatial User Conference
    Please note that online registration for this event is now closed.
    Thursday, March 13, 2008
    Sheraton Seattle Hotel
    1400 6th Avenue
    Seattle, Washington USA
    GITA invites you to attend the Oracle Spatial Users Conference. If you are currently a user, solutions provider, or systems integrator who depends upon Oracle’s spatial technologies, or if you want to learn why thousands of organizations use Oracle’s spatial database and application server capabilities, this is one event you won’t want to miss.
    Learn about the latest Oracle geospatial technologies and the business and technical benefits they provide as users, solutions providers and Oracle executives share real world experience with the world's most widely used geospatial information technology platform.
    More details will be posted soon—sign up for e-mail updates today!
    ORACLE SPATIAL USER CONFERENCE AT GITA
    Thursday, March 13, 2008—Seattle, Washington
    Preliminary Agenda
    Please check back for updates in the future. This agenda is subject to change.
    Feb. 12 Update: Complete user sessions schedule and abstracts posted
    Wednesday, March 12
    6:00 – 8:30 p.m.      Oracle Spatial User Conference Reception — Cirrus Ballroom, Sheraton Seattle Hotel
    Open to registered & paid user conference attendees only. Registration will be available at the door.
    Thursday, March 13
    8:00 – 8:30 a.m.
    Oracle Spatial Special Interest Group Meeting
    8:30 – 9:00 a.m.      Welcome – Oracle
    9:00 – 10:30 a.m.
    Maps in Business Solutions and Applications (Jayant Sharma)
    * Fusion Middleware and BI
    * OGC Web Services
    * Work and Asset Management
    * Mobile Workforce Management
    10:30 – 11:00 a.m.
    Break
    11:00 a.m. – Noon
    Oracle Spatial 11g – Technical Overview (Siva Ravada)
    * What’s Better?
    * What’s New?
    * What Would You Like To See?
    12:00 – 1:30 p.m.
    Award Luncheon
    1:30 – 3:00 p.m.
    TECHNICAL USE CASES – USER SESSIONS
    Track A
    Mapping & Business Intelligence Applications in Insurance and Retail
    Audatex Insight: Claims Analytics with Oracle Business Intelligence Enterprise Edition and Oracle MapViewer
    Yasser Kanoun, Principal Consultant, KPI Partners
    Sally Suico, Audatex
    Audatex Insight is a claim analytics application that presents automobile claims data in graphical and geographical views for management decision support.
    This presentation describes how the integration of Oracle MapViewer with OBIEE dashboards allowed Audatex to display claim analytics geographically. For instance, a user can view the average cost of car repair variance, for a specific insurance company compared to whole industry, on US map at desired geographical levels.
    CatPortal's LocWizard: An Innovative Approach to Mapping Insurance Risk Intelligence and Enabling Faster Decision Making
    Guru Rao, President, Catastrophe Systems,
    Aon Re Services, Inc.
    Deepak Badoni, Vice President, Catastrophe Systems, Aon Re Services, Inc.
    Instant access to policy and location level insurance data is one of the keys to faster decision making during and after a catastrophe event. Using Oracle Business Intelligence Enterprise Edition and Oracle MapViewer, Aon Re Global has developed an industry leading business intelligence and mapping tool that allows users to seamlessly navigate between reports and maps.
    The design was driven entirely by their clients’ need to answer key questions about their exposures and losses to catastrophes. The system uses a blend of custom programming and out-of-the-box functionality to create an interface that allows users to create powerful visualizations and reports with a few mouse-clicks – which previously took days, even weeks of manual effort.
    Unobtrusive Spatial Enablement of the Oracle Business Intelligence Suite at RL Polk
    Steven Pierce, Principal, Johnston McLamb
    Robert Murray, Technical Product Manager, RL Polk
    This presentation will describe RL Polk’s approach to integrating Oracle MapViewer into Oracle Business Intelligence Suite using Oracle MapViewer's Non-Spatial Data Provider. The NSDP brought an elegant and efficient approach to integrating spatial and non-spatial data in real time.
    Track B
    Oracle Spatial in Public Sector
    Maximizing the Value of Cuyahoga County-Wide GIS Using Oracle Spatial and Oracle Fusion Middleware
    J. Kevin Kelley, Geospatial Information Officer, Cuyahoga County
    G. Patrick Zhu, Software Systems Developer,Michael Baker Corporation
    Discover how to leverage Oracle Spatial and Fusion Middleware technologies to solve current complex county-wide Geospatial needs. Cuyahoga is implementing a cutting-edge architecture to support Grid computing, service-oriented architecture (SOA) and event-driven architecture (EDA) that delivers unprecedented flexibility, performance and scalability.
    Web Mapping with Microsoft Virtual Earth and Oracle 10g in U.S. EPA's Grant Tracking Systems
    Trevor Quinn, Principal Developer, Systalex Corporation
    This presentation details how a U.S. EPA enterprise web application was "geo-enabled" using Microsoft Virtual Earth and Oracle Application Express, and how the back-end Oracle 10g database was transformed into a spatial data engine for Virtual Earth. The presentation demonstrates how to make Oracle MapViewer maps available to commercial mapping APIs as cached tiles, and describes how to serve feature data directly from the database to Virtual Earth using AJAX and PL/SQL.
    Automatic Vehicles Monitoring System at Cotral
    Giovanni Corcione, Sales Consultant, Oracle Italy
    Paolo Castagno, Principal Consultant, Oracle Italy
    Diego Ponzi, Production Monitoring- Innovation Manager, Cotral SPA
    The Automatic Vehicles Monitoring (AVM) system at Cotral SPA monitors a fleet of 1600 buses that take about 4600 trips per day on a "near real time" basis. Through GPRS/HTTP, buses send information such as position, events, alarms, timing, schedule to a central system for storage and analysis in the Spatial Data Infrastructure, based on Oracle Spatial, for bus monitoring, mapping, reporting and trip planning. With Oracle’s linear referencing, buses can be located and displayed in real time. The Oracle MapViewer browser front-end renders interactive maps with dynamic bus positions according to routes and bus stop positions. A demo will be shown.
    3:00 – 3:30 p.m.
    Break / Vendor Booths
    3:30 – 5:15 p.m.
    TECHNICAL USE CASES – USER SESSIONS
    Track A
    Utilities Case Studies
    A Case Study: Re-engineering Cable Industry Business Processes with Spatial Database Technologies
    Dennis Beck, President, Spatial Business Systems
    This presentation highlights how a suite of customer-service related business applications are being deployed to change cable industry. An overview of the key design criteria will be presented along with highlights of the technical challenges that were faced in building a large-scale set of applications. Details of the applications will be highlighted as well as an overview of the technical implementation considerations and challenges. The presentation will conclude with a demonstration.
    Web based geospatial business applications - embedding the CAD/GIS client
    Philip O'Doherty, CEO, eSpatial Inc.
    Jon Polay, VP Sales, eSpatial Inc.
    This talk looks at the emerging drive towards development of geospatial GIS/CAD features within web enabled business applications. It has always been a goal to embed CAD like capabilities within business applications, but it is only recently that the required database and software infrastructure has made this possible. Leading Wireless Telecommunications Company, Verizon, will present its VEGA Application. This demo includes CAD data editing and manipulation features, seamlessly provided as an end to end process, all accessible within a pure web browser.
    Foundations of the New Enterprise: Managing Critical Business Data using Oracle Spatial
    Justin Lokitz, Director of Sales Engineering Organization Leica Geosystems Geospatial Imaging
    Washington Suburban Sanitary Commission (WSSC) is among the top ten Water and Waste Water utilities in the United States. Early on, to support its business needs with regards to geospatial data, WSSC had built a system using software from many traditional GIS vendors that lacked integration and support for many vital business processes. In 2006 WSSC moved all enterprise data to Oracle Spatial (vector and raster data) and implemented the Leica Geosystems' ADE suite.
    Modeling Utility Networks with Oracle Spatial Network Data Model
    Peter Manskopf, Senior Consultant, GE Energy
    The capabilities in Oracle Spatial allowed GE to build its next generation GIS client using Oracle Spatial as the data repository. The Oracle Spatial network data model provides the primitive spatial data structures required to model and meet the complex needs of utility customers. This presentation will give a technical overview how an electrical utility network can be modeled using the Oracle network topology model. The presentation will cover: How Oracle Spatial data structures can be used to model a connected utility network. How the SDO_NET API is used to perform different types of network tracing crucial to utilities. A demo will show the GE client performing network operations on Oracle Spatial.
         Track B
    Oracle Spatial in Public Sector & Map Production
    Using Oracle Spatial and MapViewer for Evaluation of Urban Area Development in Brazil
    Andre Luis Carvalho da Motta e Silva, Stategical Projects Director, CODEPLAN
    Gustavo Neves de Andrade Lemes, Consultant, Sete Serviços
    Fernando Targa, Development Director, GEMPI
    To meet information demand concerning income and job generation programs implemented by Brazil’s Federal District Economic Development Office (SDE), the Federal District Planning Company developed the Urban Areas Management System (SIGAU). Local areas are evaluated through performance indexes that take into account urban features, land plot, block and district, and analysis/simulation of a large volume of data from many governmental offices and systems. Thematic maps enable follow up and decision making on current programs. Oracle Spatial, GeoRaster and MapViewer provide a safe, high performance implementation platform. A demo will be shown.
    Creation, Publication & Update of Maps out of Databases
    Sebastien Lanoe, Product Marketing Manager, Lorienne SA
    The production of maps out of GIS databases is often a challenging process. Lorienne innovates with a new map production environment for map creation, map publication and map updates from Oracle Spatial, with a focus on high quality, production cost, data integrity and diversification of map products across media. The case study with Tele Atlas data stored in Oracle Spatial will address the benefits, the level of quality, the efficiency of the production process and its dedicated user-friendly environment.
    Reengineering Desktop Thick Workgroups into Web
    Rich Enterprise Clients
    Bryan Hall, Spatial Architect, L-3 Communications
    Jeff Walawender, Senior Software Engineer, L-3 Communications
    Cost cutting requires reengineering spatial solutions to directly address business requirements. But enterprise computing for spatial data has, with even "Web 2.0", required the user to lose the responsiveness and feedback that traditional desktop thick client GIS software has provided. We took a different approach in the re-engineering effort and concentrated on making it work as much like a traditional desktop thick client - while simplifying use, making editing more reliable, and actually speeding up rendering. All this, while only supporting one versioned Oracle Spatial database, and application tier for all users.
    Complete eGovernment solution at City of Bolzano
    Stefan Putzer, CreaForm
    Giulio Lavoriero, Director of Engineering, CreaForm
    The City of Bolzano, Italy has a unique, complete editing and publishing environment for geographical data. The Oracle Spatial-based enterprise editing environment supports import and export into geospatial tools from Bentley and ESRI, and network modeling from Oracle Spatial. Data is shared with GeoJAX, an easy-to-use geographical web browser that uses the Oracle MapViewer framework in combination with J2EE and AJAX for browsing Oracle Spatial data. This provides a flexible viewer supports spatial queries, and can be fully customized (style and functionality). Users can easily import any kind of geographical data from an ESRI file, edit it with a CAD precision functionality and make those data visible to anyone via the web in a very short time.
    5:00 – 5:30 p.m.
    Closing Reception
    Questions about the Oracle Spatial Users Conference? Contact us!
    Phone: 303-337-0513 Fax: 303-337-1001 E-mail: [email protected]

    Hi:
    Some updates regarding the Oracle Spatial User Conference 2008.
    1 - Presentations are now available at
    http://www.oracle.com/technology/products/spatial/htdocs/spatial_conf_0803_idx.html
    All submitted presentations have been posted except for the 3:30 track B slides. Those will be available in a day or two.
    2 - Survey for Conference Attendees: If you attended the conference, please take a few minutes to complete the brief survey: http://www.zoomerang.com/Survey/survey-intro.zgi?p=WEB227LQXQUMMD.
    Take the survey by April 2 to be entered in a random drawing to receive a copy of the Pro Oracle Spatial for Oracle Database 11g book. We'll also give away 10 GITA shoulder bags.
    Thanks to the speakers, sponsors, and participants for a great conference!

  • Oracle Spatial book sample application

    Hi all,
    On Monday I received the Oracle Spatial book and I would like to post a topic about it. First of all I would like to congratulate the authors for their huge effort doing this excellent book. I think it will be very useful to the people that works with Spatial.
    Next, my question is about the sample application showed in chapter 12 (SampleApplication.jsp). I run correctly mapviewer in my server and I can do the other examples, nevertheless when I want to start this application I recieve this error message about 'jdbc/spatial10g not found' in my web browser:
    500 Internal Server Error
    javax.naming.NameNotFoundException: jdbc/spatial10g not found
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.rmi.RMIContext.lookup(RMIContext.java:149)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.ApplicationContext.lookup(ApplicationContext.java:248)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.ApplicationContext.lookup(ApplicationContext.java:119)
         at javax.naming.InitialContext.lookup(InitialContext.java:347)
         at spatial2d_book._sample_2d_app._SampleApplication._jspService(_SampleApplication.java:264)
         [SRC:/spatial-book/sample-app/SampleApplication.jsp:248]
         at com.orionserver[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:349)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:765)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:317)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
         at java.lang.Thread.run(Thread.java:534)
    I am using Java 2 Runtime Environment version 1.4.2_02 and I think I have correctly configured the shared libraries in the oc4j server (sdoapi.jar, sdonm.jar, ojdbc14.jar, etc.). Anyway, I think I will be missing something but I don't know what.
    I would be very grateful if somebody could help me.
    Juan M.

    Hi Juan
    Thanks for purchasing our book, and thanks also for the kind words.
    I think I know what that problem is.
    The application uses the network API. That API needs a database connection for the initial loading of the network. The connection used is provided by OC4J. This is done in the following code lines in the SampleApplication.jsp:
    // Get JDBC database connection
    InitialContext ic = new InitialContext();
    DataSource ds = (DataSource) ic.lookup("jdbc/"+dataSource.toLowerCase());
    Connection conn = ds.getConnection();
    // Load network
    net = NetworkManager.readNetwork(conn, networkName);
    In other words, for this to work, you need a datasource defined for OC4J, called "jdbc/spatial10g" (since dataSource is defined by default to be "SPATIAL10G".
    To define the datasource, refer to chapter 11, page 499, at the bottom of the page. You need to add the following to your data-sources.xml config file ($OC4J_HOME/j2ee/home/config/data-sources.xml):
    <data-source
    class="com.evermind.sql.DriverManagerDataSource"
    name="spatial10g"
    location="jdbc/spatial10gCore"
    xa-location="jdbc/xa/spatial10gXA"
    ejb-location="jdbc/spatial10g"
    connection-driver="oracle.jdbc.driver.OracleDriver"
    username="spatial"
    password="spatial"
    url="jdbc:oracle:thin:@localhost:1521:orcl101"
    inactivity-timeout="30"
    />
    (Adapt the url parameter to match your database definition)
    Thanks for pointing out this problem. We will update the errata page (http://www.apress.com/book/errataDisplay.html?bID=315&sID=2374) with clearer instructions.
    Albert Godfrind

  • Oracle Spatial Performance with 10-20.000 users

    Does anyone have any experience when Oracle Spatial is used with say 20.000 concurrent users. I am not interested in MapViewer response time, but lets say there is:
    - an app using 800 different tables each having an sdo_geometry column
    - the app is configured with different tables visible on different view scales
    - let's say an average of 40-50 tables is visible at any given time
    - some tables will have only a few records, while other can hold millions.
    - there is no client side caching
    - clients can zoom in/out pan.
    Anwers I am interested in:
    - What sort of server would be required
    - How can Oracle serve all that data (each Refresh renders the map and retrieves the data over the wire as there is no client side caching).
    - What sort of network infrastructure would be required.
    - Can clients connect to different servers and hence use load balancing or does Oracle have an automatic mechanism for that?
    Thanks in advance,
    Patrick

    Patrick, et al.
    There are lots of things one can do to improve performance in mapping environments because of a lot of the visualisation is based on "background" or read-only data. Here are some "tips":
    1. Spatially sort read-only data.
    This tip makes sure that data that is close to each other in space are next to each other on disk! Dan gave a good suggestion when he referenced Chapter 14, "Reorganize the Table Data to Minimize I/O" pp 580- 582, Pro Oracle Spatial. But just as easily one can create a table as select ... where sdo_filter() where the filtering object is an optimized rectangle across the whole of the dataset. (This is quite quick on 10g and above but much slower on earlier releases.)
    When implementing this make sure that the created table is created such that its blocks are next to each other in the tablespace. (Consider tablespace defragmentation beforehand.) Also, if the data is READ ONLY set the PCTFREE to 0 in order to pack the data up into as small a number of blocks as possible.
    2. Generalise data
    Rendering spatial data can be expensive where the data is geometrically detailed (many vertices) esp where the data is being visualised at smaller scales than it was captured at. So, if your "zoom thresholds" allow 1:10,000 data to be used at 1:100,000 then you are going to have problems. Consider pre-generalising the data (see sdo_util.simplify) before deployment. You can add multiple columns to your base table to hold this data. Be careful with polygon data because generalising polygons that share boundaries will create gaps etc as the data is more generalised. Often it is better to export the data to a GIS which can maintain the boundary relationships when generalising (say via topological relationships).
    Oracle's MapViewer has excellent on-the-fly generalisation but here one needs to be careful. Application tier caching (cf Bryan's comments) can help here a lot.
    3. Don't draw data that is sub-pixel.
    As one zooms out objects become smaller and smaller until they reach a point where the whole object can be drawn within a single pixel. If you have control over your map visualisation application you might want to consider setting the SDO_FILTER parameter "min_resolution" flag dynamically so that its value is the same as the number of meters / pixel (eg min_resolution=10). If this is set Oracle Spatial will only include spatial objects in the returned search set if one side of a geometry's MBR is greater than or equal to this value. Thus any geometries smaller than a pixel will not be returned. Very useful for large scale data being drawn at small scales and for which no selection (eg identify) is required. With Oracle MapViewer this behaviour can be set via the generalized_pixels parameter.
    3. SDO_TOLERANCE, Clean Data
    If you are querying data other than via MBR (eg find all land parcels that touch each other) then make sure that your sdo_tolerance values are appropriate. I have seen sites where data captured to 1cm had an sdo_tolerance value set to a millionth of a meter!
    A corollary to this is make sure that all your data passes validation at the chosen sdo_tolerance value before deploying to visualisation. Run sdo_geom.validate_geometry()/validate_layer()...
    4. Rtree Spatial Indexing
    At 10g and above lots of great work went in to the RTree indexing. So, make sure you are using RTrees and not QuadTrees. Also, many GIS applications create sub-optimal RTrees by not using the additional parameters available at 10g and above.
    4.1 If your table/column sdo_geometry data contains only points, lines or polygons then let the RTree indexer know (via layer_gtype) as it can implement certain optimizations based on this knowledge.
    4.2 With 10g you can set the RTree's spatial index data block use via sdo_pct_free. Consider setting this parameter to 0 if the table/column sdo_geometry data is read only.
    4.3 If a table/column is in high demand (eg it is the most commonly used table in all visualisations) you can consider loading (a part of) the RTree index into memory. Now, with the RTree indexing, the sdo_non_leaf_tbl=true parameter will split the RTree index into its leaf (contains actual rowid reference) and non-leaf (the tree built on the leaves) components. Most RTrees are built without this so only the MDRT*** secondary tables are built. But if sdo_non_leaf_tbl is set to true you will see the creation of an additional MDNT*** secondary table (for the non_leaf part of the rtree index). Now, if appropriate, the non_leaf table can be loaded into memory via the following:
    ALTER TABLE MDNT*** STORAGE(BUFFER_AREA KEEP);
    This is NOT a general panacea for all performance problems. One should investigate other options before embarking on this (cf Tom Kyte's books such as Expert Oracle Database Architecture, 9i and 10g Programming Techniques and Solutions.)
    4.4 Don't forget to check your spatial index data quality regularly. Because many sites use GIS package GUI tools to create tables, load data and index them, there is a real tendency to not check what they have done or regularly monitor the objects. Check the SDO_RTREE_QUALITY column in USER_SDO_INDEX_METADATA and look for indexes with an SDO_RTREE_QUALITY setting that is > 2. If > 2 consider rebuilding or recreating the index.
    5. The rendering engine.
    Whatever rendering engine one uses make sure you try and understand fully what it can and cannot do. AutoDesk's MapGuide is an excellent product but I have seen it simply cache table/column data and never dynamically access it. Also, I have been at one site which was running Deegree and MapViewer and MapViewer was so fast in comparison to Deegree that I was called in to find out why. I discovered that Deegree was using SDO_RELATE(... ANYINTERACT ...) for all MBR queries while MapViewer was using SDO_FILTER. Just this difference was causing some queries to perform at < 10% of the speed of MapViewer!!!!
    6. Consider "denormalising" data
    There is an old adage in databases that is "normalise for edit, denormalise for performance". When we load spatial data we often get it from suppliers in a fairly flat or normalised form. In consort with spatial sorting, consider denormalising the data via aggregations based on a rendering attribute and some sort of spatial unit. For example, if you have 1 million points stored as single points in SDO_GEOMETRY.SDO_POINT which you want to render by a single attribute containing 20 values, consider aggregating the data using this attribute AND some sort of spatial BUCKET or BIN. So, consider using SDO_AGGR_UNION coupled with Spatial Analysis and Mining package functions to GROUP the data BY <<column_name>> and a set of spatial extents.
    6. Tablespace use
    Finally, talk to your DBA in order to find out how the oracle database's physical and logical storage is organised. Is a SAN being used or SAME arranged disk arrays? Knowing this you can organise your spatial data and indexes using more effective and efficient methods that will ensure greater scalability.
    7. Network fetch
    If your rendering engine (app server) and database are on separate machines you need to investigate what sort of fetch sizes are being used when returning data from queries to the middle-tier. Fetch sizes for attribute only data rows and rows containing spatial data can be, and normally are, radically different. Accepting the default settings for these sizes could be killing you (as could the sort_area_size of the Oracle session the application server has created on the database). For example I have been informed that MapInfo Pro uses a fixed value of 25 records per fetch when communicating with Oracle. I have done some testing to show that this value can be too small for certain types of spatial data. SQL Developer's GeoRaptor uses 100 which is generally better (but this one can modify this). Most programmers accept defaults for network properties when programming in ADO/ODBC/OLEDB/JDBC: just be careful as to what is being set here. (This is one of the great strengths of ArcSDE: its TCP/IP network transport is well written, tuneable and very efficient.)
    8. Physical Format
    Finally, while Oracle's excellent MapViewer requires data its spatial data to be in Oracle, other commercial rendering engines do not. So, consider using alternate, physical file formats that are more optimal for your rendering engine. For example, Google Earth Enterprise "compiles" all the source data into an optimal format which the server then serves to Google Earth Enterprise clients. Similarly, a shapefile on local disk to the application server (with spatial indexing) may be faster that storing the data back in Oracle on a database server that is being shared with other business databases (eg Oracle financials). If you don't like this approach and want to use Oracle only consider using a dedicated Oracle XE on the application server for the data that is read only and used in most of your generated maps eg contour or drainage data.
    Just some things to think about.
    regards
    Simon

  • How to use Oracle Spatial in this scenario

    My scenario is like that:
    I'm very new to Oracle Spatial
    I'm building an application that will be based on asp.net.(I am
    confident about .net)
    As per my client requirement there are some kml file in one archive
    folder.
    Let me give an example:
    say there is a kml file for region A.(latitude say 36 n to 40 n and
    longitude is 110 w to 115 w) already in the archive folder.
    Now if a new kml file(say A1.kml) that has been created by the user
    and say its latitude and longitude are respectively 37n and 112w. As we clicked A.kml, google earth is opened up for the region A and as
    we move our mouse cursor to more deeper more polygons are visible.
    eventually polygon for A1.kml is also visible and definitely which is
    inside the polygon for region A.
    How can I achieve this thing by using oracle spatial 10g? ---(it's one of my senior's advice to use "oracle spatial 10g" in this scenario)
    I'm not too sure whether I can able to make it clear to u about my
    situation; plz xcuse me if I'm wasting ur valuable time.

    Hi,
    This link helped me a lot!
    http://www.oracle.com/technology/pub/articles/rubio-mashup.html
    Hope it could help you too.
    Best regards,
    Luiz

  • Acquiring Oracle Spatial Data through WFS

    Hi,
    I have been researching for awhile and am slightly confused.
    I have Oracle Spatial 11g with geometry data and would like to be able to retrieve that data through a WFS to serve to a viewing application.
    Here's where I am confused:
    1) Spatial has a WFS service which needs to be configured. If I were configure that, would I be able to access the data through URL getFeature commands? The documentation I see for them has the getFeature requests in the form of XML files so I am not sure if I can do that. Also it seems like the service is returning .log files but I think I would want GML...
    If this is the option I should take, the tutorial to setup OC4J and the Web Services are for a Linux machine (http://www.oracle.com/technology/obe/11gr1_db/datamgmt/spatialws/spatialws.htm) -- Is there one for Windows 64bit?
    2) Do I need another "application layer" to enable this URL support? I know MapServer can use URL requests.. can I just run this against the data in my DB and forget about the Oracle WFS?
    3) MapViewer seems to work with WFS Themes and handle requests through Java and SQL.. is this another option?
    I am basically confused as to where everything sits and what I should be focusing on to get my Spatial data out of the DB through a WFS. Any assistance on this matter would be greatly appreciated!
    Thanks!

    Any help debugging this issue would be greatly appreciated:
    As per the documentation:
    http://localhost:8888/SpatialWS-SpatialWS-context-root/wfsservlet?request=GetCapabilities&service=wfs&version=1.0.0
    :this get request should return the capabilities info however I receive this error message instead in the browser:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ogc:ServiceExceptionReport version="1.2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/ogc http://localhost:8888/examples/servlets/xsds/OGC-exception.xsd" xmlns:ogc="http://www.opengis.net/ogc">
    <ogc:ServiceException code="WFS-1042">Exception during processing request</ogc:ServiceException>
    </ogc:ServiceExceptionReport>
    The sytem out from the oc4j container provides this error message:
    10/04/27 15:47:38 [oracle.spatial.ws.WSProperties, Tue Apr 27 15:47:38 MDT 2010,
    INFO] No subject specified in request.
    10/04/27 15:47:38 [oracle.spatial.ws.WSProperties, Tue Apr 27 15:47:38 MDT 2010,
    ERROR] Oracle Spatial WS Server could not set up configuration parameters: jav
    a.lang.RuntimeException: No subject specified in request.
    10/04/27 15:47:38 [oracle.spatial.ws.servlet.WFSServlet, Tue Apr 27 15:47:38 MDT
    2010, FATAL] java.lang.RuntimeException: java.lang.RuntimeException: No subject
    specified in request.
    at oracle.spatial.ws.WSProperties.getProperties(WSProperties.java:705)
    at oracle.spatial.ws.servlet.WFSServlet.doGet(WFSServlet.java:108)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletReque
    stDispatcher.java:734)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(Ser
    vletRequestDispatcher.java:391)
    at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequ
    estHandler.java:908)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpReques
    tHandler.java:458)
    at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpReque
    stHandler.java:226)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.ja
    va:127)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.ja
    va:116)
    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSo
    cketReadHandler.java:260)
    at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(Server
    SocketAcceptHandler.java:234)
    at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocket
    AcceptHandler.java:29)
    at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(
    ServerSocketAcceptHandler.java:879)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(Relea
    sableResourcePooledExecutor.java:303)
    at java.lang.Thread.run(Thread.java:619)
    Caused by: java.lang.RuntimeException: No subject specified in request.
    at oracle.spatial.ws.WSProperties.getUser(WSProperties.java:574)
    at oracle.spatial.ws.WSProperties.getProperties(WSProperties.java:695)
    ... 16 more

  • Simon Greener's Morton Key Clustering in Oracle Spatial

    Hi folks,
    Apologies for the rambling.  With mattyschell heading for greener open source big apple pastures I am looking for new folks to bounce ideas and code off.  I was thinking this week about the discussion last autumn over spatial clustering.
    https://community.oracle.com/thread/3617887
    During the course of the thread we all kind of pooh-poohed spatial clustering as not much of solution, myself being one of the primary poohers.  Yet the concept certainly remains as something to consider regardless of our opinions.  The yellow book, the Greener/Ravada book, Simon's recent treatise (http://download.oracle.com/otndocs/products/spatial/pdf/biwa_2015/biwa2015_uc_comparativeperformance_greener.pdf), they all put forward clustering such that at the very least we should consider it a technique we should be able as professionals to do - a tool in the toolbox whether or not it always is the right answer.  I am mildly (very mildly) curious to see if Kothuri, Godfrind and Beinat will recycle their section on spatial clustering with the locked-down MD.HHENCODE into their 12c revision out this summer.  If they don't then what is the replacement for this technique?  If they do then we return to all of our griping about this ancient routine that Simon implies may date back to the CHS and their hhcode indexes - at least its not written in Java! 
    Anyhow, so I've been in the midst this month of refreshing some of the datasets I manage and considering clustering the larger tables whilst I am at it.  Do I really expect to see huge performance gains?   Well... not really.  But it does seem like something that should be easy to accomplish, certainly something that "doesn't hurt" and shows that I am on top of things (e.g. "checks the box").  But returning to the discussion from last fall, just what is the best way to do this in Oracle Spatial?
    So if we agree to ignore poor old MD.HHENCODE, then what?  Hilbert curves look nifty but no one seems to be stepping up with the code for them.  And this reroutes us back around to Simon and his Morton key code.
    http://www.spatialdbadvisor.com/oracle_spatial_tips_tricks/138/spatial-sorting-of-data-via-morton-key
    So who all is using Simon's code currently?  If you read that discussion from last fall there does not seem to be anyone doing so and we never heard back from Cat Person on either what he decided to do or what his name is.
    I thought I could take a stab at streamlining Simon's process somewhat to make things easier for myself to roll this onto many tables.  I put together the following small package
    https://github.com/pauldzy/DZ_SDO_CLUSTER/tree/master/Packages
    In particular I wanted to bundle up the side issues of how to convert your lines and polygons into points, automate things somewhat and provide a little verification function to see what results look like.  So again nothing that Simon does not already walk through on his webpage, just make it bit easier to bang out on your tables without writing a separate long SQL process for each one.
    So for example to use Simon's Morton key logic, you need to know the extent envelope of the data (in order to define a proper grid).  So if its a large table, you'd want to stash the envelope info in the metadata.  You can do this with the update_metadata_envelope procedure or just suffer through the sdo_aggr_mbr each time if you don't want to go that route (I have one table of small watershed polygons that takes about 9 hours to run sdo_aggr_mbr upon).  So just run things at the sql prompt
    SELECT
    DZ_SDO_CLUSTER.MORTON_UPDATE(
        p_table_name => 'CATCHMENT_NP21'
       ,p_column_name => 'SHAPE'
       ,p_grid_size => 1000
    FROM dual;
    This will return the update clause populated with the values to use with the morton_key wrapper function, e.g. "morton_key(SHAPE,160.247133275879,-17.673722530871,.0956820001136141,.0352063207508021)".  So then just paste that into an update statement
    UPDATE foo
    SET my_morton_key = dz_sdo_cluster.morton_key(
        SHAPE
       ,160.247133275879
       ,-17.673722530871
       ,.0956820001136141
       ,.0352063207508021
    Then rebuild your table sorting on the morton_key.  I just use the TOAD rebuild table tool and manually add the order by clause to the rebuild script.  I let TOAD do all the work of moving the indexes, constraints and grants to the new table.  I imagine there are other ways to do this.
    The final function is meant to be popped into Oracle mapviewer or something similar to show your family and friends the results.
    SELECT
    dz_sdo_cluster.morton_visualize(
        'NHDPLUS'
       ,'NHDFLOWLINE_NP21_ACU'
       ,'SHAPE'
       ,'OBJECTID'
       ,'100'
       ,10000
       ,'MORTON_KEY'
    FROM dual;
    Look Mom, there it is!
    So anyhow this is first stab at things and interested in feedback or suggestions for improvement.  Did I get the logic correct?  Don't spare my feelings if I botched something.  Note that like Simon I passed on the matter of just how to determine the proper grid size.  I've been using 1000 for the continental US + Hawaii/PR/VI and sitting here this morning I think that probably is too large.  Of course it depends on the size of the geometries and thus the density of the resulting points.  With water features this can vary a lot from place to place, so perhaps 1000 is okay.  What would the algorithm be to determine a decent grid size?  It occurs to me I could tell you the average feature count per morton key value, okay well its about 10.  That seems small to me.  So I could see another function in this package that returns some kind of summary on the results of the keying to tell you if your grid size estimate was reasonable.
    Cheers and Happy Saturday,
    Paul

    I've done some spatial clustering testing this week.
    Firstly, to reiterate the purpose of spatial clustering as I see it:  spatial clustering can be of benefit in situations where frequent window based spatial queries are made.  In particular it can be very useful in web mapping scenarios where a map server is requesting data using SDO_FILTER or SDO_ANYINTERACT and there is a need to return the data as quickly as possible.  If the data required to satisfy the query can be squeezed into as few blocks as possible, then the IO overhead is clearly reduced.
    As Bryan mentioned above, once the data is in the buffer cache, then the advantage of spatial clustering is reduced.  However it is not always possible to get/keep enough of the data in the buffer cache, so I believe spatial clustering still has merits, particularly if it can be implemented alongside spatial partitioning.
    I ran the tests using an 11.2.0.4 database on my laptop.  I have a hard disk rather than SSD, so the effects of excessive IO are exaggerated.  The database is configured with the default 8kb block size.
    Initially, I created a table PARCELS:
    create table parcels (
    id            integer,
    created_date  date,
    x            number,
    y            number,
    val1          varchar2(20),
    val2          varchar2(100),
    val3          varchar2(200),
    geometry      mdsys.sdo_geometry,
    hilbert_key  number);
    I inserted 2.8 million polygons into this table.  The CREATED_DATE is the actual date the polygons were captured.  I populated val1, val2 and val3 with string values to pad the rows out to simulate some business data sitting alongside the sdo_geometry.
    I set X,Y to the first ordinate of the polygon and then set hilbert_key = sdo_pc_pkg.hilbert_xy2d(power(2,31), x, y).
    I then created 4 tables to base the tests upon:
    PARCELS_RANDOM:  Ordered by dbms_random.random - an absolute worst case scenario.  Unrealistic, but worthwhile as a benchmark.
    PARCELS_BASE_DATE:  Ordered by CREATED_DATE.  This is probably pretty close to how the original source data is structured on disk.
    PARCELS_RTREE:  Ordered by RTree.  Achieved by inserting based on an SDO_FILTER query
    PARCELS_HILBERT:  Ordered by the hilbert_key attribute
    As a first test, I counted the number of blocks required to satisfy an SDO_FILTER query.  E.g.
    select count(distinct(dbms_rowid.rowid_block_number(rowid)))
    from parcels_rtree
    where sdo_filter(geometry,
                    sdo_geometry(2003, 2157, null, sdo_elem_info_array(1, 1003, 3),
                                    sdo_ordinate_array(644232,773809, 651523,780200))) = 'TRUE';
    I'm assuming dbms_rowid.rowid_block_number(rowid) is suitable for this.
    I ran this on each table and repeated it over three windows.
    Results:
    So straight off we can see that the random ordering gave pretty horrific results as the data required to satisfy the query is spread over a large number of blocks.  The natural date based clustering was far better. RTree and Hilbert based clustering reduced this by a further 50% with Hilbert just nosing out RTree.
    Since web mapping is the use case I am most likely to target, I then setup a test case as follows:
    Setup layers in GeoServer for each of the tables
    Used a script to generate 1,000 random squares over the extent of the data, ranging from 200m to 500m in width and height.
    Used JMeter to make a WMS request for a png of the each of the 1,000 windows.  JMeter was run sequentially with just one thread, so it waited for each request to complete before starting the next.  I ran these tests 3 times to balance out the results, flushing the buffer cache before each run.
    Results:
    Again the random ordering performed woefully bad - somewhat exacerbated by the quality of the disk on my laptop.  The natural date based clustering performed far better.  RTree and hilbert based clustering further reduced the time by more than half.
    In summary, the results suggest that spatial clustering is worth the effort if:
    the data is not already reasonably well clustered
    you've got a decent quantity of data
    you're expecting a lot of window based queries which need to be returned as quickly as possible
    you don’t expect to be able to fit all the data in the buffer cache
    When it comes to deciding between RTree and Hilbert (or Morton/z-order or any other space filling curve method).... I found that the RTree method can be a bit slow on large datasets, although this may not matter as a one off task.  Plus it requires a spatial index on the source table to start off with.  The key based methods are based on an xy, so for lines and polygons there is an intermediate step to extract an xy.  I would tend to recommend this approach if you also partition the data based on a subset of the cluster key.
    Scripts are available here: https://github.com/john-otoole/oracle_spatial_cluster_test
    John

  • Oracle Open World in SanFrancisco and Oracle Spatial

    Hi,
    This week is Oracle Open World in San Francisco, and while usually we try to keep this message board strictly technical, I wanted to mention that there are some interesting things happening here.
    There are a few sessions Wednesday in Room 2016 starting at 3:00 pm:
    Data Management on a Budget with Oracle 10g: Exploring Strategies and Tactics with the U.S. Geological Survey
    by Nate Booth and Harold House, USGS
    Oracle Database 10g Spatial Performance and Manageability Best Practices and German Rail Case Study
    by Dan Abugov (me) and Andreas Hoefler, Fichtner Consulting & IT AG
    I'm excited to be talking about Partitioning Best Practices, and we'll be posting the white paper here on OTN.
    Finally, please come and see us at booth E28 in the Oracle DemoGrounds (we have Locator/Spatial, MapViewer, and Workspace Manager here in the pod). If you are the FIRST person to mention reading this posting on OTN when you visit the booth, we'll be happy to give you a copy of "Pro Oracle Spatial", the first book devoted to developing applications using Oracle Spatial. The book was written by Ravi Kothuri, Albert Godfrind (two Oracle Spatial Developers) and Euro Beinat of Geodan NL. One of the authors (Albert Godfrind) is here, and if you ask I'd bet he'd autograph it for you!
    We also have a very limited supply of the book we'll be giving out over the course of the conference.
    Of course, everyone who stops by will get the Oracle Spatial mini CD which includes viewlets, white papers, and more.
    The book is also available here:
    http://www.amazon.com/exec/obidos/tg/detail/-/1590593839/qid=1102358585/sr=1-1/ref=sr_1_1/002-9450919-8639226?v=glance&s=books

    Hello,
    Take a look at this page, http://www.oracle.com/technology/events/oracle-openworld-2007/index.html
    There are links here to the whole OOW (social network,twitter,blog/flicker)osphere I think the new buzzword being "Social Graph" that covers all that.
    But anyway there are tons of ways for people to sign up and track the sessions and see who's going to go where, etc.
    Regards,
    Carl
    blog : http://carlback.blogspot.com/
    apex examples : http://apex.oracle.com/pls/otn/f?p=11933:5

Maybe you are looking for

  • How do I use the top screen for fullscreen gaming?

    I have a 13" MacBook Pro hooked up to my LCD Cinema Display. When I try to play a game (i.e. Civilization, Spore, etc.), it will only play on the bottom screen (my 13" one, not the LCD). Is there any way to make it play fullscreen on the top? I have

  • Calling a method in AbstractPortalComponent from JSP

    Hi, I have an abstract portal component with 2 methods: 1. doContent - in this, I specify the name of the jsp to be included in the response - umlogonPage, and am setting a portal event named 'fireCRMRFC'. 2. dofireCRMRFC - in this, I specify the cod

  • Windows instructions for "View or change iCloud account information"

    Your Windows instructions for "View or change your iCloud account information" say Choose Start Menu > Control Panel > Network and Internet, then click iCloud. My computer runs Windows 7 64-bit. In CONTROL PANEL my option is "Network and Sharing Cent

  • JDBC Encoding issue

    Hi All,            I am doing Idoc to Jdbc scenario. Here from sender idoc for one of the field i am getting french character in the payload. Find the below details. From Payload we are getting "Crépy en Valois". But while storing in the database it

  • HT5557 How can I share books with my wife

    How can I share books with my wife?