Streching objects in Mapviewer
Hi,
Could anyone help me to sort out the problem of view stretching GIS objects in MapViewer.
The objects look like griped in vertical when you show both them and image of earth.
hi Amanda,
it makes no difference, it doesn't matter.
the ods/infoobject catalog just serve as template where we can choose infoobjects to be included in infocube.
later in bi 7.0, we can directly type in infoobject technical name, like in ODS.
hope this helps.
Similar Messages
-
Scaling of point objects with MapViewer
Hi forum
Does anyone know, whether it's possible to make a marker style for point geometries, whose size somehow always is attached to the current map scale? What I want to do is: whenever the user zooms in and out on the map, I want the point markers to change size and be scaled according to the map scale.
Is this possible? Whatever I try to do, the marker object always has the same size regardless of map scale.
Thanks in advance,
JacobThe MARKER style does not support this behavior yet. One possible work around is to manually create a set of marker styles for various map scale ranges with identical shape but varied size. The create multiple themes for the same set of data points, each theme using one of the marker styles and associated with a specific scale range (in the context of a base map).
thanks -
how can the publication the Mapview on WebLogic there any tutorial as saying.
Rafiou,
yes you are in the right place. SURE, you can load the pictures into GeoRaster objects and define a GeoRaster theme for each GeoRaster, then you can display, pan, zoom in and zoom out the pictures on internet using MapViewer.
The pictures can easily be tiled either when you load them or afterwards by using the GeoRaster tuning tool: sdo_geor.changeFormatCopy. in general you should call sdo_geor.generatePyramid to generate pyramids for each GeoRaster object. MapViewer will pick up the right pyramid level from the database when you zoom in and out. Also, you can use Oracle Maps and leverage caching to speed up and support multi-users.
regards,
Jeffrey Xie -
Mapbuilder - Info Columns not displaying in basemap
Hello,
My question should be rather simple for s.o. who knows the answer...
When I add a theme-based FOI to my MVMapView object with "mapview.addThemeBasedFOI(current_test_theme);" the Info Columns show fine on the map when a point is clicked on (as it should), but when I include that same theme into a basemap the Info Columns don't work. (I.e., none of my points are now clickable).
The Info Columns I am referring to are located in mapbuilder under the Advanced tab of any theme.
Question: Is there any way to display Info Columns in a basemap?
Essentially I am looking for an easy/fast way to display this info. One of the main concerns here is that a basemap loads so fast, but a predefined theme called from the client-side really takes its time to load.
Thanks for any help on this.You can speed up FOI rendering using themebasedfoi.setMaxWholeImageLevel() or setAutoWholeImage
and setting the foi image directpry (in mapViewerConfig.xml <save_images_at>) to be someplace accessible by the web server directly (e.g. apache/htdocs/) and not behind OC4J (i.e. /mapviewer/images/) if you're using something other than standalone oc4j. -
How to store Mapviewer objects (styles,themes,maps) in source control ?
I'm wondering what's the best way for storing mapviewer data in source control ?
So far MapBuilder provides the import/export metadata feature but it doesn't do cached map objects. Ideally we need an automated way to backup/restore these objects into a new database instance from source control for a daily build type setup.
The MapBuilder text format looks promising, in that it supports diffs. Other options include dmp files but then we wouldn't be able to compare versions.
Has anyone faced this problem ?
What do the Oracle Mapviewer devs recommend ?
Thanks.Hi,
What kind of error are you seeing?
Thanks -
MapBuilder Error:Can not find a GeoRaster object with specified rdt and rid
Hello,
I can't GeoRaster data in the preview of the MapBuilder and MapViewer. The GeoRasterViewer shows the Raster images without problems.
MapBuilders error message:
19.11.2008 13:07:11 oracle.sdovis.theme.GeoRasterThemeProducer prepareData
SCHWERWIEGEND: GeoRaster load Exception:
oracle.spatial.georaster.GeoRasterException: Can not find a GeoRaster object with specified rdt and rid.
at oracle.spatial.georaster.JGeoRaster.validateConn(JGeoRaster.java:608)
at oracle.sdovis.theme.GeoRasterThemeProducer$JGeoRasterGTP.<init>(GeoRasterThemeProducer.java:2037)
at oracle.sdovis.theme.GeoRasterThemeProducer.prepareData(GeoRasterThemeProducer.java:694)
at oracle.sdovis.GeoRasterTheme.prepareData(GeoRasterTheme.java:95)
at oracle.sdovis.LoadThemeData.run(LoadThemeData.java:75)
19.11.2008 13:07:11 oracle.sdovis.LoadThemeData run
SCHWERWIEGEND: Exception fetching data for theme RAS_DGK.
Message:GeoRaster load Exception: Can not find a GeoRaster object with specified rdt and rid.
Description:
at oracle.sdovis.theme.GeoRasterThemeProducer.prepareData(GeoRasterThemeProducer.java:1109)
at oracle.sdovis.GeoRasterTheme.prepareData(GeoRasterTheme.java:95)
at oracle.sdovis.LoadThemeData.run(LoadThemeData.java:75)
19.11.2008 13:07:11 oracle.sdovis.MapMaker buildDataMBR
WARNUNG: null MBR resulted from buildDataMBR.
The errror message of MapViewer is nearly the same with some more informations about the spatial query and the coordintes of the query window. If I run that spatial query in the sqldeveloper it returns a result!
I did following stebs:
- saved a tiff-Image in a GeoRaster table with pyramid an tiled images.
- checked the sdo_geom_metadata --> they are correct
- checked the sdo_georaster object for the rdt table name and rasterid --> they are correct
- checked the rdt table --> objects with that rid are saved
- checked the mdsys.sdo_geor_sysdata table --> entry is correct
- validate the geraster with the sdo_geor.validategeoraster function --> object is valid
- updated the spatial extend of the image and try again the preview functio--> the same error
The databse server is a virtual Linux server with Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit.
The web server is a Window 2003 R2 Server with a weblogic server and mapviewer patch 5 (Ver1033p5_B081010).
For a test I did the same (the same table script, the same raster data, the same import method) on a developer pc (WinXP Pro SP2) with Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 (32bit) the same mapbuilder version but with the MapViewer QuickStartKid and it works fine!!!
Has anyone an idea?
Greeting,
Cord
Edited by: Corti on Nov 19, 2008 2:14 PMHi Joao,
Thanks so far.
I'm previewing a GeoRaster theme. I created it with the MapBuilder GeoRaster wizard. The theme difinition is (out of the export file):
RAS_DGK|
null|
RAS_DGK|
GEORASTER|
<?xml version="1.0" standalone="yes"?>
<styling_rules theme_type="georaster">
</styling_rules>|
(GeoRaster table name is "RAS_DGK", theme name is also "RAS_DGK")
I get following log information:
preview without a coordinate or scale:
MapBuilder Error (as pop up): MAPVIEWER 01005: no spatial data to render
log file:
20.11.2008 10:17:27 oracle.sdovis.LoadThemeData run
FEINER: LoadThemeData running thread: Thread-43
20.11.2008 10:17:27 oracle.sdovis.theme.GeoRasterThemeProducer prepareData
FEINER: Original query window: -Infinity,-Infinity,NaN,NaN
20.11.2008 10:17:27 oracle.sdovis.theme.GeoRasterThemeProducer prepareData
FEINER: [Query] select grt.GEORASTER, grt.GEORASTER.metadata.getClobVal() from RAS_DGK grt
20.11.2008 10:17:27 oracle.sdovis.theme.GeoRasterThemeProducer prepareData
FEINER: Fetch size: 100
20.11.2008 10:17:27 oracle.sdovis.theme.GeoRasterThemeProducer prepareData
SCHWERWIEGEND: GeoRaster load Exception:
oracle.spatial.georaster.GeoRasterException: Can not find a GeoRaster object with specified rdt and rid.
at oracle.spatial.georaster.JGeoRaster.validateConn(JGeoRaster.java:608)
at oracle.sdovis.theme.GeoRasterThemeProducer$JGeoRasterGTP.<init>(GeoRasterThemeProducer.java:2037)
at oracle.sdovis.theme.GeoRasterThemeProducer.prepareData(GeoRasterThemeProducer.java:694)
at oracle.sdovis.GeoRasterTheme.prepareData(GeoRasterTheme.java:95)
at oracle.sdovis.LoadThemeData.run(LoadThemeData.java:75)
20.11.2008 10:17:27 oracle.sdovis.LoadThemeData run
SCHWERWIEGEND: Exception fetching data for theme RAS_DGK.
Message:GeoRaster load Exception: Can not find a GeoRaster object with specified rdt and rid.
Description:
at oracle.sdovis.theme.GeoRasterThemeProducer.prepareData(GeoRasterThemeProducer.java:1109)
at oracle.sdovis.GeoRasterTheme.prepareData(GeoRasterTheme.java:95)
at oracle.sdovis.LoadThemeData.run(LoadThemeData.java:75)
20.11.2008 10:17:27 oracle.sdovis.MapMaker buildDataMBR
WARNUNG: null MBR resulted from buildDataMBR.
preview with a center coordinate of the image and a scale:
20.11.2008 10:18:43 oracle.sdovis.SRS getOptimalQueryWindow
AM FEINSTEN: *** isGeodetic=false, unit=METER
20.11.2008 10:18:43 oracle.sdovis.LoadThemeData run
FEINER: LoadThemeData running thread: Thread-45
20.11.2008 10:18:43 oracle.sdovis.theme.GeoRasterThemeProducer prepareData
FEINER: Original query window: 2550045.7746478873,5608500.0,2551954.2253521127,5609500.0
20.11.2008 10:18:43 oracle.sdovis.theme.GeoRasterThemeProducer prepareData
FEINER: [Query] select grt.GEORASTER, grt.GEORASTER.metadata.getClobVal() from RAS_DGK grt WHERE MDSYS.SDO_FILTER(grt.GEORASTER.spatialextent, MDSYS.SDO_GEOMETRY(2003, 31466, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 3), MDSYS.SDO_ORDINATE_ARRAY(?,?,?,?)), 'querytype=WINDOW') = 'TRUE'
20.11.2008 10:18:43 oracle.sdovis.theme.GeoRasterThemeProducer prepareData
FEINER: Fetch size: 100
20.11.2008 10:18:43 oracle.sdovis.theme.GeoRasterThemeProducer prepareData
SCHWERWIEGEND: GeoRaster load Exception:
oracle.spatial.georaster.GeoRasterException: Can not find a GeoRaster object with specified rdt and rid.
at oracle.spatial.georaster.JGeoRaster.validateConn(JGeoRaster.java:608)
at oracle.sdovis.theme.GeoRasterThemeProducer$JGeoRasterGTP.<init>(GeoRasterThemeProducer.java:2037)
at oracle.sdovis.theme.GeoRasterThemeProducer.prepareData(GeoRasterThemeProducer.java:694)
at oracle.sdovis.GeoRasterTheme.prepareData(GeoRasterTheme.java:95)
at oracle.sdovis.LoadThemeData.run(LoadThemeData.java:75)
20.11.2008 10:18:43 oracle.sdovis.LoadThemeData run
SCHWERWIEGEND: Exception fetching data for theme RAS_DGK.
Message:GeoRaster load Exception: Can not find a GeoRaster object with specified rdt and rid.
Description:
at oracle.sdovis.theme.GeoRasterThemeProducer.prepareData(GeoRasterThemeProducer.java:1109)
at oracle.sdovis.GeoRasterTheme.prepareData(GeoRasterTheme.java:95)
at oracle.sdovis.LoadThemeData.run(LoadThemeData.java:75)
20.11.2008 10:18:43 oracle.sdovis.DBMapMaker renderEm
INFO: **** time spent on loading features: 234ms.
20.11.2008 10:18:43 oracle.sdovis.RenderingEngine prepareForRendering
AM FEINSTEN: xfm: 0.284 0.0 0.0 -0.284 -724212.9999999999 1593097.9999999998
20.11.2008 10:18:43 oracle.sdovis.ImageRenderer renderGeoRasterTheme
WARNUNG: GeoRaster theme RAS_DGK has no rendered images.
20.11.2008 10:18:43 oracle.sdovis.VectorRenderer render
FEINER: time to render theme RAS_DGK with 0 styled features: 0ms
20.11.2008 10:18:43 oracle.sdovis.DBMapMaker renderEm
INFO: **** time spent on rendering: 16ms
If I run the sql statement in the log file, it returns a result.
select grt.georid, grt.GEORASTER, grt.GEORASTER.metadata.getClobVal()
from ras_dgk grt
WHERE MDSYS.SDO_FILTER(grt.GEORASTER.spatialextent,
MDSYS.SDO_GEOMETRY(2003, 31466, NULL,
MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 3),
MDSYS.SDO_ORDINATE_ARRAY(2550045.7746478873,5608500.0,2551954.2253521127,5609500.0)), 'querytype=WINDOW') = 'TRUE';
GEORID
2
GEORASTER
MDSYS.SDO_GEORASTER(20001,MDSYS.SDO_GEOMETRY(2003,31466,null,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),MDSYS.SDO_ORDINATE_ARRAY(2550000,5608000,2552000,5610000)),RDT_RAS_DGK,522,oracle.xdb.XMLType@194a7ec)
GEORASTER.metadata.getClobVal()
<georasterMetadata xmlns="http://xmlns.oracle.com/spatial/georaster">
<objectInfo>
<rasterType>20001</rasterType>
<isBlank>false</isBlank>
<defaultRed>1</defaultRed>
<defaultGreen>1</defaultGreen>
<defaultBlue>1</defaultBlue>
</objectInfo>
<rasterInfo>
<cellRepresentation>UNDEFINED</cellRepresentation>
<cellDepth>8BIT_U</cellDepth>
<totalDimensions>2</totalDimensions>
<dimensionSize type="ROW">
<size>6299</size>
</dimensionSize>
<dimensionSize type="COLUMN">
<size>6299</size>
</dimensionSize>
<ULTCoordinate>
<row>0</row>
<column>0</column>
</ULTCoordinate>
<blocking>
<type>REGULAR</type>
<totalRowBlocks>4</totalRowBlocks>
<totalColumnBlocks>4</totalColumnBlocks>
<rowBlockSize>2048</rowBlockSize>
<columnBlockSize>2048</columnBlockSize>
</blocking>
<interleaving>BSQ</interleaving>
<pyramid>
<type>DECREASE</type>
<resampling>NN</resampling>
<maxLevel>6</maxLevel>
</pyramid>
<compression>
<type>NONE</type>
</compression>
</rasterInfo>
<spatialReferenceInfo>
<isReferenced>true</isReferenced>
<SRID>31466</SRID>
<modelCoordinateLocation>UPPERLEFT</modelCoordinateLocation>
<modelType>FunctionalFitting</modelType>
<polynomialModel rowOff="0" columnOff="0" xOff="0" yOff="0" zOff="0" rowScale="1" columnScale="1" xScale="1" yScale="1" zScale="1">
<pPolynomial pType="1" nVars="2" order="1" nCoefficients="3">
<polynomialCoefficients>17668678.695368 0 -3.14949718277477</polynomialCoefficients>
</pPolynomial>
<qPolynomial pType="1" nVars="0" order="0" nCoefficients="1">
<polynomialCoefficients>1</polynomialCoefficients>
</qPolynomial>
<rPolynomial pType="1" nVars="2" order="1" nCoefficients="3">
<polynomialCoefficients>-8031218.31607409 3.14949718277477 0</polynomialCoefficients>
</rPolynomial>
<sPolynomial pType="1" nVars="0" order="0" nCoefficients="1">
<polynomialCoefficients>1</polynomialCoefficients>
</sPolynomial>
</polynomialModel>
</spatialReferenceInfo>
<layerInfo>
<layerDimension>BAND</layerDimension>
<subLayer>
<layerNumber>1</layerNumber>
<layerDimensionOrdinate>0</layerDimensionOrdinate>
<layerID>1</layerID>
<colorMap>
<colors>
<cell value="0" blue="255" red="255" green="255" alpha="255"/>
<cell value="1" blue="0" red="0" green="0" alpha="255"/>
</colors>
</colorMap>
</subLayer>
</layerInfo>
</georasterMetadata>
I checked also the content of rdt table and it contains entries with that raster id (= 522).
Finally the log file when I use the preview directly on the GeoRaster table without a theme:
20.11.2008 10:23:46 oracle.sdovis.LoadThemeData run
FEINER: LoadThemeData running thread: Thread-55
20.11.2008 10:23:46 oracle.sdovis.theme.GeoRasterThemeProducer prepareData
FEINER: Original query window: -Infinity,-Infinity,NaN,NaN
20.11.2008 10:23:46 oracle.sdovis.theme.GeoRasterThemeProducer prepareData
FEINER: [Query] select grt.GEORASTER from RAS_DGK grt where grt.GEORASTER.rasterid = ? and grt.GEORASTER.rasterdatatable = ?
20.11.2008 10:23:46 oracle.sdovis.theme.GeoRasterThemeProducer prepareData
FEINER: Fetch size: 100
20.11.2008 10:23:46 oracle.sdovis.theme.GeoRasterThemeProducer prepareData
SCHWERWIEGEND: GeoRaster load Exception:
oracle.spatial.georaster.GeoRasterException: Can not find a GeoRaster object with specified rdt and rid.
at oracle.spatial.georaster.JGeoRaster.validateConn(JGeoRaster.java:608)
at oracle.sdovis.theme.GeoRasterThemeProducer$JGeoRasterGTP.<init>(GeoRasterThemeProducer.java:2037)
at oracle.sdovis.theme.GeoRasterThemeProducer.prepareData(GeoRasterThemeProducer.java:694)
at oracle.sdovis.GeoRasterTheme.prepareData(GeoRasterTheme.java:95)
at oracle.sdovis.LoadThemeData.run(LoadThemeData.java:75)
20.11.2008 10:23:46 oracle.sdovis.LoadThemeData run
SCHWERWIEGEND: Exception fetching data for theme RAS_DGK.
Message:GeoRaster load Exception: Can not find a GeoRaster object with specified rdt and rid.
Description:
at oracle.sdovis.theme.GeoRasterThemeProducer.prepareData(GeoRasterThemeProducer.java:1109)
at oracle.sdovis.GeoRasterTheme.prepareData(GeoRasterTheme.java:95)
at oracle.sdovis.LoadThemeData.run(LoadThemeData.java:75)
20.11.2008 10:23:46 oracle.sdovis.MapMaker buildDataMBR
WARNUNG: null MBR resulted from buildDataMBR.
If you need more information - please ask for it.
Cord -
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. -
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?
YTPart 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 -
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 :
<!-div id must match arg in js call at bottom of code listing -->
<div id="EPAmapNode1"></div>
<script>
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 < 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
</script>
*2-Source code of
custom JSP to convert Answers Filtered XML into NSDP XML: obiee_nsdp_xml_direct.jsp*
<%@ page
language="java" session="true"
isThreadSafe="true" contentType="text/html; charset=UTF-8"
%>
<%@ page
import="javax.xml.parsers.*"%>
<%@ page
import="java.net.*"%>
<%@ page
import="java.io.*"%>
<%@ page
import="org.w3c.dom.*"%>
<%
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");
%>
<%
// 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("<nsdp_xml>");
out.println("<table>");
//Iterate
through metadata object and create the ndsp_xml header
NodeList rowDef =
domDoc.getElementsByTagName("element");
out.println("<tr>");
out.println("<th>Column
1</th><th>Column 2</th>");
out.println("</tr>");
//Iterate
through rows & items and create the ndsp_xml body
NodeList rows =
domDoc.getElementsByTagName("R");
if (rows != null) {
for (int i = 0; i <
rows.getLength(); i++) {
out.println("<tr>");
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 < 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("<td>"
+
item.getChildNodes().item(0).getNodeValue()
+ "</td>");
out.println("</tr>");
} else {
out.println("No
rows.");
out.println("</table>");
out.println("</nsdp_xml>");
%>
*3- Where the source Code of map I created on HTML : BIMapPage.html*
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta
http-equiv="Content-Type" content="text/html;
charset=windows-1252"></meta>
<title>BI Map
Page</title>
<script
language="Javascript" src="oraclemaps.js"></script>
<script
language="Javascript">
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}// <== 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");
</script>
</head>
<body
onload="javascript:show_map();">
Welcome to our Site
Kingdom of Saudi Arabia
Map
<div
id="map"
style="width:550.0px; height:500.0px; overflow:auto;
border-color:rgb(0,0,0);"/>
</body>
</html>
{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 !?
-
WEB BASED MAPPING APPLICATION TO DEVELOP QUERY UTILITY USING MAPVIEWER
Dear Sir,
please any one can answer me as soon as possible its very urgent
WEB BASED MAPPING APPLICATION TO DEVELOP QUERY UTILITY USING MAPVIEWER
I As oracle mapviewer Chapter 8 (Oracle Maps) says generating our own Web based mapping application we are trying to generate our own maps for our own data contains in our layers like example boundary lines and roads and etc. and we are following complete example as described in Oracle Mapviewer Document Chapter 8.
Before this step we tried with demo data downloaded from OTN mvdemo. And we downloaded latest demo today itself from the OTN and imported into our database schema called mvdemo. And we copied all three jar files mvclient and mvconnection and mvpalette into our jdeveloper .
II. We created a jsp to execute the following code from oracle mapviewer chapter 8 documents
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1252"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://xmlns.oracle.com/adf/faces" prefix="af"%>
<%@ taglib uri="http://xmlns.oracle.com/adf/faces/customizable" prefix="cust"%>
<%@ taglib uri="http://xmlns.oracle.com/j2ee/jsp/tld/ojsp/jwcache.tld"
prefix="jwcache"%>
<%@ taglib uri="http://xmlns.oracle.com/adf/faces/html" prefix="afh"%>
<%@ taglib uri="http://xmlns.oracle.com/j2ee/jsp/tld/ojsp/fileaccess.tld"
prefix="fileaccess"%>
<%@ taglib uri="http://xmlns.oracle.com/j2ee/jsp/tld/ojsp/jesitaglib.tld"
prefix="JESI"%>
<f:view>
<html>
<head>
<META http-equiv="Content-Type" content="text/html" charset=UTF-8>
<TITLE>A sample Oracle Maps Application</TITLE>
<script language="Javascript" src="jslib/loadscript.js"></script>
<script language=javascript>
var themebasedfoi=null
function on_load_mapview()
var baseURL = " http://localhost:8888/mapviewer/omserver";
// 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 to display customers on the map
themebasedfoi = new MVThemeBasedFOI('themebasedfoi1','mvdemo.customers');
themebasedfoi.setBringToTopOnMouseOver(true);
mapview.addThemeBasedFOI(themebasedfoi);
// 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();
function setLayerVisible(checkBox){
// Show the theme-based FOI layer if the check box is checked and
// hide the theme-based FOI layer otherwise.
if(checkBox.checked)
themebasedfoi.setVisible(true) ;
else
themebasedfoi.setVisible(false);
</script>
</head>
<body onload= javascript:on_load_mapview() >
<h2> A sample Oracle Maps Application</h2>
<INPUT TYPE="checkbox" onclick="setLayerVisible(this)" checked/>Show customers
<div id="map" style="width: 600px; height: 500px"></div>
</body>
</html>
</f:view>
<!--
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1252"/>
<title>mapPage</title>
</head>
<body><h:form binding="#{backing_mapPage.form1}" id="form1"></h:form></body>
</html>
-->
<%-- oracle-jdev-comment:auto-binding-backing-bean-name:backing_mapPage--%>
III. When we run this jsp it’s giving us following Two errors
1 Error: ‘MVMapView’ is undefined
Code: 0
URL: http://192.168.100.149:8988/MapViewerApp-WebProj-context-root/faces/mapPage.jsp
2 Error: ‘themebasedfoi’ is null or not an object
Code: 0
URL: http://192.168.100.149:8988/MapViewerApp-WebProj-context-root/faces/mapPage.jsp
Please let us know what could be problem as soon as possible. Very urgent
Please let us know where we can find Mapviewer AJAX API’s for Jdeveloper Extention
Thanks
KabeerI currently use parameters, and they are passed from the form to the report. Report is then generated based on a function returning ‘strongly typed’ cursor. The ‘strongly typed’ cursor in my case returns a record consisting of an orderly collection of fields.
This collection of fields is returned by another function that relies on the IF … THEN logic.
However, the number of IF ... THEN statements is quite large (currently 64 covering all possible combinations of 6 parameters available in the form).
I would like to avoid the large number of IF … THEN statements, and hope that there is a way of passing a string to a query, where the Dynamic SQL would in Select close and Where close reflect parameters passed by the form.
In addition to this I would like to avoid creating and populating a table or a view dedicated to the report, because this may lead to a conflict in case of multiple users concurrently generating reports with different choice of parameters.
Edited by: user6883574 on May 28, 2009 9:16 PM -
How do I compensate for display objects jumping when screen scaling
I am building an application that is to run at 2 difference stage sizes. 960x640 and 1024x768 (for those paying attention, you may note that those are the high res settings for the iPhone and iPad2)
The app was designed and build to run on a stage of 960x640 and when running at this size, there are no problems.
When the app loads in the 1024x768 window, it "strechs" the stage to fill the window, but keeps the aspect ratio. Everything looks good and the application runs without any problems expect for one thing.
Sometimes, display objects on the stage "jitter" when moving or animating. I have discovered that this is because the stage is "scaling" the x and y values, and is not pixel snapping the objects on the screen, even though the x and y values of the display object are indeed whole numbers.
A prime example of this is I have 2 bitmapData images. bmData_s and bmData_h.
bmData_s is 192x388 in size.
bmData_h is created from a copy of bmData_s with a glow filter stroke on it, resulting in a image that is 198x394 (6 pixels bigger due to a 3 pixel stroke)
I place it on the screen using the following code:
(Background is a bitmap object that is 960x480 and places at 0,0)
(ObjOffset is a point in my app data to position the object, it's a point set to 53,195)
MyObj.x = Background.x + ObjOffset.x + (bmData_s.width/2);
MyObj.y = Background.y + ObjOffset.y + (bmData_s.height/2);
now, when the mouse rolls over the object, I have an event listener to change MyObj.bitmapData to bmData_h
MyObj.bitmapData = bmData_h;
MyObj.x = Background.x + ObjOffset.x + Math.floor(bmData_h.width/2);
MyObj.y = Background.y + ObjOffset.y + Math.floor(bmData_h.height/2);
and back to the _s image on mouse out.
Now, when the app runs on the iPhone which is a 960x640 screen size, or on the PC which is using a window of similiar size, the image doesn't appear to move at all... the "stroke" appears and disappears exactly as it is suppose to
However, when I run it in a window that is 1024x768, the _h image appears to "jump" one pixel up.
I have encountered many other similiar things that only occure when the stage is scaled. There is a spot in the app where I am animating a bitmap by manipulating it's scrollrect x and width (have it's do a wipe in from right to left like a peice of paper unrolling on a table) and due to the scaling, the right edge of the image jumps left and right 1 pixel... but on 960x640 screens, it looks perfect.
Does anyone know how I can compensate for this effect so that this jumping doesn't occur when the stage is stretched to fit the window it's running in?Sounds like a x-browser rendering problem
my guess would be to scale down the inner div's so they add up to less than 100%.
If you floated div's and gave them a %, give one of the div's a smaller.
ie: 2 divs floated in a Header, give one 50% and the other 49.5% -
DEtailed scheduling planning board - scalling of objects in the charts
Hi,
I am wandering if there is a possibility of changing the scale in the graphical planning board in APO PPDS, eg. in the resource chart. in the way that I could change the scale just for a certain period of time or one object.
for example:
the planning period choosen is 10.09.14 to 01.10.14., scale unit is hour, but the duration of some orders or operations is less than a minute. Woud it be possible to somehow change the scale just for 1 day or 1 hour within the shown period? zooming in does not help as then I cannot see the other lines that I need to look at when scheduling that specific order or operation.
thank's for any helpful hint!
br,
WojtekHi Mike,
thank you for responding to my query.
I know the functionality with the right-click. this unfortunately does not help as the whole time frame is stretched-out => they cannot seen some objects, while the planners would like to strech-out only part of the shown period.
I also checked the possibility of changing the scale down to seconds cause some operations have a duration of less than a minute (timescale editor = double left-click on the scale). But the production is still unhappy. They have seen in some software such a possibility and wish the same in the graphical planning board. they want to see just part of the time frame in another scale so that the objects outside the scale remain in the same time unit but the objects within the considered time frame would be displayed in another time unit.
In the resource chart if you right-click an operation you can select the option shrink/stretch operation => I am not sure if there is sth wrong with my connection but most of the time when I click this option nothing happens. Just a couple of times while clicking on the same operation I manged to get a pop up "change operation duration" where you can define in % the new duration. but have to choose a new duration between "min and max duration" that are in this pop up zero => so I cannot change anything and have no clue where this zeros for min and max come from and in the end if that might solve my problem.
br,
Wojtek -
ORA 00600 Error when using Mapviewer addJDBCTheme
Hello
I am receiveing the 600 error via my OC4J window when using mapviewers addJDBCTheme with the passTthrough boolean set to false (the query is rewitten by mapviewer to limit it to the results to the map view). If I perfrom the same query with passThrough set to true, no problems. I have a feeling this may relate to the index on my table. OC4J output for error below.
Any ideas appriciated.
Chris
Tue Aug 09 10:58:38 BST 2005 FINEST [oracle.lbs.mapserver.oms] request.getRemoteUser = null
Tue Aug 09 10:58:38 BST 2005 FINEST [oracle.lbs.mapserver.oms] request= <?xml version="1.0" standalone="yes"?>
<map_request
datasource="atrium2"
srid="81989"
width="500"
height="500"
bgcolor="#ffffff"
antialiase="true"
format="PNG_URL">
<center size="800.0">
<geoFeature>
<geometricProperty typeName="center">
<Point>
<coordinates>278872.6,187144.0</coordinates>
</Point>
</geometricProperty>
</geoFeature>
</center>
<themes>
<theme name="BUIDLING" user_clickable="false" />
<theme name="BLOCKS" user_clickable="false">
<jdbc_query
label_column="mbl_title"
spatial_column="spat_data"
label_style="TEXTBLACK"
render_style="TEST3"
jdbc_srid="81989"
datasource="atrium2"
asis="false">select spat_data, mbl_bka_id, mbl_title from WPE_SPATIAL_BLOCKS_VIEW_10G c
</jdbc_query>
</theme>
</themes>
</map_request>
Tue Aug 09 10:58:38 BST 2005 FINEST [oracle.sdovis.JSDOGeometry] exception while getting srid from a geometry node: For input string: ""
Tue Aug 09 10:58:38 BST 2005 DEBUG [oracle.lbs.mapserver.core.MapperPool] getMapper(atrium2) begins...
Tue Aug 09 10:58:38 BST 2005 DEBUG [oracle.lbs.mapserver.core.MapperPool] getMapper() succeeded.
Tue Aug 09 10:58:38 BST 2005 FINEST [oracle.sdovis.SRS] got srs object for :81989
Tue Aug 09 10:58:38 BST 2005 FINEST [oracle.lbs.mapserver.core.RealWorker] adding additional themes...
Tue Aug 09 10:58:38 BST 2005 FINEST [oracle.lbs.mapserver.core.RealWorker] adding a predefined theme BUIDLING
Tue Aug 09 10:58:38 BST 2005 FINEST [oracle.sdovis.DBMapMaker] adding predefined theme [name=BUIDLING]
Tue Aug 09 10:58:38 BST 2005 FINEST [oracle.lbs.mapserver.core.RealWorker] adding a JDBC Theme:
ThemeDescriptor=
name=BLOCKS
type=2
minScale=Infinity
maxScale=-Infinity
srid=81989
host=null
sid=null
port=null
user=null
mode=null
query=select spat_data, mbl_bka_id, mbl_title from WPE_SPATIAL_BLOCKS_VIEW_10G c
spatialColumn=spat_data
renderStyleName=TEST3
labelColumn=mbl_title
labelStyleName=TEXTBLACK
renderStyleDef=null
labelStyleDef=null
localThem=null
Tue Aug 09 10:58:38 BST 2005 FINEST [oracle.sdovis.SRS] *** isGeodetic=false, unit=METER
Tue Aug 09 10:58:38 BST 2005 DEBUG [oracle.sdovis.DBMapMaker] LoadThemeData running thread: Thread-67
Tue Aug 09 10:58:38 BST 2005 FINEST [oracle.sdovis.theme.pgtp] [ BUIDLING ]: 278472.6,186744.0,279272.6,187544.0
Tue Aug 09 10:58:38 BST 2005 FINEST [oracle.sdovis.theme.pgtp] [ BUIDLING ]: SELECT ROWID, GEOLOC, 'PRISM_ADM:BROWN_LINE', null, 'null', -1 FROM SPAT_BUILDING WHERE MDSYS.SDO_FILTER(GEOLOC, MDSYS.SDO_GEOMETRY(2003, 81989, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 3), MDSYS.SDO_ORDINATE_ARRAY(?, ?, ?, ?)), 'querytype=WINDOW') = 'TRUE'
Tue Aug 09 10:58:38 BST 2005 DEBUG [oracle.sdovis.DBMapMaker] LoadThemeData running thread: Thread-68
Tue Aug 09 10:58:38 BST 2005 DEBUG [oracle.sdovis.theme.DGTP] [Master scale] 153.60000000000002 [Theme scale factor] 1.0
Tue Aug 09 10:58:38 BST 2005 FINEST [oracle.sdovis.theme.DGTP] [DynGeomTheme] rewritten query: SELECT * FROM ( select spat_data, mbl_bka_id, mbl_title from WPE_SPATIAL_BLOCKS_VIEW_10G c ) WHERE MDSYS.SDO_FILTER(spat_data, MDSYS.SDO_GEOMETRY(2003, 81989, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 3), MDSYS.SDO_ORDINATE_ARRAY(278472.6,186744.0,279272.6,187544.0)), 'querytype=WINDOW') = 'TRUE'
Tue Aug 09 10:58:38 BST 2005 DEBUG [oracle.sdovis.theme.pgtp] [ BUIDLING ] sql exec time: 15ms, total time loading 209 features: 125ms.
Tue Aug 09 10:58:53 BST 2005 WARN [oracle.sdovis.theme.DGTP] java.sql.SQLException: ORA-00600: internal error code, arguments: [kdsgrp1], [], [], [], [], [], [], []
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:189)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:242)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:554)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1478)
at oracle.jdbc.ttc7.TTC7Protocol.fetch(TTC7Protocol.java:969)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2387)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2660)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:777)
at oracle.sdovis.theme.DynGeomThemeProducer.prepareData(DynGeomThemeProducer.java:241)
at oracle.sdovis.Theme.prepareData(Theme.java:174)
at oracle.sdovis.DBMapMaker$LoadThemeData.run(DBMapMaker.java:1740)
Tue Aug 09 10:58:53 BST 2005 ERROR [oracle.sdovis.DBMapMaker] Message:null
Description: Nested exception is:
java.sql.SQLException: ORA-00600: internal error code, arguments: [kdsgrp1], [], [], [], [], [], [], []
java.sql.SQLException: ORA-00600: internal error code, arguments: [kdsgrp1], [], [], [], [], [], [], []
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:189)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:242)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:554)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1478)
at oracle.jdbc.ttc7.TTC7Protocol.fetch(TTC7Protocol.java:969)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2387)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2660)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:777)
at oracle.sdovis.theme.DynGeomThemeProducer.prepareData(DynGeomThemeProducer.java:241)
at oracle.sdovis.Theme.prepareData(Theme.java:174)
at oracle.sdovis.DBMapMaker$LoadThemeData.run(DBMapMaker.java:1740)
Tue Aug 09 10:58:53 BST 2005 INFO [oracle.sdovis.DBMapMaker] **** time spent on loading features: 15250ms.
Tue Aug 09 10:58:53 BST 2005 FINEST [oracle.sdovis.RE] xfm: 0.625 0.0 0.0 -0.625 -174045.375 117215.0
Tue Aug 09 10:58:53 BST 2005 DEBUG [oracle.sdovis.VectorRenderer] time to render theme BUIDLING with 209 styled features: 15ms
Tue Aug 09 10:58:53 BST 2005 DEBUG [oracle.sdovis.VectorRenderer] time to render theme BLOCKS with 0 styled features: 0ms
Tue Aug 09 10:58:53 BST 2005 DEBUG [oracle.sdovis.VectorRenderer] time to label theme BLOCKS with 0 styled features: 0ms
Tue Aug 09 10:58:53 BST 2005 DEBUG [oracle.sdovis.VectorRenderer] time to label theme BUIDLING with 209 styled features: 0ms
Tue Aug 09 10:58:53 BST 2005 INFO [oracle.sdovis.DBMapMaker] **** time spent on rendering: 15ms
Tue Aug 09 10:58:53 BST 2005 DEBUG [oracle.lbs.mapserver.core.MapperPool] freeMapper() begins...
Tue Aug 09 10:58:53 BST 2005 DEBUG [oracle.lbs.mapserver.core.RealWorker] [RealWorker] preparation time: 16ms
Tue Aug 09 10:58:53 BST 2005 DEBUG [oracle.lbs.mapserver.core.RealWorker] [RealWorker] querying/rendering time: 15265ms
Tue Aug 09 10:58:53 BST 2005 DEBUG [oracle.lbs.mapserver.core.RealWorker] [RealWorker] packing time: 31ms
Tue Aug 09 10:58:53 BST 2005 DEBUG [oracle.lbs.mapserver.core.RealWorker] [RealWorker] --------------- total time: 15312msChris,
Can you run this rewritten query
SELECT * FROM ( select spat_data, mbl_bka_id, mbl_title from WPE_SPATIAL_BLOCKS_VIEW_10G c ) WHERE MDSYS.SDO_FILTER(spat_data, MDSYS.SDO_GEOMETRY(2003, 81989, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 3), MDSYS.SDO_ORDINATE_ARRAY(278472.6,186744.0,279272.6,187544.0)), 'querytype=WINDOW') = 'TRUE'
in sql*plus without any errors?
The asumptions is there is a spatial index on spat_data and all the geometries are valid.
Also there will be a trace file on the db server. That'll give more details on what the likely cause is.
Jayant -
How to set JDBC Data Sources in Oracle MapViewer for Oracle database 12c Release 1 (12.1.0.1)?
The following is my configuration in the conf\mapViewerConfig.xml:
<map_data_source name="mvdemo12"
jdbc_host="127.0.0.1"
jdbc_sid="orcl12c1"
jdbc_port="1522"
jdbc_user="mvdemo"
jdbc_password="7OVl2rJ+hOYxG5T3vKJQb+hW4NPgy9EN"
jdbc_mode="thin"
number_of_mappers="3"
allow_jdbc_theme_based_foi="true"
editable="true"/>
<!-- **** -->
But it does not work.
After use "sqlplus mvdemo/[email protected]:1522/pdborcl", it connected to the Oracle database 12c.
Does anyone know it?
Thanks,For 11.1.1.7.1 use the syntax for jdbc_sid, i.e.
//mypdb1.foo.com as described in the README,
- MapViewer native (non-container) data sources can now use database service name in place of SID. To supply a db service name, you will use the same jdbc_sid attribute, but specify the service name with double slashes in front, such as follows:
<map_data_source name="myds"
jdbc_host="foo.com"
jdbc_sid="//mypdb1.foo.com"
jdbc_port="1522"
/>
For 11.1.1.7.0 use a container_ds instead.
i.e. instead of using
<map_data_source name="my_12c_test"
jdbc_host="mydbinstance"
jdbc_sid="pdborcl12c"
jdbc_port="1522"
jdbc_user="mytestuser"
jdbc_password="m2E7T48U3LfRjKwR0YFETQcjNb4gCMLG8/X0KWjO00Q="
jdbc_mode="thin"
number_of_mappers="6"
allow_jdbc_theme_based_foi="false"
editable="false"
/>
use
<map_data_source name="my_12c_test"
container_ds="jdbc/db12c"
number_of_mappers="6"
allow_jdbc_theme_based_foi="false"
editable="false"
/>
In my case the Glassfish 3.1.2.2 JDBC connection pool definition was
Property
url jdbc:oracle:thin:@mydbinstance:1522/pdborcl12c.rest_of.service.name
Uncheck the Wrap JDBC Objects option in Advanced panel, i.e. the Edit JDBC Connection Pool Advanced properties page.
Add a JDBC resource for that newly created pool
Use that in mapviewerconfig.xml as above -
Using Mapviewer with Oracle Locator
We're currently using Oracle Locator as a datasource for Mapviewer 10g and we're running into a slight problem when loading simple points from a table. We have the table containing these ponits added to the USER_SDO_GEOM_METADATA table and the spatial index is created on the specific column with the SDO_GEOMETRY type. When the map loads up the following error is generated when a dynamic jdbc query is run:
MAPVIEWER-06009: Error processing an FOI request.
Root cause:FOIServlet:ORA-29900: operator binding does not exist
ORA-06540: PL/SQL: compilation error
ORA-06553: PLS-907: cannot load library unit MDSYS.SDO_3GL (referenced by MDSYS.SDO_FILTER)
I've looked in the database for the MDSYS.SDO_3GL object and it's definitely there, so I'm a little lost on what could be causing this. I thought perhaps that our user schema may not have execute privileges associated with that specific procedure, but I believe the entire point of MDSYS is that it's available to any user on the database.
Any help with this would be greatly appreciated.
Edited by: user1175540 on Oct 29, 2010 7:10 PMWe're currently using the javascript api for oracle maps (using the matching javascript file, oraclemaps.js, that came directly from the mapviewer application download). All that I'm calling is a single table and then getting some hidden info columns as well off of it too. I've tried this on a different schema and database that's also only running Locator and the query runs just fine with the points on the map displaying as intended.
Here's the current theme request that I'm submitting:
<theme name= 'lowerTheme' >
<jdbc_query spatial_column='GEOMETRY' jdbc_srid='8307' render_style= 'V.AVCD_BUILD' datasource='mvdemo' >
select * from build where subtype in('ABC','123','DEF')
<hidden_info>
<field column='SUBTYPE' name='Type'/>
<field column='NAME' name='Name'/>
<field column='ADDR' name='Address'/>
<field column='CITY' name='City'/>
<field column='STATE' name='State'/>
<field column='ZIP_CODE' name='ZIP Code'/>
</hidden_info>
</jdbc_query>
<rendering>
<style name='V.AVCD_BUILD' value_columns='SUBTYPE'/>
</rendering>
</theme>
Within the actual function adding that theme to the 'mapview' variable I'm creating a new MVThemeBasedFOI object using the name 'lowerTheme' and the above definition for the second parameter in the constructor.
Is there a listing of procedures on the MDSYS schema that I should check to make sure they're valid for spatial queries to work?
Thanks in advance for the help.
Maybe you are looking for
-
After backing up my phone to the new iphone 4S, voice control comes on every time I try to use siri? I have to newest itunes so what should I do? I completley can not use Siri
-
Hi guys. Here is my question: I created a window whith the board of the tictactoe game as you can see from the code below. How can I divided in 9 regions and refer to them ? import java.io.*; import java.awt.*; import java.awt.event.*; import javax.s
-
How do I create a dataserver from MS Access
I did not see it in the document. Is it possible? Thanks.
-
Hi there, I have a question about burning two builds of an AIR desktop app with captive runtime, one for Windows and one for Mac, on a single hybrid DVD-rom that can be played on both Windows computers and Macs. I've tried sharing the assets (video's
-
Rezising or resolution change???
Hi, I have shot RAW images worked on them and saved them as High resolution JPEGS. I would like to send a large number of these images to the subject, and want them to print ok to 5*7 size, but was wondering the best way of doing this - is it to save