SDO_TOPO_MAP.GET_EDGE_ADDITIONS

Before any topo manipulation I have...
SQL> select count(*), max(edge_id) from mgf_test_edge$;
COUNT(*) MAX(EDGE_ID)
19844 19844
I create and load a topo_map...
SQL> EXECUTE sdo_topo_map.create_topo_map('MGF_TEST', 'my_topo_map_cache');
PL/SQL procedure successfully completed.
SQL> EXECUTE sdo_topo_map.load_topo_map('my_topo_map_cache', 'true');
PL/SQL procedure successfully completed.
Then perform a test CREATE_FEATURE...
SQL> declare
2 topo_geom sdo_topo_geometry;
3 begin
4 for rec in (select * from blk_grp_geom where rownum=1)
5 loop
6 topo_geom := sdo_topo_map.create_feature(
7 'MGF_TEST','BLK_GRP_TOPO','FEATURE',rec.geometry);
8 insert into blk_grp_topo(mgf065_,bg00,feature)
9 values (rec.mgf065_, rec.bg00, topo_geom);
10 end loop;
11 end;
12 /
PL/SQL procedure successfully completed.
Re-querying the edge table I see new edges have been added...
SQL> select count(*), max(edge_id) from mgf_test_edge$;
COUNT(*) MAX(EDGE_ID)
19924 20087
I expect to confirm this with SDO_TOPO_MAP.GET_EDGE_ADDITIONS,
but I get the following empty result...
SQL> SELECT SDO_TOPO_MAP.GET_EDGE_ADDITIONS FROM DUAL;
GET_EDGE_ADDITIONS
SDO_NUMBER_ARRAY()
Am I not using GET_EDGE_ADDITIONS properly? Seems like it should be straightforward. I'm on 10.1.0.4.
Any feedback appreciated.

When you use the sdo_topo_map.create_feature interface,
the changes in the TopoMap cache are flushed to the DB for each feature.
This is done to maintain the consistency between the features and
topo elements.
The SDO_TOPO_MAP.GET_EDGE_ADDITIONS gets you the edges that
are added and are still in the cache.
So in this case, since all changes from the cache are flushed, the procedure
returns no edges.
siva

