Oracle.spatial.geocoder.metadata

I am trying to Enable a Third party Geo-coder using the Sagent Centrus Real-Time Java API. The Oracle doc section 3.4 states that "Oracle offers a sample class, oracle.spatial.geocoder.Metadata to allow easy access..."
But - I cannot find it in the database, or on the file system, or in Technet.
Anyone have any additional information on the sample class provided? Or ideas on how to best "enable a third party geocoder".
Has anyone by chance already written the interface for Sagent's Java client?
Thanks.

From Oracle documentation it mentions that "
"The GC_PARSER_PROFILES and GC_PARSER_PROFILEAFS tables store address format definitions of all supported counties. These tables are used by the internal address parser in parsing postal addresses into addressing fields. The data for these two tables is provided by Oracle."
However, I am not seeing "GC_PARSER_PROFILES" in my schema.
Am I missing something?
Thank you,
J

Similar Messages

  • What countries are supported by the Oracle Spatial Geocoder (10g 2)?

    hi @ all,
    can anybody tell me which countries are supported (especially in east-europe[turkey,georgia,...]) ?
    Denmark
    France
    Germany
    Ireland
    Italy
    Regards,
    greq

    Hi Luc,
    our data supplier deliver us the geodata as shape-files, so we migrate them in 'Oracle Spatial geocoding' tables.
    For some countries (west europe: germany, france,... ) a geocoding-Parser already exists, but not for all countries. We get now some new data from turkey, ukraina, ..., but we don't know if a parser for this countries exists.
    Regards,
    Greq

  • Oracle spatial geocoder

    what is this geocoder??
    how can i test that it is insatlled..
    i installed Oracle 10g spatial, now trying to insatll the routing engine. Here oracle saptial is coming as a basic system requirement.
    pls help me out...
    deeps

    Try
    Oracle*Pure Integrator and
    Oracle*Pure Name and Address
    Rajesh
    null

  • Oracle Spatial-MetaData Standards(Like FGDC Standards,Others Standards)

    Hi to All,
    Is Oracle Spatial Supports MetaData Standards(Like FGDC Standards) or it Supports any Metadata Standards,
    If Supports Pl. tell me How can import into Oracle Spatial Feature.
    Pl. Provide Information Regarding this.
    Regards,
    ChandraKishore.B &
    RamaKrishna.Vangipurapu.

    Hi ChandraKishore,
    The answer is NO as far as I know. Neither the SDO_GEOMETRY object nor the ST_GEOMETRY OGC object natively carry along with it any metadata of any standard. Its just a container for the geometry and tools for working with those containers. You either need to implement something like ArcSDE which can tie together your metadata with each layer or craft a similar system yourself. Its not that intense of a task, you just have a separate table with a record for each layer in your database with the metadata stored either as a CLOB or an XMLTYPE. Then you need to manage the table to make sure it stays up to date with the GIS data in your database.
    Its an interesting question though. Oracle has a conceptual dividing line between what they do and what they expect third parties and/or users to do. I think its safe to say that Oracle provides the technology for the storage and manipulation of spatial data but not the documentation of that same spatial data.
    If anyone thinks I got that wrong, please jump in.
    Paul

  • Can not deploy Oracle Spatial Routing Engine on Oracle Weblogic

    I posted my question with Oracle Support, however they directed me to the oracle forums. I am hoping this problem can be resolved here. In any event I am getting the following stack trace (shown below). I am using Spatial Version 11.2.0.1.0, Map Viewer 11.1.1.5.1, and WebLogic 10.3.5.0, and data-set provided by Pro Oracle Spatial for Oracle Database 11g - Apress boos. I have successful in deploying Map Viewer, Geocoder Server, but not the Routing Server.
    Below is the stack trace:
    ####<Nov 18, 2011 3:31:07 PM CST> <Error> <Deployer> <sa2apsp-spatialdev.sa2apsp.com> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1321651867820> <BEA-149202> <Encountered an exception while attempting to commit the 1 task for the application 'routeserver'.>
    ####<Nov 18, 2011 3:31:07 PM CST> <Warning> <Deployer> <sa2apsp-spatialdev.sa2apsp.com> <AdminServer> <[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1321651867826> <BEA-149004> <Failures were detected while initiating deploy task for application 'routeserver'.>
    ####<Nov 18, 2011 3:31:07 PM CST> <Warning> <Deployer> <sa2apsp-spatialdev.sa2apsp.com> <AdminServer> <[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1321651867826> <BEA-149078> <Stack trace for message 149004
    weblogic.application.ModuleException: [HTTP:101216]Servlet: "RouteServerServlet" failed to preload on startup in Web application: "routeserver".
    java.lang.NullPointerException
         at oracle.spatial.router.server.RouteServerServlet.init(RouteServerServlet.java:102)
         at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)
         at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
         at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
         at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:539)
         at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1985)
         at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1959)
         at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1878)
         at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3153)
         at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1508)
         at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)
         at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
         at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
         at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)
         at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
         at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
         at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:636)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)
         at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)
         at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
         at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
         at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:440)
         at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
         at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1510)
         at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)
         at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
         at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
         at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)
         at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
         at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
         at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:636)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)
         at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)
         at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
         at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
         at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:440)
         at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Caused By: java.lang.NullPointerException
         at oracle.spatial.router.server.RouteServerServlet.init(RouteServerServlet.java:102)
         at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)
         at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
         at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
         at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:539)
         at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1985)
         at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1959)
         at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1878)
         at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3153)
         at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1508)
         at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)
         at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
         at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
         at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)
         at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
         at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
         at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:636)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)
         at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)
         at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
         at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
         at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:440)
         at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    >
    ####<Nov 18, 2011 3:31:07 PM CST> <Error> <Console> <sa2apsp-spatialdev.sa2apsp.com> <AdminServer> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <weblogic> <> <> <1321651867831> <BEA-240003> <Console encountered the following error weblogic.application.ModuleException: [HTTP:101216]Servlet: "RouteServerServlet" failed to preload on startup in Web application: "routeserver".
    java.lang.NullPointerException
         at oracle.spatial.router.server.RouteServerServlet.init(RouteServerServlet.java:102)
         at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)
         at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
         at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
         at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:539)
         at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1985)
         at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1959)
         at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1878)
         at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3153)
         at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1508)
         at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)
         at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
         at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
         at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)
         at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
         at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
         at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:636)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)
         at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)
         at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
         at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
         at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:440)
         at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
         at oracle.spatial.router.server.RouteServerServlet.init(RouteServerServlet.java:102)
         at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)
         at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
         at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
         at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:539)
         at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1985)
         at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1959)
         at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1878)
         at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3153)
         at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1508)
         at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)
         at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
         at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
         at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)
         at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
         at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
         at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:636)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)
         at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)
         at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
         at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
         at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:440)
         at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
         at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1510)
         at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)
         at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
         at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
         at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)
         at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
         at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
         at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:636)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)
         at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)
         at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
         at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
         at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:440)
         at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Caused by: java.lang.NullPointerException:
         at oracle.spatial.router.server.RouteServerServlet.init(RouteServerServlet.java:102)
         at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)
         at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
         at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
         at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:539)
         at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1985)
         at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1959)
         at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1878)
         at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3153)
         at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1508)
    >
    ####<Nov 18, 2011 3:31:07 PM CST> <Warning> <netuix> <sa2apsp-spatialdev.sa2apsp.com> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <weblogic> <> <> <1321651867900> <BEA-423420> <Redirect is executed in begin or refresh action. Redirect url is /console/console.portal?_nfpb=true&_pageLabel=AppApplicationOverviewPage&AppApplicationOverviewPortlethandle=com.bea.console.handles.AppDeploymentHandle%28%22com.bea%3AName%3Drouteserver%2CType%3DAppDeployment%22%29.>
    ####<Nov 18, 2011 3:31:34 PM CST> <Info> <Health> <sa2apsp-spatialdev.sa2apsp.com> <AdminServer> <weblogic.GCMonitor> <<anonymous>> <> <> <1321651894879> <BEA-310002> <43% of the total memory in the server is free>
    ####<Nov 18, 2011 3:57:36 PM CST> <Info> <Health> <sa2apsp-spatialdev.sa2apsp.com> <AdminServer> <weblogic.GCMonitor> <<anonymous>> <> <> <1321653456622> <BEA-310002> <67% of the total memory in the server is free>
    ####<Nov 18, 2011 3:58:36 PM CST> <Info> <Health> <sa2apsp-spatialdev.sa2apsp.com> <AdminServer> <weblogic.GCMonitor> <<anonymous>> <> <> <1321653516623> <BEA-310002> <51% of the total memory in the server is free>

    Below is the configuration of the routeserver.ear (web.xml):
    <?xml version="1.0"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
    <web-app>
    <servlet>
    <servlet-name>RouteServerServlet</servlet-name>
    <servlet-class>oracle.spatial.router.server.RouteServerServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    <!-- RouteServer initialization parameters -->
    <init-param>
    <param-name>routeserver_schema_jdbc_connect_string</param-name>
    <param-value>jdbc:oracle:[email protected]:1521:SPATLDB</param-value>
    <!--
    <description>
    Tells the Router how to connect to the database use the following
    as a template replaceing host_name, port_number and oracle_sid:
    jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=host_name)(PORT=port_number)))(CONNECT_DATA=(SID=oracle_sid)))
    host_name: the name of the machine where the database is located
    for example mysystem.us.mycompany.com
    port_number: the database port number which can be found with the
    lsnrctl status command
    oracle_sid: the SID of your database
    </description>
    -->
    </init-param>
    <init-param>
    <param-name>routeserver_schema_username</param-name>
    <param-value>spatial</param-value>
    </init-param>
    <init-param>
    <param-name>routeserver_schema_password</param-name>
    <param-value>!spatial</param-value>
    </init-param>
    <init-param>
    <param-name>routeserver_network_name</param-name>
    <param-value>NDM_US</param-value>
    </init-param>
    <init-param>
    <param-name>routeserver_schema_connection_cache_min_limit</param-name>
    <param-value>3</param-value>
    </init-param>
    <init-param>
    <param-name>routeserver_schema_connection_cache_max_limit</param-name>
    <param-value>100</param-value>
    </init-param>
    <!-- Geocoder parameters -->
    <init-param>
    <param-name>geocoder_type</param-name>
    <param-value>httpclient</param-value>
    <!--
    <description>
    httpclient - interacts with geocoder Java Servlet
    thinclient - interacts with geocoder in Oracle Database
    none - no geocoder provided
    </description>
    -->
    </init-param>
    <init-param>
    <param-name>geocoder_match_mode</param-name>
    <param-value>DEFAULT</param-value>
    </init-param>
    <!-- These parameters are used if geocoder_type is httpclient -->
    <init-param>
    <param-name>geocoder_http_url</param-name>
    <param-value>http://127.0.0.1:7001/geocoder</param-value>
    </init-param>
    <init-param>
    <param-name>geocoder_http_proxy_host</param-name>
    <param-value></param-value>
    </init-param>
    <init-param>
    <param-name>geocoder_http_proxy_port</param-name>
    <param-value>-1</param-value>
    </init-param>
    <!-- These parameters are used if geocoder_type is thinclient -->
    <!--
    <init-param>
    <param-name>geocoder_schema_host</param-name>
    <param-value>sa2apsp-spatialdev.sa2apsp.com</param-value>
    </init-param>
    <init-param>
    <param-name>geocoder_schema_port</param-name>
    <param-value>1521</param-value>
    </init-param>
    <init-param>
    <param-name>geocoder_schema_sid</param-name>
    <param-value>SPATLDB</param-value>
    </init-param>
    <init-param>
    <param-name>geocoder_schema_username</param-name>
    <param-value>spatial</param-value>
    </init-param>
    <init-param>
    <param-name>geocoder_schema_password</param-name>
    <param-value>spatial</param-value>
    </init-param>
    <init-param>
    <param-name>geocoder_schema_mode</param-name>
    <param-value>thin</param-value>
    <description>
    thin, oci8, etc
    </description>
    </init-param>
    -->
    <!-- RouteServer Logging parameters -->
    <init-param>
    <param-name>log_filename</param-name>
    <param-value>/u01/app/routeserver/routeserver.ear/web.war/log/RouteServer.log</param-value>
    <!--
    <description>
    Create a log file for the Router.
    The log file can be specified as a relative path log/RouteServer.log
    This creates a log file relative to the Router install.
    In OC4j the log file created would be
    $OC4J_HOME/j2ee/home/applications/routeserver/web/log/RouteServer.log
    The log file can also be specified as an absolute path:
    /scratch/logfiles/router/Router.log
    If the <param-value></param-value> is left empty the Router
    creates a default log file:
    $OC4J_HOME/j2ee/home/applications/routeserver/web/log/RouteServer.log
    </description>
    -->
    </init-param>
    <init-param>
    <param-name>log_level</param-name>
    <param-value>INFO</param-value>
    <!--
    <description>
    What information should be written to log file?
    FATAL - highest level: only FATAL messages are logged
    ERROR - error and fatal messages are logged
    WARN - warn, error, and fatal messages are logged
    INFO - info, warn, error, and fatal messages are logged
    DEBUG - debug, info, warn, error, and fatal messages are logged
    FINEST - lowest level: everything is logged
    </description>
    -->
    </init-param>
    <init-param>
    <param-name>log_thread_name</param-name>
    <param-value>true</param-value>
    <!--
    <description>
    Whether or not to log the thread name which
    makes the log entry - (true or false).
    </description>
    -->
    </init-param>
    <init-param>
    <param-name>log_time</param-name>
    <param-value>true</param-value>
    <!--
    <description>
    Whether or not to log the time of day along
    with the log entry - (true or false).
    </description>
    -->
    </init-param>
    <!-- Road description parameters -->
    <init-param>
    <param-name>max_speed_limit</param-name>
    <param-value>34</param-value>
    <!--
    <description>
    Maximum speed limit of any road segment.
    In meters per second. Should be A
    POSITIVE INTEGER SMALLER THAN 32767.
    </description>
    -->
    </init-param>
    <init-param>
    <param-name>local_road_threshold</param-name>
    <param-value>25</param-value>
    <!--
    <description>
    If the estimated distance between source and destination nodes is
    less than this value, in miles, then keep local roads a viable
    option. This is done as an optimization for short routes.
    Increasing this value beyond the 25 mile default may generate more
    accurate routes using local roads but can also decrease the Routers
    performance by increasing size of the soluion set to be searched.
    Decreasing this value, the minimum allowed value is 10, can increase
    Router performance by decreasing the size of the solution set to be
    searched. However, this may cause the Router to abandon viable local
    routes and produce nonoptimal short routes.
    </description>
    -->
    </init-param>
    <init-param>
    <param-name>highway_cost_multiplier</param-name>
    <param-value>1.5</param-value>
    <!--
    <description>
    This is the amount by which to make
    highways less attractive when computing
    routes with route_preference="local".
    1.5 is a good value.
    </description>
    -->
    </init-param>
    <init-param>
    <param-name>driving_side</param-name>
    <param-value>R</param-value>
    <!--
    <description>
    Side of the road on which drivers drive.
    R for right side and L for left side.
    </description>
    -->
    </init-param>
    <init-param>
    <param-name>language</param-name>
    <param-value>English</param-value>
    <!--
    <description>
         Language to use to give driving directions.
    </description>
    -->
    </init-param>
    <init-param>
    <param-name>long_ids</param-name>
    <param-value>true</param-value>
    <!--
    <description>
    If true edge and node ids are Java long datatype (8 bytes)
    otherwise they are Java integers (4 bytes)
    </description>
    -->
    </init-param>
    <init-param>
    <param-name>distance_function_type</param-name>
    <param-value>geodetic</param-value>
    <!--
    <description>
    geodetic - Use the distance function for
    geodetic coordinate systems (e.g. SRID 8307).
    euclidean - Use the distance function for
    projected coordinate systems.
    </description>
    -->
    </init-param>
    <!-- Partitioning parameters -->
    <init-param>
    <param-name>partition_cache_size_limit</param-name>
    <param-value>125</param-value>
    <!--
    <description>
    The network partition cache can hold at
    most this many number of partitions.
    Set this based on how much memory you have.
    If partitions are already in the cache, the
    RouteServer will not have to load them from the
    database.
    WARNING: if you set this too high, you will
    run into a OutOfMemoryError.
    </description>
    -->
    </init-param>
    <init-param>
    <param-name>partition_table_name</param-name>
    <param-value>partition</param-value>
    <!--
    <description>
    Name of the partition table that contains the
    network partitions. The table is presumed
    to be contained in the schema described by
    routeserver_schema_jdbc_connect_string,
    routeserver_schema_username,
    and routeserver_schema_password parameters
    described above.
    </description>
    -->
    </init-param>
    </servlet>
    <servlet-mapping>
    <servlet-name>RouteServerServlet</servlet-name>
    <url-pattern>/routeserver</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>RouteServerServlet</servlet-name>
    <url-pattern>/servlet/RouteServerServlet</url-pattern>
    </servlet-mapping>
    <!-- Security parameters -->
    <security-constraint>
    <web-resource-collection>
    <web-resource-name>AdminPage</web-resource-name>
    <url-pattern>/admin.jsp</url-pattern>
    </web-resource-collection>
    <auth-constraint>
    <role-name>rs_admin_role</role-name>
    </auth-constraint>
    </security-constraint>
    <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>Oracle RouteServer Administration</realm-name>
    </login-config>
    <security-role>
    <description>To perform RouteServer administration.</description>
    <role-name>rs_admin_role</role-name>
    </security-role>
    </web-app>

  • 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 11g - 3D-Geometry and KML-Export

    Hi,
    I'm currently working with an Oracle Spatial 11g - database and there with 2d- and 3d-geometries. With this Version you can extrude 2d's to 3d's and calculate their volumes. This works fine.
    The problem is to save the extruded areas as 3d-geometries in a specific table. Enclosed you will find the SQL-Code of the current workflow:
    *1. Create tables for the 2d- and 3d-geometries (incl. metadata and spatial index)*
    -- table for 3d-geometry
    CREATE
    TABLE ta_geb(
    geom MDSYS.SDO_GEOMETRY
    ,area NUMBER(12,3)
    -- metadata 2D
    INSERT INTO USER_SDO_GEOM_METADATA (TABLE_NAME, COLUMN_NAME, DIMINFO, SRID)
    VALUES
         'ta_geb',
         'geom',
    MDSYS.SDO_DIM_ARRAY
    (MDSYS.SDO_DIM_ELEMENT('X',4439900.00, 4440020.00, 0.005),
    MDSYS.SDO_DIM_ELEMENT('Y', 5664050.00, 5664130.00, 0.005)
    31468
    -- spatial index 2D
    CREATE
    INDEX ta_geb_index ON ta_geb(geom) INDEXTYPE IS MDSYS.SPATIAL_INDEX;
    -- table for 3d-geometry
    CREATE
    TABLE ta_3dgeb(
    geom3d MDSYS.SDO_GEOMETRY
    -- metadata 3D
    INSERT INTO USER_SDO_GEOM_METADATA (TABLE_NAME, COLUMN_NAME, DIMINFO, SRID)
    VALUES
         'ta_3dgeb',
         'geom3d',
    MDSYS.SDO_DIM_ARRAY
    (     MDSYS.SDO_DIM_ELEMENT('X',4439900.00, 4440020.00, 0.005),
         MDSYS.SDO_DIM_ELEMENT('Y', 5664050.00, 5664130.00, 0.005),
         MDSYS.SDO_DIM_ELEMENT('Z', 0, 200, 0.005)
    31468
    -- spatial index
    CREATE
    INDEX ta_3dgeb_index ON ta_3dgeb(geom3d) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARAMETERS ('SDO_INDX_DIMS=3');
    *2. insert 2d-geomtry*
    INSERT
    INTO
    ta_geb
    VALUES
    MDSYS.SDO_GEOMETRY(
    2003
    ,31468
    ,NULL
    ,MDSYS.SDO_ELEM_INFO_ARRAY(
    1
    ,1003
    ,1
    ,MDSYS.SDO_ORDINATE_ARRAY(
         4439975.91,5664077.07,
              4439967.98,5664072.06,
              4439975.33,5664060.42,
              4439983.26,5664065.43,
              4439975.91,5664077.07
    ,null --area
    *3. calculate volume of the extruded area*
    SELECT SDO_GEOM.SDO_VOLUME(SDO_UTIL.EXTRUDE(
         GEOM,
         SDO_NUMBER_ARRAY(0),
         SDO_NUMBER_ARRAY(10),
         'false', --validation
         0.005),0.005)
    from ta_geb;
    This works fine so far. Now I wanna insert the extruded geometry (now 3D) in the table ta_3dgeb. All my attempts were in vain...
    *4. insert extruded geomtry*
    INSERT
    INTO
    ta_3dgeb
    select
    SDO_UTIL.EXTRUDE(
              GEOM,
              SDO_NUMBER_ARRAY(0),
              SDO_NUMBER_ARRAY(10),
              'false', --validation
              0.005)
    from ta_geb;
    I got the following error message after executing this Code:
    ORA-29875: failed in the execution of the ODCIINDEXINSERT routine
    ORA-13365: layer SRID does not match geometry SRID
    ORA-06512: in "MDSYS.SDO_INDEX_METHOD_10I", line 709
    ORA-06512: in "MDSYS.SDO_INDEX_METHOD_10I", line 225
    Then I tried to change something on the metadata and spatial indices, wihtout success. Does anyone has advices to solve the problem??
    Afterwards I would like to export the 3d-geometry in a KML file to visualize it in Google Earth. Therefore oracle provides a tool. But I didn't managed it to export the geometry. Any hints for the KML export or are there any other tools alternatively??
    Thanks for any suggestions!
    Regards

    Extrude does not automatically populate the SRID for the resulting geometry as there may not be a 3D equivalent of the 2D SRID defined
    in the DB.
    So the extruded geometry comes out without the SRID. In your case, since you are creating an index on the ta_3dgeb table
    before inserting the extruded data, it is causing this failure.
    So drop the index on the ta_3dgeb table and do the inserts into it.
    Then you can manually update the geometries with the SRID if there is a corresponding 3D SRID for 31468.
    Otherwise, you can use 31468.
    siva

  • Oracle Spatial User Conference -  Phoenix, Az   Apr 29th 2010- Agenda

    Oracle Spatial User Conference - Agenda Now Available! Register Today
    The 2010 Oracle Spatial User Conference agenda is now available. Visit http://www.gita.org/oracle to check it out.
    This year's program includes
    ** More technical training sessions from our Spatial/MapViewer development team, on topics such as
    - Network data model
    - GeoRaster/Java API/GDAL
    - Geocoding/routing engines
    - MapViewer and Primavera project management
    ** User and partner sessions on topics such as utilities network management for smart grid apps, 3D data management for city modeling and gold mining, JDeveloper and MapViewer for business apps, and more.
    Discounts are available if you're also attending GITA's Solutions Conference, April 25-28 (http://www.gita.org/gis).
    Hope you can join us in Phoenix on Thurs., April 29.

  • Conversion of a shapefile to oracle spatial format

    hi,
    I have got installed oracle9i, arcgis9 and sde9 on my system. I am using direct connection technique. i have tried to export shapefile to geodatabase with the use of SDO_GEOMETRY configuration keyword. But when i am checking at the backend there is no srid value for the exported shapefile in mdsys.sdo_geom_metadatatable.

    Hello Vaneeza:
    We also have the software versions that you mention. how did you load your data from the shapefile to your Oracle database? Did you use the shp2sdo.exe program? If so, then you need to complete this data load by logging into Oracle as the same account used to load the shapefile data and execute a SQL statement (INSERT...) to insert the metadata into the USER_SDO_GEOM_METADATA table. See the Oracle Spatial Users Guide and Reference for more information. I believe the book "Pro Oracle Spatial" covers this topic also. I think you will also have to register the table with ArcSDE, there is an ArcSDE command for this. By default, ArcSDE has something called "autoregistration" turned on, so unless you have changed that setting, then ESRI client apps like ArcMap will "discover" the table in your Oracle database by reading the Oracle metadata.
    R Clement

  • 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 Spatial 10g

    Hello all
    I would like to know if is it possible to install the 10g Spatial functionality in a previous version of the database (8.1.7).
    We want to work with Oracle Spatial + ArcSDE (with versioning and Spatial as Geometry Storage) + ArcGIS-ArcIMS, but the editing software will be AutoCAD.
    We will get from the database those elements whe want to edit and put it then in AutoCAD layers . To limit the traffic, we only need the geographic primitives (points and arc, but no polygons), but as we are editing polygons, we need a process that rebuild topology. I think that the new Oracle Spatial 10 g topological functionalities could help us (so we can insert arcs in a table and get the polygons they are building, and dangle arcs).
    I suppose it will not be possible to edit directly to the geodatabase feature class if it is versioned (so all the changes will appear as consolidated), but, is it possible (and of course, easy) to rebuild via SQL an ArcSDE version?
    And finally:
    Can (and how) we use Oracle WorkSpace Manager whit ArcSDE??? , and only with AutoCAD? Any experience? I´m thinking about spatial index and mdsys metadata table. Must be these tables registered as "versioned" with Oracle WorkSpace Manager to work with spatial data?
    Thank you for all
    Jesús de Diego

    Hello all again
    First of all, thank you for your quick reply.
    I can explain a bit more what we wanna do:
    we're in a multi-platform environ. We've ArcGIS users, AutoCAD users and a ArcSDE DB. We don't want AutoCAD users to migrate to ArcEditor, but they need to edit corporative (DB) data, and, in the other hand, there will be others editors using ArcEditor capabilities, so it is possible we will need versioned (ArcSDE) data.
    I think we can edit an ArcSDE version vía AutoCAD:
    1º Data storage will be Oracle Spatial.
    2º A new version over the default will be created.
    3º When an AutoCAD editor request spatial data, we can, vía SQL, get the sdo_geometry (here is when i need to rebuild a complete version....)
    4º We load these spatial data into diferents layer in a dwg (in we can get only the geographic primitives, this will be faster)
    5º CAD users edit the information and when they finish, load arc and points (lables) into 2 temporal tables, when arcCatalog can rebild polygon topology ....
    6º Once polygons have been rebuilded, can be sended to AutoCAD again so Oracle Spatial SQL queries can be used in AutoCAD against the DB.
    7º Finally, could we insert the new records into A and D tables?, and how? using simply SQL (again we need to rebuild a version....)
    I'm all ears.......
    Thank you again
    Jesús de Diego

  • Accessing a legacy Oracle Spatial Database

    We have an Oracle 9i server with Spatial extensions. There are data tables with SDO_GEOMETRY columns. These tables contain information that is consumed by a legacy application that uses MapInfo MapX GIS control. MapInfo stores metadata info in a proprietary Oracle DB table. The standard Oracle Spatial metainfo tables are empty.
    What would be your recommendation for rescuing the geodata in the tables and generating the Oracle Spatial metainfo and being able to access the DB with Oracle Spatial-compatible tools like MapViewer?
    Can MapViewer access the data and generate what is missing in the DB?
    Thanks!
    Edited by: 921274 on Mar 15, 2012 5:52 PM

    Try connecting as SCOTT/TIGER, then do this:
    select * from user_sdo_geom_metadata;
    if the table does not exist, then spatial hasn't been installed
    if it does exist, then spatial (or locator) has been installed.
    If the table didn't exist, rerun the installer, choose a custom
    installation, and check the Spatial box, then install.
    If the table did exist, or after you install spatial, you'll want to
    use the user's guide, or take the spatial course to get started.

  • 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

  • Example Oracle Spatial Queries for NAVTEQ Data

    Hi,
    I recently installed NAVTEQ RDF data into an Oracle database. I am new to Oracle Spatial and am looking for some example queries using the NAVTEQ data in the Oracle database.
    For example, suppose I have a point (latitude,longitude). What are the queries for each of these:
    1) find roads or faces within 5 miles of that point;
    2) find roads or faces that cover that point
    Thanks!
    Bowden

    Hi,
    There are a lot of of ways to license the data (county, state, country), there are different flavors (mapping, geocoding, and routing), and there are different licensing options for the Oracle platform (user based and cpu/core based). I cannot think of a use case that would approach the cost below.
    Feel free to drop me an email (daniel dot abugov at navteq dot com) and we can discuss.
    Dan Abugov
    NAVTEQ Enterprise Business Development and Consulting

Maybe you are looking for

  • Need help understanding MS SQL Server 2008R2 and Report Builder 3.0 and user access / priviledges.

    Having Problems with connections and access.  I have spent the last 2 days reading various threads regarding SQL Reporting Services pertaining to access and connections. First, let me explain what I have done to date. 1)  I am using Windows 7 - Home

  • Url link in UI

    Hello everyone, I am writing my first script and I have run into a problem.  In my UI I have included an image that I would like to turn into a URL link. I think this is possible, as I have seen buttons as URL links. Can anyone help? Thanks a million

  • Continuous crashing of flash player in Chrome!!??

    Hi there, I was wondering if someone can shed some light on why Flas Player keep on crashing in Google Chrome?  It either gives you the little broken puzzle piece or just become non-responsive!!!  This has really been frustrating and I would apprecia

  • Disk for my HP officejet J4580 all-in-one.

    Cannot locate disk to reinstall my printer. How can I obtain a copy?

  • Entire Itunes Libraray has disappeared

    I opened my Itunes yesteday and for no apparent reason my entire  Itunes library has disappeared. Over 100 thousand podcasts, tv shows, music and by purchases tab are just gone. Has this happened with itunes before? Could a virus have done this? I am