MINI MINI MANI MO
Rem Copyright (c) 2001, 2017, Oracle and/or its affiliates.
Rem All rights reserved.
Rem
Rem NAME
Rem sdoutlh.sql - SDO_UTIL package Header
Rem
Rem DESCRIPTION
Rem Declaration of the SDO_UTIL package.
Rem
Rem NOTES
Rem
Rem BEGIN SQL_FILE_METADATA
Rem SQL_SOURCE_FILE: sdo/admin/sdoutlh.sql
Rem SQL_SHIPPED_FILE: md/admin/sdoutlh.plb
Rem SQL_PHASE: SDOUTLH
Rem SQL_STARTUP_MODE: NORMAL
Rem SQL_IGNORABLE_ERRORS: NONE
Rem SQL_CALLING_FILE: sdo/admin/catmdloch.sql
Rem END SQL_FILE_METADATA
Rem
Rem MODIFIED (MM/DD/YY)
Rem rjanders 11/21/17 - #24374861: Add GetFirstVertex()/GetLastVertex()
Rem rjanders 10/30/17 - Change SDO_INDEX_TTS_METADATA to
Rem SDO_TTS_METADATA_TABLE
Rem rjanders 10/13/17 - #6673765: Add blacklist to extract_all()
Rem rjanders 10/08/17 - Add MDSYS to spatial type
Rem rjanders 08/28/17 - More 'when others then NULL' fixes
Rem sravada 05/30/17 - fix extruded_geom creation
Rem rjanders 05/10/17 - #26037683: Raise 'when other' exceptions
Rem cfreiwal 04/11/17 - add JSON support
Rem rjanders 04/17/17 - More 'exception when others' changes
Rem rjanders 04/10/17 - #25814260: Allow quoted bumpy-case names
Rem rjanders 04/10/17 - #25861700: GetVertices() support for oriented pt
Rem rjanders 04/04/17 - Add invalidate_gtt_cache() API
Rem yhu 03/27/17 - add SPLIT_180_MERIDIAN(geom)
Rem rjanders 03/23/17 - #25437999: Remove 'when others then NULL'
Rem handlers
Rem rjanders 03/09/17 - Add missing SQL_FILE_METADATA information
Rem rjanders 01/17/17 - #25386668: Add get_coordinate() API
Rem sravada 11/16/16 - add public HHCELLBOUNDARY call
Rem sravada 08/12/16 - XbranchMerge sravada_geo_search_api from
Rem st_sdo_12.2.0.1.0
Rem cfreiwal 08/11/16 - add to_wkbgeometry support
Rem yhu 03/10/16 - have densify_geometry()
Rem cfreiwal 03/08/16 - add to_wktgeometry_c
Rem yhu 01/14/16 - enable functional cbtree index
Rem sravada 08/27/15 - add delete metadata interface
Rem rjanders 07/15/15 - Add is_spatial_enabled() function
Rem bkazar 05/20/15 - Add XML/XSD Validator
Rem yhu 05/04/15 - add process_auxiliary_info for sdo_geometry
Rem constructor
Rem yhu 04/09/15 - work on to_geojson
Rem rjanders 01/22/15 - Add "is_deleted()" API
Rem yhu 01/21/15 - work on from_geojson
Rem bkazar 01/21/15 - Add sdo_3dtriangle_area
Rem rjanders 10/22/14 - Make GetNumVertices() deterministic
Rem rjanders 01/28/14 - #18146131: Correct TO_CHAR() security problem
Rem bkazar 10/28/13 - All to_gml*geometry interfaces with srsnamespace
Rem parameter are used by only web services and thus
Rem they are not public interfaces
Rem rjanders 09/16/13 - OCCS: Remove hardtabs
Rem pcolley 09/12/13 - Adding a new signature to circle_polygon.
Rem lramosc 06/25/13 - Add functions to generate GML 3.2.1 from sdo_geometry
Rem rjanders 06/04/13 - #16900630: Add insert_sdo_geom_metadata()
Rem rjanders 03/15/13 - #16473696: Start/End _ORACLE_SCRIPT
Rem initialization
Rem sravada 11/28/12 - add constructors for vertex type
Rem sravada 10/25/12 - add linear_key interface
Rem bkazar 10/23/12 - Bug 14793944
Rem sravada 08/13/12 - add hybrid tile interface
Rem bkazar 07/17/12 - add optional remove_loops parameter to simplifyVW
Rem bbamba 07/09/12 - Added getNurbsApprox for NURBS curve evaluation
Rem bkazar 06/11/12 - Bug 14136864: Simplify affineTransforms interface
Rem sravada 03/28/12 - add get_boundary for SDO_GEOMETRY
Rem sravada 02/28/12 - add Ext Gnomonic proj
Rem bkazar 08/19/11 - Bug 12898399
Rem sravada 07/11/11 - move JSPs to sdojsph.sql
Rem bkazar 05/03/11 - bug 3202686 - add new signature to circle_polygon
Rem rjanders 02/24/11 - Make sdo_geometry functions DETERMINISTIC
Rem bbamba 02/15/11 - Make change to declarartion of simplify
Rem sravada 11/08/10 - add simplifyvw interface
Rem yhu 04/13/10 - bug 9526679: add PARALLEL_ENABLE
Rem rjanders 04/05/10 - Rename extractall() to extract_all()
Rem rjanders 03/23/10 - Add sdo_util.extractall() API
Rem bkazar 01/06/10 - add get_2d_footprint function to get footprint of
Rem 3D objects
Rem bkazar 09/03/09 - reactivating the second sdo_util.extrude signature
Rem sravada 03/04/09 - bug 8307426
Rem sravada 02/05/09 - add 11 dimensions to vertex_type
Rem bkazar 12/22/08 - Bug 7627660: arcs and 2D invalid polygon for
Rem extrusion; deprecating extrude with cond
Rem parameter
Rem bkazar 12/10/08 - bug 7629848: add number_of_components
Rem bkazar 06/20/08 - add getlabelbyelement (commutable with extract3d)
Rem bkazar 06/12/08 - bug 7158744 - extrusion fixes
Rem sravada 06/02/08 - bug 7135496
Rem sravada 05/01/08 - add GeometryToClob
Rem sravada 03/31/08 - add get quad_tiles
Rem ningan 02/29/08 - add point_to_line
Rem bkazar 01/21/08 - add optional 3d srid for extrude
Rem bkazar 09/29/07 - add from_kmlgeometry (to convert from KML 2.1 to sdo_geometry)
Rem bkazar 09/28/07 - add to_kmlgeometry (to convert from sdo_geometry to KML 2.1)
Rem rkothuri 06/19/07 - add remove_inner_rings
Rem bkazar 06/12/07 - expand_geom added
Rem bkazar 05/11/07 - add extract3d
Rem bkazar 04/25/07 - append_to_collection is combined with append
Rem bkazar 03/29/07 - add pl/sql wrapper for appendToCollection
Rem bkazar 03/26/07 - pl/sql interface for extrusion and affine
Rem transforms
Rem rkothuri 01/09/07 - add drop_work_tables
Rem bkazar 12/08/06 - add from_GML311geometry (to convert GML311 to JGeometry)
Rem bkazar 11/03/06 - add to_gml311geometry (to convert from JGeometry to GML311)
Rem rkothuri 09/15/06 -
Rem mhorhamm 08/21/06 - Add signature to_wktgeometry_varchar
Rem sravada 03/08/06 - add convert_distance
Rem sravada 02/16/06 - move to_gml to Java
Rem rkothuri 01/26/06 - change comments
Rem rkothuri 01/18/06 - add ptn_mbr_tbl
Rem rkothuri 01/13/06 - Add usage for ptntbl
Rem sravada 01/05/06 - add GML to Geometry
Rem rkothuri 12/28/05 - Add partition_table
Rem mhorhamm 05/06/05 - Before returning WKT for geom, first check CRS
Rem kind
Rem mhorhamm 09/07/04 - Add function getNumRings
Rem sravada 07/30/04 - add create/replace
Rem mhorhamm 04/07/04 - Change param name
Rem sravada 03/09/04 - fix GTYPE_COLLECTION
Rem ningan 01/28/04 - add rectify_geometry
Rem ningan 11/11/03 - bug 3217106
Rem mhorhamm 08/13/03 - add validate functions for WKB and WKT
Rem mhorhamm 08/12/03 - add from_wktgeometry(VARCHAR2)
Rem mhorhamm 08/07/03 - Add functions to_wkbgeometry and to_wktgeometry
Rem sravada 07/11/03 - performance fix for get_geometry
Rem sravada 06/30/03 -
Rem sravada 06/11/03 - add TTS init
Rem sravada 06/09/03 - add Point from bearing and distance
Rem sravada 06/05/03 - add reverse_linestring
Rem sravada 04/11/03 - add sdo_concat
Rem bblackwe 04/02/03 - collapse overloads of ellipse and circle gen; tolerance version only
Rem bblackwe 02/14/03 - add tolerance overloads of circle and ellipse gen
Rem sravada 02/13/03 - bug 2784667
Rem jsharma 10/15/02 - Add TO_GML_GEOMETRY and related functions
Rem sravada 09/17/02 - add TTS support
Rem sravada 07/22/02 - add locus generator
Rem jcwang 07/10/02 - Add Vertex ID in TYPE vertex_type for sorting
Rem sravada 05/16/02 - add remove dup vertices
Rem rkothuri 05/20/02 - Change name to spatial_join.
Rem rkothuri 04/22/02 - add SpatialJoin function
Rem ningan 02/08/02 - add GetNumElem(...)
Rem ningan 02/05/02 - add RefineMGon(...)
Rem ningan 02/04/02 - add OuterLn(...)
Rem ningan 01/30/02 - add ExtractVoids(...)
Rem ningan 01/01/02 - add GetNumVertices(...)
Rem ningan 12/21/01 - add the geometry simplification functionality
Rem sravada 04/01/02 - add polygon to line
Rem jcwang 12/18/01 - add convert_number
Rem sravada 08/15/01 - add vertex table functions
Rem sravada 08/15/01 - Cleanup the headers, signatures
Rem wexu 06/13/01 - Merged wexu_sdo_extract
Rem wexu 05/24/01 - Created
Rem
Rem ********************************************************************
Rem #16473696: Indicate Oracle-Supplied object
@@?/rdbms/admin/sqlsessstart.sql
Rem ********************************************************************
-- Create the types needed for GetVertices function
declare
does_not_exist exception;
pragma exception_init(does_not_exist, -04043);
invalid_trigger exception;
pragma exception_init(invalid_trigger, -04098);
dependent_objects exception;
pragma exception_init(dependent_objects, -02303);
begin
begin
execute immediate 'drop type vertex_set_type force ';
exception
when does_not_exist then NULL;
when invalid_trigger then NULL;
when others then
SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
'EXCEPTION[sdoutlh.sql(' || $$PLSQL_LINE || ')2]: ' || SQLERRM); RAISE;
end;
begin
execute immediate 'drop type vertex_type force ';
exception
when does_not_exist then NULL;
when dependent_objects then NULL;
when invalid_trigger then NULL;
when others then
SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
'EXCEPTION[sdoutlh.sql(' || $$PLSQL_LINE || ')3]: ' || SQLERRM); RAISE;
end;
end;
/
create or replace type vertex_type as object
(X number,
Y number,
Z number,
W number,
v5 number,
v6 number,
v7 number,
v8 number,
v9 number,
v10 number,
v11 number,
ID number,
Constructor
Function vertex_type(x In number,
y In number,
id In number)
Return Self As Result,
Constructor
Function vertex_type(x In number,
y In number,
z In number,
w in number)
Return Self As Result,
Constructor
Function vertex_type(x In number,
y In number,
z In number,
w in number,
id in number)
Return Self As Result );
/
create or replace type body vertex_type IS
Constructor
Function vertex_type(x In number,
y In number,
id In number)
Return Self As Result IS
BEGIN
SELF.X := x;
SELF.Y := Y;
SELF.ID := id;
SELF.Z := NULL;
SELF.W := NULL;
SELF.V5 := NULL;
SELF.V6 := NULL;
SELF.V7 := NULL;
SELF.V8 := NULL;
SELF.V9 := NULL;
SELF.V10 := NULL;
SELF.V11 := NULL;
RETURN;
END;
Constructor
Function vertex_type(x In number,
y In number,
z In number,
w In number)
Return Self As Result IS
BEGIN
SELF.X := x;
SELF.Y := Y;
SELF.Z := z;
SELF.W := w;
SELF.ID := NULL;
SELF.V5 := NULL;
SELF.V6 := NULL;
SELF.V7 := NULL;
SELF.V8 := NULL;
SELF.V9 := NULL;
SELF.V10 := NULL;
SELF.V11 := NULL;
RETURN;
END;
Constructor
Function vertex_type(x In number,
y In number,
z In number,
w In number,
id In number)
Return Self As Result IS
BEGIN
SELF.X := x;
SELF.Y := Y;
SELF.ID := id;
SELF.Z := z;
SELF.W := w;
SELF.V5 := NULL;
SELF.V6 := NULL;
SELF.V7 := NULL;
SELF.V8 := NULL;
SELF.V9 := NULL;
SELF.V10 := NULL;
SELF.V11 := NULL;
RETURN;
END;
END;
/
create or replace type vertex_set_type as TABLE of vertex_type;
/
grant execute on vertex_type to public;
grant execute on vertex_set_type to public;
-- Create the types needed for Geo Search function
declare
does_not_exist exception;
pragma exception_init(does_not_exist, -04043);
invalid_trigger exception;
pragma exception_init(invalid_trigger, -04098);
dependent_objects exception;
pragma exception_init(dependent_objects, -02303);
begin
begin
execute immediate 'drop type mdsys.sdo_geo_search_table force ';
exception
when does_not_exist then NULL;
when invalid_trigger then NULL;
when others then
SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
'EXCEPTION[sdoutlh.sql(' || $$PLSQL_LINE || ')4]: ' || SQLERRM); RAISE;
end;
begin
execute immediate 'drop type mdsys.sdo_geo_search force ';
exception
when does_not_exist then NULL;
when dependent_objects then NULL;
when invalid_trigger then NULL;
when others then
SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
'EXCEPTION[sdoutlh.sql(' || $$PLSQL_LINE || ')5]: ' || SQLERRM); RAISE;
end;
end;
/
create or replace type mdsys.sdo_geo_search as object (
name varchar2(200),
Key varchar2(2000),
lang_code varchar2(3),
center_lang number,
center_lat number,
rank number);
/
create or replace type mdsys.sdo_geo_search_table as TABLE of mdsys.sdo_geo_search;
/
grant execute on mdsys.sdo_geo_search to public;
grant execute on mdsys.sdo_geo_search_table to public;
declare
already_exists exception;
pragma exception_init(already_exists, -00955);
dependent_objects exception;
pragma exception_init(dependent_objects, -02303);
begin
begin
EXECUTE IMMEDIATE
' create or replace type extruded_geom as object(
geom mdsys.sdo_geometry, min number, max number) ';
exception
when already_exists then NULL;
when dependent_objects then NULL;
when others then
SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
'EXCEPTION[sdoutlh.sql(' || $$PLSQL_LINE || ')6]: ' || SQLERRM);
end;
begin
EXECUTE IMMEDIATE
' create or replace type extruded_geom_array is varray(1000000) of extruded_geom ';
exception
when already_exists then NULL;
when dependent_objects then NULL;
when others then
SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
'EXCEPTION[sdoutlh.sql(' || $$PLSQL_LINE || ')7]: ' || SQLERRM);
end;
end;
/
CREATE OR REPLACE PACKAGE mdsys.sdo_util AUTHID current_user AS
-- CONSTANT DECLARATION
SDO_GTYPE_CURVE CONSTANT NUMBER := 2;
SDO_GTYPE_POLYGON CONSTANT NUMBER := 3;
SDO_GTYPE_COLLECTION CONSTANT NUMBER := 4;
SDO_GTYPE_MULTICURVE CONSTANT NUMBER := 6;
SDO_GTYPE_MULTIPOLYGON CONSTANT NUMBER := 7;
-- Invalidate the GTT "bulk load" cache (flush contents to disk)
PROCEDURE invalidate_gtt_cache;
FUNCTION check_endian(index_owner IN VARCHAR2,
index_table IN VARCHAR2,
root_addr IN VARCHAR2)
return NUMBER;
-- Update the "endian-ness" of the index table
PROCEDURE update_endian(index_owner IN VARCHAR2,
index_table IN VARCHAR2,
index_fanout IN PLS_INTEGER,
index_dims IN PLS_INTEGER);
-- Copy <USER>.SDO_INDEX_TTS_METADATA$ to MDSYS.SDO_TTS_METADATA_TABLE
PROCEDURE copy_pre11gR2_metadata(index_owner IN VARCHAR2,
index_name IN VARCHAR2,
index_partition IN VARCHAR2);
-- Is this an internal "rename table" operation as a result of a
-- user-initiated DROP TABLE operation? (0=no, 1=yes)
FUNCTION is_internal_rename
return number;
-- Determine if a "table name" is really a deleted table
-- "internal" name...
FUNCTION is_deleted(int_name IN varchar)
return boolean;
-- Normalize quoted name for bumpy-case usage
FUNCTION get_quoted_name(objname IN VARCHAR2)
RETURN varchar2 DETERMINISTIC;
-- Generate quoted name for bump-case usage
FUNCTION set_quoted_name(objname IN VARCHAR2)
RETURN varchar2 DETERMINISTIC;
-- Is "spatial" license option enabled?
FUNCTION is_spatial_enabled
RETURN boolean;
Function expand_multi_point (geometry IN mdsys.sdo_geometry)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION expand_geom (geometry IN mdsys.sdo_geometry)
RETURN mdsys.sdo_geometry DETERMINISTIC PARALLEL_ENABLE;
FUNCTION extract(geometry IN mdsys.sdo_geometry,
element IN NUMBER,
ring IN NUMBER DEFAULT 0)
RETURN mdsys.sdo_geometry DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(extract, wnds, rnps, wnps, trust);
FUNCTION extract_all(geometry IN mdsys.sdo_geometry,
flatten IN NUMBER DEFAULT 1,
exclude IN MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL)
RETURN mdsys.sdo_geometry_array DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(extract_all, wnds, rnps, wnps, trust);
FUNCTION from_json(geometry IN CLOB, crs IN VARCHAR2 DEFAULT NULL,
srid IN NUMBER DEFAULT -1)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION to_json(geometry IN MDSYS.SDO_GEOMETRY)
RETURN CLOB DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(to_json, wnds, rnps, wnps, trust);
FUNCTION to_json_varchar(geometry IN MDSYS.SDO_GEOMETRY)
RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(to_json_varchar, wnds, rnps, wnps, trust);
FUNCTION to_wkbgeometry(geometry IN mdsys.sdo_geometry)
RETURN BLOB DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(to_wkbgeometry, wnds, rnps, wnps, trust);
FUNCTION to_wktgeometry(geometry IN mdsys.sdo_geometry)
RETURN CLOB DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(to_wktgeometry, wnds, rnps, wnps, trust);
FUNCTION to_wktgeometry_varchar(geometry IN mdsys.sdo_geometry)
RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(to_wktgeometry_varchar, wnds, rnps, wnps, trust);
FUNCTION append(geometry1 IN MDSYS.sdo_geometry,
geometry2 IN MDSYS.sdo_geometry)
RETURN mdsys.sdo_geometry DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(append, wnds, wnps);
FUNCTION ExtractVoids(geometry IN mdsys.sdo_geometry,
dim IN mdsys.sdo_dim_array)
RETURN mdsys.sdo_geometry DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(ExtractVoids, rnds, wnds, rnps, wnps, trust);
FUNCTION GetVertices(
geometry IN mdsys.sdo_geometry,
include_oriented_pt IN number default 0)
RETURN mdsys.vertex_set_type;
-- PRAGMA restrict_references(GetVertices, wnds, rnps, wnps);
FUNCTION GetFirstVertex(
geometry IN mdsys.sdo_geometry,
include_oriented_pt IN number default 0)
RETURN mdsys.vertex_type;
-- PRAGMA restrict_references(GetVertices, wnds, rnps, wnps);
FUNCTION GetLastVertex(
geometry IN mdsys.sdo_geometry,
include_oriented_pt IN number default 0)
RETURN mdsys.vertex_type;
-- PRAGMA restrict_references(GetVertices, wnds, rnps, wnps);
FUNCTION GetNumElem(geometry IN mdsys.sdo_geometry)
RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(GetNumElem, rnds, wnds, rnps, wnps, trust);
FUNCTION GetNumRings(
geom IN MDSYS.SDO_GEOMETRY)
RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(GetNumRings, rnds, wnds, rnps, wnps, trust);
FUNCTION GetNumVertices(geometry IN mdsys.sdo_geometry)
RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(GetNumVertices, rnds, wnds, rnps, wnps, trust);
FUNCTION OuterLn(geometry IN mdsys.sdo_geometry,
dim IN mdsys.sdo_dim_array)
RETURN mdsys.sdo_geometry DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(OuterLn,rnds,wnds,rnps,wnps,trust);
FUNCTION RefineMGon(mgon IN mdsys.sdo_geometry,
gon IN mdsys.sdo_geometry,
dim IN mdsys.sdo_dim_array)
RETURN mdsys.sdo_geometry;
PRAGMA restrict_references(RefineMGon,rnds,wnds,rnps,wnps,trust);
-- Determine whether or not a string contains a valid numeric value.
FUNCTION mdutl_is_numeric(instr varchar2,
format_mask varchar2)
RETURN number DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(mdutl_is_numeric, wnds, rnps, wnps, trust);
-- Safely convert "number" to corresponding "character" representation
-- For more information on this function, please refer to the PL/SQL
-- documentation for the TO_CHAR() function.
FUNCTION number_to_char(value IN NUMBER,
format_mask IN VARCHAR2 DEFAULT NULL,
nls_language IN VARCHAR2 DEFAULT NULL)
RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(number_to_char, wnds, rnps, wnps, trust);
FUNCTION number_to_char(value IN VARCHAR2,
format_mask IN VARCHAR2 DEFAULT NULL,
nls_language IN VARCHAR2 DEFAULT NULL)
RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(number_to_char, wnds, rnps, wnps, trust);
FUNCTION number_to_char(value IN DATE,
format_mask IN VARCHAR2 DEFAULT NULL,
option_setting IN VARCHAR2 DEFAULT NULL)
RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(number_to_char, wnds, rnps, wnps, trust);
FUNCTION number_to_char(value IN TIMESTAMP,
format_mask IN VARCHAR2 DEFAULT NULL,
option_setting IN VARCHAR2 DEFAULT NULL)
RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(number_to_char, wnds, rnps, wnps, trust);
FUNCTION number_to_char(value IN RAW)
RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(number_to_char, wnds, rnps, wnps, trust);
FUNCTION number_to_char(value IN CLOB) -- NTEXT
RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(number_to_char, wnds, rnps, wnps, trust);
-- truncate the original number up to no_of_digits
-- no_of_digits positive: truncate the number to no_of_digits AFTER the decimal point
-- ex: truncate_number(1.123456789,5) returns 1.12345
-- no_of_digits negative: truncate the number up to no_of_digits BEFORE the decimal point
-- ex: truncate_number(987654321.123456789,-5) returns 987600000.0
FUNCTION truncate_number(value NUMBER, no_of_digits NUMBER)
RETURN NUMBER PARALLEL_ENABLE;
PRAGMA restrict_references(truncate_number, wnds, rnps, wnps);
FUNCTION rectify_geometry(
geometry IN MDSYS.SDO_GEOMETRY,
tolerance IN NUMBER)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
PRAGMA RESTRICT_REFERENCES(rectify_geometry, rnds, wnds, rnps, wnps, trust);
/* simplify a geometry */
FUNCTION simplify(
geometry IN mdsys.sdo_geometry,
threshold IN NUMBER,
tolerance IN NUMBER := 0.0000005,
remove_loops IN NUMBER := 0)
RETURN mdsys.sdo_geometry DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(simplify, rnds, wnds, rnps, wnps, trust);
FUNCTION simplifyVW(
geometry IN mdsys.sdo_geometry,
vertex_threshold IN NUMBER,
tolerance IN NUMBER := 0.0000005,
remove_loops IN NUMBER := 0)
RETURN mdsys.sdo_geometry DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(simplifyVW, rnds, wnds, rnps, wnps, trust);
FUNCTION polygontoline(geometry IN mdsys.sdo_geometry)
return MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION point_to_line(
geom1 IN mdsys.sdo_geometry,
geom2 IN mdsys.sdo_geometry,
tol IN number := 10e-16)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION remove_duplicates(geometry IN mdsys.sdo_geometry, dim in mdsys.sdo_dim_array)
return MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION remove_duplicate_vertices(geometry IN mdsys.sdo_geometry,
tolerance in NUMBER)
return MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION circle_polygon (point MDSYS.SDO_GEOMETRY,
radius number,
arc_tolerance number,
start_azimuth number default NULL,
end_azimuth number default NULL,
orientation number default NULL,
arc number default NULL)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION circle_polygon (center_longitude number,
center_latitude number,
radius number,
arc_tolerance number)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION circle_polygon (center_longitude number,
center_latitude number,
radius number,
start_azimuth number,
end_azimuth number,
arc_tolerance number)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION ellipse_polygon (center_longitude number,
center_latitude number,
semi_major_axis number,
semi_minor_axis number,
azimuth number,
arc_tolerance number)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION point_at_bearing(start_point mdsys.sdo_geometry,
bearing number,
distance number)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
PROCEDURE bearing_tilt_for_points(
start_point mdsys.sdo_geometry,
end_point mdsys.sdo_geometry,
tol number,
bearing OUT number,
tilt OUT number) ;
FUNCTION convert_unit(value NUMBER, in_unit varchar2, out_unit varchar2)
RETURN number PARALLEL_ENABLE;
FUNCTION convert_distance(srid number, distance NUMBER, unit_spec varchar2)
RETURN number PARALLEL_ENABLE;
PROCEDURE Prepare_For_TTS (table_space IN VARCHAR2);
PROCEDURE Initialize_Indexes_For_TTS ;
FUNCTION to_clob(Geometry IN MDSYS.SDO_GEOMETRY)
RETURN CLOB DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_clob(ClobGeom IN CLOB)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION to_gmlgeometry(Geometry IN MDSYS.SDO_GEOMETRY)
RETURN CLOB DETERMINISTIC PARALLEL_ENABLE;
FUNCTION to_gmlgeometry(Geometry IN MDSYS.SDO_GEOMETRY,
srsNameSpace IN varchar2, srsNSAlias IN varchar2)
RETURN CLOB DETERMINISTIC PARALLEL_ENABLE;
FUNCTION to_gmlgeometry(Geometry IN MDSYS.SDO_GEOMETRY,
coordOrder IN number)
RETURN CLOB DETERMINISTIC PARALLEL_ENABLE;
FUNCTION to_gmlgeometry(Geometry IN MDSYS.SDO_GEOMETRY,
srsNameSpace IN varchar2, srsNSAlias IN varchar2,
coordOrder IN number)
RETURN CLOB DETERMINISTIC PARALLEL_ENABLE;
FUNCTION to_gml311geometry(Geometry IN MDSYS.SDO_GEOMETRY)
RETURN CLOB DETERMINISTIC PARALLEL_ENABLE;
FUNCTION to_gml311geometry(Geometry IN MDSYS.SDO_GEOMETRY,
srsNameSpace IN varchar2, srsNSAlias IN varchar2)
RETURN CLOB DETERMINISTIC PARALLEL_ENABLE;
FUNCTION to_gml311geometry(Geometry IN MDSYS.SDO_GEOMETRY,
coordOrder IN number)
RETURN CLOB DETERMINISTIC PARALLEL_ENABLE;
FUNCTION to_gml311geometry(Geometry IN MDSYS.SDO_GEOMETRY,
srsNameSpace IN varchar2, srsNSAlias IN varchar2,
coordOrder IN number)
RETURN CLOB DETERMINISTIC PARALLEL_ENABLE;
FUNCTION to_gml321geometry(Geometry IN MDSYS.SDO_GEOMETRY)
RETURN CLOB DETERMINISTIC PARALLEL_ENABLE;
FUNCTION to_gml321geometry(Geometry IN MDSYS.SDO_GEOMETRY,
srsNameSpace IN varchar2, srsNSAlias IN varchar2)
RETURN CLOB DETERMINISTIC PARALLEL_ENABLE;
FUNCTION to_gml321geometry(Geometry IN MDSYS.SDO_GEOMETRY,
coordOrder IN number)
RETURN CLOB DETERMINISTIC PARALLEL_ENABLE;
FUNCTION to_gml321geometry(Geometry IN MDSYS.SDO_GEOMETRY,
srsNameSpace IN varchar2, srsNSAlias IN varchar2,
coordOrder IN number)
RETURN CLOB DETERMINISTIC PARALLEL_ENABLE;
FUNCTION to_kmlgeometry(Geometry IN MDSYS.SDO_GEOMETRY)
RETURN CLOB DETERMINISTIC PARALLEL_ENABLE;
FUNCTION to_wkbgeometry_j(geometry IN MDSYS.SDO_GEOMETRY)
RETURN BLOB DETERMINISTIC PARALLEL_ENABLE;
FUNCTION to_wktgeometry_j(geometry IN MDSYS.SDO_GEOMETRY)
RETURN CLOB DETERMINISTIC PARALLEL_ENABLE;
FUNCTION to_wktgeometry_j_varchar(geometry IN MDSYS.SDO_GEOMETRY)
RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_wkbgeometry(geometry IN BLOB)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_wktgeometry(geometry IN CLOB)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_wktgeometry(geometry IN VARCHAR2)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_GMLgeometry(geometry IN CLOB)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_GMLgeometry(geometry IN CLOB, srsNameSpace IN varchar2)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_GMLgeometry(geometry IN VARCHAR2)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_GMLgeometry(geometry IN VARCHAR2, srsNameSpace IN varchar2)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_GMLgeometry(geometry IN CLOB,
coordOrder IN number)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_GMLgeometry(geometry IN CLOB, srsNameSpace IN varchar2,
coordOrder IN number)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_GMLgeometry(geometry IN VARCHAR2,
coordOrder IN number)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_GMLgeometry(geometry IN VARCHAR2, srsNameSpace IN varchar2,
coordOrder IN number)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_GML311geometry(geometry IN CLOB)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_GML311geometry(geometry IN CLOB, srsNameSpace IN varchar2)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_GML311geometry(geometry IN VARCHAR2)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_GML311geometry(geometry IN VARCHAR2, srsNameSpace IN varchar2)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_GML311geometry(geometry IN CLOB,
coordOrder IN number)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_GML311geometry(geometry IN CLOB, srsNameSpace IN varchar2,
coordOrder IN number)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_GML311geometry(geometry IN VARCHAR2,
coordOrder IN number)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_GML311geometry(geometry IN VARCHAR2, srsNameSpace IN varchar2,
coordOrder IN number)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_KMLgeometry(geometry IN CLOB)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_KMLgeometry(geometry IN VARCHAR2)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_geojson(geometry IN VARCHAR2, crs IN VARCHAR2 DEFAULT NULL,
srid IN NUMBER DEFAULT 4326)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION from_geojson(geometry IN CLOB, crs IN VARCHAR2 DEFAULT NULL,
srid IN NUMBER DEFAULT 4326)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION to_geojson(geometry IN MDSYS.SDO_GEOMETRY)
RETURN CLOB DETERMINISTIC PARALLEL_ENABLE;
FUNCTION extrude(geometry IN MDSYS.SDO_GEOMETRY,
grdHeight IN MDSYS.SDO_NUMBER_ARRAY,
height IN MDSYS.SDO_NUMBER_ARRAY,
cond IN VARCHAR2,
tol IN NUMBER)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION extrude(geometry IN MDSYS.SDO_GEOMETRY,
grdHeight IN MDSYS.SDO_NUMBER_ARRAY,
height IN MDSYS.SDO_NUMBER_ARRAY,
tol IN NUMBER,
optional3dSrid IN NUMBER DEFAULT NULL)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION affinetransforms(geometry IN MDSYS.SDO_GEOMETRY,
translation IN VARCHAR2 DEFAULT 'FALSE', tx IN NUMBER DEFAULT 0.0, ty IN NUMBER DEFAULT 0.0, tz IN NUMBER DEFAULT 0.0,
scaling IN VARCHAR2 DEFAULT 'FALSE', Psc1 IN MDSYS.SDO_GEOMETRY DEFAULT NULL, sx IN NUMBER DEFAULT 0.0, sy IN NUMBER DEFAULT 0.0, sz IN NUMBER DEFAULT 0.0,
rotation IN VARCHAR2 DEFAULT 'FALSE', P1 IN MDSYS.SDO_GEOMETRY DEFAULT NULL, line1 IN MDSYS.SDO_GEOMETRY DEFAULT NULL, angle IN NUMBER DEFAULT 0.0, dir IN NUMBER DEFAULT -1,
shearing IN VARCHAR2 DEFAULT 'FALSE', SHxy IN NUMBER DEFAULT 0.0, SHyx IN NUMBER DEFAULT 0.0, SHxz IN NUMBER DEFAULT 0.0, SHzx IN NUMBER DEFAULT 0.0, SHyz IN NUMBER DEFAULT 0.0, SHzy IN NUMBER DEFAULT 0.0,
reflection IN VARCHAR2 DEFAULT 'FALSE', Pref IN MDSYS.SDO_GEOMETRY DEFAULT NULL, lineR IN MDSYS.SDO_GEOMETRY DEFAULT NULL, dirR IN NUMBER DEFAULT -1, planeR IN VARCHAR2 DEFAULT 'FALSE', n IN MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL, bigD IN MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION extract3d(geometry IN MDSYS.SDO_GEOMETRY, label IN VARCHAR2)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION getlabelbyelement(sourceGeometry IN MDSYS.SDO_GEOMETRY, queryElement IN MDSYS.SDO_GEOMETRY, tol IN NUMBER)
RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
FUNCTION validate_wkbgeometry(geometry IN BLOB)
RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
FUNCTION validate_wktgeometry(geometry IN CLOB)
RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
FUNCTION validate_wktgeometry(geometry IN VARCHAR2)
RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
FUNCTION concat_lines (geometry1 IN MDSYS.SDO_GEOMETRY,
geometry2 IN MDSYS.SDO_GEOMETRY)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
PROCEDURE internal_ordinate_copy(src IN MDSYS.SDO_ORDINATE_ARRAY,
src_position IN INTEGER,
dst IN OUT NOCOPY MDSYS.SDO_ORDINATE_ARRAY,
dst_position IN INTEGER,
length IN INTEGER);
FUNCTION reverse_linestring(geometry IN MDSYS.SDO_GEOMETRY)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION internal_merge_linestrings(geometry IN MDSYS.SDO_GEOMETRY)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC;
FUNCTION internal_merge_linestrings(geomArr IN MDSYS.SDO_GEOMETRY_ARRAY)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC;
FUNCTION internal_make_line_out_of_elem(
multilinestring IN MDSYS.SDO_GEOMETRY, element_index IN INTEGER)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
PROCEDURE internal_reverse_line_points(
ordinates IN OUT NOCOPY MDSYS.SDO_ORDINATE_ARRAY);
------------------------------------------------------------------
-- Name
-- Partition_Table
-- Purpose
-- Partitions the input "schema.tablename" into buckets of at
-- most ptn_capacity each. The partitioning is based on the
-- spatial extent or MBR stored as the intervals <min_di, max_di>
-- in each dimension di. The data is written back with
-- the ptn_id into the "output_table" which is assumed to be
-- be pre-created by the user.
-- The input <tablename> table is expected to have the following columns:
-- "rid" -- unique id for each row (e.g., the table rowid)
-- min_d1, max_d1 -- minimum and maximum values in dimension 1
-- min_d2, max_d2 -- minimum and maximum values in dimension 2
-- ..
-- min_dn, max_dn -- minimum and maximum values in dimension n
-- where n is the dimensionality specified by inp arg "numdim"
-- The input "wrk_tblspc" specifies the tablespace where "scratch-pad"
-- tables are created and dropped. Keep this tablespace different from
-- the tablespace in which the input <tablename> and output_table are.
-- (typical usage: create wrk_tblspc and drop after this procedure)
-- The arg "output_table" specifies where to write the output partitions
-- This routine assumes the output_table is pre-created and has the
-- following columns:
-- ptn_id number, rid varchar2(24), min_d1 number, max_d1 number,
-- min_d2, max_d2, ...., min_dn, max_dn (all number columns).
-- This routine writes the rows from <tablename> back to <output_table>
-- with the ptn_id set.
-- The arg <output_ptn_table> specifies where to write ptn extent information
-- This table should have the following numeric columns:
-- ptn_id, min_d1, max_d1, min_d2, max_d2, ...., min_dn, max_dn.
-- Parameter "numdim" specifies the number of dimensions.
-- Parameter "commit_interval" "n" specifies that commits happen
-- after every batch of n rows that are written to the <output_table>.
-- Parameter "packed_ptns" tries to pack the partitions.
PROCEDURE partition_table(schemaname in varchar2, tablename in varchar2,
output_data_table in varchar2,
output_ptn_table in varchar2,
ptn_capacity in number default 100,
numdim in number default 2,
wrk_tblspc in varchar2 default null,
ptn_type in varchar2 default null,
dop in number default 1);
------------------------------------------------------------------
-- Name
-- DROP_WORK_TABLES
-- Purpose
-- This function drops any work tables and views in the current schema
-- created as part of partition_table, index creation, or
-- TIN/Point Cloud utilities.
--
-- DROPS all tables/views that match 'M%_<oidstr>$$%'
-- Input oidstr has to contain only hexadecimal numbers w/o spaces
PROCEDURE DROP_WORK_TABLES(oidstr varchar2);
FUNCTION remove_inner_rings(inpgeom MDSYS.SDO_GEOMETRY, inptol number)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION quad_tiles(geom MDSYS.SDO_GEOMETRY, sdo_level number, tol number:=0.0000000005)
RETURN mdsys.F81_index_obj_array DETERMINISTIC;
/* This function generates hybrid tiles for a given Geometry.
Only 2D Geometry is supported.
The SDO_META values are appended to the SDO_CODE to make it easier
for use with other HHCODE functions. */
FUNCTION hybrid_tiles(geom MDSYS.SDO_GEOMETRY, sdo_level number := 4,
sdo_ntiles number := 100, tol number:=0.0000000005)
RETURN mdsys.H81_index_obj_array DETERMINISTIC;
FUNCTION interior_point (geom MDSYS.SDO_GEOMETRY, tol number := 0.00000000005)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION number_of_components(geometry MDSYS.SDO_GEOMETRY, requested_type varchar2)
RETURN NUMBER PARALLEL_ENABLE;
FUNCTION get_2d_footprint(geometry MDSYS.SDO_GEOMETRY, tolerance number := 0.05)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION convert3007to3008(geometry mdsys.sdo_geometry)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
-- Returns coordinate of a single element geometry.
-- If coord_index is 0 (or too large), returns the last point in
-- the single element geometry.
FUNCTION get_coordinate(geometry in mdsys.sdo_geometry,
coord_index in number)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION get_boundary(geometry in mdsys.sdo_geometry)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
-------------------------------------------------------------------------
function validate_3dtheme(
theme_name varchar2)
return varchar2;
function validate_scene(
scene_name varchar2)
return varchar2;
function validate_viewframe(
viewframe_name varchar2)
return varchar2;
function theme3d_has_lod(
theme_name varchar2)
return number;
procedure theme3d_create_texture_tables(
texture_table_base_name varchar2);
procedure theme3d_add_ref_to_tex_tables(
feature_table varchar2,
feature_table_tex_col varchar2,
texture_table_base_name varchar2);
procedure theme3d_add_face_texture(
texture_table_base_name varchar2,
texture_id varchar2,
theme varchar2,
face_num integer,
color_rgb_hex varchar2,
texture_bitmap_id varchar2,
texture_coord_array_id varchar2);
procedure theme3d_add_face_textures(
texture_table_base_name varchar2,
texture_id varchar2,
theme varchar2,
colors_rgb_hex mdsys.sdo_string_array,
texture_bitmap_ids mdsys.sdo_ordinate_array,
texture_coord_array_ids mdsys.sdo_ordinate_array);
procedure theme3d_add_bitmap(
texture_table_base_name varchar2,
texture_bitmap_id varchar2,
bitmap blob,
url varchar2);
procedure theme3d_add_texture_coords(
texture_table_base_name varchar2,
texture_coord_array_id varchar2,
texture_coord_array mdsys.sdo_ordinate_array);
function theme3d_has_texture(
theme_name varchar2)
return number;
function theme3d_get_block_table(
theme_name varchar2)
return varchar2;
FUNCTION ToGnomonic(geom in mdsys.sdo_geometry, longitude in number,
latitude in number)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
FUNCTION getNurbsApprox(geometry IN mdsys.sdo_geometry,
tolerance IN number)
RETURN mdsys.sdo_geometry DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(getNurbsApprox, rnds, wnds, rnps, wnps, trust);
FUNCTION jsph_getnurbsapprox(geometry IN mdsys.sdo_geometry)
RETURN mdsys.sdo_geometry DETERMINISTIC PARALLEL_ENABLE;
PRAGMA restrict_references(jsph_getnurbsapprox, rnds, wnds, rnps, wnps, trust);
FUNCTION linear_key(geometry IN mdsys.sdo_geometry,
diminfo mdsys.sdo_dim_array,
lvl IN NUMBER := 8)
RETURN RAW DETERMINISTIC PARALLEL_ENABLE;
FUNCTION linear_key(geometry IN mdsys.sdo_geometry,
min_x IN NUMBER, min_y IN NUMBER,
max_x IN NUMBER, max_y IN NUMBER,
lvl IN NUMBER := 8)
RETURN RAW DETERMINISTIC PARALLEL_ENABLE;
/* documented metadata management routines.
Assumption is that anyone can create the metadata for anyone
else. We can assume that this is not a risk as data is created,
and can always be changed by the owner of the table if the metadata
is not correct.
*/
procedure insert_sdo_geom_metadata(owner IN VARCHAR2,
table_name IN VARCHAR2,
column_name IN VARCHAR2,
diminfo IN mdsys.sdo_dim_array,
srid IN number);
/* We only allow the OWNER, or any user with DBA privs, or
any user who has SELECT or INDEX privis on the table_name
can delete the metadata from a difference schema.
This is done so that a disruptive user cannot do denial of service
by continously removing metadata for other tables, there by disabling
spatial functionality like operators and indexes on these tables.
*/
procedure delete_sdo_geom_metadata(owner IN VARCHAR2,
table_name IN VARCHAR2,
column_name IN VARCHAR2);
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-- Calculate 3D Geodetic Triangle area with LTP.
-- When the input geometry is 3D Geodetic triangle without inner ring(s),
-- prefer to use this function instead of sdo_area function since it is more
-- simplified algorithm due to considering only 3D Geodetic triangle geometry.
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
function sdo_3dtriangle_area
(
geom IN MDSYS.SDO_GEOMETRY,
dim IN MDSYS.SDO_DIM_ARRAY,
unit IN VARCHAR2 DEFAULT NULL
)
return NUMBER DETERMINISTIC PARALLEL_ENABLE;
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-- Calculate 3D Geodetic Triangle area with LTP.
-- When the input geometry is 3D Geodetic triangle without inner ring(s),
-- prefer to use this function instead of sdo_area function since it is more
-- simplified algorithm due to considering only 3D Geodetic triangle geometry.
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
function sdo_3dtriangle_area
(
geom IN MDSYS.SDO_GEOMETRY,
tol IN NUMBER,
unit IN VARCHAR2 DEFAULT NULL
)
return NUMBER DETERMINISTIC PARALLEL_ENABLE;
PROCEDURE process_auxiliary_info(
auxiliary_info IN varchar2,
input_type IN OUT varchar2,
srsNameSpace IN OUT varchar2,
coordOrder IN OUT number,
srid IN OUT integer);
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-- Validate XML instance against its schema
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
FUNCTION validate_xml_record
(
xml IN CLOB,
schema IN varchar2
)
return VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-- Validate all XML instances in a table with XMLType column against its schema
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
PROCEDURE validate_xml_layer
(
table_name IN varchar2,
column_name IN varchar2,
schema IN varchar2,
result_table_name IN varchar2,
commit_interval IN number := -1,
owner IN varchar2 DEFAULT NULL
) ;
-- used for functional cbtree index on point
FUNCTION get_point_ordinate
(
geometry IN mdsys.sdo_geometry,
pos IN number
)
return number DETERMINISTIC PARALLEL_ENABLE;
-- used to densify a geometry with default interval=5000, for geodetic
-- geometry, it will be 5000 meters.
FUNCTION densify_geometry
(
geometry IN mdsys.sdo_geometry,
interval IN number default 5000
)
return mdsys.sdo_geometry DETERMINISTIC PARALLEL_ENABLE;
-- Geo Search API
FUNCTION GEO_SEARCH
(
name in varchar2,
fuzzy in number default null
)
return MDSYS.sdo_geo_search_table PIPELINED;
-- HHCELL BOUNDARY
FUNCTION HHCELL_BOUNDARY
(
linear_key in raw,
min_x in number,
min_y in number,
max_x in number,
max_y in number
)
return mdsys.sdo_geometry DETERMINISTIC PARALLEL_ENABLE;
FUNCTION is_simple_file_name(file_name IN VARCHAR2)
RETURN VARCHAR2;
FUNCTION SPLIT_180_MERIDIAN
(
geometry IN mdsys.sdo_geometry
)
RETURN mdsys.sdo_geometry DETERMINISTIC PARALLEL_ENABLE;
function simplify_to_extruded(
solid3d MDSYS.sdo_geometry)
return extruded_geom_array DETERMINISTIC PARALLEL_ENABLE;
procedure simplify_to_extruded(
table_in_with_3dsolids varchar2,
column_in_with_3dsolids varchar2,
table_out_with_2dpolygons varchar2) DETERMINISTIC PARALLEL_ENABLE;
END sdo_util;
/
show errors;
Rem ********************************************************************
Rem #16473696: Indicate Oracle-Supplied object
@?/rdbms/admin/sqlsessend.sql
Rem ********************************************************************
OHA YOOOO