Similar Messages

  • Linux 11g red hat 5 SDO_TOPO_MAP.LOAD_TOPO_MAP fails

    Hi
    I think this is a bug in the linux build of oracle 11 - I have a script that works on my 11g windows install where I
    set timing onset verify off
    set echo offEXECUTE SDO_TOPO_MAP.CREATE_TOPO_MAP('F_DATA', 'F_DATA_TOPOMAP', 100, 21000, 100);
    EXECUTE SDO_TOPO_MAP.LOAD_TOPO_MAP('F_DATA_TOPOMAP', 593594.459800904, 246439.007109636, 635147.466206473, 287486.403346775, 'TRUE','TRUE');
    -- CALL SDO_TOPO_MAP.LOAD_TOPO_MAP('F_DATA_TOPOMAP', 593594.459800904, 246439.007109636, 635147.466206473, 287486.403346775, 'TRUE','TRUE') INTO :res_varchar;
    -- PRINT res_varchar;
    INSERT INTO F_NODES VALUES(1, 1, 19009164, 632617.188, 287286.406, 0, 0, 0, NULL, 0, SDO_TOPO_MAP.CREATE_FEATURE('F_DATA', 'F_NODES', 'FEATURE', SDO_GEOMETRY(2001, 3078, SDO_POINT_TYPE(632617.188,287286.406,NULL), NULL, NULL)));
    INSERT INTO F_NODES VALUES(1, 2, 19000001, 632640, 286538.969, 0, 0, 0, NULL, 0, SDO_TOPO_MAP.CREATE_FEATURE('F_DATA', 'F_NODES', 'FEATURE', SDO_GEOMETRY(2001, 3078, SDO_POINT_TYPE(632640,286538.969,NULL), NULL, NULL)));
    and what is returned is
    ERROR at line 2:
    ORA-29532: Java call terminated by uncaught Java exception:
    oracle.spatial.topo.TopoDataException: no updatable TopoMap object has been
    created
    When I check the the status of with:
    SELECT SDO_TOPO_MAP.LIST_TOPO_MAPS FROM DUAL;
    LIST_TOPO_MAPS
    (F_DATA_TOPOMAP, F_DATA, read-only)
    Is this a bug -- or a feature peculiar to the Linux build of 11g?
    Any response would be appreciated
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    PL/SQL Release 11.1.0.6.0 - Production
    CORE     11.1.0.6.0     Production
    TNS for Linux: Version 11.1.0.6.0 - Production
    NLSRTL Version 11.1.0.6.0 - Production

    When you use the sdo_topo_map.create_feature interface,
    the changes in the TopoMap cache are flushed to the DB for each feature.
    This is done to maintain the consistency between the features and
    topo elements.
    The SDO_TOPO_MAP.GET_EDGE_ADDITIONS gets you the edges that
    are added and are still in the cache.
    So in this case, since all changes from the cache are flushed, the procedure
    returns no edges.
    siva

  • Error using "sdo_topo_map.add_polygon_geometry" method

    Hi to all,
    I have some problems using sdo_topo_map methods "add_polygon_geometry" and "create_feature". The errors occur when I try to load topological data_set (sdo_topo_geometry) from simple_feature data (sdo_geometry).
    I have already posted a msg on these problems in reply to "Migrating SDO_GEOMETRY to 10g TOPOLOGY" thread.
    Now, I would to submit a case test related to the error "oracle.spatial.topo.InvalidTopoOperationException: Attempt to add an edge that ends in different faces".
    In this case, there are 4 polygons formally correct. When the procedure tries to load the 4th polygon the error occurs (try to run the script below).
    The dataset is not topologically correct, but the result of the procedure that I would expect, instead of an error, is a creation of a set of faces, edges and nodes with some micro-faces and micro-holes, in respect to the value of tolerance parameter assigned to the topology ....
    My questions are:
    1) Is the error caused by the data and/or by a bug of my source code?
    2) If no, why not the method creates more faces or only one face depending on whether or not, respectively, polygon 4 intersects (at the 0.01 tolerance) other faces?
    3) I have a look at the visualization of the four polygons, and polygon 4 has a vertice that is very near to the polygon 3 (less then 0.0005 meters). If I call the method only for this polygon, obtain one only face with one only edge related to one only node that corrispond to the previous vertice. Is this node the one that generates the error?
    Note:
    1) In the SDO_ORDINATES array of the four polygons there are only numbers with 2 decimal digits and the topology is created with 0.01 for "tolerance" and 2 for "digits_right_of_decimal".
    2) The procedure ends OK if the 4th polygon is loaded at the beginning (!).
    Thanks for any comments and suggestions !!
    CarlT
    set serveroutput on size 1000000
    -- Create topology
    EXECUTE SDO_TOPO.CREATE_TOPOLOGY('MY_TOPO', 0.01, 82087, null, null, null, null, 2);
    INSERT INTO MY_TOPO_FACE$ values (-1, NULL, SDO_LIST_TYPE(), SDO_LIST_TYPE(), NULL);
    COMMIT;
    -- Runs test on SDO_TOPO_MAP.ADD_POLYGON_GEOMETRY
    DECLARE
    res_number_array SDO_NUMBER_ARRAY;
    --face_count NUMBER;
    --face_ctr NUMBER;
    --this_face NUMBER;
    BEGIN
    SDO_TOPO_MAP.CREATE_TOPO_MAP('MY_TOPO', 'MY_TOPO_TOPOMAP');
    SDO_TOPO_MAP.LOAD_TOPO_MAP('MY_TOPO_TOPOMAP', 'TRUE');
    -- Polygon 1
    res_number_array := SDO_TOPO_MAP.ADD_POLYGON_GEOMETRY(NULL,
    MDSYS.SDO_GEOMETRY(2003, 82087, NULL,
    MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 1),
    MDSYS.SDO_ORDINATE_ARRAY(1680296.50,
    4815386.25, 1680295.32, 4815383.09, 1680301.84,
    4815384.24, 1680307.35, 4815382.16, 1680388.73,
    4815333.51, 1680470.65, 4815471.02, 1680470.28,
    4815473.33, 1680466.28, 4815478.33, 1680429.15,
    4815501.20, 1680419.78, 4815513.33, 1680392.15,
    4815514.20, 1680384.40, 4815512.45, 1680370.65,
    4815517.70, 1680353.90, 4815513.95, 1680346.90,
    4815516.45, 1680339.28, 4815517.58, 1680337.28,
    4815515.58, 1680331.40, 4815505.45, 1680330.40,
    4815490.45, 1680327.65, 4815478.70, 1680326.03,
    4815464.83, 1680317.32, 4815457.62, 1680296.50,
    4815386.25)));
    dbms_output.put_line ('Record 1, face added = '|| res_number_array.count);
    -- Polygon 2
    res_number_array := SDO_TOPO_MAP.ADD_POLYGON_GEOMETRY(NULL,
    MDSYS.SDO_GEOMETRY(2003, 82087, NULL,
    MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 1),
    MDSYS.SDO_ORDINATE_ARRAY(1680479.69,
    4815486.19, 1680388.73, 4815333.51, 1680457.40,
    4815292.94, 1680462.14, 4815291.94, 1680465.89,
    4815292.44, 1680475.02, 4815296.32, 1680480.02,
    4815298.82, 1680480.77, 4815300.07, 1680486.02,
    4815312.82, 1680491.02, 4815319.82, 1680492.39,
    4815322.94, 1680495.27, 4815348.57, 1680508.27,
    4815355.07, 1680509.39, 4815357.44, 1680508.02,
    4815362.07, 1680502.39, 4815368.44, 1680505.27,
    4815378.57, 1680514.27, 4815381.57, 1680515.52,
    4815382.82, 1680516.39, 4815385.94, 1680517.14,
    4815399.22, 1680512.93, 4815409.03, 1680486.77,
    4815457.30, 1680480.00, 4815466.22, 1680477.98,
    4815475.68, 1680477.92, 4815481.29, 1680479.69,
    4815486.19)));
    dbms_output.put_line ('Record 2, face added = '|| res_number_array.count);
    -- Polygon 3
    res_number_array := SDO_TOPO_MAP.ADD_POLYGON_GEOMETRY(NULL,
    MDSYS.SDO_GEOMETRY(2003, 82087, NULL,
    MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 1),
    MDSYS.SDO_ORDINATE_ARRAY(1680293.01,
    4815379.94, 1680276.87, 4815332.34, 1680273.73,
    4815330.36, 1680271.05, 4815329.99, 1680253.61,
    4815332.69, 1680244.31, 4815336.76, 1680203.63,
    4815347.10, 1680196.77, 4815351.00, 1680185.18,
    4815345.03, 1680182.16, 4815346.74, 1680183.00,
    4815355.66, 1680158.36, 4815366.78, 1680148.21,
    4815373.51, 1680122.15, 4815323.99, 1680118.02,
    4815322.13, 1680117.38, 4815313.43, 1680093.37,
    4815276.52, 1680225.27, 4815248.83, 1680255.88,
    4815229.73, 1680278.48, 4815238.89, 1680291.37,
    4815240.61, 1680295.28, 4815240.14, 1680306.35,
    4815235.96, 1680320.02, 4815235.63, 1680344.65,
    4815239.04, 1680379.95, 4815248.08, 1680388.38,
    4815253.99, 1680401.97, 4815273.28, 1680405.77,
    4815275.02, 1680404.52, 4815281.91, 1680409.02,
    4815286.91, 1680439.04, 4815275.40, 1680452.04,
    4815277.90, 1680452.54, 4815280.41, 1680474.80,
    4815275.19, 1680475.71, 4815282.12, 1680307.35,
    4815382.16, 1680301.84, 4815384.24, 1680295.32,
    4815383.09, 1680293.01, 4815379.94)));
    dbms_output.put_line ('Record 3, face added = '|| res_number_array.count);
    -- Polygon 4
    res_number_array := SDO_TOPO_MAP.ADD_POLYGON_GEOMETRY(NULL,
    MDSYS.SDO_GEOMETRY(2003, 82087, NULL,
    MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 1),
    MDSYS.SDO_ORDINATE_ARRAY(1680296.10,
    4815385.18, 1680289.78, 4815392.21, 1680285.70,
    4815401.54, 1680304.92, 4815460.45, 1680304.46,
    4815470.94, 1680155.20, 4815477.76, 1680108.77,
    4815425.55, 1680141.25, 4815426.04, 1680155.81,
    4815411.46, 1680221.05, 4815386.38, 1680223.02,
    4815382.03, 1680223.98, 4815381.69, 1680223.52,
    4815380.93, 1680226.87, 4815373.55, 1680253.08,
    4815351.97, 1680252.49, 4815345.21, 1680255.40,
    4815342.32, 1680252.52, 4815333.22, 1680253.61,
    4815332.69, 1680271.05, 4815329.99, 1680273.73,
    4815330.36, 1680276.87, 4815332.34, 1680293.01,
    4815379.94, 1680296.10, 4815385.18)));
    dbms_output.put_line ('Record 4, face added = '|| res_number_array.count);
    dbms_output.put_line('Procedure OK');
    SDO_TOPO_MAP.DROP_TOPO_MAP('MY_TOPO_TOPOMAP');
    exception when others then
    dbms_output.put_line('Procedure KO: '||sqlerrm);
    SDO_TOPO_MAP.DROP_TOPO_MAP('MY_TOPO_TOPOMAP');
    END;
    -- Drop topology
    EXECUTE SDO_TOPO.DROP_TOPOLOGY('MY_TOPO');

    Thanks Siva,
    I tried in the way you suggest.
    It seems to work .... but unfortunately it is only a fortuitous event !!
    I suppose, in fact, that it run because the micro-interactions (intersections or holes) are changed and then, probably, the topo_map algorithms have run differently.
    If you look at the output edges, you notice that still exist micro interactions (or micro "not obtained" interaction ...).
    Meantime, I have analyzed in detail any single steps of the topological objects loading procedure (from sdo_geom to node$, edge$ and _face$).
    So, I believe that I have understood the cause of the error.
    If you try to execute the script (included in my first message) excluding the 4th polygon and commit TOPO_MAP, you can find in the FACE$ table a record (faceid 4) that is clearly an error (or better, a not wished record).
    Its MBR includes all the three polygons !!
    Therefore, I think that one of the edges coming out from polygon 4 interacts with this strange face, and therefore it triggers the error
    This face don't come out if I carry out at least one of the two following modifications:
    1) Create a little interaction between Polygon 1 and Polygon 2 (changing the vertice n° 6 of Polygon 1 from 1680470.65, 4815471.02 to 1680470.66, 4815471.01)
    2) Remove interaction between Polygon 3 and Polygon 2 (changing the vertice n° 36 of Polygon 3 from 1680475.71, 4815282.12 to 1680474.35, 4815280.94)
    In all this cases the proces runs OK.
    The problem is that the polygon 4 is not "the problem", and therefore also if I remove it from the input data, the "strange face 4" is still present in topology !!!
    I don't know if this behavior depends on a bug (therefore probably patchable !!) or depends on the input data ...
    What do you think about it?
    best regards,
    CarlT

  • Sdo_topo_map.create feature

    Dear Sir,
    when i run this pl/sql code its giving me error
    SQL> DECLARE
    2 CURSOR c1 IS SELECT name, geom FROM parcels;
    3 topo_geom SDO_TOPO_GEOMETRY;
    4 BEGIN
    5
    6 FOR r IN c1 LOOP
    7 topo_geom := SDO_TOPO_MAP.CREATE_FEATURE('SAMPLE_TOPO',
    8 'PARCELS_T_TOPO',
    9 'FEATURE',
    10 r.geom);
    11
    12 -- Associate topological primitives with features
    13 INSERT INTO parcels_t_topo (name, feature)
    14 VALUES ( r.name, topo_geom);
    15
    16 --SDO_TOPO_MAP.commit_TOPO_MAP;
    17 --sdo_topo_map.drop_topo_map('my_sample_map_cache');     
    18 END LOOP;
    19 END;
    20 /
    DECLARE
    ERROR at line 1:
    ORA-29532: Java call terminated by uncaught Java exception:
    oracle.spatial.topo.TopoDataException: unsupported or invalid element
    interpretation found
    ORA-06512: at "MDSYS.SDO_TOPO_MAP", line 404
    ORA-06512: at line 7
    please look at my complete follwoing code
    -- Deregister feature layers, if they were registered.
    -- Unioned_counties is a feature layer we will create in the next code example.
    EXECUTE SDO_TOPO.DELETE_TOPO_GEOMETRY_LAYER ('SAMPLE_TOPO', 'PARCELS_T_TOPO', 'FEATURE');
    -- Drop the topology if it exists, then create the topology
    EXECUTE SDO_TOPO.DROP_TOPOLOGY ('SAMPLE_TOPO');
    EXECUTE SDO_TOPO.CREATE_TOPOLOGY ('SAMPLE_TOPO', 0.05, 8265);
    --PREVIOUS SRID WAS 8307
    -- Insert the universal face for an empty topology
    INSERT INTO sample_topo_face$ (face_id,
    boundary_edge_id,
    island_edge_id_list,
    island_node_id_list,
    mbr_geometry)
    VALUES (-1, NULL, SDO_LIST_TYPE(), SDO_LIST_TYPE(), NULL);
    -- Create an Oracle table with a feature layer.
    -- Each feature will represent a county.
    DROP TABLE parcels_t_topo;
    CREATE TABLE parcels_t_topo (id number,
    name VARCHAR2(30),
    feature SDO_TOPO_GEOMETRY);
    -- Register feature layer with topology
    EXECUTE SDO_TOPO.ADD_TOPO_GEOMETRY_LAYER('SAMPLE_TOPO', 'PARCELS_T_TOPO', 'FEATURE', 'POLYGON');
    -- Create updatable TOPO_MAP object and load the whole topology in cache.
    -- Since we just created the topology, the cache will be empty.
    EXECUTE SDO_TOPO_MAP.DROP_TOPO_MAP('my_sample_map_cache');
    EXECUTE SDO_TOPO_MAP.CREATE_TOPO_MAP('sample_topo', 'my_sample_map_cache');
    EXECUTE SDO_TOPO_MAP.LOAD_TOPO_MAP('my_sample_map_cache', 'true');
    DECLARE
    CURSOR c1 IS SELECT name, geom FROM parcels;
    topo_geom SDO_TOPO_GEOMETRY;
    BEGIN
    FOR r IN c1 LOOP
    topo_geom := SDO_TOPO_MAP.CREATE_FEATURE('SAMPLE_TOPO',
    'PARCELS_T_TOPO',
    'FEATURE',
    r.geom);
    -- Associate topological primitives with features
    INSERT INTO parcels_t_topo (name, feature)
    VALUES ( r.name, topo_geom);
    --SDO_TOPO_MAP.commit_TOPO_MAP;
    --sdo_topo_map.drop_topo_map('my_sample_map_cache');     
    END LOOP;
    END;
    please some one help me in this
    Thanks
    Kabeer

    Hi siva,
    i found error that my table contains all shapes as "optimized" rectangles and it looks like create feature function does not support optimized rectangle.
    i fixed using sdo_intersection
    Thanks
    Kabeer

  • SDO_TOPO_MAP.ADD_ISOLATED_NODE

    I find it difficult to understand why certain things work with Spatial and others won't!
    I tried different approaches with to add an isolated node. With the Java API this works fine:
    this.topomap.addIsolatedNode(p);
    where p is a Point2DD object.
    Well, then I tried the same with PL/SQL:
    SDO_TOPO_MAP.ADD_ISOLATED_NODE(NULL, SDO_GEOMETRY(2001, NULL, SDO_POINT_TYPE(1, 1 ,NULL), NULL, NULL));
    this corresponds what I can see in the description of the sdo_topo_map (desc sdo_topo_map):
    FUNCTION ADD_ISOLATED_NODE RETURNS NUMBER
    Argument Name Typ
    TOPOLOGY VARCHAR2
    FACE_ID NUMBER
    POINT SDO_GEOMETRY
    FUNCTION ADD_ISOLATED_NODE RETURNS NUMBER
    Argument Name Typ
    TOPOLOGY VARCHAR2
    FACE_ID NUMBER
    X NUMBER
    Y NUMBER
    FUNCTION ADD_ISOLATED_NODE RETURNS NUMBER
    Argument Name Typ
    TOPOLOGY VARCHAR2
    POINT SDO_GEOMETRY
    FUNCTION ADD_ISOLATED_NODE RETURNS NUMBER
    Argument Name Typ
    TOPOLOGY VARCHAR2
    X NUMBER
    Y NUMBER
    I tried everything, nothing works, always the same error message:
    PLS-00306: Falsche Anzahl oder Typen von Argumenten in Aufruf von 'ADD_ISOLATED_NODE'
    It's very frustrating to work like this!
    Does anyone have an idea?
    Thanks
    M.Bruggner

    Siva,
    Thank you very much. Now the PL/SQL works fine. I speak about a function and treat it like a procedure! Ups, maybe I was misled from the Java TopoMap test I did beforehand. Even if the addisonode is a function returning an int I could work with the following fine:
    public void addIsoNode(Point2DD p) {
    try {
    topomap.addIsolatedNode(p);
         } catch (TopoEntityNotFoundException e) {
    where: topomap = new TopoMap(conn, topology, 50, 50, 10);
    Would you know by any chance how I could set the returning value in SQLJ?
    #sql { CALL SDO_TOPO_MAP.ADD_ISOLATED_NODE('CITY_DATA', SDO_GEOMETRY(2001, NULL, SDO_POINT_TYPE(:piX,:piY,NULL), NULL, NULL))  };
    Actually I would prefer to work with a TopoMap object in a Java stored procedure, but I wasn't capable to initiate the TopoMap object to work with:
    TopoMap(java.sql.Connection con, java.lang.String topoName, int numberOfEdges, int numberOfNodes, int numberOfFaces)
    Since a java stored procedure is in the DB I think that the Connection is already present, isn't it? Is there a way to recuperate the present connection object and to create such a topomap object?
    Thanks again for your help
    Marco

  • Where is the network memory object?

    Hello,
    I have a performance problem.
    I wrote a logical network in the spatial database with around 120.000 links and 100.000 nodes.
    I can read the network through SDO_NET_MEM PL/SQL but I cant read it through the Java API. I get an OutofMemory error.
    I tried to increase the JVM size through the IDE I'm using (eclipse) but it had no effect at all.
    I read that the Java API and the SDO_NET_MEM package use the network memory object which is a cache in a virtual memory. How can I adjust the size of this cache?
    Cheers,
    Elif

    see post :
    Re: Network analysis performance issue
    you have to manage your java memory to run your java client and there is also a java memory space in the oracle server that you can increase with SDO_TOPO_MAP.SET_MAX_MEMORY_SIZE(value)
    value is in bytes (not in kb like the documentation says!!!)

  • Import Network Model from Shapefile

    Hello,
    How to import shapefile of roads network (network data model) into oracle spatial? (Oracle+Spatial 10.2g)
    http://www.oracle.com/technology/software/products/spatial/files/shape2sdojava.zip deals only with normal (non-network) spatial data..
    Huge thanks!

    Ok, putting together your help, I managed to get myself a network model, hurray! But after this script in the end (could you peep through it and tell if anything's missing), VALIDATE_NETWORK gives me this:
    SDO_NET.VALIDATE_NETWORK('SHP_TABLE_NET')
    No Link Geom Metadata!
    How (where) would I insert that Link Geom Metadata? All I found is USER_SDO_GEOM_METADATA, but there is nowhere to insert Link data. Googled, too.
    The script, together with instructions, in case you make a nice use of it ;):
    * Import a Shapefile into Oracle Spatial as a normal vector map;
    * (ISSIT POSSIBLE TO AVOID THIS STEP? PL/SQL .sql file script? But that with DDL restrictions, clumsy variable definitions in DERLARE section etc. drove me nuts and I gave up, just asking users to do simple Find/Replace..):
    Replace all occurrences of SHP_TABLE (case sensitive, can be part of a word) in the script below with the table name of the imported map from Shapefile (copy all script from below to a text editor and perform that replace);
    * Copy/Paste (in Linux: select text and then use middle mouse button or Shift+Insert to paste it in a console) the script line-by-line, follow any severe errors (ignore ones, when it writes that table cannot be dropped when it does not actually exist :) and the like).
    -- delete any tables existing
    EXECUTE SDO_NET.DROP_NETWORK('SHP_TABLE_NET');
    DROP TABLE SHP_TABLE_PLINK$;
    DROP TABLE SHP_TABLE_EDGE$;
    DROP TABLE SHP_TABLE_NODE$;
    DROP TABLE SHP_TABLE_LINK$;
    DROP TABLE SHP_TABLE_FACE$;
    -- delete any existing geometry layer
    EXECUTE SDO_TOPO.DELETE_TOPO_GEOMETRY_LAYER('SHP_TABLE', 'SHP_TABLE_TOPO', 'FEATURE');
    DROP TABLE SHP_TABLE_TOPO;
    -- then drop existing topology
    EXECUTE SDO_TOPO.DROP_TOPOLOGY('SHP_TABLE');
    -- create new topology
    EXECUTE SDO_TOPO.CREATE_TOPOLOGY('SHP_TABLE', 0.5);
    -- insert the universal face for an empty topology
    INSERT INTO SHP_TABLE_FACE$(face_id, boundary_edge_id, island_edge_id_list, island_node_id_list, mbr_geometry)
    VALUES(-1, NULL, SDO_LIST_TYPE(), SDO_LIST_TYPE(), NULL);
    -- create an Oracle table with a feature layer
    DROP TABLE SHP_TABLE_TOPO;
    -- note, do not create unique id (PRIMARY KEY) as the data in teleatlas.dbf is inconsistent
    CREATE TABLE SHP_TABLE_TOPO(id NUMBER, feature SDO_TOPO_GEOMETRY);
    --CREATE TABLE SHP_TABLE_TOPO(id number, type varchar2(1), feature SDO_TOPO_GEOMETRY);
    -- register feature layer with topology
    EXECUTE SDO_TOPO.ADD_TOPO_GEOMETRY_LAYER('SHP_TABLE', 'SHP_TABLE_TOPO', 'FEATURE', 'CURVE');
    -- create updatable TOPO_MAP object and load the whole topology in cache
    -- since we just created the topology, the cache will be empty
    EXECUTE SDO_TOPO_MAP.DROP_TOPO_MAP('SHP_TABLE_MAP_CACHE');
    EXECUTE SDO_TOPO_MAP.CREATE_TOPO_MAP('SHP_TABLE', 'SHP_TABLE_MAP_CACHE');
    EXECUTE SDO_TOPO_MAP.LOAD_TOPO_MAP('SHP_TABLE_MAP_CACHE', 'true');
    -- copy/paste everything in one go between BEGIN and COMMIT; (including):
    -- this one will demand a considerable amount of time
    BEGIN
    FOR r IN (SELECT id, geometry FROM SHP_TABLE) LOOP
    -- associate topological primitives with features
    INSERT INTO SHP_TABLE_TOPO(id, feature)
    VALUES(r.id,
    SDO_TOPO_MAP.CREATE_FEATURE('SHP_TABLE',
    'SHP_TABLE_TOPO',
    'FEATURE',
    r.geometry)
    END LOOP;
    END;
    COMMIT;
    -- commit topology changes
    EXECUTE SDO_TOPO_MAP.COMMIT_TOPO_MAP;
    EXECUTE SDO_TOPO_MAP.DROP_TOPO_MAP('SHP_TABLE_MAP_CACHE');
    -- check how many primitives were converted (should be the same number as primitives in the DB)
    SELECT COUNT(*) FROM SHP_TABLE_TOPO;
    -- after an initial bulk load into an empty topology, initialize_metadata
    EXECUTE SDO_TOPO.INITIALIZE_METADATA('SHP_TABLE');
    -- check here what tables have been created:
    SELECT table_name FROM user_tables WHERE table_name LIKE 'SHP_TABLE_%$';
    CREATE TABLE SHP_TABLE_LINK$
    AS SELECT edge_id AS link_id,
    start_node_id,
    end_node_id,
    geometry
    FROM SHP_TABLE_EDGE$;
    -- FULL NETWORK:
    --CREATE TABLE SHP_TABLE_PATH$(PATH_ID NUMBER,
    -- PATH_NAME VARCHAR2(200),
    -- PATH_TYPE VARCHAR2(200),
    -- START_NODE_ID NUMBER NOT NULL,
    -- END_NODE_ID NUMBER NOT NULL,
    -- COST NUMBER,
    -- SIMPLE VARCHAR2(1),
    -- PATH_GEOMETRY MDSYS.SDO_GEOMETRY);
    --CREATE TABLE roads_incompl_plink$(path_id number not null, link_id number not null, seq_no number not null);
    --INSERT INTO USER_SDO_NETWORK_METADATA(
    -- network, network_category, geometry_type,
    -- node_table_name, node_geom_column,
    -- link_table_name, link_geom_column, link_direction,
    -- path_table_name, path_geom_column,
    -- path_link_table_name)
    -- VALUES(
    -- 'SHP_TABLE_NET', 'SPATIAL', 'SDO_GEOMETRY',
    -- 'SHP_TABLE_NODE$', 'GEOMETRY',
    -- 'SHP_TABLE_LINK$', 'GEOMETRY', 'UNDIRECTED',
    -- 'SHP_TABLE_PATH$', 'PATH_GEOMETRY',
    -- 'SHP_TABLE_PLINK$');
    -- MINIMAL NETWORK:
    INSERT INTO USER_SDO_NETWORK_METADATA(
    network, network_category, geometry_type,
    node_table_name, node_geom_column,
    link_table_name, link_geom_column, link_direction)
    VALUES(
    'SHP_TABLE_NET', 'SPATIAL', 'SDO_GEOMETRY',
    'SHP_TABLE_NODE$', 'GEOMETRY',
    'SHP_TABLE_LINK$', 'GEOMETRY', 'UNDIRECTED');
    SELECT SDO_NET.VALIDATE_NETWORK('SHP_TABLE_NET') FROM DUAL;
    COMMIT;

  • Topology having problem with 8307 SRID

    Hi,
    i am having an a small problem when i am creating topology with 8307 SRID.
    first of all i loaded data into spatial with 82364 SRID and validated all my counties and created topology and its working fine. and showing me properly in mapbuilder
    then same data i converted it to 8307 Longitude / latitude coordinate system and created topology the topology is created but when i view in mapbuilder its showing me not clean topology and when i zoom in zoom out its removing the color of faces and giving warning in mapbuilder Next edge (47) is null. Face (21) polygon discarded.
    here is the process how i completed for 8307 SRID
    -- Deregister feature layers, if they were registered.
    -- Unioned_counties is a feature layer we will create in the next code example.
    EXECUTE SDO_TOPO.DELETE_TOPO_GEOMETRY_LAYER ('ADMIN_TOPO_8307', 'KSA_COUNTIES_TOPO_8307', 'FEATURE');
    -- Drop the topology if it exists, then create the topology
    EXECUTE SDO_TOPO.DROP_TOPOLOGY ('ADMIN_TOPO_8307');
    EXECUTE SDO_TOPO.CREATE_TOPOLOGY ('ADMIN_TOPO_8307', 0.5, 8307);
    -- Fix incorrectly set bounds
    update user_sdo_geom_metadata
    set diminfo =
    SDO_DIM_ARRAY(
    SDO_DIM_ELEMENT( 'Easting', 35.5743686, 17.3556645, 0.5),
    SDO_DIM_ELEMENT( 'Northing', 56.6621451, 33.144374, 0.5)
    where table_name like 'ADMIN_TOPO_8307_%$';
    commit;
    --//34.5743686, 16.3556645, 55.6621451, 32.144374
    -- Insert the universal face for an empty topology
    INSERT INTO ADMIN_TOPO_8307_face$ (face_id,
    boundary_edge_id,
    island_edge_id_list,
    island_node_id_list,
    mbr_geometry)
    VALUES (-1, NULL, SDO_LIST_TYPE(), SDO_LIST_TYPE(), NULL);
    commit;
    -- Create an Oracle table with a feature layer.
    -- Each feature will represent a county.
    DROP TABLE ksa_counties_topo_8307;
    CREATE TABLE ksa_counties_topo_8307 (id number,
         type VARCHAR2(1),
                        region_name     varchar2(200),
                        county_name varchar2(200),
                        population     number,
                        saudi_males     number,
                        saudi_females     number,
                        non_saudi_males     number,
                        non_saudi_females     number,
         feature      SDO_TOPO_GEOMETRY);
    -- Register feature layer with topology
    EXECUTE SDO_TOPO.ADD_TOPO_GEOMETRY_LAYER('ADMIN_TOPO_8307', 'KSA_COUNTIES_TOPO_8307', 'FEATURE', 'POLYGON');
    -- Create updatable TOPO_MAP object and load the whole topology in cache.
    -- Since we just created the topology, the cache will be empty.
    EXECUTE SDO_TOPO_MAP.DROP_TOPO_MAP('my_sample_map_cache');
    EXECUTE SDO_TOPO_MAP.CREATE_TOPO_MAP('admin_topo_8307', 'my_sample_map_cache');
    EXECUTE SDO_TOPO_MAP.LOAD_TOPO_MAP('my_sample_map_cache', 'true');
    DECLARE
    CURSOR c1 IS SELECT fid_, geom FROM XX_C_8307_8307;
    topo_geom SDO_TOPO_GEOMETRY;
    BEGIN
    FOR r IN c1 LOOP
    topo_geom := SDO_TOPO_MAP.CREATE_FEATURE('ADMIN_TOPO_8307',
    'KSA_COUNTIES_TOPO_8307',
    'FEATURE',
    r.geom);
    -- Associate topological primitives with features
    INSERT INTO ksa_counties_topo_8307 (id,feature)
    VALUES (r.fid_, topo_geom);
    -- Commit so I can watch from other session
    commit;
    END LOOP;
    END;
    -- Commit topology changes.
    EXECUTE SDO_TOPO_MAP.COMMIT_TOPO_MAP;
    EXECUTE SDO_TOPO_MAP.DROP_TOPO_MAP ('my_sample_map_cache');
    -- Check how many counties were converted
    SELECT COUNT(*) FROM ksa_counties_topo_8307;
    -- After an initial bulk load into an empty topology, initialize_metadata
    EXECUTE SDO_TOPO.INITIALIZE_METADATA ('ADMIN_TOPO_8307');
    please some one help me in this issue
    Thanks
    Kabeer

    i am sure there is no problem in conversion because after converting i validated the data and checked with world file. its exactly fitting in the place where it has to go.
    if you don't mind and tell me which version oracle you are using and can you just go through topology for this data your side.
    Thanks
    Kabeer

  • Topology Built from Spatial Geometries

    Hello, I am trying creating topology from example:
    CREATE TABLE city_streets6_geom ( -- City streets/roads
    name VARCHAR2(30) PRIMARY KEY,
    geometry SDO_GEOMETRY);
    CREATE TABLE traffic_signs6_geom ( -- Traffic signs
    name VARCHAR2(30) PRIMARY KEY,
    geometry SDO_GEOMETRY);
    CREATE TABLE land_parcels6_geom ( -- Land parcels
    name VARCHAR2(30) PRIMARY KEY,
    geometry SDO_GEOMETRY);
    INSERT INTO user_sdo_geom_metadata
    (TABLE_NAME,
    COLUMN_NAME,
    DIMINFO,
    SRID)
    VALUES (
    'city_streets6_GEOM',
    'GEOMETRY',
    SDO_DIM_ARRAY(
    SDO_DIM_ELEMENT('X', 0, 65, 0.005),
    SDO_DIM_ELEMENT('Y', 0, 45, 0.005)
    NULL -- SRID
    INSERT INTO user_sdo_geom_metadata
    (TABLE_NAME,
    COLUMN_NAME,
    DIMINFO,
    SRID)
    VALUES (
    'traffic_signs6_GEOM',
    'GEOMETRY',
    SDO_DIM_ARRAY(
    SDO_DIM_ELEMENT('X', 0, 65, 0.005),
    SDO_DIM_ELEMENT('Y', 0, 45, 0.005)
    NULL -- SRID
    INSERT INTO user_sdo_geom_metadata
    (TABLE_NAME,
    COLUMN_NAME,
    DIMINFO,
    SRID)
    VALUES (
    'land_parcels6_GEOM',
    'GEOMETRY',
    SDO_DIM_ARRAY(
    SDO_DIM_ELEMENT('X', 0, 65, 0.005),
    SDO_DIM_ELEMENT('Y', 0, 45, 0.005)
    NULL -- SRID
    -- Load these tables (names and geometries for city streets/roads,
    -- traffic signs, and land parcels).
    -- Insert data into city street line geometries.
    -- R1
    INSERT INTO city_streets6_geom VALUES('R1',
    SDO_GEOMETRY(2002, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1),
    SDO_ORDINATE_ARRAY(9,14, 21,14, 35,14, 47,14)));
    -- R2
    INSERT INTO city_streets6_geom VALUES('R2',
    SDO_GEOMETRY(2002, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1),
    SDO_ORDINATE_ARRAY(36,38, 38,35, 41,34, 42,33, 45,32, 47,28, 50,28, 52,32,
    57,33, 57,36, 59,39, 61,38, 62,41, 47,42, 45,40, 41,40)));
    -- R3
    INSERT INTO city_streets6_geom VALUES('R3',
    SDO_GEOMETRY(2002, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1),
    SDO_ORDINATE_ARRAY(9,35, 13,35)));
    -- R4
    INSERT INTO city_streets6_geom VALUES('R4',
    SDO_GEOMETRY(2002, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1),
    SDO_ORDINATE_ARRAY(25,30, 25,35)));
    -- Insert data into traffic sign point geometries.
    -- S1
    INSERT INTO traffic_signs6_geom VALUES('S1',
    SDO_GEOMETRY(2001, NULL, SDO_POINT_TYPE(21,14,NULL), NULL, NULL));
    -- S2
    INSERT INTO traffic_signs6_geom VALUES('S2',
    SDO_GEOMETRY(2001, NULL, SDO_POINT_TYPE(35,14,NULL), NULL, NULL));
    -- S3
    INSERT INTO traffic_signs6_geom VALUES('S3',
    SDO_GEOMETRY(2001, NULL, SDO_POINT_TYPE(57,33,NULL), NULL, NULL));
    -- S4
    INSERT INTO traffic_signs6_geom VALUES('S4',
    SDO_GEOMETRY(2001, NULL, SDO_POINT_TYPE(20,37,NULL), NULL, NULL));
    -- Insert data into land parcel polygon geometries.
    -- P1
    INSERT INTO land_parcels6_geom VALUES('P1',
    SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1),
    SDO_ORDINATE_ARRAY(9,6, 21,6, 21,14, 21,22, 9,22, 9,14, 9,6)));
    -- P2
    INSERT INTO land_parcels6_geom VALUES('P2',
    SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1,1003,1),
    SDO_ORDINATE_ARRAY(21,6, 35,6, 35,14, 35,22, 21,22, 21,14, 21,6)));
    -- P3
    INSERT INTO land_parcels6_geom VALUES('P3',
    SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1,1003,1),
    SDO_ORDINATE_ARRAY(35,6, 47,6, 47,14, 47,22, 35,22, 35,14, 35,6)));
    -- P4
    INSERT INTO land_parcels6_geom VALUES('P4',
    SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1,1003,1),
    SDO_ORDINATE_ARRAY(17,30, 31,30, 31,40, 17,40, 17,30)));
    -- P5 (polygon with a hole; exterior ring and one interior ring)
    INSERT INTO land_parcels6_geom VALUES('P5',
    SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1,1003,1, 11,2003,1),
    SDO_ORDINATE_ARRAY(3,30, 16,30, 16,38, 3,38, 3,30, 4,31, 4,34, 7,34, 7,31, 4,31)));
    -- Validate the layers.
    create table val_results (sdo_rowid ROWID, result VARCHAR2(2000));
    call SDO_GEOM.VALIDATE_LAYER_WITH_CONTEXT('city_streets6_GEOM','GEOMETRY','VAL_RESULTS');
    SELECT * from val_results;
    truncate table val_results;
    call SDO_GEOM.VALIDATE_LAYER_WITH_CONTEXT('traffic_signs6_GEOM','GEOMETRY','VAL_RESULTS');
    SELECT * from val_results;
    truncate table val_results;
    call SDO_GEOM.VALIDATE_LAYER_WITH_CONTEXT('land_parcels6_GEOM','GEOMETRY','VAL_RESULTS');
    SELECT * from val_results;
    drop table val_results;
    -- Create the spatial indexes.
    CREATE INDEX city_streets6_geom_idx ON city_streets6_geom(geometry)
    INDEXTYPE IS MDSYS.SPATIAL_INDEX;
    CREATE INDEX traffic_signs6_geom_idx ON traffic_signs6_geom(geometry)
    INDEXTYPE IS MDSYS.SPATIAL_INDEX;
    CREATE INDEX land_parcels6_geom_idx ON land_parcels6_geom(geometry)
    INDEXTYPE IS MDSYS.SPATIAL_INDEX;
    -- Start the main steps for using the topology data model with a
    -- topology built from Spatial geometry data.
    -- 1. Create the topology. (Null SRID in this example.)
    EXECUTE SDO_TOPO.CREATE_TOPOLOGY('CITY_DATA6', 0.00005);
    -- 2. Insert the universe face (F0). (id = -1, not 0)
    INSERT INTO CITY_DATA6_FACE$ values (
    -1, NULL, SDO_LIST_TYPE(), SDO_LIST_TYPE(), NULL);
    COMMIT;
    -- 3. Create feature tables.
    CREATE TABLE city_streets6 ( -- City streets/roads
    feature_name VARCHAR2(30) PRIMARY KEY,
    feature SDO_TOPO_GEOMETRY);
    CREATE TABLE traffic_signs6 ( -- Traffic signs
    feature_name VARCHAR2(30) PRIMARY KEY,
    feature SDO_TOPO_GEOMETRY);
    CREATE TABLE land_parcels6 ( -- Land parcels
    feature_name VARCHAR2(30) PRIMARY KEY,
    feature SDO_TOPO_GEOMETRY);
    -- 4. Associate feature tables with the topology.
    -- Add the three topology geometry layers to the CITY_DATA6 topology.
    -- Any order is OK.
    EXECUTE SDO_TOPO.ADD_TOPO_GEOMETRY_LAYER('CITY_DATA6', 'city_streets6', 'FEATURE','LINE');
    EXECUTE SDO_TOPO.ADD_TOPO_GEOMETRY_LAYER('CITY_DATA6', 'traffic_signs6','FEATURE', 'POINT');
    EXECUTE SDO_TOPO.ADD_TOPO_GEOMETRY_LAYER('CITY_DATA6', 'land_parcels6','FEATURE', 'POLYGON');
    -- As a result, Spatial generates a unique TG_LAYER_ID for each layer in
    -- the topology metadata (USER/ALL_SDO_TOPO_METADATA).
    -- 5. Create a TopoMap object and load the whole topology into cache for updating.
    EXECUTE SDO_TOPO_MAP.CREATE_TOPO_MAP('CITY_DATA6', 'CITY_DATA6_TOPOMAP');
    EXECUTE SDO_TOPO_MAP.LOAD_TOPO_MAP('CITY_DATA6_TOPOMAP', 'true');
    -- 6. Load feature tables, inserting data from the spatial tables and
    -- using SDO_TOPO_MAP.CREATE_FEATURE.
    BEGIN
    FOR street_rec IN (SELECT name, geometry FROM city_streets6_geom) LOOP
    INSERT INTO city_streets6 VALUES(street_rec.name,
    SDO_TOPO_MAP.CREATE_FEATURE('CITY_DATA6', 'city_streets6', 'FEATURE',
    street_rec.geometry));
    END LOOP;
    FOR sign_rec IN (SELECT name, geometry FROM traffic_signs6_geom) LOOP
    INSERT INTO traffic_signs6 VALUES(sign_rec.name,
    SDO_TOPO_MAP.CREATE_FEATURE('CITY_DATA6', 'traffic_signs6', 'FEATURE',
    sign_rec.geometry));
    END LOOP;
    FOR parcel_rec IN (SELECT name, geometry FROM land_parcels6_geom) LOOP
    INSERT INTO land_parcels6 VALUES(parcel_rec.name,
    SDO_TOPO_MAP.CREATE_FEATURE('CITY_DATA6', 'land_parcels6', 'FEATURE',
    parcel_rec.geometry));
    END LOOP;
    END;
    But process failed in sixth step with error:
    Error report:
    ORA-29532: java.lang.NumberFormatException: Infinite or NaN
    ORA-06512: line 3
    29532. 00000 - "Java call terminated by uncaught Java exception: %s"
    *Cause:    A Java exception or error was signaled and could not be
    resolved by the Java code.
    *Action:   Modify Java code, if this behavior is not intended.
    What should i do with this problem?
    Thanks

    thank you for reply.
    i can try to network topology.
    but i have more than one layer. for example lands, waters, etc.
    actually i need left face, right face, start node, end node etc. (topology info) information for my application.
    my question is on going...
    thanks for interest again

  • Attempted to add a node at an edge terminus or outside the range of the ver

    Dear Sir,
    there is problem existing when i am building topology for some regions. the problem is vertex array. when i try to build toplogy
    its giving me error called
    ===================
    "ERROR at line 1:
    ORA-29532: Java call terminated by uncaught Java exception:
    oracle.spatial.topo.InvalidTopoOperationException: Attempted to add a node at
    an edge terminus or outside the range of the vertex array
    ORA-06512: at "MDSYS.SDO_TOPO_MAP", line 404
    ORA-06512: at line 7"
    ==================
    if i divide the polygon into 2 polygons the topology is creating
    please some one give me reply as soon as possible
    Thanks
    Kabeer

    please some one give me reply..
    actually i have polygons as counties for those i am building topology and its giving me following error
    ERROR at line 1:
    ORA-29532: Java call terminated by uncaught Java exception:
    oracle.spatial.topo.InvalidTopoOperationException: Attempted to add a node at
    an edge terminus or outside the range of the vertex array
    ORA-06512: at "MDSYS.SDO_TOPO_MAP", line 404
    ORA-06512: at line 7
    Thanks
    Kabeer

  • TopoValidationException: An island of face 329693 has an edge coincident ..

    HI:
    Anybody know what this really means? We get it when we are just using :
    SDO_TOPO_MAP.CHANGE_EDGE_COORDS(Tplgy,EDGE_ID,Geometry);
    to just change an edge's coordinates shape ( and we don't change the end nodes!)
    ORA-29532: Java call terminated by uncaught Java exception:
    oracle.spatial.topo.TopoValidationException: An island of face 329693 has an
    edge coincident with outer boundary
    ORA-06512: at "MDSYS.SDO_TOPO_MAP", line 92
    What is really confusing is that if we modify the line string slightly sometimes we don't get the error. However that is not an option since the line string is generated by line simplification and we don't want to sit at the terminal trying to figure out the allowable line strings. Things that sometimes make it work are including more of the original vertices.

    Hi,
    I'm not an expert on Topology, but it seems to me that the change you are making is causing the boundary of an island to coincide with the external boundary of the face. This is even in "normal" Spatial not allowed, so would even cause a validation error there.
    From what you describe the change is really close to your tolerance (check the metadata for the actual tolerance), and so is sometimes above and sometimes below (thus sometimes causing an error, sometimes not). So check the change's delta's, and compare them with the tolerance set in your metadata, would be my suggestion.
    HTH,
    Stefan

  • Network analysis performance issue

    Hello,
    I am starting working on a Project
    on Oracle Network data model.
    The network I will manage will have about 5.000.000 of links
    (all Italian Streets).
    I am working with oracle database 10g R2
    Until now I only did some tests:
    I loaded only one zone (about 130.000 links) and I tried
    to do some network analysis like find the shortest path between
    2 nodes.
    I used plsql and a client java, using java api, to do the network analysis
    and I obtained the following results:
    In a plsql script:
    1) execute SDO_TOPO_MAP.SET_MAX_MEMORY_SIZE(1000000000) procedure;
    2)execute sdo_net_mem.network_manager.read_network('NETWORK_1') procedure to
    load all the network in memory.
    It takes about 22 seconds
    3) execute sdo_net_mem.network_manager.SHORTEST_PATH('NETWORK_1', start_node_id, end_node_id) function
    to find the shortest path.
    It takes about 1.8 sec
    In java Client StandAlone
    1)invoke the NetworkManager.readNetwork(connection, networkName) java API
    to load all the network in memory.
    It takes about 11 seconds.
    2) invoke NetworkManager.shortestPath(network,startNodeID,endNodeID) java API
    to find the shortest path. It takes about 140 milliseconds
    My question are:
    1) How can I improve the plsql api performance?
    2) When I'll have loaded all the network links and nodes
    (about 5.000.000 of links ) into database,
    the step to load the entire network will take very
    long time (in java enviroment too)...
    So it should be unthinkable (response time too high) to load
    the network at runtime...
    It means that the system have to hold always the network object in memory?
    This solution is not scalable, and it need a lot system resources....
    I will be very grateful if someone who faced the same problem can
    help me and give me some suggestions.
    Thank you
    Paola

    hi K,
    did u have a look at this post?
    Re: Network Memory Object (PL/SQL)
    The oracle documentation seems to be wrong for the procedure SDO_TOPO_MAP.SET_MAX_MEMORY_SIZE (you can also try this SDO_NET_MEM.SET_MAX_MEMORY_SIZE which seems to do the same!!!): "Number of bytes for the Java maximum heap size. The default value is 262144 (256MB)."
    It is wrong : for 1GB you should use this value 1073741824 and not 1048576 !!!
    With my network which has about 10.000 nodes / 10.000 links, it has no effect to load the network : 7min... I will try again to create a network which has 700000 links...
    hope this help...

  • Topology Topomap Across the Dateline

    Hi Spatial Topology Users,
    Can an explicit topomap cross the international dateline? On the load_topomap call I'm getting the error "ORA-29532: Java call terminated by uncaught Java exception: oracle.spatial.topo.TopoDataException: invalid window specification" whenever I use an Xmin that's greater than the Xmax.
    I see from searching the forum that pre-9i data had to be broken at the dateline - maybe topology is still back in this situation?
    I'm getting these results on 11.2.0.2 and 10.2.0.4.
    Thanks
    Matt
    begin
       --TIDY on rerun
       begin
          SDO_TOPO_MAP.DROP_TOPO_MAP('MYTOPO_TOPOMAP');
       exception
       when others then null;
       end;
       begin
          SDO_TOPO.DROP_TOPOLOGY('MYTOPO');
       exception
       when others then null;
       end;
       --create topo
       SDO_TOPO.create_topology('MYTOPO',.05,8265,NULL,NULL,NULL,NULL,16);
       SDO_TOPO.INITIALIZE_METADATA('MYTOPO');
       execute immediate 'insert into MYTOPO_face$ values (-1, NULL, sdo_list_type(), sdo_list_type(), NULL)';
       commit;
       SDO_TOPO_MAP.CREATE_TOPO_MAP('MYTOPO','MYTOPO_TOPOMAP');
       --From the documentation on optimized geodetic rectangles
       --The lower-left Y coordinate (minY) must be less than the upper-right Y coordinate (maxY).
       --If the lower-left X coordinate (minX) is greater than the upper-right X coordinate (maxX),
       --the window is assumed to cross the date line meridian 
       --(10,0, -110,20) crosses the date line meridian and goes most of the way around the world, and goes from the equator to latitude 20.
       --ERROR-------
       SDO_TOPO_MAP.LOAD_TOPO_MAP('MYTOPO_TOPOMAP', 10, 0, -110, 20, 'TRUE');
       --ORA-29532: Java call terminated by uncaught Java exception: oracle.spatial.topo.TopoDataException: invalid window specification
       --ORA-06512: at "MDSYS.SDO_TOPO_MAP", line 65
       --ORA-06512: at line 30
    end;

    Hi,
    Here is the link for all Search cmdlet in SharePoint server 2010:
    http://technet.microsoft.com/en-us/library/ee906563(v=office.14).aspx
    If you would like to get search configuration via powershell, refer to:
    http://blogs.technet.com/b/patrick_heyde/archive/2009/12/07/sharepoint-2010-get-search-configuration-over-powershell.aspx
    To get crawl status, you could execute:
    Get-SPEnterpriseSearchCrawlContentSource –SearchApplication yourSSA
    For more detail information, add |fl to the end of the command above.
    Regards,
    Rebecca Tu
    TechNet Community Support

