3d geometries in mapviewer
Does anybody know when 3D will be available in Mapviewer?
Thanks,
Viorel
Hi,
rendering of FOI elements in Oracle Maps does not show the label value. If you mouse over the FOI, then you see the label information. If you want to have the label rendered, you can add it as a theme on the basemap, and then create the FOI theme to display information when you mouse over or double click the feature.
Joao
Similar Messages
-
Hi,
I'm looking for a solution on fetching Spatial Data from an Oracle Spatial database (9.0i) into php. Oracle returns an error upon fetching. Executing the SQL-statement doesn't give any trouble, but fetching te data into PHP does. While using OCIFetchInto() Oracle returns an inconsistant datatype error. The goal is to fetch the coordinates stored in the database.
I Hope somebody has a solution to this problem?
Greetings,
Arjen Steur
[email protected]Hi,
Here is an example of a spatial query copied from http://otn.oracle.com/oramag/webcolumns/2003/techarticles/hull_php.html , but with a spatial component:
SELECT /*+ ordered */ w.well_id, w.is_contaminated
FROM land_use_polygons l, wells_table w
WHERE l.land_type = 'agricultural'
AND sdo_within_distance (w.geom, l.geom, 'distance=5 unit=kilometer') = 'TRUE';
or here is a query selecting point data:
SELECT /*+ ordered */ w.well_id, w.is_contaminated,
w.geom.sdo_point.x, w.geom.sdo_point.y
FROM land_use_polygons l, wells_table w
WHERE l.land_type = 'agricultural'
AND sdo_within_distance (w.geom, l.geom, 'distance=5 unit=kilometer') = 'TRUE';
If you need to display geometries, Oracle9iAS MapViewer has an XML API that may be useful for rendering the geometry data.
Hope this helps,
Dan (have spatial knowledge, but not PHP) -
Checkboxes: How do you use them to select geometries for display, MapViewer
Dear all
I am working in Oracle 10.2 and using PL/SQL. I am trying to create a procedure that generates a list of spatial layers, based on those currently contained in the database, which uses checkboxes, so that users can select which layers to display.
Once the user has made his choices and the results are submitted, the chosen layers are displayed through MapViewer. Currently the procedure, which is still being developed, is as follows:
PROCEDURE MAPLIST AS
CURSOR curmaplist IS
SELECT spatial_map_name
spatial_map_id
geom
FROM spatial_map_table;
varmaplist curmaplist%ROWTYPE;
varchecked VARCHAR2(32767);
BEGIN
FOR varmaplist in curmaplist LOOP
htp.print('<FORM>
<UL>
<LI>
<LABEL FOR="SM_ID||
curmaplist.spatial_map_id||">
<INPUT type="checkbox"
id="SM_ID||
curmaplist.spatial_map_id||"
name="SM_ID||
curmaplist.spatial_map_id||"
value="MAP TITLE: ||
curmaplist.spatial_map_name" />
</LABEL>
</LI>
</UL>
</FORM>'
EXIT WHEN curmaplist%NOTFOUND;
END LOOP;
END;I am not sure how to incorporate the checked element and then make use of it. Regarding subsequent use, I wondered if an IF statement could be used.
IF VARCHECKED = 'CHECKED' THEN...after this MapViewer XML is added, with the select statement making use of the cursor. For example:
select curmaplist.geom
from geg50160.spatial_map_tableFor the checked part itself, I have found the following Oracle code in Chapter 11 of Oracle Database Application Developer’s Guide - Fundamentals 10.2.
CREATE OR REPLACE PROCEDURE handle_checkboxes ( checkboxes owa_util.ident_arr )
AS
BEGIN
FOR i IN 1..checkboxes.count
LOOP
htp.print('<p>Checkbox value: ' || checkboxes(i));
END LOOP;
END;
/However I am not certain how I would incorporate that into my code. I take it i refers to the checkbox value. I've read that .ident_arr is an array which can hold multiple values but if so I am also not sure why checkboxes are counted.
Kind regards
TimHi GKaiseril,
Thanks for your reply. That's what I'm attempting to do, but I'm largely trying to "borrow" on-line JavaScript (see below) & modify for my PDF Form, w/ rudimentary knowledge gained while surfing the web. The Form has 30 checkboxes that I want to limit users to a max. of 4.
So any add'l scripting tips would be most appreciated.
Thanks!
var NewCount = 0
getField("Check_Box1").value === "Yes"
{NewCount = NewCount + 1}
getField("Check_Box2").value === "Yes"
{NewCount = NewCount + 1}
getField("Check_Box3").value === "Yes"
{NewCount = NewCount + 1}
getField("Check_Box4").value === "Yes"
{NewCount = NewCount + 1}
getField("Check_Box5").value === "Yes"
{NewCount = NewCount + 1}
if (NewCount == 4)
app.alert(“Pick Just Four Please”); return false; -
Loading (point) features takes MapViewer 20 times sql exec time?
I have a map which contains only one theme which shows 14500 point geometries stored in a table (accessed via a view). Rendering the map takes a long time, more than 22 secs. Looking at the log from MapViewer it seems like the sql execution time is not the problem, also in a sql editor the query is fast. Labeling and rendering is fast too. CPU is not very busy while rendering the map, memory usage is under 70 MB. The problem seems to be loading the features after executing the sql query.
This is the logging:
06/01/24 08:46:23 Tue Jan 24 08:46:23 CET 2006 DEBUG [oracle.sdovis.theme.pgtp] [ STOFFEN_INSTALLATIES ] sql exec time: 100ms, total time loading 14593 features: 21401ms.
06/01/24 08:56:32 Tue Jan 24 08:56:32 CET 2006 INFO [oracle.sdovis.DBMapMaker] **** time spent on loading features: 21221ms.
06/01/24 08:56:32 Tue Jan 24 08:56:32 CET 2006 FINEST [oracle.sdovis.RE] xfm: 0.0377536231884058 0.0 0.0 -0.0377536231884058 -2650.2018115942033 17432.848768115942
06/01/24 08:56:33 Tue Jan 24 08:56:33 CET 2006 DEBUG [oracle.sdovis.VectorRenderer] time to render theme STOFFEN_INSTALLATIES with 14593 styled features: 951ms
06/01/24 08:56:33 Tue Jan 24 08:56:33 CET 2006 DEBUG [oracle.sdovis.VectorRenderer] time to label theme STOFFEN_INSTALLATIES with 14593 styled features: 0ms
06/01/24 08:56:33 Tue Jan 24 08:56:33 CET 2006 INFO [oracle.sdovis.DBMapMaker] **** time spent on rendering: 951ms
06/01/24 08:56:33 Tue Jan 24 08:56:33 CET 2006 DEBUG [oracle.lbs.mapserver.core.MapperPool] freeMapper() begins...
06/01/24 08:56:33 Tue Jan 24 08:56:33 CET 2006 DEBUG [oracle.lbs.mapserver.core.RealWorker] [RealWorker] preparation time: 0ms
06/01/24 08:56:33 Tue Jan 24 08:56:33 CET 2006 DEBUG [oracle.lbs.mapserver.core.RealWorker] [RealWorker] querying/rendering time: 22182ms
06/01/24 08:56:33 Tue Jan 24 08:56:33 CET 2006 DEBUG [oracle.lbs.mapserver.core.RealWorker] [RealWorker] packing time: 60ms
06/01/24 08:56:33 Tue Jan 24 08:56:33 CET 2006 DEBUG [oracle.lbs.mapserver.core.RealWorker] [RealWorker] --------------- total time: 22242ms
22 seconds is too long for our application. Does anyone know what could be wrong and what I could do to improve this?
Thanks in advance,
Ida22 secs seems too long.
I tried something similar on old Sun Sparc (Ultra 60) machines. db on one Sun box, MV on another. Both on same local network.
SQL> select count(1) from openls_dir_businesses where country_subdivision='MD' ;
COUNT(1)
24638
No indexes, no other optimizations
Fetching and rendering 24638 points took 19 secs or so.
Fetch time 10 secs, render time 9 secs.
Tue Jan 24 15:09:01 EST 2006 INFO [oracle.sdovis.DBMapMaker] **** time spent on loading features: 10741ms.
Tue Jan 24 15:09:10 EST 2006 INFO [oracle.sdovis.DBMapMaker] **** time spent on rendering: 9083ms -
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 use MapViewer API?
Hi,
I have a problem that is acturally regarded to java programming. I want to use MapViewer JavaBean-Based API. I did the preparing work described in Mapviewer doc §4.2.
I saved the demo jsp page "mapclient.jsp" in my own application folder (under oc4j\j2ee\home\default-web-app). The other jsp pages written by myself can be displayed. But this mapclient.jsp can not be retrieved. "HTTP 500 internal server error The page cannot be displayed." It seems that I don't have J2EE container that contains the MapViewer service.
I also changed the codes of mapclient.jsp. I use
import oracle.spatial.mapclient.MapViewer;
MapViewer mv = new MapViewer("http://localhost ...");
It does not work, either. "The page cannot be displayed."
I don't know how to invoke the MapViewer service. I use oc4j standalone. I don't know how to get the error message, either.
I hope somebody can give me some suggestions. Thanks in advance.Hi,
about the addDataSource using the Java API, for now you have to disable the security
in order to add the data source using the MapViewer client API.
You can do that editing the MapViewer config file:
<mv_security enforce_sec_role="false" />
Assuming that you have added your data source, and you have rendered some map,
you can get the attribute information using the "identify" methods of the
MapViewer client API.
1) To identify one individual geometry:
String [][] result = mapviewer.identify(dataSource,table_name,columns,
geometry_column,srid, x, y);
where: "columns" contains the table attribute names that
you want to retrieve
x,y represents the device coordinate.
2) To identify geometries inside a rectangle:
String [][]result = mapviewer.identify(dataSource,table_name,columns,
geometry_column,srid, xlowleft,ylowleft,
xupright,yupright,false);
where the rectangle coordinates are defined by xlowleft,ylowleft,
xuprigth, and yuprigth values in device unit.
3) The resulted String array contains on the first row the attribute
names, and on the remaining rows the attribute values for each geometry.
int nlin = result.length; // return the number of lines
int col = result[0].length; // number of columns
To get the attribute names:
// attribute names
Object []tableattrs = new Object[ncol];
for(int j=0;j<ncol;j++)
tableattrs[j] = result[0][j];
To get the attribute values:
Object [][]tablevalues = new Object[nlin-1][];
for(int lin=1;lin<nlin;lin++)
tablevalues[lin-1] = new Object[ncol];
for(int col=0;col<ncol;col++)
tablevalues[lin-1][col] = result[lin][col];
Regards. -
MapViewer 1.0 rc1 and Oracle Database 10g 10.1.0.2.0 Performace
I have just loaded the MV Demo and was a little disappointed at the performance. Below, I posted a sample of database fetch/rendering times. I was wondering if this was typical since this was my first experience with Map Viewer. And if not, where can I get some information to improve performance?
Terry
06/09/15 08:01:43 INFO [oracle.sdovis.DBMapMaker] **** time spent on rendering: 16ms
06/09/15 08:01:43 INFO [oracle.sdovis.DBMapMaker] **** time spent on loading features: 84145ms.
06/09/15 08:01:43 INFO [oracle.sdovis.DBMapMaker] **** time spent on rendering: 0ms
06/09/15 08:01:43 INFO [oracle.sdovis.DBMapMaker] **** time spent on loading features: 84300ms.
06/09/15 08:01:43 INFO [oracle.sdovis.DBMapMaker] **** time spent on rendering: 16ms
06/09/15 08:01:44 INFO [oracle.sdovis.DBMapMaker] **** time spent on loading features: 87443ms.
06/09/15 08:01:44 INFO [oracle.sdovis.DBMapMaker] **** time spent on rendering: 0ms
06/09/15 08:01:48 INFO [oracle.sdovis.DBMapMaker] **** time spent on loading features: 92155ms.
06/09/15 08:01:48 INFO [oracle.sdovis.DBMapMaker] **** time spent on rendering: 0ms
06/09/15 08:01:51 INFO [oracle.sdovis.DBMapMaker] **** time spent on loading features: 91921ms.
06/09/15 08:01:51 INFO [oracle.sdovis.DBMapMaker] **** time spent on rendering: 16ms
06/09/15 08:01:51 INFO [oracle.sdovis.DBMapMaker] **** time spent on loading features: 92186ms.
06/09/15 08:01:51 INFO [oracle.sdovis.DBMapMaker] **** time spent on rendering: 16ms
06/09/15 08:01:53 INFO [oracle.sdovis.DBMapMaker] **** time spent on loading features: 97024ms.
06/09/15 08:01:53 INFO [oracle.sdovis.DBMapMaker] **** time spent on loading features: 93618ms.
06/09/15 08:01:53 INFO [oracle.sdovis.DBMapMaker] **** time spent on rendering: 16ms
06/09/15 08:01:53 INFO [oracle.sdovis.DBMapMaker] **** time spent on rendering: 15ms
06/09/15 08:01:59 INFO [oracle.sdovis.DBMapMaker] **** time spent on loading features: 99739ms.
06/09/15 08:01:59 INFO [oracle.sdovis.DBMapMaker] **** time spent on rendering: 15msThank for the quick reply. I was just doing a basic test to determine if Map Viewer would satisfy our target architecture and rich web client functional requirements. Everything checks out except for my lack of understanding on how to determine the best performance settings. I expect the development environment to be slower than production. Our actual production environment is many load balanced map and database servers.
Sorry about the lack of details.
Terry
Here are the particulars.
Test Application: http://localhost:8888/mapviewer/faces/fsmc/oraclemaps.jspx
Db server: Win 2003 Enterprise Edition 2 Xeon 3GHx processors with 8 GB RAM.
App Server Win XP Pro 2 Xeon 3Ghx processors with 1 Gb Ram.
App Server Sart Script:
cd C:\mv_qs\oc4j\j2ee\home
start C:\jdk1.5.0_04\bin\java -server -Xmx384M -jar oc4j.jar
Map Cahce Config: DEMO_MAP MVDEMO DEMO_MAP 10 true 256 256 true
Data Source Config: mvdemo mq thin:@172.19.35.10:1521:MQ 64 100
MapViewer Config:
<?xml version="1.0" ?>
<!-- This is the configuration file for Oracle9iAS MapViewer. -->
<!-- Note: All paths are resolved relative to this directory (where
this config file is located), unless specified as an absolute
path name.
-->
<MapperConfig>
<!-- ****************************************************************** -->
<!-- ************************ Logging Settings ************************ -->
<!-- ****************************************************************** -->
<!-- Uncomment the following to modify logging. Possible values are:
log_level = "fatal"|"error"|"warn"|"info"|"debug"|"finest"
default: info) ;
log_thread_name = "true" | "false" ;
log_time = "true" | "false" ;
one or more log_output elements.
-->
<!--
<logging log_level="info" log_thread_name="false"
log_time="true">
<log_output name="System.err" />
<log_output name="../log/mapviewer.log" />
</logging>
-->
<!-- ****************************************************************** -->
<!-- ********************** Map Image Settings ************************ -->
<!-- ****************************************************************** -->
<!-- Uncomment the following only if you want generated images to
be stored in a different directory, or if you want to customize
the life cycle of generated image files.
By default, all maps are generated under
$ORACLE_HOME/lbs/mapviewer/web/images.
Images location-related attributes:
file_prefix: image file prefix, default value is "omsmap"
url: the URL at which images can be accessed. It must match the 'path'
attribute below. Its default value is "%HOST_URL%/mapviewer/images"
path: the corresponding path in the server where the images are
saved; default value is "%ORACLE_HOME%/lbs/mapviewer/web/images"
Images life cycle-related attributes:
life: the life period of generated images, specified in minutes.
If not specified or if the value is 0, images saved on disk will
never be deleted.
recycle_interval: this attribute specifies how often the recycling
of generated map images will be performed. The unit is minute.
The default interval (when not specified or if the value is 0)
is 8*60, or 8 hours.
-->
<!--
<save_images_at file_prefix="omsmap"
url="http://mypc.mycorp.com:8888/mapviewer/images"
path="../web/images"
/>
-->
<!-- ****************************************************************** -->
<!-- ********************* IP Monitoring Settings ********************* -->
<!-- ****************************************************************** -->
<!-- Uncomment the following to enable IP filtering for administrative
requests.
Note:
- Use <ips> and <ip_range> to specify which IPs (and ranges) are allowed.
Wildcard form such as 20.* is also accepted. Use a comma-delimited
list in <ips>.
- Use <ips_exclude> and <ip_range_exclude> for IPs and IP ranges
prohibited from accessing eLocation.
- If an IP falls into both "allowed" and "prohibited" categories, it is
prohibited.
- If you put "*" in an <ips> element, then all IPs are allowed, except
those specified in <ips_exclude> and <ip_range_exclude>.
On the other hand, if you put "*" in an <ips_exclude> element, no one
will be able to access MapViewer (regardless of whether an IP is in
<ips> or <ip_range>).
- You can have multiple <ips>, <ip_range>, <ips_exclude>, and
<ip_range_exclude> elements under <ip_monitor>.
- If no <ip_monitor> element is present in the XML configuration
file, then no IP filtering will be performed (all allowed).
- The way MapViewer determines if an IP is allowed is:
if(IP filtering is not enabled) then allow;
if(IP is in exclude-list) then not allow;
else if(IP is in allow-list) then allow;
else not allow;
-->
<!--
<ip_monitor>
<ips> 138.1.17.9, 138.1.17.21, 138.3.*, 20.* </ips>
<ip_range> 24.17.1.3 - 24.17.1.20 </ip_range>
<ips_exclude> 138.3.29.* </ips_exclude>
<ip_range_exclude>20.22.34.1 - 20.22.34.255</ip_range_exclude>
</ip_monitor>
-->
<!-- ****************************************************************** -->
<!-- ********************** Web Proxy Setting ************************ -->
<!-- ****************************************************************** -->
<!-- Uncomment and modify the following to specify the Web proxy setting.
This is only needed for passing background image URLs to
MapViewer in map requests or for setting a logo image URL, if
such URLs cannot be accessed without the proxy.
-->
<!--
<web_proxy host="www-proxy.my_corp.com" port="80" />
-->
<!-- ****************************************************************** -->
<!-- *********************** Security Configuration ******************* -->
<!-- ****************************************************************** -->
<!-- Here you can set various security related configurations of MapViewer.
-->
<security_config>
<disable_direct_info_request> false </disable_direct_info_request>
</security_config>
<!-- ****************************************************************** -->
<!-- *********************** Global Map Configuration ***************** -->
<!-- ****************************************************************** -->
<!-- Uncomment and modify the following to specify systemwide parameters
for generated maps. You can specify your copyright note, map title, and
an image to be used as a custom logo shown on maps. The logo image must
be accessible to this MapViewer and in either GIF or JPEG format.
Notes:
- To disable a global note or title, specify an empty string ("") for
the text attribute of <note> and <title> element.
- position specifies a relative position on the map where the
logo, note, or title will be displayed. Possible values are
NORTH, EAST, SOUTH, WEST, NORTH_EAST, SOUTH_EAST,
SOUTH_WEST, NORTH_WEST, and CENTER.
- image_path specifies a file path or a URL (starts with "http://")
for the image.
<rendering> element attributes:
- Local geodetic data adjustment: If allow_local_adjustment="true",
MapViewer automatically performs local data
"flattening" with geodetic data if the data window is less than
3 decimal degrees. Specifically, MapViewer performs a simple
mathematical transformation of the coordinates using a tangential
plane at the current map request center.
If allow_local_adjustment="false" (default), no adjustment is
performed.
- Automatically applies a globular map projection (geodetic data only):
If use_globular_projection="true", MapViewer will
apply a globular projection on the fly to geometries being displayed.
If use_globular_projection="false" (the default), MapViewer does no map
projection to geodetic geometries. This option has no effect on
non-geodetic data.
-->
<!--
<global_map_config>
<note text="Copyright 2004, Oracle Corporation"
font="sans serif"
position="SOUTH_EAST"/>
<title text="MapViewer Demo"
font="Serif"
position="NORTH" />
<logo image_path="C:\\images\\a.gif"
position="SOUTH_WEST" />
<rendering allow_local_adjustment="false"
use_globular_projection="false" />
</global_map_config>
-->
<!-- ****************************************************************** -->
<!-- ****************** Spatial Data Cache Setting ******************* -->
<!-- ****************************************************************** -->
<!-- Uncomment and modify the following to customize the spatial data cache
used by MapViewer. The default is 64 MB for in-memory cache.
To disable the cache, set max_cache_size to 0.
max_cache_size: Maximum size of in-memory spatial cache of MapViewer.
Size must be specified in megabytes (MB).
report_stats: If you would like to see periodic output of cache
statistics, set this attribute to true. The default
is false.
-->
<!--
<spatial_data_cache max_cache_size="64"
report_stats="false"
/>
-->
<!-- ****************************************************************** -->
<!-- ******************** Custom Image Renderers ********************** -->
<!-- ****************************************************************** -->
<!-- Uncomment and add as many custom image renderers as needed here,
each in its own <custom_image_renderer> element. The "image_format"
attribute specifies the format of images that are to be custom
rendered using the class with full name specified in "impl_class".
You are responsible for placing the implementation classes in the
MapViewer's classpath.
-->
<!--
<custom_image_renderer image_format="ECW"
impl_class="com.my_corp.image.ECWRenderer" />
-->
<!-- ****************************************************************** -->
<!-- ****************** Custom WMS Capabilities Info ****************** -->
<!-- ****************************************************************** -->
<!-- Uncomment and modify the following tag if you want MapViewer to
use the following information in its getCapabilities response.
Note: all attributes and elements of <wms_config> are optional.
-->
<!--
<wms_config host="www.my_corp.com" port="80">
<title>
WMS 1.1 interface for Oracle Application Server 10g MapViewer
</title>
<abstract>
This WMS service is provided through Oracle MapViewer.
</abstract>
<keyword_list>
<keyword>bird</keyword>
<keyword>roadrunner</keyword>
<keyword>ambush</keyword>
</keyword_list>
<sdo_epsg_mapfile>
../config/epsg_srids.properties
</sdo_epsg_mapfile>
</wms_config>
-->
<!-- ****************************************************************** -->
<!-- **************** Custom Non-Spatial Data Provider **************** -->
<!-- ****************************************************************** -->
<!-- Uncomment and add as many custom non-spatial data provider as
needed here, each in its own <ns_data_provider> element.
You must provide the id and full class name here. Optionally you
can also specify any number of global parameters, which MapViewer
will pass to the data provider implementation during initialization.
The name and value of each parameter is interpreted only by the
implementation.
-->
<!-- this is the default data provider that comes with MapViewer; please
refer to the MapViewer User's Guide for instructions on how to use it.
-->
<ns_data_provider
id="defaultNSDP"
class="oracle.sdovis.NSDataProviderDefault"
/>
<!-- this is a sample NS data provider with prameters:
<ns_data_provider
id="myProvider1" class="com.mycorp.bi.NSDataProviderImpl" >
<parameters>
<parameter name="myparam1" value="value1" />
<parameter name="p2" value="v2" />
</parameters>
</ns_data_provider>
-->
<!-- ****************************************************************** -->
<!-- ******************* Map Cache Server Setting ******************* -->
<!-- ****************************************************************** -->
<!-- Uncomment and modify the following to customize the map cache server.
<cache_storage> specifies the default root directory under which the
cached tile images are to be stored if the cache instance configuration
does not specify the root directory for the cache instance. If the
default root directory is not set or not valid, the default root
direcotry will be set to be $MAPVIEWER_HOME/web/mapcache
default_root_path: The default root directory under which the cached
tile images are stored.
<logging> specifies the logging options for map cache server.
-->
<!--
<map_cache_server>
<cache_storage default_root_path="/scratch/mapcachetest/"/>
<logging log_level="finest" log_thread_name="false" log_time="true">
<log_output name="System.err"/>
<log_output name="../log/mapcacheserver.log"/>
</logging>
</map_cache_server>
-->
<!-- ****************************************************************** -->
<!-- ******************** Predefined Data Sources ******************** -->
<!-- ****************************************************************** -->
<!-- Uncomment and modify the following to predefine one or more data
sources.
Note: You must precede the jdbc_password value with a '!'
(exclamation point), so that when MapViewer starts the next
time, it will encrypt and replace the clear text password.
-->
<map_data_source name="mvdemo"
jdbc_host="172.19.35.10"
jdbc_sid="MQ"
jdbc_port="1521"
jdbc_user="mq"
jdbc_password="mq001"
jdbc_mode="thin"
number_of_mappers="3"
/>
</MapperConfig> -
Understanding MapViewer log - total time loading X features
Hi All,
I'm interested in finding out more about how to understand the following lines from the log file.
What I'm unsure about is what "total time loading features" means. For example Theme_14 has a sql exec time of 1797ms, however the total time loading 3 features is 21233ms.
I'm assuming the total time includes the sql exec time. However there is about 20 seconds extra. Understanding this time should allow me to make changes to reduce it.
What is MapViewer doing in that time? / What are the components that make up the "total time loading features"?
Mon Apr 21 14:57:30 EST 2008 DEBUG [oracle.sdovis.theme.pgtp] [ THEME_1 ] sql exec time: 63ms, total time loading 0 features: 63ms.
Mon Apr 21 14:57:30 EST 2008 DEBUG [oracle.sdovis.theme.pgtp] [ THEME_2 ] sql exec time: 422ms, total time loading 0 features: 422ms.
Mon Apr 21 14:57:30 EST 2008 DEBUG [oracle.sdovis.theme.pgtp] [ THEME_3 ] sql exec time: 422ms, total time loading 7 features: 422ms.
Mon Apr 21 14:57:30 EST 2008 DEBUG [oracle.sdovis.theme.pgtp] [ THEME_4 ] sql exec time: 422ms, total time loading 0 features: 422ms.
Mon Apr 21 14:57:30 EST 2008 DEBUG [oracle.sdovis.theme.pgtp] [ THEME_5 ] sql exec time: 516ms, total time loading 0 features: 516ms.
Mon Apr 21 14:57:30 EST 2008 DEBUG [oracle.sdovis.theme.pgtp] [ THEME_6 ] sql exec time: 500ms, total time loading 0 features: 500ms.
Mon Apr 21 14:57:30 EST 2008 DEBUG [oracle.sdovis.theme.pgtp] [ THEME_7 ] sql exec time: 516ms, total time loading 0 features: 516ms.
Mon Apr 21 14:57:30 EST 2008 DEBUG [oracle.sdovis.theme.pgtp] [ THEME_8 ] sql exec time: 422ms, total time loading 5 features: 422ms.
Mon Apr 21 14:57:30 EST 2008 DEBUG [oracle.sdovis.theme.pgtp] [ THEME_9 ] sql exec time: 516ms, total time loading 0 features: 516ms.
Mon Apr 21 14:57:31 EST 2008 DEBUG [oracle.sdovis.theme.pgtp] [ THEME_10 ] sql exec time: 218ms, total time loading 0 features: 218ms.
Mon Apr 21 14:57:31 EST 2008 DEBUG [oracle.sdovis.theme.pgtp] [ THEME_11 ] sql exec time: 437ms, total time loading 12 features: 453ms.
Mon Apr 21 14:57:31 EST 2008 DEBUG [oracle.sdovis.theme.pgtp] [ THEME_12 ] sql exec time: 766ms, total time loading 16 features: 1141ms.
Mon Apr 21 14:57:32 EST 2008 DEBUG [oracle.sdovis.theme.pgtp] [ THEME_13 ] sql exec time: 906ms, total time loading 1 features: 1735ms.
Mon Apr 21 14:57:51 EST 2008 DEBUG [oracle.sdovis.theme.pgtp] [ THEME_14 ] sql exec time: 1797ms, total time loading 3 features: 21233ms.
Mon Apr 21 14:57:51 EST 2008 INFO [oracle.sdovis.DBMapMaker] **** time spent on loading features: 21233ms.
Your time is appreciated. Any other comments are also welcome.Hi,
the "total time loading features" includes the whole process to prepare the theme data. It includes the SQL execution time plus the data fetching plus some other minor tasks which do not affect much the final total time. So basically look for the SQL exec time and the fetching/loading of data. In your case, the fetching/loading of THEME_14 geometries is taking too long. Also the SQL exec time for just 3 features seems high. For the fetching, check if the geometries are too detailed (too may points), and for the SQL check if you can improve it (the log, in finest mode, also shows the query executed).
Joao -
Best method to move data from ArcSDE to Oracle Spatial/Mapviewer environment?
If ArcGIS Geodatabase is the standard data store for GIS data, but business IT wants to make use of an Oracle Spatial/Mapviewer environment, what is the best practices recommended approach for interfacing between the two data stores. (perhaps this is an Oracle Spatial question, but tools exist here as well.)
Yes, This question is more suited for the Oracle Spatial Forum.
And about the question, you must use Esri's owns products like ArcCatalog or Arcmap to connect to oracle and change the format of your geometries. Arcgis is capable of storing geometrical data in oracle in SDO_Geometry format.
If you have question about the procedure of this action, don't hesitate to ask.
Regards,
Farid -
MapViewer topology and get_geometrymember function
Hallo everybody,
can Mapviewer show geometries that come from the member function get_geometry of a topology object. Or may I calculate for all my topology the geometry in this way and then store it?
Thanks Jadeyes mapviewer can show the results of get_geometry call.
-
hello,
I want to see geometrics objects stored in an oracle 10g database with mapviewer.
When I put this query ( in the sample map request ):
<?xml version="1.0" encoding="UTF-8" ?>
<map_request datasource="mvdemo" width="640" height="480" format="PNG_STREAM">
<themes>
<theme name="t1">
<jdbc_query spatial_column = "GEOMETRIE" datasource = "mvdemo">
select geometrie from geo_table;
</jdbc_query>
</theme>
</themes>
</map_request>
I have the following errors:
<?xml version="1.0" encoding="UTF-8" ?>
<oms_error>Message:null Fri Jun 17 15:19:24 CEST 2005 Severity: 0 Description: Message:null Fri Jun 17 15:19:24 CEST 2005 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:568) at oracle.lbs.mapserver.core.RealWorker.process(RealWorker.java:232) at oracle.lbs.mapserver.MapServerImpl.renderMap(MapServerImpl.java:189) at oracle.lbs.mapserver.oms.doPost(oms.java:325) 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(Unknown Source)</oms_error>
Why this error occurs?
if you know some links which explain the using of mapviewer please send me them.
Thanks for your helps.
xjufiOmit the semi-colon.
http://www.oracle.com/technology/products/mapviewer/index.html
User guide secion 2.3.2
Demos that are part of the kit -
Feature request for Mapviewer for styling rules in predefined themes
Hi,
i have a bunch of predefined themes in MapViewer with quite a lot of rules for each of them. They are all of the same structure
<ruleA>...
<ruleB>...
<ruleOtherwise> If not ruleA and not ruleB ....
Since every rule is being processed, you have to define a quite big "where" cirteria in ruleOtherwise in order to process only when no other rule fit.
I think an explicit "default" or "otherwise" rule would be a great enhancement for these cases. It should be called when no other rule fits,
Regards,
HolgerI launch this resquest with 2 themes. First one for geometries 2001 and the secound one for the others. But only get the results for the first theme. Think there is something wrong, is possible that the request only allow one theme? so it wouldn't make any sense the <themes> tag.
<map_request>
<themes>
<theme name='JDBC_THEME'>
<jdbc_query asis='true' spatial_column='value' jdbc_srid='8307' label_column='label' render_style='M.MARKER' datasource='DSTest'>
SELECT g.value,g.annotation as label FROM geometries g WHERE g.value.sdo_gtype = 2001</jdbc_query>
</theme>
<theme name='JDBC_THEME'>
<jdbc_query asis='true' spatial_column='value' jdbc_srid='8307' label_column='label' render_style='colorScheme' datasource='DSTest'>
SELECT g.value,g.annotation as label FROM geometries g WHERE g.value.sdo_gtype != 2001</jdbc_query>
</theme>
</themes>
</map_request>
Thanks again. -
Hi,
I am having a deeper look into Mapviewers styling capabilities, and have a couple of questions:
- Is it possible to customize line styles more, for example make it paint geometrical shapes in given intervals (or if not, is there any plans to do so) ? In my case, it means i.e direction-arrows, crosses, circles etc.
Here is an example that demonstrates it, with both direction arrows and crosses on the same line:
http://img408.imageshack.us/img408/9504/linepumpdirectionandoutmt6.png
- Is there any current plans to implement support for hatching polygons ?
Regards,
Oyvind IdlandI've been able to do hatching with a 5x5 pixel transparent gif. The diagonal pixels from upper left to lower right corners (5 pixels) are the only ones with color. I specify this image in the style and when rendered, mapviewer tiles it and hatches the polygon very nicely. I expect this will work for any symmetrical image.
This is what the image looks like, 0 is transparent, x is color:
x0000
0x000
00x00
000x0
0000x
I'm not sure if it meets your entire needs, but, mapbuilder allows you to define line styles with different dash patterns and cross hatches. -
MVMapView.transformGeom and big geometries result in error 05511
Hello,
i have a problem with using MVMapView.transformGeom with geometries with many ordinates. When i try to transform such a geometry object i get a Mapviewer error 05511.
Using Firefox with firebug i could examine the response from the server. It tells me that the Request-URI is too large (414)
I can also see that the parameters are transfered to the server using GET, so it is no wonder that i get that error.
Wouldn't it be better to use POST instead of GET to send the geometry to the server?
I had a deeper look at the oraclemaps.js and found out that for example getLenght or getArea seem to use POST, so i tried to modify transformGeom in the same way, but that didn't work. It still builds a long URI instead of posting a parameter array ( If you look at the request in firebug, you will notice that the POST-TAB is empty. Normally the parameters should appear there, like for example in a getfoi request)
Now i wonder if there is another way to transform a big geometry.
Or maybe the transformGeom function can be altered to use POST instead of GET in the next version of mapviewer.
Regards,
DIrkYeah, we should have put the request parameters in the request body, not the URL.
Based on your post, I believe you're capable of fixing it by yourself. What you need to do is to take the request parameters out of the URL, change the method from "GET" to "POST" and send the parameters separately in the request.send call. The line that defines the request URL has "request=cstransform&dstsrid=" in it.
This is a temporary solution. We'll fix it in our code. Don't do it if you're not sure about what I am talking about. -
Straight lines are displayed as curved in Oracle Mapviewer
Hi,
we're using Oracle Mapviewer to display land area singlepart polygons (3003) from Oracle Spatial table called sdo_kol. The table has an attribute of mdsys.sdo_geometry. I'm pretty sure that data is loaded correctly using shp2sde tool from arcSde tool pallete. The thing is, when displaying the area's using ArcMap 8.3 we get the polygon shape on the screen. But when we look at the same thing through the Map Viewer the polygon lines look like zig-zag lines instead of straight lines.
Anyone has an idea why?
Cheers.
Message was edited by:
user526816I have tried the fast_unpickle option. I've set the fast_unpickle to false in user_sdo_maps (we're using predefined themes), or even issuing a manual xml api request with fast_unpickle = "false". I still get zigzag lines.
This has to be a bug in 9.0.4 version of map viewer. Our geometries are of type 3003 and 3007 and one polygon has a lot of vertices, so that might be a rounding problem. We'll try the same thing on 10.1.2.0.2 and see what happens.
Many thanks for your help, you have been very kind.
Maybe you are looking for
-
IPod recognised by windows, but not appearing in iTunes
My sister recently bought an iPod nano so we have both been using the same computer, different user areas for our iTunes. However, there is some conflict between them somehow as now the iPod is not appearing in iTunes but is appearing as a hard drive
-
Restrict same condition type in pricing procedure
Is there a way to restrict the condition type so that there can only be one occurrence of the same condition type in a order item? Example: System reads condition type ZXXX from system, then a user adds the same condition type on the same order item.
-
Creation of new columns and reformatting of data in infocube
Hi, Although i got the results i wanted in my demo cube, i am not sure how it came to that. In my flat file, i have entries of 1001 for 0D_CREDITOR, and 82004 for 0FISCPER. However in my infocube, i am seeing entries of 0000001001 for 0D_CREDITOR
-
How to install OS X on a 10GB HDD WITHOUT PARTITIONING!?
Hi, I just ordered a Powerbook G3 Wallstreet and when I receive it I plan on putting my 10GB HDD in it and installing OS X on it (probably 10.2 or 10.4 with XpostFacto) but I know there is a 8GB partition limit on the G3 Wallstreet. I don't need any
-
Issue with ADOBE interactve form intergrated with Web dynpro ABAP
Hi Experts I have intergarted an XML based adobe form in webdynpro with inputs fields and submit button. But on display on Internet expolrer it doesn't allow to input values even submit button dosen't work. Please help me how would it will allow to i