MapViewer + SDO_relate

Hi,
I've been busy with MapViewer for a while now. As you might know from other topics I created, I've been converting the .jsp file (the MapViewer demo) to a servlet. This works fine now. This time I want to add a little bit more interactivity to MapViewer, so I've been working on a funtion that makes it posible to click on an object in the map. Then a new window (browser-window) will open, en display some info of that object. This is done with a jdbc connection.
But I can't get a good working SQL-query! This is what I have now:
select CLS from top10 where sdo_relate(top10.geometry, mdsys.sdo_geometry(2001,90112,mdsys.sdo_point_type(151179.16666666666,409254.1666666667,null), null,null), 'mask=CONTAINS querytype=WINDOW') = 'TRUE'cls is just a number, to test if the query is ok.
"151179.16666666666,409254.1666666667" are the X and Y coordinates clicked in the map
For some coordinates the query works (usualy coordinates near the center of the object), but for some it doesn't. Can anyone help me (of does anyone have any suggestions) to improve the query?

never mind, my coordinated transformation is wrong..

Similar Messages

  • Cannot get sdo_relate to work in a procedure when outputting to MapView

    Dear all
    I originally sent this message to Spatial forum but it was suggested I post it here. I am trying to write a query that returns all streets that geographically interact with streets on a chosen map. The following MapViewer XML works but when I run it as a procedure, I get an error message. I've tracked this to the SDO.RELATE part of programme. If I include that in the procedure, it brings up the error message. If I don't, it works. Would anyone know what I am doing wrong?
    XML that works:<?xml version="1.0" encoding="UTF-8" ?>
    <map_request
    format="PNG_URL" width="800" height="600"
    datasource="geg00001"
    srid="81989">
    <themes>
    <theme name="map_index" >
       <jdbc_query
       spatial_column="geoloc"  
       jdbc_srid="81989"
       datasource="geg00001"
       asis="true">
    SELECT b.geoloc
    FROM geg50160.map_index A, geg50160.map_index B
    WHERE A.name_of_feature LIKE UPPER('%HIGH STREET%')
    AND A.index_type_id=320001
    AND B.index_type_id=320001
    AND A.original_map_sheet_number_id=330017
    AND SDO_RELATE
    (B.geoloc,
    A.geoloc,
    'MASK=OVERLAPBDYINTERSECT+EQUAL+INSIDE+COVEREDBY+CONTAINS+COVEERS')
    ='TRUE'
       </jdbc_query>
    </theme>
    </themes>
    </map_request>Procedure that fails:create or replace procedure procMap_index is
    XMLrequest Varchar2(32767);
    mapviewerHost varchar2(56) := 'http://tiger.iso.port.ac.uk:7785/mapviewer/omserver';
    begin
    --construct the xml request
    XMLrequest := mapviewerHost||'?xml_request=
    <?xml version="1.0" encoding="UTF-8" ?>
    <map_request
    format="PNG_URL" width="800" height="600"
    datasource="geg00001"
    srid="81989">
    <themes>
    <theme name="map_index" >
       <jdbc_query
       spatial_column="geoloc"  
       jdbc_srid="81989"
       datasource="geg00001"
       asis="true">
    SELECT b.geoloc
    FROM geg50160.map_index A, geg50160.map_index B
    WHERE A.name_of_feature LIKE UPPER(''%HIGH STREET%'')
    AND A.index_type_id=320001
    AND B.index_type_id=320001
    AND A.original_map_sheet_number_id=330017
    AND SDO_RELATE
    (B.geoloc,
    A.geoloc,
    ''MASK=OVERLAPBDYINTERSECT+EQUAL+INSIDE+COVEREDBY+CONTAINS+COVEERS'')
    =''TRUE''
       </jdbc_query>
    </theme>
    </themes>
    </map_request>';
    --Escape the url
    XMLrequest := utl_url.escape (XMLrequest);
    -- output a link to the map
    htp.print('<a href="'||XMLrequest||'">Map</a>');
    end;Error message:<oms_error>
    Message:null
    Wed Apr 29 12:13:13 BST 2009
    Severity: 0
    Description:
    Message:null
    Wed Apr 29 12:13:13 BST 2009
    Severity: 0
    Description:
    Message:[SDOVIS] No spatial data to render!
    Description:
    at oracle.sdovis.DBMapMaker.renderEm(DBMapMaker.java:1304)
    at oracle.sdovis.MapMaker.renderMap(MapMaker.java:1399)
    at oracle.lbs.mapserver.core.RealWorker.generateMapImage(RealWorker.java:573)
    at oracle.lbs.mapserver.core.RealWorker.process(RealWorker.java:236)
    at oracle.lbs.mapserver.MapServerImpl.renderMap(MapServerImpl.java:189)
    at oracle.lbs.mapserver.oms.doPost(oms.java:325)
    at oracle.lbs.mapserver.oms.doGet(oms.java:235)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:765)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:317)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:208)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:125)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    at java.lang.Thread.run(Thread.java:534)
    </oms_error>If anyone has any ideas I would be grateful if you could post them.
    Kind regards
    Tim

    Check your MapViewer server log file to see if there is any error messages or exceptions. Set the log level to finest first though, so you can also check the exact XML request string as received by the server. It could be some XML encoding related issue as well (which you can tell by looking at the request as logged at the server side).

  • Cannot get sdo_relate to work in a procedure when outputting to MapViewer

    Dear all
    I am trying to write a query that returns all streets that geographically interact with streets on a chosen map. The following MapViewer XML works but when I run it as a procedure, I get an error message. I've tracked this to the SDO.RELATE part of programme. If I include that in the procedure, it brings up the error message. If I don't, it works. Would anyone know what I am doing wrong?
    XML that works:<?xml version="1.0" encoding="UTF-8" ?>
    <map_request
    format="PNG_URL" width="800" height="600"
    datasource="geg00001"
    srid="81989">
    <themes>
    <theme name="map_index" >
       <jdbc_query
       spatial_column="geoloc"  
       jdbc_srid="81989"
       datasource="geg00001"
       asis="true">
    SELECT b.geoloc
    FROM geg50160.map_index A, geg50160.map_index B
    WHERE A.name_of_feature LIKE UPPER('%HIGH STREET%')
    AND A.index_type_id=320001
    AND B.index_type_id=320001
    AND A.original_map_sheet_number_id=330017
    AND SDO_RELATE
    (B.geoloc,
    A.geoloc,
    'MASK=OVERLAPBDYINTERSECT+EQUAL+INSIDE+COVEREDBY+CONTAINS+COVEERS')
    ='TRUE'
       </jdbc_query>
    </theme>
    </themes>
    </map_request>Procedure that failscreate or replace procedure procMap_index is
    XMLrequest Varchar2(32767);
    mapviewerHost varchar2(56) := 'http://tiger.iso.port.ac.uk:7785/mapviewer/omserver';
    begin
    --construct the xml request
    XMLrequest := mapviewerHost||'?xml_request=
    <?xml version="1.0" encoding="UTF-8" ?>
    <map_request
    format="PNG_URL" width="800" height="600"
    datasource="geg00001"
    srid="81989">
    <themes>
    <theme name="map_index" >
       <jdbc_query
       spatial_column="geoloc"  
       jdbc_srid="81989"
       datasource="geg00001"
       asis="true">
    SELECT b.geoloc
    FROM geg50160.map_index A, geg50160.map_index B
    WHERE A.name_of_feature LIKE UPPER(''%HIGH STREET%'')
    AND A.index_type_id=320001
    AND B.index_type_id=320001
    AND A.original_map_sheet_number_id=330017
    AND SDO_RELATE
    (B.geoloc,
    A.geoloc,
    ''MASK=OVERLAPBDYINTERSECT+EQUAL+INSIDE+COVEREDBY+CONTAINS+COVEERS'')
    =''TRUE''
       </jdbc_query>
    </theme>
    </themes>
    </map_request>';
    --Escape the url
    XMLrequest := utl_url.escape (XMLrequest);
    -- output a link to the map
    htp.print('<a href="'||XMLrequest||'">Map</a>');
    end;Error message<oms_error>
    Message:null
    Wed Apr 29 12:13:13 BST 2009
    Severity: 0
    Description:
    Message:null
    Wed Apr 29 12:13:13 BST 2009
    Severity: 0
    Description:
    Message:[SDOVIS] No spatial data to render!
    Description:
    at oracle.sdovis.DBMapMaker.renderEm(DBMapMaker.java:1304)
    at oracle.sdovis.MapMaker.renderMap(MapMaker.java:1399)
    at oracle.lbs.mapserver.core.RealWorker.generateMapImage(RealWorker.java:573)
    at oracle.lbs.mapserver.core.RealWorker.process(RealWorker.java:236)
    at oracle.lbs.mapserver.MapServerImpl.renderMap(MapServerImpl.java:189)
    at oracle.lbs.mapserver.oms.doPost(oms.java:325)
    at oracle.lbs.mapserver.oms.doGet(oms.java:235)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:765)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:317)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:208)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:125)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    at java.lang.Thread.run(Thread.java:534)
    </oms_error>If anyone has any ideas I would be grateful if you could post them.
    Kind regards
    Tim

    Probably best to try this question over at the MapViewer forum ( MapViewer ).

  • MapViewer 9.0.4 Beta - queryWithinRectangle

    Hi,
    I am trying to use one of the MapViewer Beans' functions.
    So far so good.
    But as soon as I tried queryWithinRectangle I got an error message of java.sql.SQLException: ORA-00907: missing right parenthesis.
    I turned the log level to finest to see the error message in detail. Here is a part of the log file :
    [oracle.lbs.mapserver.core.InfoWorker, Tue Aug 12 14:20:45 EST 2003, DEBUG] [query_within_rectangle] SELECT ROWID FROM AUS_CADL WHERE
    sdo_relate(GEOM,
    mdsys.sdo_geometry(2003, 8307,
    null, mdsys.sdo_elem_info_array(1,1003,3),
    mdsys.sdo_ordinate_array(151.1996999542202,-33.825718463123145,151.19975416716866,-33.8257726760716))
    'mask=INSIDE+COVEREDBY querytype=WINDOW') = 'TRUE'
    I ran the same query on SQL*Plus and got the same error message :
    Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.1.0 - Production
    SQL> SELECT * FROM AUS_CADL WHERE
    2 sdo_relate(GEOM,
    3 mdsys.sdo_geometry(2003, 8307, null, mdsys.sdo_elem_info_array(1,1003,3),mdsys.sdo_ordinate_a
    rray(151.1996999542202,-33.825718463123145,151.19975416716866,-33.8257726760716) )
    4 'mask=INSIDE+COVEREDBY querytype=WINDOW') = 'TRUE'
    5 ;
    'mask=INSIDE+COVEREDBY querytype=WINDOW') = 'TRUE'
    ERROR at line 4:
    ORA-00907: missing right parenthesis
    As you can see first of all it is missing a comma before
    'mask...So I tried to run the same query with a comma on SQL*PLus only to see another error as :
    SQL> SELECT * FROM AUS_CADL WHERE
    2 sdo_relate(GEOM,
    3 mdsys.sdo_geometry(2003, 8307, null,
    4 mdsys.sdo_elem_info_array(1,1003,3),
    5 mdsys.sdo_ordinate_array(151.1996999542202,-33.825718463123145,151.19975416716866,-33.8257726
    760716)
    6 ) ,
    7 'mask=INSIDE+COVEREDBY querytype=WINDOW'
    8 ) = 'TRUE';
    SELECT * FROM AUS_CADL WHERE
    ERROR at line 1:
    ORA-29902: error in executing ODCIIndexStart() routine
    ORA-13373: Element of type Extent is not supported for Geodetic data
    ORA-06512: at "MDSYS.SDO_INDEX_METHOD_9I", line 368
    ORA-06512: at line 1
    Then tried using viewport_transform with success as :
    SQL> SELECT * FROM AUS_CADL WHERE
    2 sdo_relate(GEOM,
    3 sdo_cs.viewport_transform(
    4 mdsys.sdo_geometry(2003, 0, null, mdsys.sdo_elem_info_array(1,1003,3), mdsys.sdo_ordinate_ar
    ray(151.1996999542202,-33.825718463123145,151.19975416716866,-33.8257726760716) )
    5 ,8307),
    6 'mask=INSIDE+COVEREDBY querytype=WINDOW'
    7 ) = 'TRUE';
    no rows selected
    So a couple of questions :
    1- Is a comma really missing in this function?
    2- Is this function not supported for Geodetic data ?
    3- Would it work at all on a Projected data ?
    4- Any plans to support Geodetic data by using viewport_transform ?
    Cheers,
    Baris Guner
    [email protected]

    Baris,
    This bug was fixed a while back. A new preview version of MapViewer containing the fix as well as other enhencements will be available on OTN soon. So stay tunned and check back on this forum often.
    thanks,
    LJ

  • MapViewer WMS GetMap uses SDO_FILTER

    When I use the WMS request GetMap, MapViewer uses SDO_FILTER for the generated queries. This is not always accurate because sometimes features are not selected and drawn. How can I make MapViewer use SDO_RELATE instead of SDO_FILTER?

    The fact that mapping applications use sdo_filter is because it is much more faster to supply a resultset which normally is bigger than the actual set needed for a rectangular view in such an application, then to use an operator like sdo_relate to get an exact matching resultset.
    After all speed is important in (web)mapping applications.
    This is also noted in the user manual:
    http://download.oracle.com/docs/html/B14255_01/sdo_intro.htm#sthref91
    Extract:
    Spatial uses a spatial index to implement the primary filter. Spatial does not require the use of both the primary and secondary filters. In some cases, just using the primary filter is sufficient. For example, a zoom feature in a mapping application queries for data that has any interaction with a rectangle representing visible boundaries. The primary filter very quickly returns a superset of the query. The mapping application can then apply clipping routines to display the target area.
    The purpose of the primary filter is to quickly create a subset of the data and reduce the processing burden on the secondary filter. The primary filter, therefore, should be as efficient (that is, selective yet fast) as possible. This is determined by the characteristics of the spatial index on the data.
    However, I think, it should not return less features then the sdo_relate.
    Maybe a Mapviewer expert can help you further.
    Luc

  • Is possible to represent data from a view in MapViewer?

    I have tried to represent data from a view instead a table with the Java-Beans API but I couldn't beacause it doesn't represent any geometry referenced by the view. I think it should be implemented because is very common to use views. Are there any way to represent them in MapViewer?
    Thanks.

    Like a table, you also need to register the view in spatial metadata (user_sdo_geom_metadata). Did you register the view and its spatial column there?

  • MapViewer geometry theme 'mouse_click' doesn't always work in FF3

    I have code that works with IE7 but not FireFox 3 (I'm using MapViewer Ver1033p5_B080908 and an 11.1.0.6 db). I've been able to duplicate it by only slightly modifying Oracle Maps demo #5, "Theme Based FOI layer visibility". Code is shown below.
    I'm displaying two geometry themes. I need to know when the user clicks on either theme or the background. I add the themes and call setEventListener('mouse_click') for both themes and the mapview. In IE7 I get the expected result - one of the three handlers gets called depending on where I click. In FF3 (specifically 3.0.3) only the "top" theme's mouse handler is active. Cicking on the bottom theme - even when there is no overlap at all - only calls the mapview's handler. Same is true with info tooltips - they display for both themes in IE7, but only for the top theme in FF3. (http://www.navsys.com/BruceB/mapviewer.gif shows the two themes - one green, the other pink. On FF3 I never get a "hand" cursor or a tooltip over any of the pink areas, and clicking calls the mapview handler, not the theme handler.)
    Incidently if I hide the "top" theme, then the mouse clicks/tooltip work again on the other theme.
    Is this expected?
    Thanks!
    -Bruce
    <html>
    <head>
    <META http-equiv="Content-Type" content="text/html" charset=UTF-8">
    <TITLE>Map Cache Server/Map Client</TITLE>
    <link rel="stylesheet" type="text/css" href="../t.css" />
    <script language="Javascript" src="/mapviewer/fsmc/jslib/oraclemaps.js"></script>
    <script language=javascript>
    var mapview;
    function showMap()
    var baseURL = "http://"+document.location.host+"/mapviewer";
    var mapCenterLon = -83.498
    var mapCenterLat = 31.453;
    var mapZoom = 4;
    var mpoint = MVSdoGeometry.createPoint(mapCenterLon,mapCenterLat,8307);
    mapview = new MVMapView(document.getElementById("map"), baseURL);
    mapview.addMapTileLayer(new MVMapTileLayer("mapdata.demo_map"));
    mapview.setCenter(mpoint);
    mapview.setZoomLevel(mapZoom);
    mapview.setEventListener('mouse_click',backgroundClick);
    addThemeBasedFOI();
    mapview.addNavigationPanel() ;
    mapview.display();
    function addThemeBasedFOI()
    var themebasedfoi1 = new MVThemeBasedFOI('themebasedfoi1','grim.T_121_GBOTEST_70265_F');
    themebasedfoi1.enableAutoWholeImage(true) ;
         themebasedfoi1.setEventListener('mouse_click',theme1clicked);
    mapview.addThemeBasedFOI(themebasedfoi1);
    var themebasedfoi2 = new MVThemeBasedFOI('themebasedfoi2','grim.TR_GBOTEST_86094_F');
    themebasedfoi2.setEventListener('mouse_click',theme2clicked);
    mapview.addThemeBasedFOI(themebasedfoi2);
    function setVisible(item)
    var themebasedfoi = mapview.getThemeBasedFOI(item.value);               
    themebasedfoi.setVisible(!themebasedfoi.isVisible());
    function theme1clicked(pt,foidata,me)
         alert('Tour clicked');
    function theme2clicked(pt,foidata,me)
         alert('Best clicked');
    function backgroundClick()
    alert('background click');
    </script>
    </head>
    <body onload="javascript:showMap();">
    <h3>Oracle Maps example - show/hide Theme Based FOI layers </h3>
    <ul>
    <LI ><INPUT TYPE="checkbox" value="themebasedfoi1" onclick="setVisible(this)" checked/>Show County population layer
    <LI ><INPUT TYPE="checkbox" value="themebasedfoi2" onclick="setVisible(this)" checked/>Show Customer layer
    </ul>
    <div id="map" style="left:0px;top:10px;width:100%; height:60%"></div>
    <HR/>
    </body>
    </html>

    Alan McClean has alluded to the cause of this behaviour but I think others would benefit from a full explanation because it doesn't appear to be documented. I might add that Business Objects support were no help at all on this (they suggested I had a problem with my mouse, PC or network which I don't).
    Normal response to a mouse double-click on a document name in InfoView XI3:
    The double-click action performs the default action on the right-click list. This is the option you see in bold when you right-click on a document name. The default action is 'View' document. So when you double-click on the document it opens for viewing.
    In CMC, under Applications>InfoView if you set 'Default viewing action on listing page:' to 'View the latest successful instance of the object' then the double-click behaviour changes:
    The double-click action now tries to open the latest successful instance of a document. I found that any document in my Inbox or any document with instances (e.g. scheduled report) will still open for viewing using the double-click. For any other document the double-click fails silently. I assume this is because there simply isn't a latest instance to open.
    Conclusions:
    1. Don't use the 'View the latest successful instance of the object'. I have reset my CMC setting back to 'View the object'.
    2. I think Business Objects should change the double-click behaviour so that rather than fail silently it opens the document.

  • Problem while adding a new data source for the demo for mapviewer...

    hello,
    i use oracle 10g enterprise edition. i imported the necessary dump files and get the necessary scripts worked. i want to see the demo results in mapviewer. for that, i have to add a datasource. the XML code in order to realize this purpose is:
    <?xml version="1.0" standalone="yes"?>
    <non_map_request>
    <add_data_source
    name="mvdemo"
    jdbc_host="c-0y5wp0jvd2bf8"
    jdbc_port="1521"
    jdbc_sid="mvdemo"
    jdbc_user="!mvdemo"
    jdbc_password="tiger"
    jdbc_mode="thin"
    number_of_mappers="3" />
    </non_map_request>
    i press the submit button. then it wants me to enter a username and password. the default is admin/welcome. then i see this result on the browser:
    This XML file does not appear to have any style information associated with it. The document tree is shown below.
         <oms_error>
    Message:[MapperConfig] eşleme verileri kaynağı eklenemiyor.
    Sat Feb 26 02:29:19 EET 2005
    Severity: 0
    Description:
         at oracle.lbs.mapserver.core.MapperConfig.addMapDataSource(MapperConfig.java:583)
         at oracle.lbs.mapserver.MapServerImpl.addMapDataSource(MapServerImpl.java:315)
         at oracle.lbs.mapserver.oms.addDataSource(oms.java:1241)
         at oracle.lbs.mapserver.oms.doPost(oms.java:409)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:810)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
         at java.lang.Thread.run(Thread.java:534)
    </oms_error>
    by the way, the error message on the application server screen:
    05/02/26 02:29:16 INFO [oracle.lbs.mapserver.MapServerImpl] adding a map data sr
    c [name=mvdemo]
    05/02/26 02:29:18 WARN [oracle.sdovis.ds.nods] java.sql.SQLException: G/╟ istisn
    as²: The Network Adapter could not establish the connection
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java
    :137)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java
    :174)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java
    :286)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:321)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:
    414)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:149)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtensio
    n.java:31)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:551)
    at java.sql.DriverManager.getConnection(DriverManager.java:512)
    at java.sql.DriverManager.getConnection(DriverManager.java:171)
    at oracle.sdovis.ds.NativeOracleDataSource.<init>(NativeOracleDataSource
    .java:120)
    at oracle.sdovis.ds.DSManager.registerOracleJdbcDS(DSManager.java:86)
    at oracle.lbs.mapserver.core.MapperConfig.createMappers(MapperConfig.jav
    a:613)
    at oracle.lbs.mapserver.core.MapperConfig.addMapDataSource(MapperConfig.
    java:582)
    at oracle.lbs.mapserver.MapServerImpl.addMapDataSource(MapServerImpl.jav
    a:315)
    at oracle.lbs.mapserver.oms.addDataSource(oms.java:1241)
    at oracle.lbs.mapserver.oms.doPost(oms.java:409)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletReque
    stDispatcher.java:810)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(Ser
    vletRequestDispatcher.java:322)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpReques
    tHandler.java:790)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.ja
    va:270)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.ja
    va:112)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(Relea
    sableResourcePooledExecutor.java:186)
    at java.lang.Thread.run(Thread.java:534)
    05/02/26 02:29:18 WARN [oracle.sdovis.ds.nods] connecting to database using jdbc
    thin driver...
    05/02/26 02:29:19 ERROR [oracle.sdovis.ds.nods] java.sql.SQLException: G/╟ istis
    nas²: The Network Adapter could not establish the connection
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java
    :137)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java
    :174)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java
    :286)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:321)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:
    414)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:149)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtensio
    n.java:31)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:551)
    at java.sql.DriverManager.getConnection(DriverManager.java:512)
    at java.sql.DriverManager.getConnection(DriverManager.java:171)
    at oracle.sdovis.ds.NativeOracleDataSource.<init>(NativeOracleDataSource
    .java:136)
    at oracle.sdovis.ds.DSManager.registerOracleJdbcDS(DSManager.java:86)
    at oracle.lbs.mapserver.core.MapperConfig.createMappers(MapperConfig.jav
    a:613)
    at oracle.lbs.mapserver.core.MapperConfig.addMapDataSource(MapperConfig.
    java:582)
    at oracle.lbs.mapserver.MapServerImpl.addMapDataSource(MapServerImpl.jav
    a:315)
    at oracle.lbs.mapserver.oms.addDataSource(oms.java:1241)
    at oracle.lbs.mapserver.oms.doPost(oms.java:409)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletReque
    stDispatcher.java:810)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(Ser
    vletRequestDispatcher.java:322)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpReques
    tHandler.java:790)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.ja
    va:270)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.ja
    va:112)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(Relea
    sableResourcePooledExecutor.java:186)
    at java.lang.Thread.run(Thread.java:534)
    05/02/26 02:29:19 ERROR [oracle.sdovis.ds.nods] java.sql.SQLException: G/╟ istis
    nas²: The Network Adapter could not establish the connection
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java
    :137)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java
    :174)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java
    :286)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:321)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:
    414)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:149)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtensio
    n.java:31)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:551)
    at java.sql.DriverManager.getConnection(DriverManager.java:512)
    at java.sql.DriverManager.getConnection(DriverManager.java:171)
    at oracle.sdovis.ds.NativeOracleDataSource.<init>(NativeOracleDataSource
    .java:136)
    at oracle.sdovis.ds.DSManager.registerOracleJdbcDS(DSManager.java:86)
    at oracle.lbs.mapserver.core.MapperConfig.createMappers(MapperConfig.jav
    a:613)
    at oracle.lbs.mapserver.core.MapperConfig.addMapDataSource(MapperConfig.
    java:582)
    at oracle.lbs.mapserver.MapServerImpl.addMapDataSource(MapServerImpl.jav
    a:315)
    at oracle.lbs.mapserver.oms.addDataSource(oms.java:1241)
    at oracle.lbs.mapserver.oms.doPost(oms.java:409)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletReque
    stDispatcher.java:810)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(Ser
    vletRequestDispatcher.java:322)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpReques
    tHandler.java:790)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.ja
    va:270)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.ja
    va:112)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(Relea
    sableResourcePooledExecutor.java:186)
    at java.lang.Thread.run(Thread.java:534)
    05/02/26 02:29:19 ERROR [oracle.lbs.mapserver.core.MapperConfig] java.lang.Illeg
    alArgumentException: Error creating NativeOracleDataSource.
    at oracle.sdovis.ds.NativeOracleDataSource.<init>(NativeOracleDataSource
    .java:196)
    at oracle.sdovis.ds.DSManager.registerOracleJdbcDS(DSManager.java:86)
    at oracle.lbs.mapserver.core.MapperConfig.createMappers(MapperConfig.jav
    a:613)
    at oracle.lbs.mapserver.core.MapperConfig.addMapDataSource(MapperConfig.
    java:582)
    at oracle.lbs.mapserver.MapServerImpl.addMapDataSource(MapServerImpl.jav
    a:315)
    at oracle.lbs.mapserver.oms.addDataSource(oms.java:1241)
    at oracle.lbs.mapserver.oms.doPost(oms.java:409)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletReque
    stDispatcher.java:810)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(Ser
    vletRequestDispatcher.java:322)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpReques
    tHandler.java:790)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.ja
    va:270)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.ja
    va:112)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(Relea
    sableResourcePooledExecutor.java:186)
    at java.lang.Thread.run(Thread.java:534)
    if someone could help about what to do, i would be grateful..

    when defining a data source through the admin web page, don't add '!' in front of the password.
    ! is needed only when configuring a data source in the mapViewerConfig.xml file.

  • The Oracle MapViewer brings the WebLogic Managed Server to crash

    Problem Description: The Oracle MapViewer brings the WebLogic Managed Server to crash, when we call a GetMap-Request with wrong Coordinates.
    This was found out for the SRS=EPSG:25833. Example:
    http://igdb-qm-svra1.blva.bayern.de:8080/mapviewer/wms?
    REQUEST=getMap&
    Version=1.1.1&
    LAYERS=&
    FORMAT=image/png&
    TRANSPARENT=false&
    STYLES=&
    Datasource=igvert_alkis_wms&
    basemap=AT_WMS_TN-KOMPLETT&
    SRS=EPSG:25833&
    BBOX=3.32358690717E7,5529425.0143,3.32369088846E7,5530464.8272&
    WIDTH=500&
    HEIGHT=500&
    With the Enterprise Manager was also evaluated during and after a crash of Server the SQL-Statements.
    If the SQL statements executed on the database itself, it takes a few seconds after a correct answer returns.
    I know that have the look for the EPSG coordinate as follows:
    BBOX=235869.071700,5529425.014300,236908.884600,5530464.827200&
    My question therefore: Why are these coordinates by the Oracle MapViewer approved and not caught? An Request with incorrect
    coordinates goes into a StuckThreads and then the ManagedServer crashed.
    In the appendix you will find the evaluation of the Enterprise Manager.
    I have tested the request with two different versions of Oracle MapViewer (Ver11_1_1_5_B110527 and Ver11_B100426). In both the same problem occurs on.
    I have also filed an SR.
    Best Regards
    Kerstin

    Hi,
    Can you confirm that you're trying to setup a managed server on another machine using the pack/unpack commands ?
    You might to want to take a look at that post.
    Clustering of 2 Physical server
    Hope that helps !
    Regards

  • Command line hangs when starting OC4J with MapViewer

    Hello,
    I have a simple development setup with a stand-alone oc4j instance installed via the MapViewer Quick Start Kit, on an 11g database, on a Windows XP workstation.
    The problem: When I start the oc4j instance everything seems to start up successfully - the AS Control, the MapViewer EAR, etc.., but the command line window hangs after the last command is executed. It does not return to the command prompt. And if I close the Command Prompt window the oc4j instance automatically shuts down. Any thoughts on why this is hanging? Or is this normal behavior? Thank you. The text of the startup is shown below.
    (Oh...and if you have any idea why I am getting a string of [ConverterRule] WARNINGS, please let me know. Thanks.)
    -Dan
    ------- Output below --------
    C:\app\oracle\product\11.1.0\db_1\oc4j_mv\j2ee\home>java -jar oc4j.jar
    WARNING: Code-source C:\app\oracle\product\11.1.0\db_1\oc4j_mv\j2ee\home\applica
    tions\mapviewer\web\WEB-INF\lib\dms.jar (from WEB-INF/lib/ directory in C:\app\o
    racle\product\11.1.0\db_1\oc4j_mv\j2ee\home\applications\mapviewer\web\WEB-INF\l
    ib) has the same filename but is not identical to /C:/app/oracle/product/11.1.0/
    db_1/oc4j_mv/lib/dms.jar (from <code-source> (ignore manifest Class-Path) in MET
    A-INF/boot.xml in C:\app\oracle\product\11.1.0\db_1\oc4j_mv\j2ee\home\oc4j.jar).
    If it contains different versions of the same classes, it will be masked as the
    latter is already visible in the search path of loader mapviewer.web.web:0.0.0.
    WARNING: Code-source C:\app\oracle\product\11.1.0\db_1\oc4j_mv\j2ee\home\applica
    tions\mapviewer\web\WEB-INF\lib\ojdl.jar (from WEB-INF/lib/ directory in C:\app\
    oracle\product\11.1.0\db_1\oc4j_mv\j2ee\home\applications\mapviewer\web\WEB-INF\
    lib) has the same filename but is not identical to /C:/app/oracle/product/11.1.0
    /db_1/oc4j_mv/diagnostics/lib/ojdl.jar (from <code-source> (ignore manifest Clas
    s-Path) in META-INF/boot.xml in C:\app\oracle\product\11.1.0\db_1\oc4j_mv\j2ee\h
    ome\oc4j.jar). If it contains different versions of the same classes, it will be
    masked as the latter is already visible in the search path of loader mapviewer.
    web.web:0.0.0.
    Mar 10, 2009 10:51:19 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.Short,null)
    Mar 10, 2009 10:51:19 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(null,java.lang.Short)
    Mar 10, 2009 10:51:19 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.Byte,null)
    Mar 10, 2009 10:51:19 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(null,java.lang.Byte)
    Mar 10, 2009 10:51:19 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.Integer,null)
    Mar 10, 2009 10:51:19 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(null,java.lang.Integer)
    Mar 10, 2009 10:51:19 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.Long,null)
    Mar 10, 2009 10:51:19 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(null,java.lang.Long)
    Mar 10, 2009 10:51:19 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.Float,null)
    Mar 10, 2009 10:51:19 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(null,java.lang.Float)
    Mar 10, 2009 10:51:19 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.Double,null)
    Mar 10, 2009 10:51:19 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(null,java.lang.Double)
    Mar 10, 2009 10:51:19 AM com.sun.faces.config.rules.ValidatorRule end
    WARNING: [ValidatorRule]{faces-config/validator} Merge(javax.faces.LongRange)
    Mar 10, 2009 10:51:19 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.DateTime,null
    Mar 10, 2009 10:51:19 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.Number,null)
    2009-03-10 10:51:20.500 NOTIFICATION oms root path: C:\app\oracle\product\11.1.
    0\db_1\oc4j_mv\j2ee\home\applications\mapviewer\web\
    09/03/10 10:51:20 mbean domain: mapviewer
    2009-03-10 10:51:20.500 NOTIFICATION OMSConfig mbean regisred.
    2009-03-10 10:51:20.500 NOTIFICATION MapTileServer root path: C:\app\oracle\pro
    duct\11.1.0\db_1\oc4j_mv\j2ee\home\applications\mapviewer\web\
    09/03/10 10:51:20 mbean domain: mapviewer
    2009-03-10 10:51:20.515 NOTIFICATION MCSConfig mbean regisred.
    2009-03-10 10:51:20.515 NOTIFICATION MapViewer server version: Ver1033p5_B081010
    2009-03-10 10:51:20.515 NOTIFICATION using default config file: C:\app\oracle\pr
    oduct\11.1.0\db_1\oc4j_mv\j2ee\home\applications\mapviewer\web\WEB-INF\conf\mapV
    iewerConfig.xml
    2009-03-10 10:51:20.515 WARNING dcsf:true
    2009-03-10 10:51:20.531 WARNING destroying ALL mapmaker instances.
    2009-03-10 10:51:20.531 WARNING dcsf:true
    09/03/10 10:51:20 Oracle Containers for J2EE 10g (10.1.3.1.0) initialized
    2009-03-10 10:51:20.578 NOTIFICATION Spatial Provider shapefileSDP has been regi
    stered.
    2009-03-10 10:51:20.578 NOTIFICATION Map Recycling thread started.
    2009-03-10 10:51:20.593 NOTIFICATION *** Oracle MapViewer started. ***
    2009-03-10 10:51:21.515 NOTIFICATION *** Oracle MapTileServer started. ***
    2009-03-10 10:51:21.531 NOTIFICATION *** Oracle Feature of Interest (FOI) Server started ***
    ---> This is where it hangs up. It just sits here and never returns to the command prompt.

    I guess I've come to the conclusion that it's normal for the command window to remain open while mapviewer is running. I just don't recall that from my previous installations.
    -- considered answered.

  • Using MapViewer from PL/SQL vs Java

    Hi group!
    The MapViewer User's Guide has this to say about using MapViewer from PL/SQL:
    "The usage model for the SDO_MVCLIENT package is almost identical to that of
    MapViewer JavaBean-based API" etc etc .. "For usage and reference information about specific functions or procedures, see the description of the associated JavaBean-Based API. methods and interfaces in Chapter 4"
    If I don't misunderstand the basic concept, in a Java Web App (using the MapViewer Bean) you create a MapViewer object for each HTTP-user-session, like so:
    MapViewer mv = new MapViewer("http://my_corp.com:8888/mapviewer/omserver");
    ... which you would then store in the user's session object, so that the MapViewer Bean conveniently holds the map's state on the user's behalf.
    To do the equivalent in PL/SQL, the User's Guide suggests:
    "connect scott/tiger
    call sdo_mvclient.createmapviewerclient(
    'http://www.mycorp.com:8888/mapviewer/omserver') ;
    The preceding example creates, in the current session, a unique MapViewer client
    handle to the MapViewer service URL"
    Does "current session" refer to the HTTP-user-session? While I've used PL/SQL before, I've not used the PL/SQL Web Toolkit. Is the session handling implicit here (and invisible?) or should the sdo_mvclient be subsequently stored in the PL/SQL equivalent of a (J2EE) HttpSession object?
    YT

    Part of the answer will depend on how you plan to deploy the application. If you have a few, local clients you could go with the traditional client/server model. If you have a lot of clients and/or they are spread out over a relatively large area (like a campus setting), a web front-end will save you a lot of hassels down the road when it comes time to upgrade.
    Regardless of the the front end, I can tell you that I have been greatly impressed with the throughput you can get by moving most of the code to PL/SQL packages. A few years ago we reworked a VB/Oracle app by moving a lot of the code out of VB and into packages, leaving the client to essentially call procedures and format the output. We had more than a 3x performance increase on the same hardware and our network utilization decreased noticably.
    I am now in the process of replacing the client code with Java servlets/JSP, primarily because of the maintenance hassles I mentioned earlier. There are some limitations with an HTML page but most of these have been cosmetic so far.
    We are still relying heavily on PL/SQL packages. The servlet code basically gets a request, calls a package to get the data, then hands the results to a JSP page. The JSP then formats the output and sends it to the client. We are little more than halfway through the re-write, but it appears performance will increase again. Not as noticably as before, but I will take what I can get. As you have seen, once something is rolled out it always ends up getting used more than you anticipated. Better to over-engineer now than have to patch it once it is live.
    HTH

  • SDO_FILTER and SDO_RELATE combined in the same query

    Is it possible to combine these two operations?
    I have a query that ideally should use SDO_RELATE for polygon data (some 25 million records). However it takes too long to run.
    For curiosity's sake I tried using SDO_FILTER and again this takes hours. Again for curiosity's sake I combined the two and records are returned in about 2 mins. Please see the query below (to simplify matters I have used point data).
    SELECT
    FROM
    table t
    WHERE
    MDSYS.SDO_RELATE(
    t.geometry,
    MDSYS.SDO_GEOMETRY( 2001,
    null,
    MDSYS.SDO_POINT_TYPE( 501900, 308000, null ),
    null,
    null
    'mask=anyinteract querytype=WINDOW'
    ) = 'TRUE'
    AND MDSYS.SDO_FILTER(
    t.geometry,
    MDSYS.SDO_GEOMETRY( 2001,
    null,
    MDSYS.SDO_POINT_TYPE( 501900, 308000, null ),
    null,
    null
    'mask=anyinteract querytype=WINDOW'
    ) = 'TRUE'
    As I see it, in this case SDO_FILTER is doing the primary filtering part. SDO_RELATE is doing primary filtering again followed by secondary filtering the resulting data which is why it is quicker. The data does appear to be correct.
    Now am I barking up the wrong tree? Whether I am or not, why is this combination faster than individual use? I would appreciate any thoughts on this please.
    Cheers guys
    James

    something else is going on, although without seeing the real query it is hard to know.
    SDO_RELATE is a supoerset of SDO_FILTER. With SDO_FILTER and index query is done, with SDO_RELATE an index query is done, then the relate is done on the geometries returned by the filter query.
    What kind of index are you using?
    What version of spatial are you using?
    Can you post the query window?
    Are your geometries valid?

  • Terrmap.jsp is not working (mapviewer 10.1.3)

    Hi I cannot seem to get the terrmap demo to work. All I get is this error:
    Servlet error: An exception occurred. The current application deployment descriptors do not allow for including it in this response. Please consult the application log for details.
    Which tells me absolutely nothing.
    I created a datasource like this:
    <data-source class="com.evermind.sql.DriverManagerDataSource" name="MVDemoDS"
    location="jdbc/OracleCoreDS"
    xa-location="jdbc/xa/OracleXADS"
    ejb-location="jdbc/MVDemoDS"
    connection-driver="oracle.jdbc.driver.OracleDriver" username="mvdemo" password="mvdemo"
    url="jdbc:oracle:thin:@localhost:1521:orcl"
    inactivity-timeout="30"
    />
    and restarted the oc4j
    What am I doing wrong?

    Hi Wendy,
    It seems you are creating data source in Oracle Application Server configuration file. But, data source for Oracle MapViewer should be declared in Oracle MapViewer configuration file.
    Oracle MapViewer configuration file, mapViewerConfig.xml is located in the $ORACLE_HOME/lbs/mapviewer/web/WEB-INF/conf. You should modify permanent map data source, defined in the <map_data_source>. Sample map data source declaration:
    <map_data_source name="mvdemo"
                jdbc_host="elocation.us.oracle.com"
                jdbc_sid="orcl"
                dbc_port="1521"
                dbc_user="scott"
                jdbc_password="!tiger"
                jdbc_mode="thin"
                number_of_mappers="3"
    />Also, map data sources can be managed through web based Oracle MapViewer manager.
    Regards,
    Andrejus

  • OBIEE integrated to Mapviewer , need advice from expert people in my codes

    <!--[if !mso]>
    <style>
    v\:* {behavior:url(#default#VML);}
    o\:* {behavior:url(#default#VML);}
    w\:* {behavior:url(#default#VML);}
    .shape {behavior:url(#default#VML);}
    </style>
    <![endif]--><!--[if gte mso 9]><xml>
    Normal
    0
    false
    false
    false
    MicrosoftInternetExplorer4
    </xml><![endif]--><!--[if gte mso 9]><xml>
    </xml><![endif]--><!--[if !mso]>
    <object
         classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui>
    </object>
    <style>
    st1\:*{behavior:url(#ieooui) }
    </style>
    <![endif]-->
    <!--[if gte mso 10]>
    <style>
    /* Style Definitions */
    table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;}
    </style>
    <![endif]-->
    Based on Example : [http://www.oracle.com/technology/products/mapviewer/pdf/mapviewer_obiee.pdf|blocked::http://www.oracle.com/technology/products/mapviewer/pdf/mapviewer_obiee.pdf]
    *1- Using OBIEE , I create report with two fields and it's filter on
    field Region:*
    Region , Population
    <!--[if !mso]>
    <style>
    v\:* {behavior:url(#default#VML);}
    o\:* {behavior:url(#default#VML);}
    w\:* {behavior:url(#default#VML);}
    .shape {behavior:url(#default#VML);}
    </style>
    <![endif]--><!--[if gte mso 9]><xml>
    Normal
    0
    false
    false
    false
    MicrosoftInternetExplorer4
    </xml><![endif]--><!--[if gte mso 9]><xml>
    </xml><![endif]-->
    <!--[if gte mso 10]>
    <style>
    /* Style Definitions */
    table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;}
    </style>
    <![endif]-->
    On OBIEE Answers: Statistic Text , I wrote this codes :
    &lt;!-div id must match arg in js call at bottom of code listing --&gt;
    &lt;div id="EPAmapNode1"&gt;&lt;/div&gt;
    &lt;script&gt;
    function readCookie(name) {
    //this pulls authentication out of header
    //which replaces needing to pass user/pwd
    to authenticate (i.e. like SSO or trusted sign on)
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i &lt; ca.length;i++) {
    var c = ca;
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    return null;
    function obiee_mapint_doTheDeed(nodeId) {
    var container = document.getElementById(nodeId);
    var sid = null;
    var x = container;
    do {
    if (x.nodeName == 'TD' || x.nodeName == 'DIV') {
    sid = x.getAttribute('sid');
    if (sid != null && sid != '')
    break;
    x = x.parentNode;
    while (x != null);
    if (sid != null && sid != '') {
    // create the iframe for content
    var nid = readCookie('nQuireID')
    if (nid) {
    var iframe = document.createElement('iframe');
    iframe.src =
    'http://192.168.100.143:8991/yusufMap-ViewController-context-root/BIMapPage.html?sid='
    + encodeURIComponent(sid) + '&nqid=' + nid;
    // following nsdp is subsequently called
    from Mapviewer page
    // passing sid and nqid to get results to
    serve as nsdp data as xml
    // ps["xml_url"] = "http://"+document.location.host+"/mapviewer/_epa/obiee_nsdp_xml_direct.jsp?nqid="
    +
    // urlParamNQID + "&sid=" +
    urlParamSID;
    iframe.height = 260;
    iframe.width = 600;
    iframe.frameBorder = 0;
    iframe.marginHeight = 1;
    iframe.marginWidth = 1;
    container.appendChild(iframe);
    obiee_mapint_doTheDeed('EPAmapNode1');
    // js fn, EPAmapNode1 is id for this map in
    dashbd
    &lt;/script&gt;
    *2-Source code of
    custom JSP to convert Answers Filtered XML into NSDP XML: obiee_nsdp_xml_direct.jsp*
    &lt;%@ page
    language="java" session="true"
    isThreadSafe="true" contentType="text/html; charset=UTF-8"
    %&gt;
    &lt;%@ page
    import="javax.xml.parsers.*"%&gt;
    &lt;%@ page
    import="java.net.*"%&gt;
    &lt;%@ page
    import="java.io.*"%&gt;
    &lt;%@ page
    import="org.w3c.dom.*"%&gt;
    &lt;%
    Sample jsp code file to demonstrate one way to convert Answers xml to
    MapViewer's NSDP xml
    set the character encoding to UTF-8 prior to accessing
    data in the request
    request.setCharacterEncoding("UTF-8");
    %&gt;
    &lt;%
    // RETRIEVE THE QUERY
    STRING PARAMETERS
    String userName =
    request.getParameter("uid");
    String userPassword =
    request.getParameter("password");
    String thesid =
    request.getParameter("sid");
    String nq_id =
    request.getParameter("nqid");
    if (userName == null) {
    userName =
    "mvdemo";
    if (userPassword == null)
    userPassword =
    "mvdemo";
    Document domDoc = null;
    String fieldName = null;
    String urlString =
    "http://192.168.100.143:9704/analytics/saw.dll?Go&searchid=" +
    thesid + "&format=xml&NQId=" + nq_id;
    if (thesid != null) {
    DocumentBuilderFactory
    dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db =
    dbf.newDocumentBuilder();
    URL url = new URL(urlString);
    URLConnection
    URLconnection = url.openConnection();
    HttpURLConnection
    httpConnection = (HttpURLConnection)URLconnection;
    int responseCode =
    httpConnection.getResponseCode();
    if ( responseCode ==
    HttpURLConnection.HTTP_OK) {
    InputStream in =
    httpConnection.getInputStream();
    System.out.println("thesid=
    " + thesid);
    System.out.println("nq_id="
    + nq_id);
    System.out.println("server
    host=" + request.getRemoteHost());
    System.out.println("server
    addr=" + request.getRemoteAddr());
    domDoc = db.parse(in);
    } else {
    System.out.println(
    "HTTP connection response != HTTP_OK" );
    out.println("&lt;nsdp_xml&gt;");
    out.println("&lt;table&gt;");
    //Iterate
    through metadata object and create the ndsp_xml header
    NodeList rowDef =
    domDoc.getElementsByTagName("element");
    out.println("&lt;tr&gt;");
    out.println("&lt;th&gt;Column
    1&lt;/th&gt;&lt;th&gt;Column 2&lt;/th&gt;");
    out.println("&lt;/tr&gt;");
    //Iterate
    through rows & items and create the ndsp_xml body
    NodeList rows =
    domDoc.getElementsByTagName("R");
    if (rows != null) {
    for (int i = 0; i &lt;
    rows.getLength(); i++) {
    out.println("&lt;tr&gt;");
    Node row = rows.item(i);
    if (row == null ||
    row.getNodeType() == Node.TEXT_NODE) {
    continue;
    NodeList items =
    row.getChildNodes();
    if (items == null) {
    continue;
    for (int y = 0; y &lt; 2;
    y++) {
    Node item =
    items.item(y);
    if (item == null ||
    item.getChildNodes() == null)
    continue;
    if (item.getChildNodes()
    == null
    ||
    item.getChildNodes().item(0) == null
    || item.getNodeType()
    == Node.TEXT_NODE)
    continue;
    out.println("&lt;td&gt;"
    +
    item.getChildNodes().item(0).getNodeValue()
    + "&lt;/td&gt;");
    out.println("&lt;/tr&gt;");
    } else {
    out.println("No
    rows.");
    out.println("&lt;/table&gt;");
    out.println("&lt;/nsdp_xml&gt;");
    %&gt;
    *3- Where the source Code of map I created on HTML : BIMapPage.html*
    &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
    Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;
    &lt;html&gt;
    &lt;head&gt;
    &lt;meta
    http-equiv="Content-Type" content="text/html;
    charset=windows-1252"&gt;&lt;/meta&gt;
    &lt;title&gt;BI Map
    Page&lt;/title&gt;
    &lt;script
    language="Javascript" src="oraclemaps.js"&gt;&lt;/script&gt;
    &lt;script
    language="Javascript"&gt;
    var dynStatesFOI;
    function show_map(){
    var map;
    var homeCenter,
    homeZoomLevel;
    var baseURL =
    "http://192.168.100.143:9704/mapviewer";
    map = new
    MVMapView(document.getElementById("map"), baseURL);
    var mapSRID = 82364;
    var mapCenterLon = 538940.5;
    var mapCenterLat = 2690457.4;
    homeZoomLevel = 1;
    homeCenter =
    MVSdoGeometry.createPoint(mapCenterLon, mapCenterLat, mapSRID);
    map.addMapTileLayer(new MVMapTileLayer("tcg_gis.ksa_map"));
    map.setCenter(homeCenter, false);
    map.setZoomLevel(homeZoomLevel);
    map.setHomeMap(homeCenter, homeZoomLevel);
    map.addNavigationPanel("East");
    map.addScaleBar();
    dynStatesFOI = new
    MVThemeBasedFOI('dynStatesFOI','tcg_gis.KSA_POP2');
    dynStatesFOI.setRenderingStyle("C.COUNTIES");
    setupNsdp(dynStatesFOI);
    setupDynamicStyles(dynStatesFOI,250000,
    500000, 750000);
    map.addThemeBasedFOI(dynStatesFOI);
    map.display();
    function setupNsdp(dynStatesFOI)
    var nsdpInfo = new
    MVNSDP("defaultNSDP");
    nsdpInfo.setTheme("KSA_POP2"); //the base theme
    nsdpInfo.setKeyColumn("REGION_NAME");
    //'match' column in the base table of the theme
    nsdpInfo.setRenderStyle("C.COUNTIES"); //default style;
    var ps = new Object();
    {color:#ff0000}
    ps["xml_url"] ="http://192.168.100.143/mapviewer/obiee_nsdp_xml_direct.jsp?nqid=" + urlParamNQID
    + "&sid=" + urlParamSID;{color} *{color:#800000}// &lt;== Error line {color}*
    nsdpInfo.setParameters(ps);
    dynStatesFOI.setNSDP(nsdpInfo);
    //setups the dynamically created advanced
    style to
    //be used by the theme-based FOI.
    function setupDynamicStyles(dynStt,val1, val2, val3)
    var buckets = new
    Array(4);
    buckets[0] = new
    MVNumericRangedBucket(100000, val1, "C.COLOR_BLUE",
    "range1");
    buckets[1] = new
    MVNumericRangedBucket(val1, val2, "C.COLOR_GREEN", "range2");
    buckets[2] = new
    MVNumericRangedBucket(val2, val3, "C.COLOR_RED", "range3");
    buckets[3] = new
    MVNumericRangedBucket(val3, null, "C.COLOR_BROWN",
    "range4");
    var bseries = new
    MVBucketSeries("SCHEME_CUSTOM");
    bseries.setBuckets(buckets);
    var bucketSty = new
    MVBucketStyle("region_colors", bseries);
    dynStt.addStyle(bucketSty);
    dynStt.setRenderingStyle("region_colors");
    &lt;/script&gt;
    &lt;/head&gt;
    &lt;body
    onload="javascript:show_map();"&gt;
    Welcome to our Site
    Kingdom of Saudi Arabia
    Map
    &lt;div
    id="map"
    style="width:550.0px; height:500.0px; overflow:auto;
    border-color:rgb(0,0,0);"/&gt;
    &lt;/body&gt;
    &lt;/html&gt;
    {color:#ff0000}
    The
    highlighted line above from function setupNSDP is code line for: NSDP xml
    source to call jsp that invokes java class to convert Answers filtered XML (OBIEE)
    into NSDP XML.
    Where
    its invoke two parameters : 1- urlParamNQID , 2- urlParamSID
    ps["xml_url"] =
    "http://192.168.100.143/mapviewer/obiee_nsdp_xml_direct.jsp?nqid="
    + urlParamNQID + "&sid=" + urlParamSID;
    The
    error when we run this code is: URLParamNQID is not defined ???
    does any of you can read what i wrote in my source codes and let me know what i missed in my html map code : BIMapPage.html and where or how i can get two parameters values URLParamNQID
    and {color}*{color:#ff0000}urlParamSID{color}*{color:#ff0000}?{color}

    yes i checked this site, but i still couldn't reach the answer of my challenge, in how to specify urlParamNQID and urlParamSID , how or where i can get value of these parameters or what should i pass there !?

  • Adding multiple FOI themes with MapViewer with jdbc_query

    Hi,
    I'd like to add two themes to a map with the Javascript Mapviewer.
    When I use mapview.addThemeBasedFOI(theme); only the theme that finished loading first will display. Is it possible to add multiple themes or am I doing something wrong?
    The second thing I tried was using a jdbc_query theme. My javascript looks like this:
               var baseURL = "http://" + document.location.host + "/mapviewer";
                // Create an MVMapView instance to display the map
                var mapview = new MVMapView(document.getElementById("map"), baseURL);
                // Add a base map layer as background.
                mapview.addBaseMapLayer(new MVBaseMap("mvdemo.demo_map"));
                // Add a theme-based FOI layer
                var theme = '<themes><theme name="JDBC_THEME2" >' +
                            '<jdbc_query asis="true" spatial_column="location" jdbc_srid="8307" ' +
                            'render_style="C.RB13_6" datasource="mvdemo">' +
                            '<![CDATA[select sdo_geom.sdo_buffer(A.location,1,0.005,' +
                            '\'unit=mile arc_tolerance=0.005\') location ' +
                            ' from customers A where sales<=100]]>' +
                            '</jdbc_query></theme><theme name="JDBC_THEME" >' +
                            '<jdbc_query asis="true" spatial_column="location" jdbc_srid="8307" ' +
                            'render_style="C.RED" datasource="mvdemo">' +
                            'select sdo_geom.sdo_buffer(A.location,1,0.005,' +
                            '\'unit=mile arc_tolerance=0.005\') location ' +
                            ' from customers A where sales>100' +
                            '</jdbc_query></theme></themes>' ;
                console.log(theme);
                buffertheme = new MVThemeBasedFOI('buffertheme', theme);
                mapview.addThemeBasedFOI(buffertheme);
                // Set the initial map center and zoom level
                mapview.setCenter(MVSdoGeometry.createPoint(-122.45, 37.7706, 8307));
                mapview.setZoomLevel(4);
                // Add a navigation panel on the right side of the map
                mapview.addNavigationPanel('east');
                // Add a scale bar
                mapview.addScaleBar();
                // Display the map.
                mapview.display();I used the examples from page 222 and 225 from the Mapviewer manual (mapviewer_10131_ug.pdf) and it uses the MVDEMO schema.
    The xml for the themes:
    <themes>
        <theme name="JDBC_THEME2">
            <jdbc_query asis="true" spatial_column="location" jdbc_srid="8307" render_style="C.RB13_6" datasource="mvdemo">
                <![CDATA[select sdo_geom.sdo_buffer(A.location,1,0.005,'unit=mile arc_tolerance=0.005') location from customers A where sales<=100]]></jdbc_query>
        </theme>
        <theme name="JDBC_THEME">
            <jdbc_query asis="true" spatial_column="location" jdbc_srid="8307" render_style="C.RED" datasource="mvdemo">
                select sdo_geom.sdo_buffer(A.location,1,0.005,'unit=mile arc_tolerance=0.005') location from customers A
                where sales>100
            </jdbc_query>
        </theme>
    </themes>In this example I want to display 2 different colors, one for sales>100 and one for sales<=100. Again, only the first color is displaying. I searched for some examples and found <map_request> xml files where multiple themes are allowed, is it also allowed with the Javascript Mapviewer?
    Thanks for you help!
    Jeroen

    Hi
    Are you trying to concatenating or adding it ? i mean you said adding year measure1measure2
    year is character type so i guess that you want to display like 2011 45000 isnt it
    then use concatenation or try to change the measure value to dimension to keep side by side
    Hope this helps u

Maybe you are looking for

  • How do I add an image to the catalog?

    Usually, when I edit an image in Photoshop from Lightroom, I save the Photoshop modified image in a folder next to the originals Lightroom is showing, and the modified version suddenly is added to my images from that day's specific shoot (I keep sepa

  • Extract Archival data and display in report

    Hi All, I prepared a report to display the details of GL accounts with vendor details. i need to extract archived documents also and display in my report. Kindly let me know how to extract the archived FI documents. Regards, Saravana

  • Screen sequence can not be assignes

    Hello gurus I´ve created a new screen-sequence(into t-code: BUS6) as a copy of standard one (BUP001 general Data), but when I try to assign it to a new BP role, system send the follow message: "Entry BUPA  ZBUP01 does not exist in TBZ3N", but it is n

  • How t oget BP and Ca from BAPI or FM for device?

    Hi, i am enhancing std SAP code and i am getting the details of table EABL. I want to fetch BP and Contract Account for the Device number Or EQUNR using FM or BAPI and not via SQL query. Pleas can someone suggest the same? Thanks, Anand.

  • PS cs3 upgrade

    Can I install PS CS3 upgrade over a free CS2?