Maybe you are looking for

  • Price determ. for a Customer with different ship to parties within

    Dear all, I will try to explain our need with an example. We received a requirement from our sales department who wants to manage a sales price of a specific item which is dependent from a fixed quantity in case the order is placed for a customer wit

  • How to get the first 6 digits and the last 4 digits in a string ?

    Greetings folks. A quick question and probably quite simple for a lot of guys out there. I have a string that could be anywhere between 15 to 20 characters ( Not a fixed length ) I want it to be split into 3 segments. Segment 1 : 123456 ( 6 digits )

  • Booting into 64bit mode with Mac Pro 2009

    I am trying to boot into 64bit mode with a 2009 Mac Pro 2.93 Quad core machine. I tried holding down 6 and 4 when restarting but no luck, it staill says no in the profiler. Any ideas why?

  • Word VBA Macro Version Registered is Incorrect

    I am running RoboHelp 10. Windows 8. When I try to generate Printed Documentation, this message appears "Please re-install Printed Documentation."  I've searched the previous postings. While my post is related to the problem; it is not related to the

  • Link delivery to outbound Idoc

    Dear Experts, I am need to link a delivery to an outbound Idoc, I am using function module BINARY_RELATION_CREATE to create the link and I can see the link has been created in the delivery but it showing as Incoming Idoc instead of Outgoing. I am usi