Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Oracle 11 fails to transform GML geometry

alextorexSep 15 2015 — edited Sep 22 2015

Hello,

Does anyone know why such GML cause ORA-29532 in MDSYS.SDO_UTIL. I pass the GML message to a stored procedure like below.

GML message:

<geometrie> <Surface xmlns="http://www.opengis.net/gml" srsName="urn:opengis:def:crs:EPSG::28992" srsDimension="2"> <patches> <PolygonPatch> <exterior> <LinearRing srsName="urn:opengis:def:crs:EPSG::28992" srsDimension="2"> <posList srsName="urn:opengis:def:crs:EPSG::28992" srsDimension="2" count="13">208141.174 473916.884 208118.711 473961.78 208091.124 473934.712 208092.336 473933.477 208088.859 473930.066 208088.754 473930.173 208081.074 473922.617 208114.588 473888.589 208134.195 473907.849 208132.982 473909.085 208134.539 473910.613 208134.69 473910.46 208141.174 473916.884</posList> </LinearRing> </exterior> <interior> <LinearRing srsName="urn:opengis:def:crs:EPSG::28992" srsDimension="2"> <posList srsName="urn:opengis:def:crs:EPSG::28992" srsDimension="2" count="5"> 208129.450 473917.096 208115.450 473903.307 208095.781 473923.277 208116.326 473943.511 208129.450 473917.096 </posList> </LinearRing> </interior> </PolygonPatch> </patches> </Surface> </geometrie>

Error:

Fout tijdens verwerken bericht met referentienummer DD0000059185 : ORA-29532: Java-aanroep is afgesloten door niet-onderschepte Java-uitzondering: java.lang.RuntimeException: java.lang.NullPointerException. ORA-06512: in "MDSYS.SDO_UTIL", regel 197 ORA-06512: in "IGPCMGS_OWNER.GML_TO_GEOM", regel 26 ORA-06512: in "IGPCMGS_OWNER.GMSVBO_UPDATE_GEOMETRY", regel 5 ORA-04088: Fout bij uitvoering van trigger 'IGPCMGS_OWNER.GMSVBO_UPDATE_GEOMETRY'. Java Stack trace:Caused by: java.sql.SQLException: ORA-29532: Java-aanroep is afgesloten door niet-onderschepte Java-uitzondering: java.lang.RuntimeException: java.lang.NullPointerException. ORA-06512: in "MDSYS.SDO_UTIL", regel 197 ORA-06512: in "IGPCMGS_OWNER.GML_TO_GEOM", regel 26 ORA-06512: in "IGPCMGS_OWNER.GMSVBO_UPDATE_GEOMETRY", regel 5 ORA-04088: Fout bij uitvoering van trigger 'IGPCMGS_OWNER.GMSVBO_UPDATE_GEOMETRY'.

Stored procedure:

create or replace FUNCTION GML_TO_GEOM (p_clob in CLOB, p_srid NUMBER)

RETURN SDO_GEOMETRY

IS

l_geom SDO_GEOMETRY;

l_clob CLOB;

BEGIN

if (p_clob is null) then

return null;

end if;

l_clob := REGEXP_REPLACE(p_clob, 'srsName="(urn:((opengis|ogc):def:crs:|)|)EPSG(::|:geographicCRS:|(:(\d?\d?\.?\d?\d?):)|:)(7415|28992)"', 'srsName="SDO:90112"');

if (REGEXP_LIKE(l_clob, '<(gml:|)pos>[0-9]*\.?[0-9]* [0-9]*\.?[0-9]* [0-9]*\.?[0-9]*</(gml:|)pos>')) THEN

l_clob := REGEXP_REPLACE(p_clob, '(<(gml:|)pos>[0-9]*\.?[0-9]* [0-9]*\.?[0-9]*)( [0-9]*\.?[0-9]*)(</(gml:|)pos>)', '\1\4');

end if;

if (instr(l_clob, ' xsi:type=') > 0) then

if (instr(l_clob, 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance') = 0) then

l_clob := REGEXP_REPLACE(l_clob, '(.*)(xsi:type=.*)', '\1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" \2');

end if;

end if;

if (instr(l_clob, 'xmlns:gml="http://www.opengis.net/gml') = 0) then

l_clob := REGEXP_REPLACE(l_clob, '(.*)(srsName.*)', '\1xmlns:gml="http://www.opengis.net/gml" \2');

end if;

if ( instr(l_clob, 'srsDimension') = 0 or instr(l_clob, 'srsDimension') > 0 or instr(l_clob, 'gml:posList') > 0 or instr(l_clob, '<gml:pos>') > 0)  then

l_geom := SDO_UTIL.FROM_GML311GEOMETRY(l_clob);

else

l_geom := SDO_UTIL.FROM_GMLGEOMETRY(l_clob);

end if;

if l_geom.sdo_gtype = 1003 then

l_geom.sdo_gtype := 2003;

end if;

if l_geom.sdo_gtype = 1007 then

l_geom.sdo_gtype := 2007;

end if;

l_geom.sdo_srid := p_srid;

RETURN l_geom;

END GML_TO_GEOM;

Comments

Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Oct 20 2015
Added on Sep 15 2015
3 comments
1,014 views