ANN: Edit Oracle Spatial with ArcView? Yes

Hi All,
Do you own ArcView and are able to read Oracle Spatial tables, but not edit any of the data?
Well we've written a paper (and the software) to show how Spatial Loader Advanced can be used to do exactly this.
Your able to download the paper and Spatial Loader Advanced from http://www.geometryit.com/web/download/.
cheers,
Andrew Betlehem
Geometry

My apologies for the confusion. My insert statement DID work just fine. I just wasn't seeing it...probably because I was querying the table in Enterprise Manager DB Control and it looks like it takes some time to refresh. So it appears that user permissions are not the issue.
I have used two data loading methods:
Before loading data, I needed to create a user defined coordinate reference system:
1 create projection operation for my custom projection
2 configure projection parameters
3 create the projected CRS in mdsys.sdo_coord_ref_system
First data load steps
1 shp2sdo.exe my_shapefile my_table -g geom -s 1000002 -v
2 execute my_table.sql
3 execute sqlldr.exe
4 EXECUTE SDO_MIGRATE.TO_CURRENT('my_table','GEOM');
5 CREATE INDEX my_table_index ON my_table(geom) INDEXTYPE IS MDSYS.SPATIAL_INDEX;
Second data load steps:
1 open up MapBuilder, make a connection, and go through the Import Shapefile wizard. MapBuilder automatically creates a spatial index.
Does it appear that I am missing any steps or doing anything obviously wrong that would be causing me to not be able to edit the data through clients such as uDig or WFS-T?

