DBA Data[Home] [Help]

PACKAGE: MDSYS.SDO_GEOR

Source


1 PACKAGE       SDO_GEOR AUTHID CURRENT_USER AS
2 
3 
4 -- ---------------------------------------------------------------------
5 --           Create and Process GeoRaster Objects
6 -- ---------------------------------------------------------------------
7 
8 --
9 -- NAME:
10 --      init constructor functions
11 --
12 -- DESCRIPTION
13 --      init()s return a GeoRaster Object which is empty except that a RDT
14 --      table name and a raster ID are assigned to it. The RDT and ID are
15 --      required so that this object can be registered in the sysdata table
16 --      All other attributes are NULL.
17 --
18 --      If rasterDataTable or rasterID is not specified, it is generated
19 --      automatically.
20 --
21 -- ARGUMENTS
22 --      rasterDataTable - RDT table name
23 --      rasterID        - rasterID number
24 --
25 -- RETURNS
26 --      An GeoRaster object with rasterDataTable and rasterID initialized
27 --
28 
29 FUNCTION init
30 (
31    rasterDataTable IN VARCHAR2 DEFAULT NULL,
32    rasterID        IN NUMBER DEFAULT NULL
33 )
34 RETURN MDSYS.SDO_GEORASTER DETERMINISTIC;
35 
36 
37 --
38 -- NAME:
39 --      createBlank functions
40 --
41 -- DESCRIPTION
42 --      create a blank GeoRaster object which has normal size as
43 --      any other GeoRaster objects except that all its cells
44 --      have the same value, such as 100, 5, 54.6.
45 --
46 --      NOTE, the spatialExtent will always have NULL srid and
47 --      integer coordinates until it is georeferenced to another CS.
48 --      Initially, the blank object is not georeferenced.
49 --
50 -- ARGUMENTS
51 --      rasterType - the GeoRaster Type defined by Oracle.
52 --                   the number of dimensions is implied in it
53 --      ultCoord   - Upper-Left corner cell coordinate (integer) in
54 --                   cell space. The default is (0,0)
55 --      dimSizes   - the size (cell numbers) along each dimension
56 --      cellValue  - the cell value for all raster cells
57 --
58 --      rasterDataTable and rasterID have the similar implications
59 --      as in init() functions. See init() comments
60 --
61 -- RETURNS
62 --      A Blank GeoRaster object
63 --
64 
65 FUNCTION createBlank
66 (
67    rasterType      IN INTEGER,
68    ultCoord        IN MDSYS.SDO_NUMBER_ARRAY,
69    dimSizes        IN MDSYS.SDO_NUMBER_ARRAY,
70    cellValue       IN NUMBER,
71    rasterDataTable IN VARCHAR2 DEFAULT NULL,
72    rasterID        IN NUMBER DEFAULT NULL
73 )
74 return MDSYS.SDO_GEORASTER DETERMINISTIC;
75 
76 
77 --
78 -- NAME:
79 --      copy procedure
80 --
81 -- DESCRIPTION
82 --      Makes a simple copy of an existing GeoRaster object.
83 --
84 -- ARGUMENTS
85 --      inGeoRaster    - The SDO_GEORASTER object to be copied
86 --      outGeoRaster   - The new GeoRaster Object
87 --
88 -- RETURNS
89 --      A GeoRaster object
90 --
91 PROCEDURE copy
92 (
93    inGeoRaster    IN     MDSYS.SDO_GEORASTER,
94    outGeoRaster   IN OUT MDSYS.SDO_GEORASTER
95 );
96 
97 --
98 -- NAME:
99 --      changeFormat procedure
100 --
101 -- DESCRIPTION
102 --      Change the storage format of an existing GeoRaster object.
103 --
104 -- ARGUMENTS
105 --      georaster    - The SDO_GEORASTER object whose format to be changed
106 --      storageParam - A string specifying storage parameters
107 --                     The details are explained in GeoRaster Manual
108 --      bgValues       - background values for filling sparse data
109 --
110 -- RETURNS
111 --      A GeoRaster object
112 --
113 PROCEDURE changeFormat
114 (
115    georaster    IN OUT MDSYS.SDO_GEORASTER,
116    storageParam     IN VARCHAR2,
117    bgValues     IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL
118 );
119 
120 --
121 -- NAME:
122 --      changeFormatCopy procedure
123 --
124 -- DESCRIPTION
125 --      Makes a copy of an existing GeoRaster object with the same or
126 --      different storage format.
127 --
128 -- ARGUMENTS
129 --      inGeoRaster    - The SDO_GEORASTER object to be copied
130 --      pyramidLevel   - The pyramid level of the source GeoRaster object
131 --      storageParam   - A string specifying storage parameters for the copy
132 --                       The details are explained in GeoRaster Manual
133 --      outGeoRaster   - The new GeoRaster Object
134 --      bgValues       - background values for filling sparse data
135 --
136 -- RETURNS
137 --      A GeoRaster object
138 --
139 PROCEDURE changeFormatCopy
140 (
141    inGeoRaster    IN MDSYS.SDO_GEORASTER,
142    storageParam   IN VARCHAR2,
143    outGeoRaster   IN OUT MDSYS.SDO_GEORASTER,
144    bgValues       IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL
145 );
146 
147 PROCEDURE changeFormatCopy
148 (
149    inGeoRaster    IN MDSYS.SDO_GEORASTER,
150    pyramidLevel   IN NUMBER,
151    storageParam   IN VARCHAR2,
152    outGeoRaster   IN OUT MDSYS.SDO_GEORASTER,
153    bgValues       IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL
154 );
155 
156 --
157 -- NAME:
158 --      maks procedure
159 --
160 -- DESCRIPTION
161 --      apply a mask to  an existing GeoRaster object with the same or
162 --      different storage format.
163 --
164 -- ARGUMENTS
165 --      inGeoRaster    - The SDO_GEORASTER object to be applied with mask
166 --      bandNumbers    - The physical bands in cell space
167 --      mask           - The mask SDO_GEORASTER object
168 --      storageParam   - A string specifying storage parameters for the copy
169 --                       The details are explained in GeoRaster Manual
170 --      outGeoRaster   - The new GeoRaster Object
171 --      zeroMapping    - The value is used for mask value 0
172 --      onemapping     - The value is used for mask value 1
173 --      bgValues       - background values for filling sparse data
174 --
175 --
176 PROCEDURE mask
177 (
178    inGeoraster  IN      MDSYS.SDO_GEORASTER,
179    bandNumbers  IN      VARCHAR2,
180    mask         IN      MDSYS.SDO_GEORASTER DEFAULT NULL,
181    storageParam IN      VARCHAR2,
182    outGeoraster IN OUT  MDSYS.SDO_GEORASTER,
183    zeroMapping  IN      NUMBER DEFAULT 0,
184    oneMapping   IN      NUMBER DEFAULT 1,
185    bgValues     IN      SDO_NUMBER_ARRAY DEFAULT NULL
186 );
187 
188 
189 
190 --
191 -- NAME:
192 --      subset procedure
193 --
194 -- DESCRIPTION
195 --      This procedure does either spatial crop/cut/clip, or layer/band
196 --      subset, or both.
197 --
198 -- ARGUMENTS
199 --      inGeoRaster    - The source SDO_GEORASTER object
200 --      pyramidLevel   - The pyramid level of the source GeoRaster object
201 --      cropArea       - The crop area. If it is of SDO_GEOMETRY type,
202 --                       it can be in any coordinate space. If it is
203 --                       of SDO_NUMBER_ARRAY, it is in cell space only
204 --      layerNumbers   - The logical layers
205 --      bandNumbers    - The physical bands in cell space
206 --      storageParam   - A string specifying storage parameters for the result.
207 --                       The details are explained in GeoRaster Manual
208 --      outGeoRaster   - The new GeoRaster Object
209 --      bgValues       - background values for filling sparse data
210 --
211 -- RETURNS
212 --      A GeoRaster object
213 --
214 PROCEDURE subset
215 (
216    inGeoRaster    IN MDSYS.SDO_GEORASTER,
217    cropArea       IN MDSYS.SDO_GEOMETRY,
218    layerNumbers   IN VARCHAR2,
219    storageParam   IN VARCHAR2,
220    outGeoRaster   IN OUT MDSYS.SDO_GEORASTER,
221    bgValues       IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL,
222    polygonClip    IN     VARCHAR2 DEFAULT NULL
223 );
224 
225 PROCEDURE subset
226 (
227    inGeoRaster    IN MDSYS.SDO_GEORASTER,
228    cropArea       IN MDSYS.SDO_NUMBER_ARRAY,
229    bandNumbers    IN VARCHAR2,
230    storageParam   IN VARCHAR2,
231    outGeoRaster   IN OUT MDSYS.SDO_GEORASTER,
232    bgValues       IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL
233 );
234 
235 PROCEDURE subset
236 (
237    inGeoRaster    IN MDSYS.SDO_GEORASTER,
238    pyramidLevel   IN NUMBER,
239    cropArea       IN MDSYS.SDO_GEOMETRY,
240    layerNumbers   IN VARCHAR2,
241    storageParam   IN VARCHAR2,
242    outGeoRaster   IN OUT MDSYS.SDO_GEORASTER,
243    bgValues       IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL,
244    polygonClip    IN     VARCHAR2 DEFAULT NULL
245 );
246 
247 PROCEDURE subset
248 (
249    inGeoRaster    IN MDSYS.SDO_GEORASTER,
250    pyramidLevel   IN NUMBER,
251    cropArea       IN MDSYS.SDO_NUMBER_ARRAY,
252    bandNumbers    IN VARCHAR2,
253    storageParam   IN VARCHAR2,
254    outGeoRaster   IN OUT MDSYS.SDO_GEORASTER,
255    bgValues       IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL
256 );
257 
258 --
259 -- NAME:
260 --      scale procedure
261 --
262 -- DESCRIPTION
263 --      This procedure enlarges or reduces a georaster object and
264 --      overwrites it.
265 --
266 -- ARGUMENTS
267 --      inGeoRaster    - The source SDO_GEORASTER object
268 --      scaleParam     - The scale factor or factors
269 --      resampleParam  - The resampling method
270 --      storageParam   - A string specifying storage parameters for the result
271 --                       The details are explained in GeoRaster Manual
272 --      bgValues       - background values for filling sparse data
273 --
274 -- RETURNS
275 --      A GeoRaster object
276 --
277 PROCEDURE scale
278 (
279    inGeoRaster    IN OUT MDSYS.SDO_GEORASTER,
280    scaleParam     IN VARCHAR2,
281    resampleParam  IN VARCHAR2,
282    storageParam   IN VARCHAR2,
283    bgValues       IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL
284 );
285 
286 
287 --
288 -- NAME:
289 --      scaleCopy procedure
290 --
291 -- DESCRIPTION
292 --      This procedure enlarges or reduces a georaster object and
293 --      write the result as another georaster object.
294 --
295 -- ARGUMENTS
296 --      inGeoRaster    - The source SDO_GEORASTER object
297 --      pyramidLevel   - The pyramid level of the source GeoRaster object
298 --      scaleParam     - The scale factor or factors
299 --      resampleParam  - The resampling method
300 --      storageParam   - A string specifying storage parameters for the result
301 --                       The details are explained in GeoRaster Manual
302 --      outGeoRaster   - The new GeoRaster Object
303 --      bgValues       - background values for filling sparse data
304 --
305 -- RETURNS
306 --      A GeoRaster object
307 --
308 PROCEDURE scaleCopy
309 (
310    inGeoRaster    IN MDSYS.SDO_GEORASTER,
311    scaleParam     IN VARCHAR2,
312    resampleParam  IN VARCHAR2,
313    storageParam   IN VARCHAR2,
314    outGeoRaster   IN OUT MDSYS.SDO_GEORASTER,
315    bgValues       IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL
316 );
317 
318 PROCEDURE scaleCopy
319 (
320    inGeoRaster    IN MDSYS.SDO_GEORASTER,
321    pyramidLevel   IN NUMBER,
322    scaleParam     IN VARCHAR2,
323    resampleParam  IN VARCHAR2,
324    storageParam   IN VARCHAR2,
325    outGeoRaster   IN OUT MDSYS.SDO_GEORASTER,
326    bgValues       IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL
327 );
328 
329 --
330 -- NAME:
331 --      generatePyramid
332 --
333 -- DESCRIPTION
334 --      This procedure generates pyramids, which are stored together with
335 --      the original data.
336 --
337 --ARGUMENTS
338 --      georaster     - The source SDO_GEORASTER object
339 --      pyramidParams - The pyramid parameters
340 --      bgValues       - background values for filling sparse data
341 --      parallelParam    - The parameter related to parallel processing.
342 --                         Currently we only support
343 --                           "parallel=n": where n>1 is the degree of parallel.
344 --                              The database optimizer uses the degree of
345 --                              parallelism specified by n
346 --                           By default when this parameter is null, there is
347 --                           no parallel processing.
348 --
349 -- RETURNS
350 --      A GeoRaster object
351 --
352 PROCEDURE generatePyramid
353 (
354    georaster     IN OUT MDSYS.SDO_GEORASTER,
355    pyramidParams IN     VARCHAR2,
356    bgValues       IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL,
357    parallelParam  IN     VARCHAR2 DEFAULT NULL
358 );
359 
360 
361 --
362 -- NAME:
363 --      deletePyramid
364 --
365 -- DESCRIPTION
366 --      This procedure deletes pyramids of a georaster object.
367 --
368 --ARGUMENTS
369 --      georaster     - The source SDO_GEORASTER object
370 --
371 -- RETURNS
372 --      A GeoRaster object
373 --
374 PROCEDURE deletePyramid
375 (
376    georaster     IN OUT MDSYS.SDO_GEORASTER
377 );
378 
379 
380 
381 --
382 -- NAME:
383 --      generateSpatialExtent
384 --
385 -- DESCRIPTION
386 --      This function generates the spatialExtent of a georaster object
387 --      using its SRS (spatial reference system) information.
388 --      The srid of the generated spatialExtent is decided by the SRS.
389 --      The srid is null if the georaster object is not referenced.
390 --
391 --ARGUMENTS
392 --      georaster - The GeoRaster object on which the spatialExtent is
393 --                  to be generated
394 --      height    - Z value in the 3D GeoReference system
395 --
396 -- RETURNS
397 --      the spatialExtent geometry
398 --
399 FUNCTION generateSpatialExtent
400 (
401    georaster  IN MDSYS.SDO_GEORASTER,
402    height     IN NUMBER DEFAULT NULL
403 )
404 return MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
405 
406 --
407 -- NAME:
408 --      mosaic
409 --
410 -- DESCRIPTION
411 --      This procedure mosaics multiple GeoRaster objects into one. The
412 --      source GeoRaster objects must be prepared tiles or blocks that
413 --      are rectified and referenced onto the same coordinate system
414 --      with affine transformation. They must have the same number of
415 --      layers/bands and must be spatially aligned along the row and column
416 --      dimensions. They must also have the same mapping between the band
417 --      and layer numbers.
418 --
419 --ARGUMENTS
420 --      georasterTableName  - the table containing all source georaster objects
421 --      georasterColumnName - the column of the georasterTable, in which all
422 --                            georaster objects are to be masaicked
423 --      georaster           - the result, i.e., the mosaic georaster object
424 --      storageParam        - storage parameter specification
425 --      bgValues            - background values for filling in the gaps
426 --
427 -- RETURNS
428 --      a mosaic georaster object
429 --
430 PROCEDURE mosaic
431 (
432    georasterTableName  IN     VARCHAR2,
433    georasterColumnName IN     VARCHAR2,
434    georaster           IN OUT MDSYS.SDO_GEORASTER,
435    storageParam        IN     VARCHAR2,
436    bgValues            IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL
437 );
438 
439 --
440 -- NAME:
441 --      validateForMosaic
442 --
443 -- DESCRIPTION
444 --      check whether tiles in the given table are mosaickable
445 --
446 -- ARGUMENTS
450 --      resultTableName     - the name of the table to store the result
447 --      georasterTableName  - the table containing all source georaster objects
448 --      georasterColumnName - the column of the georasterTable, in which all
449 --                            georaster objects are to be masaicked
451 -- NOTES
452 --   A result table must be created before calling this procedure. The format
453 --   of the result table is:
454 --    (description VARCHAR2(80) NOT NULL, rowid1 ROWID, rowid2 ROWID)
455 --
456 PROCEDURE validateForMosaic
457 (
458    georasterTableName  IN VARCHAR2,
459    georasterColumnName IN VARCHAR2,
460    resultTableName     IN VARCHAR2
461 );
462 
463 
464 -- NAME:
465 --      mosaic
466 --
467 -- DESCRIPTION
468 --      This procedure mosaics multiple GeoRaster objects retrieved from a
469 --      cursor and return the mosaicked image in the specified window of
470 --      interest. The source GeoRaster objects must be prepared tiles or
471 --      blocks that are rectified and referenced onto the same coordinate
472 --      system with affine transformation. They must have the same number of
473 --      layers/bands and must be spatially aligned along the row and column
474 --      dimensions. They must also have the same mapping between the band
475 --      and layer numbers.
476 --
477 --ARGUMENTS
478 --      georasters          - the source georaster objects
479 --      pyramidLevel        - the pyramid level
480 --      window              - the cropping window
481 --      layerNumbers        - layer numbers
482 --      georaster           - the result, i.e., the mosaic georaster object
483 --      storageParam        - storage parameter specification
484 --      bgValues            - background values for filling in the gaps
485 --
486 --
487 PROCEDURE mosaic
488 (
489  inGeoRasters        IN     SYS_REFCURSOR,
490  pyramidLevel        IN     NUMBER,
491  window              IN     SDO_GEOMETRY,
492  layerNumbers        IN     VARCHAR2,
493  outGeoRaster        IN OUT MDSYS.SDO_GEORASTER,
494  storageParam        IN     VARCHAR2,
495  bgValues            IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL
496 );
497 
498 --
499 -- NAME:
500 --      mergeLayers
501 --
502 -- DESCRIPTION
503 --      append selected layers of a GeoRaster object to another GeoRaster object
504 --
505 -- ARGUMENTS
506 --      targetGeoraster    - the GeoRaster object to be appended to
507 --      sourceGeoraster    - the source GeoRaster object
508 --      sourceLayerNumbers - source layers to be appended to the target
509 --      bgValues           - background filling values
510 --
511 -- NOTES
512 --   The source and target GeoRaster objects must have the same row and cloumn
513 --   dimension sizes. They also must cover the same area in the model (if both
514 --   are georeferenced) or cell (if neither is georeferenced) space.
515 --
516 PROCEDURE mergeLayers(
517    targetGeoraster     IN OUT MDSYS.SDO_GEORASTER,
518    sourceGeoraster     IN     MDSYS.SDO_GEORASTER,
519    sourceLayerNumbers  IN     VARCHAR2 DEFAULT NULL,
520    bgValues            IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL
521 );
522 
523 --
524 -- NAME:
525 --     mergeLayers
529 --      GeoRaster object
526 --
527 -- DESCRIPTION
528 --      union selected layers of two GeoRaster objects to generate a new
530 --
531 -- ARGUMENTS
532 --      source1Georaster    - the first source GeoRaster object
533 --      source1LayerNumbers - source layers of the first object to be included
534 --      source2Georaster    - the second GeoRaster object
535 --      source2LayerNumbers - source layers of the second object to be included
536 --      storageParam        - the storage parameter for the output object
537 --      outGeoraster        - the result GeoRaster object
538 --      bgValues            - background filling values
539 --      pyramidLevel        - union the layers on the pyramidLevel
540 -- NOTES
541 --   The two source GeoRaster objects must have the same row and cloumn
542 --   dimension sizes and the same georeferencing.
543 --
544 --   If storageParam is NULL, the result object has the same storage
545 --   attributes as those of the first source object.
546 --
547 PROCEDURE mergeLayers(
548    source1Georaster     IN     MDSYS.SDO_GEORASTER,
549    source1LayerNumbers  IN     VARCHAR2,
550    source2Georaster     IN     MDSYS.SDO_GEORASTER,
551    source2LayerNumbers  IN     VARCHAR2,
552    storageParam         IN     VARCHAR2,
553    outGeoraster         IN OUT MDSYS.SDO_GEORASTER,
554    bgValues             IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL,
555    pyramidLevel         IN     NUMBER DEFAULT NULL
556 );
557 
558 --
559 -- NAME:
560 --     updateRaster
561 --
562 -- DESCRIPTION
563 --     Update a specified area or the overlapping parts of one GeoRaster
564 --     object with selected bands or layers of another GeoRaster object.
565 --
566 -- ARGUMENTS
567 --     targetGeoraster    - the GeoRaster object to be updated
568 --     targetPyramidLevel - the target pyramid level to be updated
569 --     targetLayerNumbers - the layers to be updated
570 --     targetBandNumbers  - the bands to be updated
571 --     targetArea         - the area to be updated
572 --     sourceGeoraster    - the source GeoRaster object
573 --     sourcePyramidLevel - the source pyramid level
574 --     sourceLayerNumbers - the source layers to be considered
575 --     sourceBandNumbers  - the source bands to be considered
576 --     updateUpperPyramids - whether to update upper level pyramids
577 --     bgValues           - background filling values
578 --
579 -- NOTES
580 --   If georeferenced, both objects should be in the same coordinate system.
581 --   Both GeoRaster objects should have the same cell depth and spatial
582 --   resolution (if georeferenced).
583 --   If both are not georeferenced, the UTLCoordinates will be considered to
584 --   co-locate them into each other.
585 --   The two georaster objects could have different dimensions and sizes.
586 --   If targetArea is not specified (NULL), all the overlapping parts are
587 --   updated.
588 --   The band/layer numbers should have a one-to-one matching.
589 --   If the source georaster object is not large enough to fill in the target
590 --   area, the uncovered area will not be updated.
591 --   If the source georaster object is sparse, background filling values
592 --   are considered.
593 --   If the target GeoRaster objects has pyramids and/or is compressed, the
594 --   updates should be automatically reflected in the pyramids and/or be
595 --   compressed as well.
596 --
597 PROCEDURE updateRaster(
598    targetGeoraster    IN OUT MDSYS.SDO_GEORASTER,
599    targetPyramidLevel IN     NUMBER,
600    targetLayerNumbers IN     VARCHAR2,
601    targetArea         IN     MDSYS.SDO_GEOMETRY,
602    sourceGeoraster    IN     MDSYS.SDO_GEORASTER,
603    sourcePyramidLevel IN     NUMBER,
604    sourceLayerNumbers IN     VARCHAR2,
605    updateUpperPyramids IN    VARCHAR2,
606    bgValues           IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL
607 );
608 
609 PROCEDURE updateRaster(
610    targetGeoraster    IN OUT MDSYS.SDO_GEORASTER,
611    targetPyramidLevel IN     NUMBER,
612    targetBandNumbers  IN     VARCHAR2,
613    targetArea         IN     MDSYS.SDO_NUMBER_ARRAY,
614    sourceGeoraster    IN     MDSYS.SDO_GEORASTER,
615    sourcePyramidLevel IN     NUMBER,
616    sourceBandNumbers  IN     VARCHAR2,
617    updateUpperPyramids IN    VARCHAR2,
618    bgValues           IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL
619 );
620 
621 --
622 -- NAME:
623 --     createTemplate
624 --
625 -- DESCRIPTION
626 --     Generate template metadata for a georaster object, and optionally
627 --     insert entries with empty raster blocks into the RDT.
628 --
629 -- ARGUMENTS
630 --     georaster       - the georaster object
631 --     rasterType      - the raster type
632 --     rasterSpec      - the raster specification
633 --     maskLayers      - layers with bitmap mask
634 --     initRdtEntry    - whether to insert the RDT entries
635 --
636 -- NOTES
637 --
638 PROCEDURE createTemplate
639 (
640    georaster   IN OUT MDSYS.SDO_GEORASTER,
641    rasterType      IN NUMBER,
642    rasterSpec      IN VARCHAR2,
643    maskLayers      IN VARCHAR2 DEFAULT NULL,
644    initRdtEntry    IN VARCHAR2 DEFAULT NULL
645 );
646 
647 --
648 -- NAME:
649 --     getRasterBlockLocator
650 --
651 -- DESCRIPTION
655 --     georaster       - the source GeoRaster object
652 --     Get the LOB locator of a specified raster block
653 --
654 -- ARGUMENTS
656 --     pyramidLevel    - the pyramid level
657 --     bandBlockNumber - the band block number
658 --     rowBlockNumber  - the row block number
659 --     colBlockNumber  - the column block number
660 --     loc             - the in/out lob locator
661 --     isBitmapMask    - 'true' if access a rasterblock of a bitmap mask
662 --     lock_for_write  - lock for write
663 --
664 -- NOTES
665 --     If the value for isBitmapMask is not 'true' (case insensitive),
666 --     a regular raster block is accessed; otherwise, a bitmap mask block
667 --     is being accessed.
668 --
669 --     If the value for lock_for_write is not 'true' (case insensitive),
670 --     the row in the RDT is not locked.
671 --
672 PROCEDURE getRasterBlockLocator
673 (
674    georaster         IN MDSYS.SDO_GEORASTER,
675    pyramidLevel      IN NUMBER,
676    bandBlockNumber   IN NUMBER,
677    rowBlockNumber    IN NUMBER,
678    columnBlockNumber IN NUMBER,
679    loc               IN OUT NOCOPY BLOB,
680    isBitmapMask      IN VARCHAR2 DEFAULT NULL,
681    lock_for_write    IN VARCHAR2 DEFAULT NULL
682 );
683 
684 --
685 -- NAME:
686 --      getRasterBlockLocator procedure
687 --
688 -- DESCRIPTION
689 --      The procedure retrieve the raster block locator which
690 --      contains a single cell located anywhere in the georaster
691 --      object by specifying its row/column/band numbers in its
692 --      cell coordinate space  or by specifying a point geometry
693 --      in either model coordinate space or cell coordinate space
694 --
695 -- ARGUMENTS
696 --      georaster       - the georaster object to query upon
697 --      pyramidLevel    - the level in pyramid
698 --      rowNumber       - row number in cell space
699 --      colNumber       - column number in cell space
700 --      bandNumber      - band number in cell space (not model space)
701 --      layerNumber     - logical layer number
702 --      ptGeom          - a point geometry in either cell space
703 --                        or model space
704 -- RETURNS
705 --
706 --
707 PROCEDURE getRasterBlockLocator
708 (
709    georaster    IN MDSYS.SDO_GEORASTER,
710    pyramidLevel IN NUMBER,
711    rowNumber    IN NUMBER,
712    colNumber    IN NUMBER,
713    bandNumber   IN NUMBER,
714    offset       out NUMBER,
715    loc          IN OUT NOCOPY BLOB,
716    isBitmapMask      IN VARCHAR2 DEFAULT NULL,
717    lock_for_write    IN VARCHAR2 DEFAULT NULL
718 );
719 
720 PROCEDURE getRasterBlockLocator
721 (
722    georaster    IN MDSYS.SDO_GEORASTER,
723    pyramidLevel IN NUMBER,
724    ptGeom       IN MDSYS.SDO_GEOMETRY,
725    layerNumber  IN NUMBER,
726    offset       out NUMBER,
727    loc          IN OUT NOCOPY BLOB,
728    isBitmapMask      IN VARCHAR2 DEFAULT NULL,
729    lock_for_write    IN VARCHAR2 DEFAULT NULL
730 );
731 --
732 -- NAME:
733 --     getRasterRange
734 --
735 -- DESCRIPTION
736 --     Get the minimum and maximum cell values of a layer of a GeoRaster object
737 --     or the object itself (i.e., layerNumber = 0).
738 --
739 -- ARGUMENTS
740 --     georaster       - the source GeoRaster object
741 --     layerNumber     - the layer number, 0 for object layer
742 --
743 -- NOTES
744 --
745 FUNCTION getRasterRange
746 (
747     georaster            IN MDSYS.SDO_GEORASTER,
748     layerNumber          IN NUMBER DEFAULT 0
749 ) RETURN SDO_NUMBER_ARRAY DETERMINISTIC PARALLEL_ENABLE;
750 
751 
752 --
753 -- NAME:
754 --   validateBlockMBR
755 --
756 -- DESCRIPTION
757 --   check whether the blockMBR geometries in the RDT are valid
758 --
759 -- ARGUMENTS
760 --   georaster - the GeoRaster object whose blockMBRs are to be checked
761 --
762 -- RETURNS
763 --   'NULL' if the GeoRaster object is NULL;
764 --   'TRUE' if the blockMBRs are valid;
765 --    otherwise an error number
766 --
767 -- NOTES
768 --   Each blockMBR is a rectangle defined in the cell space and must be
769 --   IDENTICAL to following geometry, respectively:
770 --     MDSYS.SDO_GEOMETRY(2003,NULL,NULL,
771 --               MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),
772 --               MDSYS.SDO_ORDINATE_ARRAY(R0+rowBlockNumber*RSZ,
773 --                         C0+columnBlockNumber*CSZ,
774 --                         R0+(rowBlockNumber+1)*RSZ-1,
775 --                         C0+(columnBlockNumber+1)*CSZ-1))
776 --   where:
777 --     R0 is the upper-left row coordinate in the cell space;
778 --     C0 is the upper-left column coordinate in the cell space;
779 --     RSZ is the row block size;
780 --     CSZ is the column block size
781 
782 --   The dimension information of a blockMBR geometry must be in the order
783 --   of (ROW, COLUMN).
784 
785 FUNCTION validateBlockMBR
786 (
787    georaster IN MDSYS.SDO_GEORASTER
788 ) RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
789 
790 --
791 -- NAME:
792 --   generateBlockMBR
793 --
794 -- DESCRIPTION
798 --   georaster - the GeoRaster object whose blockMBRs are to be generated
795 --   generate correct blockMBR geometries in the RDT
796 --
797 -- ARGUMENTS
799 --
800 -- NOTES
801 --   The raster rows in the RDT are updated with the correct blockMBR values,
802 --   but the GeoRaster object itself is not changed.
803 --
804 PROCEDURE generateBlockMBR
805 (
806    georaster IN MDSYS.SDO_GEORASTER
807 );
808 
809 -- ---------------------------------------------------------------------
810 --  Compress and Decompress GeoRaster Objects
811 --
812 --  They are all embedded into "storageParam" in related procedures
813 --  using keyword "compression"
814 -- ---------------------------------------------------------------------
815 --
816 -- NAME:
817 --      calcCompressionRatio function
818 --
819 -- DESCRIPTION
820 --      calculates the compression ratio of a compressed GeoRaster
821 --      object on the fly.
822 --
823 -- ARGUMENTS
824 --      georaster  - The compressed SDO_GEORASTER object
825 --
826 -- RETURNS
827 --      A Number
828 --
829 FUNCTION calcCompressionRatio
830 (
831    georaster IN MDSYS.SDO_GEORASTER
832 )
833 RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
834 
835 
836 -- ---------------------------------------------------------------------
837 --  Update/Modify/Change GeoRaster Object Cell (or say, Raster) Data
838 --
839 --  These functions will change cell values, so use them cautiously.
840 -- ---------------------------------------------------------------------
841 --
842 -- NAME:
843 --      changeCellValue procedure
844 --
845 -- DESCRIPTION
846 --      This procedure changes all cells inside a window of each
847 --      specified layer/band to have a specified value
848 --
849 -- ARGUMENTS
850 --      georaster      - The SDO_GEORASTER object to be changed
851 --      window         - The window inside which each cell will be changed
852 --                       to have the newCellValue. If it is of SDO_GEOMETRY type,
853 --                       it can be in any coordinate space. If it is
854 --                       of SDO_NUMBER_ARRAY, it is in cell space only
855 --      layerNumbers   - The logical layers whose cells to be changed
856 --      bandNumbers    - The physical bands in cell space to be changed
857 --      newCellValue   - the new cell value for each cell inside the window
858 --                       of each specified band/layer
859 --      bgValues       - background values for filling sparse data
860 --
861 -- RETURNS
862 --      the source GeoRaster object with cells changed
863 --
864 PROCEDURE changeCellValue
865 (
866    georaster     IN OUT MDSYS.SDO_GEORASTER,
867    window        IN     MDSYS.SDO_NUMBER_ARRAY,
868    bandNumbers   IN     VARCHAR2,
869    newCellValue  IN     NUMBER,
870    bgValues      IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL
871 );
872 
873 PROCEDURE changeCellValue
874 (
875    georaster     IN OUT MDSYS.SDO_GEORASTER,
876    window        IN     MDSYS.SDO_GEOMETRY,
877    layerNumbers  IN     VARCHAR2,
878    newCellValue  IN     NUMBER,
879    bgValues      IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL
880 );
881 
882 
883 -- ---------------------------------------------------------------------
884 --    Georeference GeoRaster Objects
885 --
886 -- Other georeferencing or related functions include:
887 -- 1. setSRS() adds, modifies and deletes georeferencing info
888 -- 2. importFrom() loads ArcInfo World File from file or CLOB
889 -- 3. the tool GeoRasterLoader loads ArcInfo World File from file
890 -- ---------------------------------------------------------------------
891 
892 --
893 -- NAME:
894 --      georeference
895 --
896 -- DESCRIPTION
897 --      georeference a GeoRaster object using the provided
898 --      cell-to-model transformation coefficients.
899 --      in 10iR1, it means the following affine transformation:
900 --        x = A * col + B * row + C
901 --        y = D * col + E * row + F
902 --      where A, B, C, D, E, F are given coefficients.
903 --      The result will be the following model-to-cell tranformation:
904 --        row = a + b * x + c * y
905 --        col = d + e * x + f * y
906 --      where a, b, c, d, e, f will be stored in the SRS of the
907 --      GeoRaster object.
908 --
909 --      NOTE: the spatial resolutions might not be set by this function.
910 --            If so, call setSpatialResolutions() to do it separately.
911 --
912 -- ARGUMENTS
913 --      georaster      - the georaster object to be georeferenced
914 --      srid           - the model space onto which the georaster object
915 --                       is to be georeferenced
916 --      modelCoordinateLocation -
917 --                       the modelCoordinateLocation of each cell/pixel,
918 --                       only CENTER (0) and UPPERLEFT (1) are allowed.
919 --      xCoefficients  - A, B, C
920 --      yCoefficients  - D, E, F
921 --
922 -- RETURNS
923 --      the input georaster object for update.
924 --      the original existing SRS (if any) is overwritten.
925 --
926 PROCEDURE georeference
927 (
931    xCoefficients           IN     MDSYS.SDO_NUMBER_ARRAY,
928    georaster               IN OUT MDSYS.SDO_GEORASTER,
929    srid                    IN     NUMBER,
930    modelCoordinateLocation IN     NUMBER,
932    yCoefficients           IN     MDSYS.SDO_NUMBER_ARRAY
933 );
934 
935 
936 -- ---------------------------------------------------------------------
937 --           Query GeoRaster Object Cell (or say, Raster) Data
938 -- ---------------------------------------------------------------------
939 
940 --
941 -- NAME:
942 --      getModelCoordinate
943 --
944 -- DESCRIPTION
945 --      Given a spatial coordinate, i.e., (row, column, vertical) of
946 --      a cell in the cell coordinate space, its corresponding spatial
947 --      coordinate (X, Y, Z) in the model coordinate space
948 --      is calculated and returned.
949 --
950 -- ARGUMENTS
951 --      georaster      - the georaster object to query upon.
952 --      pyramidLevel   - the pyramid level in which the cell is.
953 --      cellCoordinate - number array containing row, column,
954 --                       and vertical if its spatial dimension is 3
955 --      modelCoordinate - a SDO_GEOMETRY object in the model space that
956 --                        contains X, Y and/or Z
957 --      height         - Z value in 3D GeoReference system
958 --
959 -- RETURNS
960 --      a SDO_GEOMETRY object containing X, Y and/or Z
961 --
962 FUNCTION getModelCoordinate
963 (
964    georaster         IN MDSYS.SDO_GEORASTER,
965    pyramidLevel      IN NUMBER,
966    cellCoordinate    IN MDSYS.SDO_NUMBER_ARRAY,
967    height            IN NUMBER DEFAULT NULL
968 )
969 RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
970 
971 PROCEDURE getModelCoordinate
972 (
973    georaster         IN MDSYS.SDO_GEORASTER,
974    pyramidLevel      IN NUMBER,
975    cellCoordinate    IN MDSYS.SDO_GEOMETRY,
976    modelCoordinate   OUT MDSYS.SDO_GEOMETRY,
977    height            IN NUMBER DEFAULT NULL
978 );
979 
980 --
981 -- NAME:
982 --      getCellCoordinate
983 --
984 -- DESCRIPTION
985 --      Given a spatial coordinate, i.e., (X, Y, Z) of a point in the model
986 --      coordinate space, its corresponding spatial coordinate (row, column,
987 --      vertical) in the cell coordinate space is calculated and returned.
988 --
989 -- ARGUMENTS
990 --      georaster       - the georaster object to query upon
991 --      pyramidLevel    - the pyramid level in which the cell is.
992 --      modelCoordinate - a SDO_GEOMETRY point containing X, Y,
993 --                        and Z if its spatial dimension is 3
994 --      subCell         - whether floating cell coordinates are returned
995 --
996 -- RETURNS
997 --      either a cellCoordinate array or a SDO_GEOMETRY object containing
998 --      row, column and/or vertical
999 --
1000 -- NOTES
1001 --      If the output type is MDSYS.SDO_NUMBER_ARRY, the input must be a point
1002 --      geometry; otherwise, the input can be geometry of any types
1003 --
1004 --      Cell coordinates are returned as floating numbers if subCell is
1005 --      'TRUE' (case insensitive). Otherwise, they are returned as integers.
1006 --
1007 FUNCTION getCellCoordinate
1008 (
1009    georaster         IN MDSYS.SDO_GEORASTER,
1010    pyramidLevel      IN NUMBER,
1011    modelCoordinate   IN MDSYS.SDO_GEOMETRY,
1012    subCell           IN VARCHAR2 DEFAULT NULL,
1013    height            IN NUMBER DEFAULT NULL,
1014    vert_id           IN NUMBER DEFAULT NULL,
1015    ellipsoidal       IN VARCHAR2 DEFAULT NULL
1016 )
1017 RETURN MDSYS.SDO_NUMBER_ARRAY DETERMINISTIC PARALLEL_ENABLE;
1018 
1019 PROCEDURE getCellCoordinate
1020 (
1021    georaster         IN MDSYS.SDO_GEORASTER,
1022    pyramidLevel      IN NUMBER,
1023    modelCoordinate   IN MDSYS.SDO_GEOMETRY,
1024    cellCoordinate    OUT MDSYS.SDO_GEOMETRY,
1025    subCell           IN VARCHAR2 DEFAULT NULL,
1026    height            IN NUMBER DEFAULT NULL,
1027    vert_id           IN NUMBER DEFAULT NULL,
1028    ellipsoidal       IN VARCHAR2 DEFAULT NULL
1029 );
1030 
1031 --
1032 -- NAME:
1033 --      getCellCoordinate
1034 --
1035 -- DESCRIPTION
1036 --      Convert cell coordinates between different pyramid levels.
1037 --
1038 -- ARGUMENTS
1039 --      georaster            - the georaster object to query upon
1040 --      sourcepyramidLevel   - the source pyramid level
1041 --      sourceCellCoordinate - the source cell coordinates
1042 --      targetPyramidLevel   - the target pyramid level
1043 --      subCell           - whether floating cell coordinates are returned
1044 --
1045 -- RETURNS
1046 --      either a sdo_number_array or a SDO_GEOMETRY object containing
1047 --      the corresponding cell coordinates at the target pyramid level.
1048 --
1049 -- NOTES
1050 --      Cell coordinates are returned as floating numbers if subCell is
1051 --      'TRUE' (case insensitive). Otherwise, they are returned as integers.
1052 --
1053 
1054 FUNCTION getCellCoordinate
1055 (
1056    georaster            IN MDSYS.SDO_GEORASTER,
1057    sourcePyramidLevel   IN NUMBER,
1058    sourceCellCoordinate IN MDSYS.SDO_NUMBER_ARRAY,
1062 
1059    targetPyramidLevel   IN NUMBER,
1060    subCell              IN VARCHAR2 DEFAULT NULL
1061 ) RETURN MDSYS.SDO_NUMBER_ARRAY DETERMINISTIC PARALLEL_ENABLE;
1063 FUNCTION getCellCoordinate
1064 (
1065    georaster            IN MDSYS.SDO_GEORASTER,
1066    sourcePyramidLevel   IN NUMBER,
1067    sourceCellCoordinate IN MDSYS.SDO_GEOMETRY,
1068    targetPyramidLevel   IN NUMBER,
1069    subCell              IN VARCHAR2 DEFAULT NULL
1070 ) RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1071 
1072 --
1073 -- NAME:
1074 --      getCellValue functions
1075 --
1076 -- DESCRIPTION
1077 --      The functions retrieve the value of a single cell
1078 --      located anywhere in the georaster object by specifying
1079 --      its row/column/band numbers in its cell coordinate space
1080 --      or by specifying a point geometry in either model
1081 --      coordinate space or cell coordinate space
1082 --
1083 -- ARGUMENTS
1084 --      georaster       - the georaster object to query upon
1085 --      pyramidLevel    - the level in pyramid
1086 --      rowNumber       - row number in cell space
1087 --      colNumber       - column number in cell space
1088 --      bandNumber      - band number in cell space (not model space)
1089 --      layerNumber     - logical layer number
1090 --      ptGeom          - a point geometry in either cell space
1091 --                        or model space
1092 -- RETURNS
1093 --      Number
1094 --
1095 FUNCTION getCellValue
1096 (
1097    georaster    IN MDSYS.SDO_GEORASTER,
1098    pyramidLevel IN NUMBER,
1099    rowNumber    IN NUMBER,
1100    colNumber    IN NUMBER,
1101    bandNumber   IN NUMBER
1102 )
1103 RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
1104 
1105 FUNCTION getCellValue
1106 (
1107    georaster    IN MDSYS.SDO_GEORASTER,
1108    pyramidLevel IN NUMBER,
1109    ptGeom       IN MDSYS.SDO_GEOMETRY,
1110    layerNumber  IN NUMBER
1111 )
1112 RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
1113 
1114 FUNCTION getCellValue
1115 (
1116    georaster    IN MDSYS.SDO_GEORASTER,
1117    pyramidLevel IN NUMBER,
1118    rowNumber    IN NUMBER,
1119    colNumber    IN NUMBER,
1120    bands        IN VARCHAR2
1121 )
1122 RETURN SDO_NUMBER_ARRAY DETERMINISTIC PARALLEL_ENABLE;
1123 
1124 FUNCTION getCellValue
1125 (
1126    georaster    IN MDSYS.SDO_GEORASTER,
1127    pyramidLevel IN NUMBER,
1128    ptGeom       IN MDSYS.SDO_GEOMETRY,
1129    layers       IN VARCHAR2
1130 )
1131 RETURN SDO_NUMBER_ARRAY DETERMINISTIC PARALLEL_ENABLE;
1132 --
1133 -- NAME:
1134 --      evaluate functions
1135 --
1136 -- DESCRIPTION
1137 --      Based on different interpolation methods specified by parameter
1138 --      interpolationMethod, the functions will evaluate and return values
1139 --      for the cells located anywhere in the georaster object by specifying
1140 --      its row/column/band numbers in its cell coordinate space
1141 --      or by specifying a point geometry in either model
1142 --      coordinate space or cell coordinate space
1143 --      The only difference between evaluate and evaluateDouble is that evaluate
1144 --      returns values based on the georaster object cellDepth, but evaluateDouble
1145 --      always returns double numbers.
1146 --
1147 -- ARGUMENTS
1148 --      georaster       - the georaster object to query upon
1149 --      pyramidLevel    - the level in pyramid
1150 --      row             - row number in cell space
1151 --      column          - column number in cell space
1152 --      bands           - band number array in cell space (not model space)
1153 --      layers          - logical layer number array
1154 --      ptGeom          - a point geometry in either cell space
1155 --                        or model space
1156 -- RETURNS
1157 --      SDO_Number_array
1158 --
1159 --FUNCTION evaluate
1160 --(
1161 --   georaster    IN MDSYS.SDO_GEORASTER,
1162 --   pyramidLevel IN NUMBER,
1163 --   row          IN NUMBER,
1164 --   column       IN NUMBER,
1165 --   bands        IN VARCHAR2,
1166 --   interpolationMethod  IN VARCHAR2
1167 --)
1168 --RETURN SDO_NUMBER_ARRAY DETERMINISTIC PARALLEL_ENABLE;
1169 
1170 --FUNCTION evaluate
1171 --(
1172 --   georaster    IN MDSYS.SDO_GEORASTER,
1173 --   pyramidLevel IN NUMBER,
1174 --   ptGeom       IN MDSYS.SDO_GEOMETRY,
1175 --   layers       IN VARCHAR2,
1176 --   interpolationMethod  IN VARCHAR2
1177 --)
1178 --RETURN SDO_NUMBER_ARRAY DETERMINISTIC PARALLEL_ENABLE;
1179 
1180 FUNCTION evaluateDouble
1181 (
1182    georaster    IN MDSYS.SDO_GEORASTER,
1183    pyramidLevel IN NUMBER,
1184    row          IN NUMBER,
1185    column       IN NUMBER,
1186    bands        IN VARCHAR2,
1187    interpolationMethod  IN VARCHAR2
1188 )
1189 RETURN SDO_NUMBER_ARRAY DETERMINISTIC PARALLEL_ENABLE;
1190 
1191 FUNCTION evaluateDouble
1192 (
1193    georaster    IN MDSYS.SDO_GEORASTER,
1194    pyramidLevel IN NUMBER,
1195    ptGeom       IN MDSYS.SDO_GEOMETRY,
1196    layers       IN VARCHAR2,
1197    interpolationMethod  IN VARCHAR2
1198 )
1199 RETURN SDO_NUMBER_ARRAY DETERMINISTIC PARALLEL_ENABLE;
1200 
1201 
1202 --
1203 -- NAME:
1207 --      This function returns a sdo_rasterset table containing
1204 --      getRasterBlocks functions
1205 --
1206 -- DESCRIPTION
1208 --      all sub-blocks of the specified pramid level which are
1209 --      inside and touch the given window
1210 --
1211 -- ARGUMENTS
1212 --      georaster       - the georaster object to query upon
1213 --      pyramidLevel    - the level in pyramid
1214 --      window          - a rectanglar window in cell space
1215 --
1216 -- RETURNS
1217 --      SDO_RASTERSET
1218 --
1219 FUNCTION getRasterBlocks
1220 (
1221    georaster        IN MDSYS.SDO_GEORASTER,
1222    pyramidLevel     IN NUMBER,
1223    window           IN MDSYS.SDO_NUMBER_ARRAY
1224 )
1225 return MDSYS.SDO_RASTERSET DETERMINISTIC;
1226 
1227 --
1228 -- NAME:
1229 --      getRasterBlocks functions
1230 --
1231 -- DESCRIPTION
1232 --      This function returns a sdo_rasterset table containing
1233 --      all sub-blocks of the specified pramid level which are
1234 --      inside and touch the given window
1235 --
1236 -- ARGUMENTS
1237 --      georaster       - the georaster object to query upon
1238 --      pyramidLevel    - the level in pyramid
1239 --      window          - a SDO geometry
1240 --
1241 -- RETURNS
1242 --      SDO_RASTERSET
1243 --
1244 FUNCTION getRasterBlocks
1245 (
1246    georaster        IN MDSYS.SDO_GEORASTER,
1247    pyramidLevel     IN NUMBER,
1248    window           IN MDSYS.SDO_GEOMETRY
1249 )
1250 return MDSYS.SDO_RASTERSET DETERMINISTIC;
1251 
1252 
1253 --
1254 -- NAME:
1255 --      getRasterSubset
1256 --
1257 -- DESCRIPTION
1258 --      This function returns a single blob holding the mosaic of
1259 --      all sub-blocks of the specified pramid level which are
1260 --      inside and touch the given window
1261 --
1262 -- ARGUMENTS
1263 --      georaster       - the georaster object to query upon
1264 --      pyramidLevel    - the level in pyramid
1265 --      inWindow        - the window of interest
1266 --      bandNumbers     - bandNumbers
1267 --      rasterBlob      - holds the result, i.e., the mosaicked
1268 --                        raster subset
1269 --      outWindow       - the output window
1270 --      storageParam    - storage parameters for the output
1271 --      bgValues        - background values
1272 --
1273 -- RETURNS
1274 --      BLOB
1275 --
1276 -- NOTES
1277 --      if the type of inWindow is SDO_NUMBER_ARRAY, it specifies a rectanglar
1278 --      window in the cell space
1279 --      outWindow contains the coordinates of the upper-left and bottom-right
1280 --      corners of the output window in the cell space
1281 --
1282 PROCEDURE getRasterSubset
1283 (
1284    georaster      IN     MDSYS.SDO_GEORASTER,
1285    pyramidLevel   IN     NUMBER,
1286    window         IN     MDSYS.SDO_NUMBER_ARRAY,
1287    bandNumbers    IN     VARCHAR2,
1288    rasterBlob     IN OUT NOCOPY BLOB,
1289    storageParam   IN     VARCHAR2 DEFAULT NULL,
1290    bgValues       IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL
1291 );
1292 
1293 PROCEDURE getRasterSubset
1294 (
1295    georaster      IN     MDSYS.SDO_GEORASTER,
1296    pyramidLevel   IN     NUMBER,
1297    inWindow       IN     MDSYS.SDO_NUMBER_ARRAY,
1298    bandNumbers    IN     VARCHAR2,
1299    rasterBlob     IN OUT NOCOPY BLOB,
1300    outWindow      OUT    SDO_NUMBER_ARRAY,
1301    storageParam   IN     VARCHAR2 DEFAULT NULL,
1302    bgValues       IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL
1303 );
1304 
1305 PROCEDURE getRasterSubset
1306 (
1307    georaster      IN     MDSYS.SDO_GEORASTER,
1308    pyramidLevel   IN     NUMBER,
1309    window         IN     MDSYS.SDO_GEOMETRY,
1310    layerNumbers   IN     VARCHAR2,
1311    rasterBlob     IN OUT NOCOPY BLOB,
1312    storageParam   IN     VARCHAR2 DEFAULT NULL,
1313    bgValues       IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL,
1314    polygonClip    IN     VARCHAR2 DEFAULT NULL
1315 );
1316 
1317 PROCEDURE getRasterSubset
1318 (
1319    georaster      IN     MDSYS.SDO_GEORASTER,
1320    pyramidLevel   IN     NUMBER,
1321    inWindow       IN     MDSYS.SDO_GEOMETRY,
1322    layerNumbers   IN     VARCHAR2,
1323    rasterBlob     IN OUT NOCOPY BLOB,
1324    outWindow      OUT    MDSYS.SDO_NUMBER_ARRAY,
1325    storageParam   IN     VARCHAR2 DEFAULT NULL,
1326    bgValues       IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL,
1327    polygonClip    IN     VARCHAR2 DEFAULT NULL
1328 );
1329 
1330 --
1331 -- NAME:
1332 --      getRasterData
1333 --
1334 -- DESCRIPTION
1335 --      This function returns a single blob holding all raster data
1336 --      of the input georaster object at the specified pyramid level.
1337 --      If it is blocked, the mosaic of all blocks of the specified
1338 --      pramid level is returned.
1339 --
1340 -- ARGUMENTS
1341 --      georaster       - the georaster object to query upon
1342 --      pyramidLevel    - the level in pyramid
1343 --      rasterBlob      - holds the result, i.e., the raster data
1344 --      storageParam    - storage parameters for the output
1345 --      bgValues        - background values
1346 --
1347 -- RETURNS
1348 --      BLOB
1349 --
1350 PROCEDURE getRasterData
1351 (
1355    storageParam   IN     VARCHAR2 DEFAULT NULL,
1352    georaster      IN     MDSYS.SDO_GEORASTER,
1353    pyramidLevel   IN     NUMBER,
1354    rasterBlob     IN OUT NOCOPY BLOB,
1356    bgValues       IN     MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL
1357 );
1358 
1359 
1360 -- ---------------------------------------------------------------------
1361 --        Query GeoRaster Object Metadata and Ancillary Data
1362 -- ---------------------------------------------------------------------
1363 
1364 FUNCTION getVersion
1365 (
1366   georaster    IN MDSYS.SDO_GEORASTER
1367 )
1368 RETURN VARCHAR2 DETERMINISTIC  PARALLEL_ENABLE;
1369 
1370 FUNCTION getID
1371 (
1372   georaster    IN MDSYS.SDO_GEORASTER
1373 )
1374 RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
1375 
1376 FUNCTION isBlank
1377 (
1378    georaster    IN MDSYS.SDO_GEORASTER
1379 )
1380 RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
1381 
1382 FUNCTION getBlankCellValue
1383 (
1384    georaster    IN MDSYS.SDO_GEORASTER
1385 )
1386 RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
1387 
1388 FUNCTION getDefaultColorLayer
1389 (
1390    georaster    IN MDSYS.SDO_GEORASTER
1391 )
1392 RETURN MDSYS.SDO_NUMBER_ARRAY DETERMINISTIC PARALLEL_ENABLE;
1393 
1394 FUNCTION getDefaultRed
1395 (
1396    georaster    IN MDSYS.SDO_GEORASTER
1397 )
1398 RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
1399 
1400 FUNCTION getDefaultBlue
1401 (
1402    georaster    IN MDSYS.SDO_GEORASTER
1403 )
1404 RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
1405 
1406 FUNCTION getDefaultGreen
1407 (
1408    georaster    IN MDSYS.SDO_GEORASTER
1409 )
1410 RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
1411 
1412 FUNCTION getDefaultAlpha
1413 (
1414    georaster    IN MDSYS.SDO_GEORASTER
1415 )
1416 RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
1417 
1418 FUNCTION getDefaultPyramidLevel
1419 (
1420    georaster    IN MDSYS.SDO_GEORASTER
1421 )
1422 RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
1423 
1424 FUNCTION getSpatialDimNumber
1425 (
1426    georaster    IN MDSYS.SDO_GEORASTER
1427 )
1428 RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
1429 
1430 FUNCTION getSpatialDimSizes
1431 (
1432    georaster    IN MDSYS.SDO_GEORASTER
1433 )
1434 RETURN MDSYS.SDO_NUMBER_ARRAY DETERMINISTIC PARALLEL_ENABLE;
1435 
1436 FUNCTION getBandDimSize
1437 (
1438    georaster    IN MDSYS.SDO_GEORASTER
1439 )
1440 RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
1441 
1442 FUNCTION getCellDepth
1443 (
1444    georaster    IN MDSYS.SDO_GEORASTER
1445 )
1446 RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
1447 
1448 FUNCTION getNODATA
1449 (
1450    georaster    IN MDSYS.SDO_GEORASTER
1451 )
1452 RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
1453 
1454 FUNCTION getULTCoordinate
1455 (
1456    georaster    IN MDSYS.SDO_GEORASTER
1457 )
1458 RETURN MDSYS.SDO_NUMBER_ARRAY DETERMINISTIC PARALLEL_ENABLE;
1459 
1460 FUNCTION getInterleavingType
1461 (
1462    georaster    IN MDSYS.SDO_GEORASTER
1463 )
1464 RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
1465 
1466 FUNCTION getCompressionType
1467 (
1468    georaster    IN MDSYS.SDO_GEORASTER
1469 )
1470 RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
1471 
1472 FUNCTION getBlockingType
1473 (
1474    georaster    IN MDSYS.SDO_GEORASTER
1475 )
1476 RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
1477 
1478 FUNCTION getBlockSize
1479 (
1480    georaster    IN MDSYS.SDO_GEORASTER
1481 )
1482 RETURN MDSYS.SDO_NUMBER_ARRAY DETERMINISTIC PARALLEL_ENABLE;
1483 
1484 FUNCTION getPyramidType
1485 (
1486    georaster    IN MDSYS.SDO_GEORASTER
1487 )
1488 RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
1489 
1490 FUNCTION getPyramidMaxLevel
1491 (
1492    georaster    IN MDSYS.SDO_GEORASTER
1493 )
1494 RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
1495 
1496 FUNCTION isSpatialReferenced
1497 (
1498    georaster    IN MDSYS.SDO_GEORASTER
1499 )
1500 RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
1501 
1502 FUNCTION isRectified
1503 (
1504    georaster    IN MDSYS.SDO_GEORASTER
1505 )
1506 RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
1507 
1508 FUNCTION isOrthoRectified
1509 (
1510    georaster    IN MDSYS.SDO_GEORASTER
1511 )
1512 RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
1513 
1514 FUNCTION getModelSRID
1515 (
1516    georaster    IN MDSYS.SDO_GEORASTER
1517 )
1518 RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
1519 
1520 FUNCTION getSpatialResolutions
1521 (
1522    georaster    IN MDSYS.SDO_GEORASTER
1523 )
1524 RETURN MDSYS.SDO_NUMBER_ARRAY DETERMINISTIC PARALLEL_ENABLE;
1525 
1526 FUNCTION getSRS
1527 (
1528    georaster    IN MDSYS.SDO_GEORASTER
1529 )
1530 RETURN MDSYS.SDO_GEOR_SRS DETERMINISTIC PARALLEL_ENABLE;
1531 
1532 FUNCTION getModelCoordLocation
1533 (
1534    georaster    IN MDSYS.SDO_GEORASTER
1535 )
1536 RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
1537 
1538 FUNCTION getBeginDateTime
1539 (
1543 
1540    georaster    IN MDSYS.SDO_GEORASTER
1541 )
1542 RETURN TIMESTAMP WITH TIME ZONE DETERMINISTIC PARALLEL_ENABLE;
1544 FUNCTION getEndDateTime
1545 (
1546    georaster    IN MDSYS.SDO_GEORASTER
1547 )
1548 RETURN TIMESTAMP WITH TIME ZONE DETERMINISTIC PARALLEL_ENABLE;
1549 
1550 FUNCTION getSpectralUnit
1551 (
1552    georaster    IN MDSYS.SDO_GEORASTER
1553 )
1554 RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
1555 
1556 FUNCTION getSpectralResolution
1557 (
1558    georaster    IN MDSYS.SDO_GEORASTER
1559 )
1560 RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
1561 
1562 -- for all layer-related get and set functions,
1563 -- layerNumber = 0 means the object layer
1564 -- layerDimension defaults to 'BAND' if not specified
1565 
1566 FUNCTION getLayerDimension
1567 (
1568    georaster    IN MDSYS.SDO_GEORASTER
1569 )
1570 RETURN MDSYS.SDO_STRING_ARRAY DETERMINISTIC PARALLEL_ENABLE;
1571 
1572 FUNCTION getTotalLayerNumber
1573 (
1574    georaster    IN MDSYS.SDO_GEORASTER
1575 )
1576 RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
1577 
1578 FUNCTION getLayerOrdinate
1579 (
1580    georaster    IN MDSYS.SDO_GEORASTER,
1581    layerNumber  IN NUMBER
1582 )
1583 RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
1584 
1585 FUNCTION getLayerID
1586 (
1587    georaster    IN MDSYS.SDO_GEORASTER,
1588    layerNumber  IN NUMBER
1589 )
1590 RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
1591 
1592 FUNCTION getScaling
1593 (
1594    georaster    IN MDSYS.SDO_GEORASTER,
1595    layerNumber  IN NUMBER
1596 )
1597 RETURN MDSYS.SDO_NUMBER_ARRAY DETERMINISTIC PARALLEL_ENABLE;
1598 
1599 FUNCTION getBinType
1600 (
1601    georaster    IN MDSYS.SDO_GEORASTER,
1602    layerNumber  IN NUMBER
1603 )
1604 RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
1605 
1606 FUNCTION getBinTable
1607 (
1608    georaster    IN MDSYS.SDO_GEORASTER,
1609    layerNumber  IN NUMBER
1610 )
1611 RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
1612 
1613 FUNCTION getBinFunction
1614 (
1615    georaster    IN MDSYS.SDO_GEORASTER,
1616    layerNumber  IN NUMBER
1617 )
1618 RETURN MDSYS.SDO_NUMBER_ARRAY DETERMINISTIC PARALLEL_ENABLE;
1619 
1620 FUNCTION getStatistics
1621 (
1622    georaster    IN MDSYS.SDO_GEORASTER,
1623    layerNumber  IN NUMBER
1624 )
1625 RETURN MDSYS.SDO_NUMBER_ARRAY DETERMINISTIC PARALLEL_ENABLE;
1626 
1627 FUNCTION getHistogram
1628 (
1629    georaster    IN MDSYS.SDO_GEORASTER,
1630    layerNumber  IN NUMBER
1631 )
1632 RETURN MDSYS.SDO_GEOR_HISTOGRAM DETERMINISTIC PARALLEL_ENABLE;
1633 
1634 FUNCTION getHistogramTable
1635 (
1636    georaster    IN MDSYS.SDO_GEORASTER,
1637    layerNumber  IN NUMBER
1638 )
1639 RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
1640 
1641 FUNCTION hasGrayScale
1642 (
1643    georaster    IN MDSYS.SDO_GEORASTER,
1644    layerNumber  IN NUMBER
1645 )
1646 RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
1647 
1648 FUNCTION getGrayScale
1649 (
1650    georaster    IN MDSYS.SDO_GEORASTER,
1651    layerNumber  IN NUMBER
1652 )
1653 RETURN MDSYS.SDO_GEOR_GRAYSCALE DETERMINISTIC PARALLEL_ENABLE;
1654 
1655 FUNCTION getGrayScaleTable
1656 (
1657    georaster    IN MDSYS.SDO_GEORASTER,
1658    layerNumber  IN NUMBER
1659 )
1660 RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
1661 
1662 FUNCTION hasPseudoColor
1663 (
1664    georaster    IN MDSYS.SDO_GEORASTER,
1665    layerNumber  IN NUMBER
1666 )
1667 RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
1668 
1669 FUNCTION getColorMap
1670 (
1671    georaster    IN MDSYS.SDO_GEORASTER,
1672    layerNumber  IN NUMBER
1673 )
1674 RETURN MDSYS.SDO_GEOR_COLORMAP DETERMINISTIC PARALLEL_ENABLE;
1675 
1676 FUNCTION getColorMapTable
1677 (
1678    georaster    IN MDSYS.SDO_GEORASTER,
1679    layerNumber  IN NUMBER
1680 )
1681 RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
1682 
1683 FUNCTION getVAT
1684 (
1685    georaster    IN MDSYS.SDO_GEORASTER,
1686    layerNumber  IN NUMBER
1687 )
1688 RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
1689 
1690 
1691 -- ---------------------------------------------------------------------
1692 --
1693 --   statistics functions
1694 --
1695 -- ---------------------------------------------------------------------
1696 
1697 Function  generateStatistics
1698 (
1699     georaster         IN OUT MDSYS.SDO_GEORASTER,
1700     samplingFactor    IN VARCHAR2,
1701     samplingWindow    IN SDO_GEOMETRY,
1702     histogram         IN VARCHAR2,
1703     layerNumbers      IN VARCHAR2 DEFAULT NULL,
1704     useBin            IN VARCHAR2 DEFAULT 'TRUE',
1705     binFunction       IN MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL,
1706     nodata            IN VARCHAR2 DEFAULT 'FALSE'
1707 )
1708 return Varchar2;
1709 
1710 Function generateStatistics
1711 (
1712     georaster         IN OUT MDSYS.SDO_GEORASTER,
1713     samplingFactor    IN VARCHAR2,
1714     samplingWindow    IN SDO_NUMBER_ARRAY,
1715     histogram         IN VARCHAR2,
1716     layerNumbers      IN VARCHAR2 DEFAULT NULL,
1717     useBin            IN VARCHAR2 DEFAULT 'TRUE',
1721 return Varchar2;
1718     binFunction       IN MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL,
1719     nodata            IN VARCHAR2 DEFAULT 'FALSE'
1720 )
1722 
1723 
1724 Function  generateStatistics
1725 (
1726     georaster         IN MDSYS.SDO_GEORASTER,
1727     pyramidLevel      IN NUMBER,
1728     samplingFactor    IN VARCHAR2,
1729     samplingWindow    IN SDO_NUMBER_ARRAY,
1730     bandNumbers       IN VARCHAR2 DEFAULT NULL,
1731     nodata            IN VARCHAR2 DEFAULT 'FALSE'
1732 )
1733 return SDO_NUMBER_ARRAY;
1734 
1735 Function generateStatistics
1736 (
1737     georaster         IN MDSYS.SDO_GEORASTER,
1738     pyramidLevel      IN NUMBER,
1739     samplingFactor    IN VARCHAR2,
1740     samplingWindow    IN SDO_GEOMETRY,
1741     bandNumbers       IN VARCHAR2 DEFAULT NULL,
1742     nodata            IN VARCHAR2 DEFAULT 'FALSE',
1743     polygonClip       IN VARCHAR2 DEFAULT NULL
1744 )
1745 return SDO_NUMBER_ARRAY;
1746 
1747 Function generateStatisticsMax
1748 (
1749     georaster         IN MDSYS.SDO_GEORASTER,
1750     pyramidLevel      IN NUMBER,
1751     samplingFactor    IN VARCHAR2,
1752     samplingWindow    IN SDO_NUMBER_ARRAY,
1753     bandNumbers       IN VARCHAR2 DEFAULT NULL,
1754     nodata            IN VARCHAR2 DEFAULT 'FALSE'
1755 )
1756 return NUMBER;
1757 
1758 Function generateStatisticsMax
1759 (
1760     georaster         IN MDSYS.SDO_GEORASTER,
1761     pyramidLevel      IN NUMBER,
1762     samplingFactor    IN VARCHAR2,
1763     samplingWindow    IN SDO_GEOMETRY,
1764     bandNumbers       IN VARCHAR2 DEFAULT NULL,
1765     nodata            IN VARCHAR2 DEFAULT 'FALSE',
1766     polygonClip       IN VARCHAR2 DEFAULT NULL
1767 )
1768 return NUMBER;
1769 
1770 Function generateStatisticsMin
1771 (
1772     georaster         IN MDSYS.SDO_GEORASTER,
1773     pyramidLevel      IN NUMBER,
1774     samplingFactor    IN VARCHAR2,
1775     samplingWindow    IN SDO_NUMBER_ARRAY,
1776     bandNumbers       IN VARCHAR2 DEFAULT NULL,
1777     nodata            IN VARCHAR2 DEFAULT 'FALSE'
1778 )
1779 return NUMBER;
1780 
1781 Function generateStatisticsMin
1782 (
1783     georaster         IN MDSYS.SDO_GEORASTER,
1784     pyramidLevel      IN NUMBER,
1785     samplingFactor    IN VARCHAR2,
1786     samplingWindow    IN SDO_GEOMETRY,
1787     bandNumbers       IN VARCHAR2 DEFAULT NULL,
1788     nodata            IN VARCHAR2 DEFAULT 'FALSE',
1789     polygonClip       IN VARCHAR2 DEFAULT NULL
1790 )
1791 return NUMBER;
1792 
1793 Function generateStatisticsMean
1794 (
1795     georaster         IN MDSYS.SDO_GEORASTER,
1796     pyramidLevel      IN NUMBER,
1797     samplingFactor    IN VARCHAR2,
1798     samplingWindow    IN SDO_NUMBER_ARRAY,
1799     bandNumbers       IN VARCHAR2 DEFAULT NULL,
1800     nodata            IN VARCHAR2 DEFAULT 'FALSE'
1801 )
1802 return NUMBER;
1803 
1804 Function generateStatisticsMean
1805 (
1806     georaster         IN MDSYS.SDO_GEORASTER,
1807     pyramidLevel      IN NUMBER,
1808     samplingFactor    IN VARCHAR2,
1809     samplingWindow    IN SDO_GEOMETRY,
1810     bandNumbers       IN VARCHAR2 DEFAULT NULL,
1811     nodata            IN VARCHAR2 DEFAULT 'FALSE',
1812     polygonClip       IN VARCHAR2 DEFAULT NULL
1813 )
1814 return NUMBER;
1815 Function generateStatisticsSTD
1816 (
1817     georaster         IN MDSYS.SDO_GEORASTER,
1818     pyramidLevel      IN NUMBER,
1819     samplingFactor    IN VARCHAR2,
1820     samplingWindow    IN SDO_NUMBER_ARRAY,
1821     bandNumbers       IN VARCHAR2 DEFAULT NULL,
1822     nodata            IN VARCHAR2 DEFAULT 'FALSE'
1823 )
1824 return NUMBER;
1825 
1826 Function generateStatisticsSTD
1827 (
1828     georaster         IN MDSYS.SDO_GEORASTER,
1829     pyramidLevel      IN NUMBER,
1830     samplingFactor    IN VARCHAR2,
1831     samplingWindow    IN SDO_GEOMETRY,
1832     bandNumbers       IN VARCHAR2 DEFAULT NULL,
1833     nodata            IN VARCHAR2 DEFAULT 'FALSE',
1834     polygonClip       IN VARCHAR2 DEFAULT NULL
1835 )
1836 return NUMBER;
1837 
1838 
1839 Function generateStatisticsMedian
1840 (
1841     georaster         IN MDSYS.SDO_GEORASTER,
1842     pyramidLevel      IN NUMBER,
1843     samplingFactor    IN VARCHAR2,
1844     samplingWindow    IN SDO_NUMBER_ARRAY,
1845     bandNumbers       IN VARCHAR2 DEFAULT NULL,
1846     nodata            IN VARCHAR2 DEFAULT 'FALSE'
1847 )
1848 return NUMBER;
1849 
1850 Function generateStatisticsMedian
1851 (
1852     georaster         IN MDSYS.SDO_GEORASTER,
1853     pyramidLevel      IN NUMBER,
1854     samplingFactor    IN VARCHAR2,
1855     samplingWindow    IN SDO_GEOMETRY,
1856     bandNumbers       IN VARCHAR2 DEFAULT NULL,
1857     nodata            IN VARCHAR2 DEFAULT 'FALSE',
1858     polygonClip       IN VARCHAR2 DEFAULT NULL
1859 )
1860 return NUMBER;
1861 
1862 Function generateStatisticsMode
1863 (
1864     georaster         IN MDSYS.SDO_GEORASTER,
1865     pyramidLevel      IN NUMBER,
1866     samplingFactor    IN VARCHAR2,
1867     samplingWindow    IN SDO_NUMBER_ARRAY,
1868     bandNumbers       IN VARCHAR2 DEFAULT NULL,
1872 
1869     nodata            IN VARCHAR2 DEFAULT 'FALSE'
1870 )
1871 return NUMBER;
1873 Function generateStatisticsMode
1874 (
1875     georaster         IN MDSYS.SDO_GEORASTER,
1876     pyramidLevel      IN NUMBER,
1877     samplingFactor    IN VARCHAR2,
1878     samplingWindow    IN SDO_GEOMETRY,
1879     bandNumbers       IN VARCHAR2 DEFAULT NULL,
1880     nodata            IN VARCHAR2 DEFAULT 'FALSE',
1881     polygonClip       IN VARCHAR2 DEFAULT NULL
1882 )
1883 return NUMBER;
1884 
1885 -- ---------------------------------------------------------------------
1886 --    Update and Delete GeoRaster Object Metadata and Ancillary Data
1887 --
1888 --  SET procedures function as both UPDATE/MODIFY and DELETE.
1889 --  In SET procedures, if the parameter is given as null, it will DELETE
1890 --  the corresponding item/data in the georaster object only if the item
1891 --  is allowed to be deleted (optional or minOccurs=0 in xml schema) and
1892 --  without other dependency and inter-relationship issues.
1893 --  Validation will be done in those procedures in both cases.
1894 --  To avoid losing data, use them cautiously.
1895 -- ---------------------------------------------------------------------
1896 
1897 -- change the last two digits only
1898 PROCEDURE setRasterType
1899 (
1900   georaster     IN OUT MDSYS.SDO_GEORASTER,
1901   rasterType    IN     NUMBER
1902 );
1903 
1904 PROCEDURE setID
1905 (
1906   georaster     IN OUT MDSYS.SDO_GEORASTER,
1907   id            IN     VARCHAR2
1908 );
1909 
1910 PROCEDURE setBlankCellValue
1911 (
1912    georaster    IN OUT MDSYS.SDO_GEORASTER,
1913    value        IN     NUMBER
1914 );
1915 
1916 PROCEDURE setDefaultColorLayer
1917 (
1918    georaster    IN OUT MDSYS.SDO_GEORASTER,
1919    defaultRGB   IN     MDSYS.SDO_NUMBER_ARRAY
1920 );
1921 
1922 PROCEDURE setDefaultRed
1923 (
1924    georaster    IN OUT MDSYS.SDO_GEORASTER,
1925    defaultRed   IN     NUMBER
1926 );
1927 
1928 PROCEDURE setDefaultGreen
1929 (
1930    georaster    IN OUT MDSYS.SDO_GEORASTER,
1931    defaultGreen IN     NUMBER
1932 );
1933 
1934 PROCEDURE setDefaultBlue
1935 (
1936    georaster    IN OUT MDSYS.SDO_GEORASTER,
1937    defaultBlue  IN     NUMBER
1938 );
1939 
1940 PROCEDURE setDefaultAlpha
1941 (
1942    georaster    IN OUT MDSYS.SDO_GEORASTER,
1943    defaultAlpha  IN     NUMBER
1944 );
1945 
1946 PROCEDURE setDefaultPyramidLevel
1947 (
1948    georaster    IN OUT MDSYS.SDO_GEORASTER,
1949    defaultPyramidLevel  IN     NUMBER
1950 );
1951 
1952 -- only if not spatial, temporal and band referenced
1953 PROCEDURE setULTCoordinate
1954 (
1955    georaster    IN OUT MDSYS.SDO_GEORASTER,
1956    ultCoord     IN     MDSYS.SDO_NUMBER_ARRAY
1957 );
1958 
1959 PROCEDURE setSpatialReferenced
1960 (
1961    georaster    IN OUT MDSYS.SDO_GEORASTER,
1962    isReferenced IN     VARCHAR2
1963 );
1964 
1965 -- set TRUE only if spatial referenced
1966 PROCEDURE setRectified
1967 (
1968    georaster    IN OUT MDSYS.SDO_GEORASTER,
1969    isRectified  IN     VARCHAR2
1970 );
1971 
1972 -- set TRUE only if rectified
1973 PROCEDURE setOrthoRectified
1974 (
1975    georaster        IN OUT MDSYS.SDO_GEORASTER,
1976    isOrthoRectified IN     VARCHAR2
1977 );
1978 
1979 PROCEDURE setModelSRID
1980 (
1981    georaster    IN OUT MDSYS.SDO_GEORASTER,
1982    srid         IN     NUMBER
1983 );
1984 
1985 PROCEDURE setSpatialResolutions
1986 (
1987    georaster    IN OUT MDSYS.SDO_GEORASTER,
1988    resolutions  IN     MDSYS.SDO_NUMBER_ARRAY
1989 );
1990 
1991 PROCEDURE setSRS
1992 (
1993    georaster    IN OUT MDSYS.SDO_GEORASTER,
1994    srs          IN     MDSYS.SDO_GEOR_SRS
1995 );
1996 
1997 -- value can be set only if spatial referenced
1998 PROCEDURE setModelCoordLocation
1999 (
2000    georaster     IN OUT MDSYS.SDO_GEORASTER,
2001    modelCoordLoc IN     VARCHAR2
2002 );
2003 
2004 
2005 PROCEDURE setBeginDateTime
2006 (
2007    georaster    IN OUT MDSYS.SDO_GEORASTER,
2008    beginTime    IN     TIMESTAMP WITH TIME ZONE
2009 );
2010 
2011 PROCEDURE setEndDateTime
2012 (
2013    georaster    IN OUT MDSYS.SDO_GEORASTER,
2014    endTime      IN     TIMESTAMP WITH TIME ZONE
2015 );
2016 
2017 PROCEDURE setSpectralUnit
2018 (
2019    georaster    IN OUT MDSYS.SDO_GEORASTER,
2020    unit         IN     VARCHAR2
2021 );
2022 
2023 PROCEDURE setSpectralResolution
2024 (
2025    georaster    IN OUT MDSYS.SDO_GEORASTER,
2026    resolution   IN     NUMBER
2027 );
2028 
2029 PROCEDURE setLayerOrdinate
2030 (
2031    georaster    IN OUT MDSYS.SDO_GEORASTER,
2032    layerNumber  IN     NUMBER,
2033    ordinate     IN     NUMBER
2034 );
2035 
2036 PROCEDURE setLayerID
2037 (
2038    georaster    IN OUT MDSYS.SDO_GEORASTER,
2039    layerNumber  IN     NUMBER,
2040    id           IN     VARCHAR2
2041 );
2042 
2043 PROCEDURE setScaling
2044 (
2045    georaster    IN OUT MDSYS.SDO_GEORASTER,
2046    layerNumber  IN     NUMBER,
2050 -- change binType if necessary
2047    scalingFunc  IN     MDSYS.SDO_NUMBER_ARRAY
2048 );
2049 
2051 PROCEDURE setBinTable
2052 (
2053    georaster    IN OUT MDSYS.SDO_GEORASTER,
2054    layerNumber  IN     NUMBER,
2055    tableName    IN     VARCHAR2
2056 );
2057 
2058 PROCEDURE setBinFunction(
2059    georaster   IN OUT MDSYS.SDO_GEORASTER,
2060    layerNumber IN     NUMBER,
2061    binFunction IN     MDSYS.SDO_NUMBER_ARRAY
2062 );
2063 
2064 PROCEDURE setGrayScale
2065 (
2066    georaster    IN OUT MDSYS.SDO_GEORASTER,
2067    layerNumber  IN     NUMBER,
2068    grayScale    IN     MDSYS.SDO_GEOR_GRAYSCALE
2069 );
2070 
2071 PROCEDURE setGrayScaleTable
2072 (
2073    georaster    IN OUT MDSYS.SDO_GEORASTER,
2074    layerNumber  IN     NUMBER,
2075    tableName    IN     VARCHAR2
2076 );
2077 
2078 PROCEDURE setColorMap
2079 (
2080    georaster    IN OUT MDSYS.SDO_GEORASTER,
2081    layerNumber  IN     NUMBER,
2082    colorMap     IN     MDSYS.SDO_GEOR_COLORMAP
2083 );
2084 
2085 PROCEDURE setColorMapTable
2086 (
2087    georaster    IN OUT MDSYS.SDO_GEORASTER,
2088    layerNumber  IN     NUMBER,
2089    tableName    IN     VARCHAR2
2090 );
2091 
2092 PROCEDURE setVAT
2093 (
2094    georaster    IN OUT MDSYS.SDO_GEORASTER,
2095    layerNumber  IN     NUMBER,
2096    vatName      IN     VARCHAR2
2097 );
2098 
2099 PROCEDURE setVersion
2100 (
2101   georaster    IN OUT MDSYS.SDO_GEORASTER,
2102   majorVersion IN VARCHAR2,
2103   minorVersion IN VARCHAR2
2104 );
2105 
2106 PROCEDURE setStatistics
2107 (
2108   georaster    IN OUT MDSYS.SDO_GEORASTER,
2109   layerNumber  IN NUMBER,
2110   statistics   IN MDSYS.SDO_NUMBER_ARRAY
2111 );
2112 
2113 --
2114 -- NOTES
2115 --   1) Whenever histogram is updated, new statistics must be provided.
2116 --   2) If statistics is set with different samplingFactor/samplingWindow,
2117 --      existing histogram is removed if not reset.
2118 --   3) The samplingWindow must be inside the extent in the cell space.
2119 --   4) If not specified, the default value for samplingFactor is 1.
2120 --   5) If not specified, the default value for samplingWindow is the
2121 --      whole image and it is removed from the metadata.
2122 --
2123 PROCEDURE setStatistics
2124 (
2125   georaster    IN OUT MDSYS.SDO_GEORASTER,
2126   layerNumber  IN NUMBER,
2127   statistics   IN MDSYS.SDO_NUMBER_ARRAY,
2128   histogram    IN MDSYS.SDO_GEOR_HISTOGRAM,
2129   samplingFactor IN NUMBER DEFAULT NULL,
2130   samplingWindow IN MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL
2131 );
2132 
2133 -- NOTES
2134 --   1) The histogram table cannot be set if no statistics exist.
2135 --   2) The histogram table is removed if histogramTable is NULL.
2136 --   3) The samplingWindow must be inside the extent in the cell space.
2137 --   4) If not specified, the default value for samplingFactor is 1.
2138 --   5) If not specified, the default value for samplingWindow is the
2139 --      whole image and it is removed from the metadata.
2140 --
2141 PROCEDURE setStatistics
2142 (
2143   georaster    IN OUT MDSYS.SDO_GEORASTER,
2144   layerNumber  IN NUMBER,
2145   statistics   IN MDSYS.SDO_NUMBER_ARRAY,
2146   histogramTable IN VARCHAR2,
2147   samplingFactor IN NUMBER DEFAULT NULL,
2148   samplingWindow IN MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL
2149 );
2150 
2151 --PROCEDURE setHistogram
2152 --(
2153 --  georaster    IN OUT MDSYS.SDO_GEORASTER,
2154 --  layerNumber  IN NUMBER,
2155 --  histogram    IN MDSYS.SDO_GEOR_HISTOGRAM,
2156 --  samplingFactor IN NUMBER DEFAULT NULL,
2157 --  samplingWindow IN MDSYS.SDO_NUMBER_ARRAY DEFAULT NULL
2158 --);
2159 
2160 PROCEDURE setHistogramTable
2161 (
2162   georaster    IN OUT MDSYS.SDO_GEORASTER,
2163   layerNumber  IN NUMBER,
2164   tableName    IN VARCHAR2
2165 );
2166 
2167 PROCEDURE setSourceInfo
2168 (
2169    georaster   IN OUT MDSYS.SDO_GEORASTER,
2170    sourceInfo  IN VARCHAR2
2171 );
2172 
2173 PROCEDURE addSourceInfo
2174 (
2175    georaster   IN OUT MDSYS.SDO_GEORASTER,
2176    sourceInfo  IN VARCHAR2
2177 );
2178 
2179 FUNCTION getSourceInfo
2180 (
2181    georaster   IN MDSYS.SDO_GEORASTER
2182 ) RETURN MDSYS.SDO_STRING2_ARRAY DETERMINISTIC PARALLEL_ENABLE;
2183 
2184 -- ---------------------------------------------------------------------
2185 --           multiple nodata values/value ranges
2186 -- ---------------------------------------------------------------------
2187 
2188 -- remove one NODATA value
2189 PROCEDURE deleteNODATA
2190 (
2191    georaster     IN OUT MDSYS.SDO_GEORASTER,
2192    layerNumber   IN     NUMBER,
2193    NODATA        IN     NUMBER
2194 );
2195 
2196 -- remove multiple NODATA values or value ranges
2197 PROCEDURE deleteNODATA
2198 (
2199    georaster     IN OUT MDSYS.SDO_GEORASTER,
2200    layerNumber   IN     NUMBER,
2201    NODATA        IN     MDSYS.SDO_RANGE_ARRAY
2202 );
2203 
2204 -- add one NODATA value
2205 PROCEDURE addNODATA
2206 (
2207    georaster     IN OUT MDSYS.SDO_GEORASTER,
2208    layerNumber   IN     NUMBER,
2209    NODATA        IN     NUMBER
2210 );
2211 
2212 -- add multiple NODATA values or value ranges
2216    NODATA        IN     MDSYS.SDO_RANGE_ARRAY
2213 PROCEDURE addNODATA(
2214    georaster     IN OUT MDSYS.SDO_GEORASTER,
2215    layerNumber   IN     NUMBER,
2217 );
2218 
2219 -- retrieve all NODATA values and value ranges
2220 FUNCTION getNODATA
2221 (
2222    georaster     IN     MDSYS.SDO_GEORASTER,
2223    layerNumber   IN     NUMBER
2224 ) RETURN MDSYS.SDO_RANGE_ARRAY DETERMINISTIC  PARALLEL_ENABLE;
2225 
2226 
2227 -- ---------------------------------------------------------------------
2228 --           Bitmap Mask Support
2229 -- ---------------------------------------------------------------------
2230 
2231 --
2232 -- NAME:
2233 --   setBitmapMask
2234 --
2235 -- DESCRIPTION
2236 --   Attach, replace or remove a bitmap mask to a given GeoRaster layer
2237 --
2238 -- ARGUMENTS
2239 --   georaster   - the GeoRaster object to be operated on
2240 --   layerNumber - an object layer (0) or a subLayer (>0)
2241 --   mask        - the 1BIT bitmap mask
2242 --   NODATAMask  - spacifies whether the mask is going to be a NODATA mask
2243 --
2244 -- NOTES
2245 --   If the GeoRaster object is NULL, nothing is to be done.
2246 --   If the mask is NULL, any exisiting bitmap mask associated with the given
2247 --   layer is removed.
2248 --   If the mask is not a 1BIT GeoRaster object or has wrong dimension size,
2249 --   error ORA-13470 is raised.
2250 --   If the mask is not NULL or invalid, any exisiting bitmap mask associated
2251 --   with the given layer is replaced with the new one.
2252 --
2253 
2254 PROCEDURE setBitmapMask
2255 (
2256    georaster   IN OUT MDSYS.SDO_GEORASTER,
2257    layerNumber IN     NUMBER,
2258    mask        IN     MDSYS.SDO_GEORASTER,
2259    NODATAMask  IN     VARCHAR2 DEFAULT NULL
2260 );
2261 
2262 --
2263 -- NAME:
2264 --   getBitmapMask
2265 --
2266 -- DESCRIPTION
2267 --   Retrieve a bitmap mask as a standalone GeoRaster object
2268 --
2269 -- ARGUMENTS
2270 --   georaster    - the source GeoRaster object
2271 --   layerNumber  - an object layer (0) or a subLayer (>0)
2272 --   storageParam - the storage parameter for the output GeoRaster object
2273 --   mask         - the result GeoRaster object
2274 --
2275 -- NOTES
2276 --   If the source GeoRaster object is NULL or there is no bitmap mask
2277 --   associated with the given layer, a NULL GeoRaster object is returned.
2278 --
2279 PROCEDURE getBitmapMask
2280 (
2281    georaster    IN     MDSYS.SDO_GEORASTER,
2282    layerNumber  IN     NUMBER,
2283    storageParam IN     VARCHAR2,
2284    mask         IN OUT MDSYS.SDO_GEORASTER
2285 );
2286 
2287 --
2288 -- NAME:
2289 --   getBitmapMaskValue
2290 --
2291 -- DESCRIPTION
2292 --   Retrieve a cell value of a bitmap mask
2293 --
2294 -- ARGUMENTS
2295 --   georaster    - the source GeoRaster object
2296 --   layerNumber  - an object layer (0) or a subLayer (>0)
2297 --   pyramidLevel - the pyramid level
2298 --   rowNumber    - row number in cell space
2299 --   colNumber    - column number in cell space
2300 --   ptGeom       - a point geometry in either cell space
2301 --                  or model space
2302 -- RETURNS
2303 --   Number
2304 --
2305 -- NOTES
2306 --   If the source GeoRaster object is NULL or there is no bitmap mask
2307 --   associated with the specfied raster layer, NULL is returned.
2308 --   If the point position is out of scope, ORA-13415 is raised.
2309 --
2310 FUNCTION getBitmapMaskValue
2311 (
2312    georaster    IN    MDSYS.SDO_GEORASTER,
2313    layerNumber  IN    NUMBER,
2314    pyramidLevel IN    NUMBER,
2315    rowNumber    IN    NUMBER,
2316    colNumber    IN    NUMBER
2317 ) RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
2318 
2319 FUNCTION getBitmapMaskValue
2320 (
2321    georaster    IN    MDSYS.SDO_GEORASTER,
2322    layerNumber  IN    NUMBER,
2323    pyramidLevel IN    NUMBER,
2324    ptGeom       IN    MDSYS.SDO_GEOMETRY
2325 ) RETURN NUMBER DETERMINISTIC PARALLEL_ENABLE;
2326 
2327 --
2328 -- NAME:
2329 --   getBitmapMaskSubset
2330 --
2331 -- DESCRIPTION
2332 --   Retrieve a subset of a bitmap mask
2333 --
2334 -- ARGUMENTS
2335 --   georaster    - the source GeoRaster object
2336 --   layerNumber  - an object layer (0) or a subLayer (>0)
2337 --   pyramidLevel - the pyramid level
2338 --   window/inWindow - the area of interest
2339 --   rasterBlob   - the BLOB holding the output
2340 --   outWindow    - the actual output window
2341 --   storageParam - storage parameters for the output
2342 --
2343 -- NOTES
2344 --   If the source GeoRaster object is NULL or there is no bitmap mask
2345 --   associated with the specfied raster layer, the result BLOB is empty.
2346 --   If not specified, the storageParm for the output follows that of
2347 --   the source GeoRaster object.
2348 --
2349 PROCEDURE getBitmapMaskSubset
2350 (
2351    georaster      IN     MDSYS.SDO_GEORASTER,
2352    layerNumber    IN     NUMBER,
2353    pyramidLevel   IN     NUMBER,
2354    window         IN     MDSYS.SDO_NUMBER_ARRAY,
2355    rasterBlob     IN OUT NOCOPY BLOB,
2356    storageParam   IN     VARCHAR2 DEFAULT NULL
2357 );
2358 
2359 PROCEDURE getBitmapMaskSubset
2360 (
2364    window         IN     MDSYS.SDO_GEOMETRY,
2361    georaster      IN     MDSYS.SDO_GEORASTER,
2362    layerNumber    IN     NUMBER,
2363    pyramidLevel   IN     NUMBER,
2365    rasterBlob     IN OUT NOCOPY BLOB,
2366    storageParam   IN     VARCHAR2 DEFAULT NULL
2367 );
2368 
2369 PROCEDURE getBitmapMaskSubset
2370 (
2371    georaster      IN     MDSYS.SDO_GEORASTER,
2372    layerNumber    IN     NUMBER,
2373    pyramidLevel   IN     NUMBER,
2374    inWindow       IN     MDSYS.SDO_NUMBER_ARRAY,
2375    rasterBlob     IN OUT NOCOPY BLOB,
2376    outWindow      OUT    MDSYS.SDO_NUMBER_ARRAY,
2377    storageParam   IN     VARCHAR2 DEFAULT NULL
2378 );
2379 
2380 PROCEDURE getBitmapMaskSubset
2381 (
2382    georaster      IN     MDSYS.SDO_GEORASTER,
2383    layerNumber    IN     NUMBER,
2384    pyramidLevel   IN     NUMBER,
2385    inWindow       IN     MDSYS.SDO_GEOMETRY,
2386    rasterBlob     IN OUT NOCOPY BLOB,
2387    outWindow      OUT    MDSYS.SDO_NUMBER_ARRAY,
2388    storageParam   IN     VARCHAR2 DEFAULT NULL
2389 );
2390 
2391 --
2392 -- NAME:
2393 --   hasBitmapMask
2394 --
2395 -- DESCRIPTION
2396 --   Check whether a bitmap map exists for the specified GeoRaster layer
2397 --
2398 -- ARGUMENTS
2399 --   georaster    - the source GeoRaster object
2400 --   layerNumber  - an object layer (0) or a subLayer (>0)
2401 --
2402 -- RETURN
2403 --   'NULL' if the GeoRaster object is NULL
2404 --   'TRUE' if a bitmap mask exists
2405 --   'FALSE' otherwise
2406 --
2407 FUNCTION hasBitmapMask
2408 (
2409    georaster      IN     MDSYS.SDO_GEORASTER,
2410    layerNumber    IN     NUMBER
2411 ) RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
2412 
2413 --
2414 -- NAME:
2415 --   hasNODATAMask
2416 --
2417 -- DESCRIPTION
2418 --   Check whether a NODATA bitmap map exists for the specified GeoRaster layer
2419 --
2420 -- ARGUMENTS
2421 --   georaster    - the source GeoRaster object
2422 --   layerNumber  - an object layer (0) or a subLayer (>0)
2423 --
2424 -- RETURN
2425 --   'NULL' if the GeoRaster object is NULL
2426 --   'TRUE' if a bitmap mask exists and is a NODATA mask
2427 --   'FALSE' otherwise
2428 --
2429 FUNCTION hasNODATAMask
2430 (
2431     georaster     IN     MDSYS.SDO_GEORASTER,
2432     layerNumber   IN     NUMBER
2433 ) RETURN VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
2434 
2435 --
2436 -- NAME:
2437 --   setNODATAMask
2438 --
2439 -- DESCRIPTION
2440 --   Specifies whether or not a bitmap mask on the specified GeoRaster layer
2441 --   is NODATA mask.
2442 --
2443 -- ARGUMENTS
2444 --   georaster    - the source GeoRaster object
2445 --   layerNumber  - an object layer (0) or a subLayer (>0)
2446 --   isNODATAMask - 'TRUE' or 'FALSE'
2447 --
2448 -- RETURN
2449 --   'NULL' if the GeoRaster object is NULL
2450 --   'TRUE' if a bitmap mask exists and is a NODATA mask
2451 --   'FALSE' otherwise
2452 --
2453 PROCEDURE setNODATAMask
2454 (
2455     georaster     IN OUT MDSYS.SDO_GEORASTER,
2456     layerNumber   IN     NUMBER,
2457     isNODATAMask  IN     VARCHAR2
2458 );
2459 
2460 
2461 -- ---------------------------------------------------------------------
2462 --           Validate GeoRaster Objects
2463 -- ---------------------------------------------------------------------
2464 
2465 --
2466 -- NAME:
2467 --      validateGeoRaster
2468 --
2469 -- DESCRIPTION
2470 --      validate a GeoRaster object
2471 --
2472 -- ARGUMENTS
2473 --      georaster    - The SDO_GEORASTER object to be validated
2474 --
2475 -- RETURNS
2476 --      1. 'TRUE' if the georaster is valid
2477 --      2. 'NULL' if the georaster object is null
2478 --      3. A Oracle standard error code for known errors
2479 --      4. 'FALSE' for unknown errors
2480 --
2481 FUNCTION validateGeoRaster
2482 (
2483    georaster  IN MDSYS.SDO_GEORASTER
2484 )
2485 return VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
2486 
2487 
2488 --
2489 -- NAME:
2490 --      schemaValidate
2491 --
2492 -- DESCRIPTION
2493 --      Validate GeoRaster Metadata against the GeoRaster XML Schema
2494 --      It explains the reasons if the metadata is not valid
2495 --
2496 -- ARGUMENTS
2497 --      georaster - The SDO_GEORASTER object of which the metadata is
2498 --                  to be validated
2499 --
2500 -- RETURNS
2501 --      1. 'TRUE' if the georaster is valid against XML schema
2502 --      2. 'NULL' if the georaster or its metadata is null
2503 --      3. Otherwise it prints Oracle standard error codes for
2504 --         detailed errors and stop directly
2505 --
2506 FUNCTION schemaValidate
2507 (
2508    georaster  IN MDSYS.SDO_GEORASTER
2509 )
2510 return VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
2511 
2512 
2513 -- ---------------------------------------------------------------------
2514 -- import from and export to other raster sources/formats:
2515 --   local FILE, HTTP file, ORDImage, BLOB, BFILE, GeoHeader files, etc
2516 -- ---------------------------------------------------------------------
2517 
2518 --
2519 -- NAME:
2520 --      importFrom procedures
2521 --
2525 -- ARGUMENTS
2522 -- DESCRIPTION
2523 --      import from FILE, HTTP into a GeoRaster object
2524 --
2526 --      sourceFormat   - source format, such as JPEG, TIFF, etc.
2527 --      sourceType     - FILE or HTTP, etc.
2528 --      sourceName     - source file name with fullpath
2529 --      storageParam   - the GeoRaster object storage formats
2530 --      georaster      - original and result GeoRaster object
2531 --                       It must be an existing GeoRaster object
2532 --      r_sourceFormat - raster sourceFormat as above
2533 --      r_sourceType   - raster sourceType as above
2534 --      r_sourceName   - raster sourceName as above
2535 --      r_sourceBlob   - Blob holding source image file
2536 --      h_sourceFormat - geo-header sourceFormat as above
2537 --      h_sourceType   - geo-header sourceType as above
2538 --      h_sourceName   - geo-header sourceName as above
2539 --      h_sourceClob   - Clob holding source geo-header file
2540 --
2541 -- RETURNS
2542 --      sdo_georaster object
2543 --
2544 
2545 PROCEDURE importFrom
2546 (
2547    georaster      IN OUT MDSYS.SDO_GEORASTER,
2548    storageParam   IN     VARCHAR2,
2549    r_sourceFormat IN     VARCHAR2,
2550    r_sourceType   IN     VARCHAR2,
2551    r_sourceName   IN     VARCHAR2,
2552    h_sourceFormat IN     VARCHAR2 default null,
2553    h_sourceType   IN     VARCHAR2 default null,
2554    h_sourceName   IN     VARCHAR2 default null
2555 );
2556 
2557 PROCEDURE importFrom
2558 (
2559    georaster      IN OUT MDSYS.SDO_GEORASTER,
2560    storageParam   IN     VARCHAR2,
2561    r_sourceFormat IN     VARCHAR2,
2562    r_sourceBlob   IN     BLOB,
2563    h_sourceFormat IN     VARCHAR2 default null,
2564    h_sourceClob   IN     CLOB default null
2565 );
2566 
2567 --
2568 -- NAME:
2569 --      exportTo procedures
2570 --
2571 -- DESCRIPTION
2572 --      export GeoRaster object to other types
2573 --
2574 -- ARGUMENTS
2575 --      destFormat   - dest format, such as JPEG, TIFF, etc.
2576 --      destType     - FILE, etc.
2577 --      destName     - dest file name with fullpath
2578 --      subsetParam  - subset/crop parameters for output a subset
2579 --      georaster    - the GeoRaster object to be exported
2580 --      r_destFormat - raster destFormat as above
2581 --      r_destType   - raster destType as above
2582 --      r_destName   - raster destName as above
2583 --      r_destBlob   - Blob to hold the output image file
2584 --      h_destFormat - geo-header destFormat as above
2585 --      h_destType   - geo-header destType as above
2586 --      h_destName   - geo-header destName as above
2587 --      h_destClob   - Clob to hold the output geo-header file
2588 --
2589 -- RETURNS
2590 --
2591 
2592 PROCEDURE exportTo
2593 (
2594    georaster      IN  MDSYS.SDO_GEORASTER,
2595    subsetParam    IN  VARCHAR2,
2596    r_destFormat   IN  VARCHAR2,
2597    r_destType     IN  VARCHAR2,
2598    r_destName     IN  VARCHAR2,
2599    h_destFormat   IN  VARCHAR2 default null,
2600    h_destType     IN  VARCHAR2 default null,
2601    h_destName     IN  VARCHAR2 default null
2602 );
2603 
2604 PROCEDURE exportTo
2605 (
2606    georaster      IN      MDSYS.SDO_GEORASTER,
2607    subsetParam    IN      VARCHAR2,
2608    destFormat     IN      VARCHAR2,
2609    destBlob       IN  OUT NOCOPY BLOB
2610 );
2611 
2612 PROCEDURE exportTo
2613 (
2614    georaster      IN      MDSYS.SDO_GEORASTER,
2615    subsetParam    IN      VARCHAR2,
2616    r_destFormat   IN      VARCHAR2,
2617    r_destBlob     IN  OUT NOCOPY BLOB,
2618    h_destFormat   IN      VARCHAR2,
2619    h_destClob     IN  OUT NOCOPY CLOB
2620 );
2621 
2622 --
2623 -- NAME:
2624 --      getGeoreferenceType  function
2625 --
2626 -- DESCRIPTION
2627 --      retrieve GeoReference type for the specified
2628 --      GeoRaster object, so far, only three types are
2629 --      supported by this function as below, for all other
2630 --      types, UNKNOWN will return
2631 --
2632 --              1    --    Unknown
2633 --              2    --    Affine Transform
2634 --              3    --    Direct Linear Transform (DLT)
2635 --              4    --    Rational Polynomial Coefficient (RPC)
2636 --
2637 -- ARGUMENTS
2638 --      georaster   - geoRaster object
2639 --
2640 -- RETURNS
2641 --      an integer to represent GeoReference type
2642 FUNCTION getGeoreferenceType
2643 (
2644   georaster    IN   MDSYS.SDO_GEORASTER
2645 )
2646 return number;
2647 
2648 --
2649 -- NAME:
2650 --      isLossless
2651 --
2652 -- DESCRIPTION
2653 --      Returns a string value that indicates whether or not the GeoRaster
2654 --      object is compressed losslessly or lossily, or not compressed at all.
2655 --
2656 -- ARGUMENTS
2657 --      georaster - The SDO_GEORASTER object of which losslessness is to be
2658 --      determined.
2659 --
2660 -- RETURNS
2661 --      1. 'TRUE' if GeoRaster object is losslessly compressed
2662 --      2. 'NULL' if the georaster or its metadata is null, or if the
2663 --         GeoRaster object is not compressed.
2664 --      3. 'FALSE' if GeoRaster object is lossily compressed
2665 --
2666 FUNCTION isLossless
2667 (
2668   geor    IN   MDSYS.SDO_GEORASTER
2669 )
2670 return VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
2671 
2672 
2676 -- ---------------------------------------------------------------------
2673 -- ---------------------------------------------------------------------
2674 --    Reproject GeoRaster Objects
2675 --
2677 
2678 --
2679 -- NAME:
2680 --      reproject
2681 --
2682 -- DESCRIPTION
2683 --      Re-project a geo-referenced GeoRaster object into a new projection
2684 --      defined by SRID which is different from the current projection.
2685 --
2686 --      NOTE:
2687 --         (1) The input GeoRaster object should have a supported projection;
2688 --         (2) If not georeferenced, use setSRS to setup if the projection
2689 --             was known;
2690 --         (3) The new projection should be valid and different from current one.
2691 --
2692 -- ARGUMENTS
2693 --      inGeoRaster    - The source SDO_GEORASTER object to be re-projected
2694 --      pyramidLevel   - The pyramid level of the source GeoRaster object
2695 --      cropArea       - The crop area to be re-projected. If it is of
2699 --      bandNumbers    - The physical bands in cell space
2696 --                     - SDO_GEOMETRY type, it can be in any coordinate space.
2697 --                       If it is of SDO_NUMBER_ARRAY, it is in cell space only
2698 --      layerNumbers   - The logical layers
2700 --      resampleParam  - The resampling method
2701 --      storageParam   - A string specifying storage parameters for the result.
2702 --                       The details of the parameters are explained in
2703 --                       GeoRaster Manual
2704 --      outSRID        - The SRID defines the new projection
2705 --      outGeoRaster   - The re-projected persistent GeoRaster Object
2706 --      rasterBlob     - The re-projected transient GeoRaster Object
2707 --      outArea        - The re-projected transient GeoRaster Object extent
2708 --                       in model coordinates.
2709 --      outWindow      - The re-projected transient GeoRaster Object extent
2710 --                       in cell coordinates.
2711 --      bgValues       - background values for filling empty pixels
2712 --                       one for each band
2713 --
2714 -- RETURNS
2715 --      In the outGeoRaster is the re-projected GeoRaster object
2716 
2717 -- For the persistent reprojection, the new GeoRatser is stored in table
2718 PROCEDURE reproject (
2719      inGeoraster       IN MDSYS.SDO_GEORASTER,
2720      resampleParam     IN VARCHAR2,
2721      storageParam      IN VARCHAR2,
2722      outSRID           IN NUMBER,
2723      outGeoraster      IN OUT MDSYS.SDO_GEORASTER,
2724      bgValues          IN SDO_NUMBER_ARRAY DEFAULT NULL
2725 );
2726 
2727 PROCEDURE reproject (
2728      inGeoraster       IN MDSYS.SDO_GEORASTER,
2729      pyramidLevel      IN NUMBER,
2730      cropArea          IN SDO_GEOMETRY,
2731      layerNumbers      IN VARCHAR2,
2732      resampleParam     IN VARCHAR2,
2733      storageParam      IN VARCHAR2,
2734      outSRID           IN NUMBER,
2735      outGeoraster      IN OUT MDSYS.SDO_GEORASTER,
2736      bgValues          IN SDO_NUMBER_ARRAY DEFAULT NULL
2737 );
2738 
2739 PROCEDURE reproject (
2740      inGeoraster       IN MDSYS.SDO_GEORASTER,
2741      pyramidLevel      IN NUMBER,
2742      cropArea          IN SDO_NUMBER_ARRAY,
2743      bandNumbers       IN VARCHAR2,
2744      resampleParam    IN VARCHAR2,
2745      storageParam      IN VARCHAR2,
2746      outSRID           IN NUMBER,
2747      outGeoraster      IN OUT MDSYS.SDO_GEORASTER,
2748      bgValues          IN SDO_NUMBER_ARRAY  DEFAULT NULL
2749 );
2750 
2751 -- For the transient reprojection (on the fly),
2752 -- the new GeoRatser is stored as BLOB
2753 PROCEDURE reproject (
2754      inGeoraster       IN MDSYS.SDO_GEORASTER,
2755      pyramidLevel      IN NUMBER,
2756      cropArea          IN SDO_GEOMETRY,
2757      layerNumbers      IN VARCHAR2,
2758      resampleParam     IN VARCHAR2,
2759      storageParam      IN VARCHAR2,
2760      outSRID           IN NUMBER,
2761      rasterBlob        IN OUT NOCOPY BLOB,
2762      outArea           OUT SDO_GEOMETRY,
2763      outWindow         OUT SDO_NUMBER_ARRAY,
2764      bgValues          IN SDO_NUMBER_ARRAY DEFAULT NULL
2765 );
2766 
2767 PROCEDURE reproject (
2768      inGeoraster       IN MDSYS.SDO_GEORASTER,
2769      pyramidLevel      IN NUMBER,
2770      cropArea          IN SDO_NUMBER_ARRAY,
2771      bandNumbers       IN VARCHAR2,
2772      resampleParam     IN VARCHAR2,
2773      storageParam      IN VARCHAR2,
2774      outSRID           IN NUMBER,
2775      rasterBlob        IN OUT NOCOPY BLOB,
2776      outArea           OUT SDO_GEOMETRY,
2777      outWindow         OUT SDO_NUMBER_ARRAY,
2778      bgValues          IN SDO_NUMBER_ARRAY  DEFAULT NULL
2779 );
2780 
2781 
2782 -- ---------------------------------------------------------------------
2783 --    Georeference GeoRaster Using Control Points (GCPs)
2784 --
2785 -- ---------------------------------------------------------------------
2786 
2787 --
2788 -- NAME:
2789 --      georeference
2790 --
2791 -- DESCRIPTION
2792 --      This function will georeference an image using a set of
2793 --      control points (GCPs).
2794 --
2795 -- ARGUMENTS
2796 --
2797 --      georaster      - The source SDO_GEORASTER object to be georeferenced
2798 --      FFMethodType   - The (rational) polynomial function used as georeference model
2799 --      nGCP           - Number of GCPs provided
2800 --      GCPs           - The GCP collection. Each GCP represents a points pair, one on
2801 --                       image and another in some coordinate system or another image.
2802 --      gcpGeorefModel - A data structure contains FFMethodType, nGCP, GCPs,solutionAccuracy
2803 --      storeGCP       - A flag indicate whether the GCPs should be stored in the georaster
2804 --                       metadata.
2805 --      SRID           - The GCP's model coordinates SRID
2806 --      modelCoordLoc  - The location on cell for the corresponding model coords
2807 --      setResolution  - whether to set the spatial resolution in the
2808 --                             SRS. "TRUE" or "FALSE" By default it is FALSE.
2809 --
2810 -- RETURNS
2811 --      The solution accuracy (rowRMS, colRMS, totalRMS) and the ground positionning
2812 --      accuracy (xRMS, yRMS, (zRMS), totalModelRMS) if check points provided
2813 --
2814 Function georeference(
2815      inGeoraster      IN OUT MDSYS.SDO_GEORASTER,
2816      FFMethodType     IN VARCHAR2,
2817      nGCP             IN Number,
2818      GCPs             IN SDO_GEOR_GCP_COLLECTION,
2819      storeGCP         IN VARCHAR2 DEFAULT 'TRUE',
2820      SRID             IN Number DEFAULT NULL,
2821      modelCoordinateLocation  IN Number DEFAULT NULL,
2822      setResolution     IN VARCHAR2 DEFAULT NULL
2823 )Return MDSYS.SDO_NUMBER_ARRAY;        -- RMSs
2824 
2825 
2826 Function georeference(
2830     SRID              IN Number DEFAULT NULL,
2827     inGeoraster       IN OUT MDSYS.SDO_GEORASTER,
2828     gcpGeorefModel    IN SDO_GEOR_GCPGEOREFTYPE,
2829     storeGCP          IN VARCHAR2 DEFAULT 'TRUE',
2831     modelCoordinateLocation  IN Number DEFAULT NULL,
2832     setResolution     IN VARCHAR2 DEFAULT NULL
2833 )Return MDSYS.SDO_NUMBER_ARRAY;        -- RMSs
2834 
2835 -- For this function, the GCPs should be already stored in the metadata
2836 --
2837 Function georeference(
2838     inGeoraster      IN OUT MDSYS.SDO_GEORASTER,
2839     FFMethod         IN VARCHAR2 DEFAULT NULL,
2840     SRID              IN Number DEFAULT NULL,
2841     modelCoordinateLocation  IN Number DEFAULT NULL,
2842     setResolution     IN VARCHAR2 DEFAULT NULL
2843 )Return MDSYS.SDO_NUMBER_ARRAY;        -- RMSs
2844 
2845 --
2846 -- Georeference XML data manipulation functions
2847 --
2848 Function getGCPGeorefModel(
2849     inGeoraster       IN MDSYS.SDO_GEORASTER
2850 )Return MDSYS.SDO_GEOR_GCPGEOREFTYPE;
2851 
2852 PROCEDURE setGCPGeorefModel(
2853     inGeoraster       IN OUT MDSYS.SDO_GEORASTER,
2854     gcpGeorefModel    IN SDO_GEOR_GCPGEOREFTYPE
2855 );
2856 
2857 
2858 Function getGCPGeorefMethod(
2859     inGeoraster       IN MDSYS.SDO_GEORASTER
2860 )Return VARCHAR2 DETERMINISTIC PARALLEL_ENABLE;
2861 
2862 
2863 PROCEDURE setGCPGeorefMethod(
2864     inGeoraster       IN OUT MDSYS.SDO_GEORASTER,
2865     georefMethod          IN VARCHAR2
2866 );
2867 
2868 Function getControlPoint(
2869     inGeoraster       IN MDSYS.SDO_GEORASTER,
2870     controlPointID    IN VARCHAR2
2871 )Return SDO_GEOR_GCP DETERMINISTIC PARALLEL_ENABLE;
2872 
2873 PROCEDURE setControlPoint(
2874     inGeoraster       IN OUT MDSYS.SDO_GEORASTER,
2875     controlPoint      IN SDO_GEOR_GCP
2876 );
2877 
2878 PROCEDURE deleteControlPoint(
2879     inGeoraster       IN OUT MDSYS.SDO_GEORASTER,
2880     controlPointID    IN VARCHAR2
2881 );
2882 
2883 
2884 -- ---------------------------------------------------------------------
2885 --    Rectify GeoRaster Objects
2886 --
2887 -- ---------------------------------------------------------------------
2888 
2889 --
2890 -- NAME:
2891 --      rectify
2892 --
2893 -- DESCRIPTION
2894 --      Rectify a geo-referenced GeoRaster object.
2895 --
2896 --      NOTE:
2897 --         (1) The input GeoRaster object should be referenced
2898 --         (2) Use average elevation height or dem georaster (Ortho-Rectify)
2899 --
2900 -- ARGUMENTS
2901 --
2902 -- Input:
2903 --      inGeoRaster      - Source SDO_GEORASTER object to be re-projected
2904 --      pyramidLevel     - The pyramid level of the source GeoRaster object
2905 --      elevationParam   - Average elevation height of the surface
2906 --      dem              - Digital elevation model for ortho-rectification
2907 --
2908 -- Request:
2909 --      outSRID          - The SRID defines the new projection
2910 --      outModelCoordLoc - Specify the output cell coordinate system type,
2911 --                          0 for CENTER or 1 for UPPERLEFT.
2912 --      cropArea         - The crop area of the output image to be re-projected.
2913 --      polygonClip      - Whether to do polygon clipping. If NULL, defaults
2914 --                         to FALSE.
2915 --      layerNumbers     - The logical layers to be processed
2916 --      outResolutions   - Resolution(s) of each dimension of the output image
2917 --      resolutionUnit   - Unit of the resolution
2918 --      referencePoint   - The reference point to alligned the output image.
2919 --                         If this is null, the reference point implicitly
2920 --                         uses the upper left corner of the cropArea, or
2921 --                         when the cropArea is null, the upper left corner
2922 --                         of the projected output extent.
2923 --                         This reference point must be in a SDO_GEOMETRY that
2924 --                         describes a point.
2925 --      resampleParam    - The resampling method
2926 --
2927 -- Output:
2928 --      storageParam     - A string specifying storage parameters for the result.
2929 --      outGeoRaster     - Re-projected persistent GeoRaster Object
2930 --      rasterBlob       - The re-projected transient GeoRaster Object
2931 --      outArea          - The re-projected transient GeoRaster Object extent
2932 --                         in model coordinates.
2933 --      outWindow        - The re-projected transient GeoRaster Object extent
2934 --                         in cell coordinates.
2935 --      bgValues         - Background values for filling empty pixels
2936 --                         one for each band
2937 --
2938 -- RETURNS
2939 --      For persistent output the outGeoRaster is the rectified GeoRaster object
2940 --      For transient output the rasterBlob is the rectified resulted image and
2941 --      outArea and outWindow specify the transient rasterBlob information
2942 
2943 PROCEDURE rectify (
2944     -- input
2945     inGeoRaster       IN MDSYS.SDO_GEORASTER,
2946     pyramidLevel      IN NUMBER,
2947     elevationParam    IN VARCHAR2,
2948     dem               IN MDSYS.SDO_GEORASTER,
2949     -- request
2950     outSRID           IN NUMBER,
2951     outModelCoordLoc  IN NUMBER,
2955     outResolutions    IN SDO_NUMBER_ARRAY,
2952     cropArea          IN SDO_GEOMETRY,
2953     polygonClip       IN VARCHAR2,
2954     layerNumbers      IN VARCHAR2,
2956     resolutionUnit    IN VARCHAR2,
2957     referencePoint    IN MDSYS.SDO_GEOMETRY,
2958     resampleParam     IN VARCHAR2,
2959     -- output (georaster)
2960     storageParam      IN VARCHAR2,
2961     outGeoRaster      IN OUT MDSYS.SDO_GEORASTER,
2962     bgValues          IN SDO_NUMBER_ARRAY DEFAULT NULL
2963 );
2964 
2965 PROCEDURE rectify (
2966     -- input
2967     inGeoRaster       IN MDSYS.SDO_GEORASTER,
2968     pyramidLevel      IN NUMBER,
2969     elevationParam    IN VARCHAR2,
2970     dem               IN MDSYS.SDO_GEORASTER,
2971     -- request
2972     outSRID           IN NUMBER,
2973     outModelCoordLoc  IN NUMBER,
2974     cropArea          IN SDO_GEOMETRY,
2975     polygonClip       IN VARCHAR2,
2976     layerNumbers      IN VARCHAR2,
2977     outResolutions    IN SDO_NUMBER_ARRAY,
2978     resolutionUnit    IN VARCHAR2,
2979     referencePoint    IN MDSYS.SDO_GEOMETRY,
2980     resampleParam     IN VARCHAR2,
2981     -- output (blob)
2982     storageParam      IN VARCHAR2,
2983     rasterBlob        IN OUT NOCOPY BLOB,
2984     outArea           OUT SDO_GEOMETRY,
2985     outWindow         OUT SDO_NUMBER_ARRAY,
2986     bgValues          IN SDO_NUMBER_ARRAY DEFAULT NULL
2987 );
2988 
2989 --
2990 -- NAME:
2991 --      generateSpatialResolutions
2992 --
2993 -- DESCRIPTION
2994 --      Generate the spatial resolutions and set it to the georaster metadata
2995 --
2996 --      NOTE: The input GeoRaster object should be referenced otherwise null
2997 --            is returned.
2998 --
2999 -- PARAMETERS:
3000 --      geoRaster        - Source SDO_GEORASTER object
3001 --      outResolution    - Output resolution in SDO_NUMBER_ARRAY for pyramid
3002 --                         level 0 and in given georaster's SRID and unit.
3003 --
3004 
3005 PROCEDURE generateSpatialResolutions(
3006     geoRaster         IN OUT MDSYS.SDO_GEORASTER,
3007     outResolution     OUT SDO_NUMBER_ARRAY);
3008 
3009 --
3010 -- NAME:
3011 --      generateSpatialResolutions
3012 --
3013 -- DESCRIPTION
3014 --      Generate the spatial resolutions
3015 --
3016 --      NOTE: The input GeoRaster object should be referenced otherwise null
3017 --            is returned.
3018 --
3019 -- PARAMETERS:
3020 --      geoRaster        - Source SDO_GEORASTER object
3021 --      pyramidLevel     - The pyramid level of the returned resolution,
3022 --                         default to the pyramid level 0.
3023 --      SRID             - The SRID for the returned resolution, default to the
3024 --                         given georaster's SRID.
3025 --      resolutionUnit   - The unit of the returned resolution. default to the
3026 --                         unit of the SRID.
3027 --
3028 -- RETURN:
3029 --      Resolution in SDO_NUMBER_ARRAY for the given georaster.
3030 --
3031 FUNCTION generateSpatialResolutions(
3032     geoRaster         IN MDSYS.SDO_GEORASTER,
3033     pyramidLevel      IN NUMBER DEFAULT NULL,
3034     SRID              IN NUMBER DEFAULT NULL,
3035     resolutionUnit    IN VARCHAR2 DEFAULT NULL)
3036 RETURN SDO_NUMBER_ARRAY;
3037 
3038 END SDO_GEOR;