Similar Messages

  • Cannot edit Oracle Spatial data

    Hello,
    I am running into some problems with my Oracle Spatial data. Maybe somebody has some insight. Here's what is going on:
    1) I am able to connect to and view the data in uDig but I cannot edit the data and also the data shows up in the table of contents with a line symbol even though it is polygon data (it renders correctly in the map as polygons). I try using the 'Create Polygon Geometries' tool and it errors saying 'Create Polygon Tool' cannot operate on current layer.
    2) When I try testing edits through WFS-T it errors and tells me that the table is read only.
    The table is in the USERS tablespace and I have verified that it is read/write. I also set object permissions on the user: ALTER, DELETE, INSERT, SELECT, UPDATE
    Am I missing something obvious? Anyone else have this problem? Thanks a lot for any ideas anyone has.

    My apologies for the confusion. My insert statement DID work just fine. I just wasn't seeing it...probably because I was querying the table in Enterprise Manager DB Control and it looks like it takes some time to refresh. So it appears that user permissions are not the issue.
    I have used two data loading methods:
    Before loading data, I needed to create a user defined coordinate reference system:
    1 create projection operation for my custom projection
    2 configure projection parameters
    3 create the projected CRS in mdsys.sdo_coord_ref_system
    First data load steps
    1 shp2sdo.exe my_shapefile my_table -g geom -s 1000002 -v
    2 execute my_table.sql
    3 execute sqlldr.exe
    4 EXECUTE SDO_MIGRATE.TO_CURRENT('my_table','GEOM');
    5 CREATE INDEX my_table_index ON my_table(geom) INDEXTYPE IS MDSYS.SPATIAL_INDEX;
    Second data load steps:
    1 open up MapBuilder, make a connection, and go through the Import Shapefile wizard. MapBuilder automatically creates a spatial index.
    Does it appear that I am missing any steps or doing anything obviously wrong that would be causing me to not be able to edit the data through clients such as uDig or WFS-T?

  • Oracle spatial with hibernate

    We're trying to use Hibernate to do Oracle spatial queries. Specifically to do things like "get all spatial objects that fall within this search circle." Instead we're getting things that are near the border of the search circle, but not things near the interior. Trying to figure out if we're building the Hibernate query wrong or if this is just something Hibernate/Oracle spatial can't do together.
    We're building Hibernate Criteria with statements like: "sdo_relate({alias}.GEOMETRY_3D, [geometry goes here], 'mask=anyinteract') = 'TRUE'"
    Anyone know of any common pitfalls when trying to do something like this, or known issues we can work around somehow?
    Thanks,
    M

    You might consider using Hibernate Spatial (http://www.hibernatespatial.org/). It extends hibernate with spatial types (using JTS) and support Oracle. There is an API specifically for this kind of queries.

  • Oracle Spatial with Pro*C

    Is it recommended or possible to develop an application for Oracle Spatial using Pro*C/C++?
    null

    Yes. PRO*C fully supports objects, and
    MDSYS.SDO_GEOMETRY is just an Oracle object.
    Thanks.
    Dan

  • How to get point ordinates in oracle spatial with oo4o and VC++

    Hi,
    I need some help baddly.Would someone help me?
    Now I need to get the point ordinates in a table called cities.I use oo4o C++ class library and VC++ 6.0 . In the table, the column name of SDO_GEOMETRY object
    type is "goem". For the reason that the table is created for a point layer, all the point ordinates are stored in the SDO_POINT.
    I read the ordinates in my program as below. But every time the final result of x,y,z are all be 0.000000000 . Although I checked it many times, I still couldn't found why.
    So could some experts tell me the reason or show me how to do that?
    Thanks in advanced.
    ODatabase odb("", "scott", "tiger");
    ODynaset odyn(odb, "SELECT * FROM CITIES");
    if (odyn.IsOpen())
    odyn.MoveFirst();
    OObject geometry;
    oresult ores = odyn.GetFieldValue("geom", &geometry);
    if(ores==OCSUCCESS)
    OObject sdopoint;
    const char* attrname3=geometry.GetAttrName(3);
         geometry.GetAttrValue(attrname3, &sdopoint);
         const char* ittypename=sdopoint.GetTypeName();     
         int itnumber=sdopoint.GetCount();
         int attrtype=sdopoint.GetAttrType(1);
         const char* attrnameX=sdopoint.GetAttrName(1);
    const char* attrnameY=sdopoint.GetAttrName(2);
         const char* attrnameZ=sdopoint.GetAttrName(3);
         double *x;
         double *y;
         double *z;
         sdopoint.GetAttrValue(attrnameX,x);
         sdopoint.GetAttrValue(attrnameY,y);
         sdopoint.GetAttrValue(attrnameZ,z);
    }

    Yes. I have tried your code and got the same result.
    And I also tried to use SQL to get the result.But it
    also failed.
    I am intrested in this problem too.
    Could some oo4o experts help me too?
    jeff

  • 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

  • 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!

  • Interfacing Oracle spatial data with ArcView 9

    Hello,
    I'm trying to take my spatial data in Oracle which has SDO_GEOMETRY fields, and have it display in ArcView. I know I have to do something with SDO_GEOMETRY, but I'm not sure how. I've been reading that 3rd party tools can be used. Is this the only way, or is there something else I can do?
    Thanks much,
    Nora

    the way i use is through arcsde. register the oracle table with sde and then you can view it in any arc software.
    there is another way through direct connect. i havent used it but you can find some help on esri website.
    V

  • 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 install Oracle Spacial with Oracle Express Edition 10g?

    Hello,
    I'm new in Oracle Technology, I just wanted to try Oracle Spatial.
    I don't know how to get it so I've installed Oracle Express and followed this tutorial :
    http://oracledbas.blogspot.com/2009/06/manual-installation-of-spatial-10g.html
    They say Jserver, Oracle interMedia and Oracle XML Database have to be installed, but only one of them seems to be set up (XML DB), I can't install the others.
    If someone can help me to install Oracle Spatial, it would be nice. Bye.

    If you want to use Oracle Express Edition, note that the 11.2 version is available on beta now:
    http://www.oracle.com/technetwork/database/express-edition/overview/index.html
    Its a while since I've used XE but from what I recall you get the Locator functionality, but not Spatial. That makes sense as XE is free, which Spatial needs to be licensed.
    However, you can do an awful lot with Locator. To see if it is setup, just check if you have the MDSYS schema. Then describe the SDO_GEOMETRY type:
    describe mdsys.sdo_geometry
    If they are both there, then you're in business.

  • Extrude 3D polygons with multiple rings in Oracle spatial

    In this thread Extrude 3D polygons in Oracle spatial Baris provided a sample script to extrude a polygon with one ring into a 3D solid.
    How do I extrude a polygon with multiple rings?
    Given this polygon
    ! http://public.johnnyotoole.fastmail.fm/Polygon_with_hole.jpg !
    , I tried to create a solid as follows:
    SQL> select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production
    PL/SQL Release 11.1.0.7.0 - Production
    CORE    11.1.0.7.0      Production
    TNS for 32-bit Windows: Version 11.1.0.7.0 - Production
    NLSRTL Version 11.1.0.7.0 - Production
    5 rows selected.
    SQL> DECLARE
      2    l_base_geom      SDO_GEOMETRY;
      3    l_solid  SDO_GEOMETRY;
      4   BEGIN
      5
      6    l_base_geom :=
      7     SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1, 21, 2003, 1),
      8     SDO_ORDINATE_ARRAY(568758.064, 835364.907, 568735.12, 835362.873, 568735.897, 835354.404, 568737.264, 835334.554,
      9     568738.711, 835317.612, 568758.063, 835319.294, 568790.598, 835322.124, 568787.473, 835358.924, 568786.671, 835367.888,
    10     568758.064, 835364.907, 568758.063, 835354.97, 568758.811, 835355.046, 568759.253, 835349.107, 568764.952, 835349.529,
    11     568764.51, 835355.468, 568778.388, 835356.625, 568778.627, 835353.883, 568778.681, 835353.252, 568778.757, 835352.388,
    12     568780.648, 835330.63, 568758.063, 835328.714, 568747.322, 835327.804, 568744.841, 835353.627, 568758.063, 835354.97));
    13
    14     DBMS_OUTPUT.PUT_LINE('Valid? ' || SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(l_base_geom, 0.005));
    15
    16     l_solid :=
    17     SDO_UTIL.EXTRUDE(
    18             l_base_geom,
    19             SDO_NUMBER_ARRAY(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
    20             SDO_NUMBER_ARRAY(5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5),
    21             'FALSE',
    22             0.005);
    23
    24  DBMS_OUTPUT.PUT_LINE('Volume: ' || sdo_geom.sdo_volume(l_solid,0.005));
    25
    26  END;
    27  /
    Valid? TRUE
    DECLARE
    ERROR at line 1:
    ORA-29532: Java call terminated by uncaught Java exception: java.lang.ArrayIndexOutOfBoundsException
    ORA-06512: at "MDSYS.SDO_UTIL", line 241
    ORA-06512: at line 16Any ideas?

    Would you please have only 10 elements in your sdo_number_arrays in your case?Is this what you mean?
    SQL> DECLARE
      2    l_base_geom      SDO_GEOMETRY;
      3    l_solid  SDO_GEOMETRY;
      4   BEGIN
      5
      6    l_base_geom :=
      7     SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1, 21, 2003, 1),
      8     SDO_ORDINATE_ARRAY(568758.064, 835364.907, 568735.12, 835362.873, 568735.897, 835354.404, 568737.264, 835334.554,
      9     568738.711, 835317.612, 568758.063, 835319.294, 568790.598, 835322.124, 568787.473, 835358.924, 568786.671, 835367.888,
    10     568758.064, 835364.907, 568758.063, 835354.97, 568758.811, 835355.046, 568759.253, 835349.107, 568764.952, 835349.529,
    11     568764.51, 835355.468, 568778.388, 835356.625, 568778.627, 835353.883, 568778.681, 835353.252, 568778.757, 835352.388,
    12     568780.648, 835330.63, 568758.063, 835328.714, 568747.322, 835327.804, 568744.841, 835353.627, 568758.063, 835354.97));
    13
    14     DBMS_OUTPUT.PUT_LINE('Valid? ' || SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(l_base_geom, 0.005));
    15
    16     l_solid :=
    17     SDO_UTIL.EXTRUDE(
    18             l_base_geom,
    19             SDO_NUMBER_ARRAY(0,0,0,0,0,0,0,0,0,0),
    20             SDO_NUMBER_ARRAY(5,5,5,5,5,5,5,5,5,5),
    21             'FALSE',
    22             0.005);
    23
    24  DBMS_OUTPUT.PUT_LINE('Volume: ' || sdo_geom.sdo_volume(l_solid,0.005));
    25
    26  END;
    27  /
    Valid? TRUE
    DECLARE
    ERROR at line 1:
    ORA-29532: Java call terminated by uncaught Java exception: java.lang.Exception: 54550
    ORA-06512: at "MDSYS.SDO_UTIL", line 241
    ORA-06512: at line 16
    If the heights and ground heights are all the same in your sdo_number_arrays (as in this case), then you can just specify one number in each array instead of specifying a height/ground height for each vertex.Ok, I see what you mean. This works when I use just the outer ring.
    SQL> DECLARE
      2    l_base_geom      SDO_GEOMETRY;
      3    l_solid  SDO_GEOMETRY;
      4   BEGIN
      5
      6    l_base_geom :=
      7     SDO_UTIL.EXTRACT(
      8     SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1, 21, 2003, 1),
      9        SDO_ORDINATE_ARRAY(568758.064, 835364.907, 568735.12, 835362.873, 568735.897, 835354.404, 568737.264, 835334.554,
    10        568738.711, 835317.612, 568758.063, 835319.294, 568790.598, 835322.124, 568787.473, 835358.924, 568786.671, 835367.888,
    11        568758.064, 835364.907, 568758.063, 835354.97, 568758.811, 835355.046, 568759.253, 835349.107, 568764.952, 835349.529,
    12        568764.51, 835355.468, 568778.388, 835356.625, 568778.627, 835353.883, 568778.681, 835353.252, 568778.757, 835352.388,
    13        568780.648, 835330.63, 568758.063, 835328.714, 568747.322, 835327.804, 568744.841, 835353.627, 568758.063, 835354.97)),
    14     1,1);
    15
    16     DBMS_OUTPUT.PUT_LINE('Valid? ' || SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(l_base_geom, 0.005));
    17
    18     l_solid :=
    19     SDO_UTIL.EXTRUDE(
    20             l_base_geom,
    21             SDO_NUMBER_ARRAY(0),
    22             SDO_NUMBER_ARRAY(5),
    23             'FALSE',
    24             0.005);
    25
    26  DBMS_OUTPUT.PUT_LINE('Volume: ' || sdo_geom.sdo_volume(l_solid,0.005));
    27
    28  END;
    29  /
    Valid? TRUE
    Volume: 11839.18887702For the purposes of what I'm doing now, I think I'll just use the outer ring to create my solids, but it would be useful if SDO_UTIL.EXTRUDE works on polygons with multiple rings (maybe it does, I'm probably doing something wrong...).

  • Oracle Spatial functionality with WFS

    Hi all
    My first post here so be gentle on me ;-)
    This may be an obvious question but here goes ...
    When using a WFS client can you access the full SDO_... SQL functions within Oracle Spatial? I've had a read of the WFS spec and it is all a bit vague on how the queries get passed through to the data store.
    Also with the WFS locking, is this done at the web server level? If so how would that impact on any direct access to the database? A bit dangerous??
    Appreciate any advice on WFS implemtations with a 9i back end. I want to retain the full native Oracle functionality and still deploy via WFS ... a pipe dream??
    Thanks
    Richard

    Thanks for your response Andreas
    Sorry, perhaps I wasn't clear, I realise the WFS client will never directly access the data source, that it is the WFS server that makes the request to the data store, not the client, but can the call be passed through to Oracle as native SQL?
    I think I found the answer in the OGC Filter Encoding Imp Spec where it desribes in great detail the optional filter component of a WFS request. It desribes the CQL filter operators that include some spatial operators. These could, I understand, be translated from CGL and Feature based schema to SQL (in GML?) and relational based schema.
    While I don't think at first glance that the spatial operators in CQL match all the Oracle SDO_ functions they probably go far enough for most normal users.
    Am I on the right track?
    Does anyone know of any work that has been done in this filter translation to SQL and if it has been implemented successfully anywhere.
    I think the locks would still pose a problem, but that's for another day :-)
    Thanks
    Richard

  • Oracle 10G Express Edition No Oracle Spatial

    I have been test driving 10G Express Edition. I tried to create our schema in it only to find that the mdsys.sdo_geometry datatype is unknown. It looks like Oracle Spatial is not part of Express Edition. Can anyone confirm?
    SEVERE: Unsuccessful: create table ASSET_REFERENCE (ASSET_REFERENCE_ID number(19,0) not null, ASSET_NAME varchar2(256 char), ASSET_URI varchar2(256 char), SPATIAL_EXTENT mdsys.sdo_geometry, START_DATE timestamp, END_DATE timestamp, COORD_SYS_WKS varchar2(256 char), primary key (ASSET_REFERENCE_ID))
    [hibernatetool] Nov 21, 2005 7:56:50 PM org.hibernate.tool.hbm2ddl.SchemaExport create
    [hibernatetool] SEVERE: ORA-00902: invalid datatype

    Oracle Spatial is an option for Enterprise Edition. It is not even available for Standard Edition and Express Edition is a subset of Standard Edition
    Related - interMedia requires Java and that is not in Express. Although the Locator subset does not use Java, it is part of interMedia and therefore is also not in Express.
    We are asking Oracle to reconsider and add Locator, and possibly add Java as a post-install option.

  • Poor performance with Oracle Spatial when spatial query invoked remotely

    Is anyone aware of any problems with Oracle Spatial (10.2.0.4 with patches 6989483 and 7003151 on Red Hat Linux 4) which might explain why a spatial query (SDO_WITHIN_DISTANCE) would perform 20 times worse when it was invoked remotely from another computer (using SQLplus) vs. invoking the very same query from the database server itself (also using SQLplus)?
    Does Oracle Spatial have any known problems with servers which use SAN disk storage? That is the primary difference between a server in which I see this poor performance and another server where the performance is fine.
    Thank you in advance for any thoughts you might share.

    OK, that's clearer.
    Are you sure it is the SQL inside the procedure that is causing the problem? To check, try extracting the SQL from inside the procedure and run it in SQLPLUS with
    set autotrace on
    set timing on
    SELECT ....If the plans and performance are the same then it may be something inside the procedure itself.
    Have you profiled the procedure? Here is an example of how to do it:
    Prompt Firstly, create PL/SQL profiler table
    @$ORACLE_HOME/rdbms/admin/proftab.sql
    Prompt Secondly, use the profiler to gather stats on execution characteristics
    DECLARE
      l_run_num PLS_INTEGER := 1;
      l_max_num PLS_INTEGER := 1;
      v_geom    mdsys.sdo_geometry := mdsys.sdo_geometry(2002,null,null,sdo_elem_info_array(1,2,1),sdo_ordinate_array(0,0,45,45,90,0,135,45,180,0,180,-45,45,-45,0,0));
    BEGIN
      dbms_output.put_line('Start Profiler Result = ' || DBMS_PROFILER.START_PROFILER(run_comment => 'PARALLEL PROFILE'));  -- The comment name can be anything: here it is related to the Parallel procedure I am testing.
      v_geom := Parallel(v_geom,10,0.05,1);  -- Put your procedure call here
      dbms_output.put_line('Stop Profiler Result = ' || DBMS_PROFILER.STOP_PROFILER );
    END;
    SHOW ERRORS
    Prompt Finally, report activity
    COLUMN runid FORMAT 99999
    COLUMN run_comment FORMAT A40
    SELECT runid || ',' || run_date || ',' || run_comment || ',' || run_total_time
      FROM plsql_profiler_runs
      ORDER BY runid;
    COLUMN runid       FORMAT 99999
    COLUMN unit_number FORMAT 99999
    COLUMN unit_type   FORMAT A20
    COLUMN unit_owner  FORMAT A20
    COLUMN text        FORMAT A100
    compute sum label 'Total_Time' of total_time on runid
    break on runid skip 1
    set linesize 200
    SELECT u.runid || ',' ||
           u.unit_name,
           d.line#,
           d.total_occur,
           d.total_time,
           text
    FROM   plsql_profiler_units u
           JOIN plsql_profiler_data d ON u.runid = d.runid
                                         AND
                                         u.unit_number = d.unit_number
           JOIN all_source als ON ( als.owner = 'CODESYS'
                                   AND als.type = u.unit_type
                                   AND als.name = u.unit_name
                                AND als.line = d.line# )
    WHERE  u.runid = (SELECT max(runid) FROM plsql_profiler_runs)
    ORDER BY d.total_time desc;Run the profiler in both environments and see if you can see where the slowdown exists.
    regards
    Simon

  • Webinar Replay URL: Situational Analysis at OnStar with Oracle Spatial

    A free replay is now available for the Directions webinar Situational Analysis at OnStar with Oracle Spatial, which was held on Feb. 22.
    To view the replay, visit https://www2.gotomeeting.com/register/237138906
    OnStar is the largest telematics solution provider on the globe, with 6 million subscribers in North America and abroad. OnStar uses situational awareness and real-time analysis to deliver fast, accurate emergency services to its customers. At the core of this solution is an Oracle Spatial-based analytical server that supports Google Earth visualization and NAVTEQ data. With this system, OnStar gains better understanding of customer use and behavior and better insight during emergency situations. In hurricanes, wildfires and other disasters, OnStar has developed early warning capabilities for use in near real-time. It can then manage call center resources based on anticipated call volumes and ultimately develop more effective new processes and services.
    Learn from OnStar how the company uses Oracle Spatial to deliver insight, performance and scalability.
    Key learning points include:
    * How OnStar’s Oracle Spatial analytical server supports its real-time call center Advisor application in an environment using Google Earth visualization and NAVTEQ data
    * How spatial analysis allows OnStar to obtain better insight into disaster situations, develop early warning capabilities, and improve call center coverage
    * How Oracle Database 11g (with Oracle Spatial, Real Application Clusters, Partitioning) provides scalability and performance required to process and query OnStar’s large amounts of transactional data
    Speakers include:
    * Jeff Joyner, Emergency Strategy and Outreach, GM OnStar and Injury Research Fellow, University of Michigan Program for Injury Research and Education
    * James Steiner, Vice President, Product Management, Oracle Server Technologies
    Who should attend:
    This webinar is appropriate for CIOs, business and technical managers and analysts involved in the design and management of enterprise systems where spatial analysis can add insight and value to business processes.

    Nice to have a EXPERT in this FORUM...!!
    Hi Dan, if you look at my reply I mentioned that I had loaded loc_updates.sql
    From my previous reply:
    execute loc_updates.sql which doenot update any of the rows since if you look at the syntax in loc_updates.sql file it shows update the table customers whose customer_id=344.
    Where is this customer_id=344 coming from?
    Also the datatype is a number.
    Dan, were you able to get the results as desired?
    or may be I am missing something...
    Thanks and Regards,
    Nandakishore.

Maybe you are looking for

  • How to restore my iTunes when my hard drive has ben stolen?

    All my datas (music and videos) were stored on the external hard drive? This has been stolen.  No back up copies made... How Can I restore the datas which i purchased at iStore? Thank You

  • Multiple Apple Ids and iCloud

    I am cursed by having more than one appleID. I am also finding iCloud to be a very poorly devised system. I keep getting reminders from somewhere posted to  my gmail account. I do not want these cluttering up my inbox and so,  set about trying to loc

  • A few questions about mobile recording (RME & MH & Hard drives)

    in a couple of months i will have enough for a laptop and a firewire interface. after quite a bit of obsessive research, it has come down to the metric halo MIO 2882--which i now favor as an option--and the rme fireface. I favor the metric halo becau

  • 10.4.6 update boogers primarily affecting Entourage

    I updated to 10.4.6 yesterday with mixed results. Most things are fine, and after some research on these boards my Airport connectivity issues (using Belkin router) seem to be resolved. Here's my observations, please CHIME IN if you have an idea on w

  • Runtime casting problems

    The following code gives me runtime casting problems: package edu.columbia.law.markup.test; import java.util.*; public class A {    protected static Hashtable hash = null;    static {       hash = new Hashtable ();       hash.put ("one", "value 1");