DBA Data[Home] [Help]

PACKAGE: MDSYS.SDO_LRS

Source


1 PACKAGE sdo_lrs AUTHID current_user AS
2 
3 --
4 --
5 -- functions/procedure for defining, creating and manipulating LRS geometric segments
6 --
7 --
8 
9    --
10    -- define an LRS geometric segment, all measures will be automatically populated
11    --
12 
13    PROCEDURE define_geom_segment(geom_segment  IN OUT MDSYS.SDO_GEOMETRY,
14                                  dim_array     IN MDSYS.SDO_DIM_ARRAY,
15                                  start_measure IN NUMBER ,
16                                  end_measure   IN NUMBER );
17 
18 
19    PROCEDURE define_geom_segment(geom_segment  IN OUT MDSYS.SDO_GEOMETRY,
20                                  dim_array     IN MDSYS.SDO_DIM_ARRAY);
21 
22 
23 
24 
25    PROCEDURE define_geom_segment(geom_segment  IN OUT MDSYS.SDO_GEOMETRY,
26                                  start_measure IN NUMBER ,
27                                  end_measure   IN NUMBER ,
28                                  tolerance     IN NUMBER DEFAULT 1.0e-8);
29 
30 
31 
32    PROCEDURE define_geom_segment(geom_segment  IN OUT MDSYS.SDO_GEOMETRY,
33                                  tolerance     IN NUMBER DEFAULT 1.0e-8);
34 
35 
36 
37 
38    PROCEDURE define_geom_segment_3d(geom_segment  IN OUT MDSYS.SDO_GEOMETRY,
39                                     dim_array     IN MDSYS.SDO_DIM_ARRAY,
40                                     start_measure IN NUMBER ,
41                                     end_measure   IN NUMBER );
42 
43    PROCEDURE define_geom_segment_3d(geom_segment  IN OUT MDSYS.SDO_GEOMETRY,
44                                     dim_array     IN MDSYS.SDO_DIM_ARRAY);
45 
46 
47    PROCEDURE define_geom_segment_3d(geom_segment  IN OUT MDSYS.SDO_GEOMETRY,
48                                     start_measure IN NUMBER ,
49                                     end_measure   IN NUMBER ,
50                                     tolerance     IN NUMBER DEFAULT 1.0e-8);
51 
52    PROCEDURE define_geom_segment_3d(geom_segment  IN OUT MDSYS.SDO_GEOMETRY,
53                                     tolerance     IN NUMBER DEFAULT 1.0e-8);
54 
55 
56 
57 
58 
59 
60    --
61    -- create a new geometric segment by clipping the given geometric segment
62    --
63 
64    FUNCTION clip_geom_segment(geom_segment  IN MDSYS.SDO_GEOMETRY,
65                               dim_array     IN MDSYS.SDO_DIM_ARRAY,
66                               start_measure IN NUMBER,
67                               end_measure   IN NUMBER)
68    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
69 
70 
71    FUNCTION clip_geom_segment(geom_segment  IN MDSYS.SDO_GEOMETRY,
72                               start_measure IN NUMBER,
73                               end_measure   IN NUMBER,
74                               tolerance     IN NUMBER DEFAULT 1.0e-8)
75    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
76 
77 
78 
79 
80    FUNCTION clip_geom_segment_3d(geom_segment  IN MDSYS.SDO_GEOMETRY,
81                                  dim_array     IN MDSYS.SDO_DIM_ARRAY,
82                                  start_measure IN NUMBER,
83                                  end_measure   IN NUMBER)
84    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
85 
86 
87    FUNCTION clip_geom_segment_3d(geom_segment  IN MDSYS.SDO_GEOMETRY,
88                                  start_measure IN NUMBER,
89                                  end_measure   IN NUMBER,
90                                  tolerance     IN NUMBER DEFAULT 1.0e-8)
91    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
92 
93 
94 
95    --
96    -- split a geometric segment into two
97    --
98 
99 
100    PROCEDURE split_geom_segment(geom_segment  IN  MDSYS.SDO_GEOMETRY,
101                                 dim_array     IN  MDSYS.SDO_DIM_ARRAY,
102                                 split_measure IN  NUMBER,
103                                 segment_1     OUT MDSYS.SDO_GEOMETRY,
104                                 segment_2     OUT MDSYS.SDO_GEOMETRY);
105 
106 
107    PROCEDURE split_geom_segment(geom_segment  IN  MDSYS.SDO_GEOMETRY,
108                                 split_measure IN  NUMBER,
109                                 segment_1     OUT MDSYS.SDO_GEOMETRY,
110                                 segment_2     OUT MDSYS.SDO_GEOMETRY,
111                                 tolerance     IN  NUMBER DEFAULT 1.0e-8);
112 
113 
114 
115    PROCEDURE split_geom_segment_3d(geom_segment  IN  MDSYS.SDO_GEOMETRY,
116                                    dim_array     IN  MDSYS.SDO_DIM_ARRAY,
117                                    split_measure IN  NUMBER,
118                                    segment_1     OUT MDSYS.SDO_GEOMETRY,
119                                    segment_2     OUT MDSYS.SDO_GEOMETRY);
120 
121 
122    PROCEDURE split_geom_segment_3d(geom_segment  IN  MDSYS.SDO_GEOMETRY,
123                                    split_measure IN  NUMBER,
124                                    segment_1     OUT MDSYS.SDO_GEOMETRY,
125                                    segment_2     OUT MDSYS.SDO_GEOMETRY,
126                                    tolerance     IN  NUMBER DEFAULT 1.0e-8);
127 
128 
129 
130    --
131    -- concatenate two geometric segments into one
132    --
133 
134    FUNCTION concatenate_geom_segments(geom_segment_1 IN MDSYS.SDO_GEOMETRY,
135                                       dim_array_1    IN MDSYS.SDO_DIM_ARRAY,
136                                       geom_segment_2 IN MDSYS.SDO_GEOMETRY,
137                                       dim_array_2    IN MDSYS.SDO_DIM_ARRAY)
138 
139    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
140 
141 
142    FUNCTION concatenate_geom_segments(geom_segment_1 IN MDSYS.SDO_GEOMETRY,
143                                       geom_segment_2 IN MDSYS.SDO_GEOMETRY,
144                                       tolerance      IN NUMBER DEFAULT 1.0e-8)
145 
146    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
147 
148 
149 
150 
151    FUNCTION concatenate_geom_segments_3d(geom_segment_1 IN MDSYS.SDO_GEOMETRY,
152                                          dim_array_1    IN MDSYS.SDO_DIM_ARRAY,
153                                          geom_segment_2 IN MDSYS.SDO_GEOMETRY,
154                                          dim_array_2    IN MDSYS.SDO_DIM_ARRAY)
155 
156    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
157 
158 
159    FUNCTION concatenate_geom_segments_3d(geom_segment_1 IN MDSYS.SDO_GEOMETRY,
160                                          geom_segment_2 IN MDSYS.SDO_GEOMETRY,
161                                          tolerance      IN NUMBER DEFAULT 1.0e-8)
162 
163    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
164 
165 
166 
167 
168 
169    --
170    -- general segment scaling function
171    --
172 
173    FUNCTION scale_geom_segment(geom_segment  IN MDSYS.SDO_GEOMETRY,
174                                dim_array     IN MDSYS.SDO_DIM_ARRAY,
175                                start_measure IN NUMBER,
176                                end_measure   IN NUMBER,
177                                shift_measure IN NUMBER)
178    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
179 
180 
181    FUNCTION scale_geom_segment(geom_segment  IN MDSYS.SDO_GEOMETRY,
182                                start_measure IN NUMBER,
183                                end_measure   IN NUMBER,
184                                shift_measure IN NUMBER,
185                                tolerance     IN NUMBER DEFAULT 1.0e-8)
186    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
187 
188 
189 
190 
191 --
192 --
193 -- LRS query functions/procedures
194 --
195 --
196 
197    --
198    -- check if the given geometric segment is valid
199    --
200 
201    FUNCTION valid_geom_segment(geom_segment IN MDSYS.SDO_GEOMETRY,
202                                dim_array    IN MDSYS.SDO_DIM_ARRAY)
203    RETURN VARCHAR2 PARALLEL_ENABLE;
204 
205 
206    FUNCTION valid_geom_segment(geom_segment IN MDSYS.SDO_GEOMETRY)
207    RETURN VARCHAR2 PARALLEL_ENABLE;
208 
209 
210 
211    FUNCTION valid_geom_segment_3d(geom_segment IN MDSYS.SDO_GEOMETRY,
212                                   dim_array    IN MDSYS.SDO_DIM_ARRAY)
213    RETURN VARCHAR2 PARALLEL_ENABLE;
214 
215 
216    FUNCTION valid_geom_segment_3d(geom_segment IN MDSYS.SDO_GEOMETRY)
217    RETURN VARCHAR2 PARALLEL_ENABLE;
218 
219 
220 
221 
222    --
223    -- check if the measure information of a given geometric segment is defined
224    -- the geom segment must be valid, (type, length, and no of dim, etc)
225    --
226 
227    FUNCTION is_geom_segment_defined(geom_segment IN MDSYS.SDO_GEOMETRY,
228                                     dim_array    IN MDSYS.SDO_DIM_ARRAY)
229    RETURN VARCHAR2 PARALLEL_ENABLE;
230 
231 
232    FUNCTION is_geom_segment_defined(geom_segment IN MDSYS.SDO_GEOMETRY)
233    RETURN VARCHAR2 PARALLEL_ENABLE;
234 
235 
236 
237    FUNCTION is_geom_segment_defined_3d(geom_segment IN MDSYS.SDO_GEOMETRY,
238                                        dim_array    IN MDSYS.SDO_DIM_ARRAY)
239    RETURN VARCHAR2 PARALLEL_ENABLE;
240 
241    FUNCTION is_geom_segment_defined_3d(geom_segment IN MDSYS.SDO_GEOMETRY)
242    RETURN VARCHAR2 PARALLEL_ENABLE;
243 
244 
245 
246    --
247    -- check if the given LRS point is valid
248    --
249 
250 
251    FUNCTION valid_lrs_pt(point      IN MDSYS.SDO_GEOMETRY,
252                          dim_array  IN MDSYS.SDO_DIM_ARRAY)
253    RETURN VARCHAR2 PARALLEL_ENABLE;
254 
255 
256    FUNCTION valid_lrs_pt(point      IN MDSYS.SDO_GEOMETRY)
257    RETURN VARCHAR2 PARALLEL_ENABLE;
258 
259 
260 
261    FUNCTION valid_lrs_pt_3d(point      IN MDSYS.SDO_GEOMETRY,
262                             dim_array  IN MDSYS.SDO_DIM_ARRAY)
263    RETURN VARCHAR2 PARALLEL_ENABLE;
264 
265 
266    FUNCTION valid_lrs_pt_3d(point      IN MDSYS.SDO_GEOMETRY)
267    RETURN VARCHAR2 PARALLEL_ENABLE;
268 
269 
270 
271 
272    --
273    -- check if the given measure falls within the start/end measures
274    -- of a given geometric segment
275    --
276 
277 
278    FUNCTION valid_measure(geom_segment IN MDSYS.SDO_GEOMETRY,
279                           dim_array    IN MDSYS.SDO_DIM_ARRAY,
280                           measure      IN NUMBER)
281    RETURN VARCHAR2 PARALLEL_ENABLE;
282 
283 
284    FUNCTION valid_measure(geom_segment IN MDSYS.SDO_GEOMETRY,
285                           measure      IN NUMBER)
286    RETURN VARCHAR2 PARALLEL_ENABLE;
287 
288 
289 
290    FUNCTION valid_measure_3d(geom_segment IN MDSYS.SDO_GEOMETRY,
291                              dim_array    IN MDSYS.SDO_DIM_ARRAY,
292                              measure      IN NUMBER)
293    RETURN VARCHAR2 PARALLEL_ENABLE;
294 
295 
296    FUNCTION valid_measure_3d(geom_segment IN MDSYS.SDO_GEOMETRY,
297                              measure      IN NUMBER)
298    RETURN VARCHAR2 PARALLEL_ENABLE;
299 
300 
301 
302 
303 
304 
305    --
306    -- check if two given geometric segments are connected
307    --
308 
309    FUNCTION connected_geom_segments(geom_segment_1 IN MDSYS.SDO_GEOMETRY,
310                                     dim_array_1    IN MDSYS.SDO_DIM_ARRAY,
311                                     geom_segment_2 IN MDSYS.SDO_GEOMETRY,
312                                     dim_array_2    IN MDSYS.SDO_DIM_ARRAY)
313 
314    RETURN VARCHAR2 PARALLEL_ENABLE;
315 
316 
317    FUNCTION connected_geom_segments(geom_segment_1 IN MDSYS.SDO_GEOMETRY,
318                                     geom_segment_2 IN MDSYS.SDO_GEOMETRY,
319                                     tolerance      IN NUMBER)
320 
321 
322    RETURN VARCHAR2 PARALLEL_ENABLE;
323 
324 
325 
326    FUNCTION connected_geom_segments_3d(geom_segment_1 IN MDSYS.SDO_GEOMETRY,
327                                        dim_array_1    IN MDSYS.SDO_DIM_ARRAY,
328                                        geom_segment_2 IN MDSYS.SDO_GEOMETRY,
329                                        dim_array_2    IN MDSYS.SDO_DIM_ARRAY)
330 
331    RETURN VARCHAR2 PARALLEL_ENABLE;
332 
333 
334    FUNCTION connected_geom_segments_3d(geom_segment_1 IN MDSYS.SDO_GEOMETRY,
335                                        geom_segment_2 IN MDSYS.SDO_GEOMETRY,
336                                        tolerance      IN NUMBER)
337    RETURN VARCHAR2 PARALLEL_ENABLE;
338 
339 
340 
341 
342 
343    --
344    -- return the length of the given geometric segment
345    --
346 
347    FUNCTION geom_segment_length(geom_segment IN MDSYS.SDO_GEOMETRY,
348                                 dim_array    IN MDSYS.SDO_DIM_ARRAY)
349    RETURN NUMBER PARALLEL_ENABLE;
350 
351 
352    FUNCTION geom_segment_length(geom_segment IN MDSYS.SDO_GEOMETRY,
353                                 tolerance    IN NUMBER DEFAULT 1.0e-8)
354 
355    RETURN NUMBER PARALLEL_ENABLE;
356 
357 
358 
359    FUNCTION geom_segment_length_3d(geom_segment IN MDSYS.SDO_GEOMETRY,
360                                    dim_array    IN MDSYS.SDO_DIM_ARRAY)
361 
362    RETURN NUMBER PARALLEL_ENABLE;
363 
364 
365 
366    FUNCTION geom_segment_length_3d(geom_segment IN MDSYS.SDO_GEOMETRY,
367                                    tolerance    IN NUMBER DEFAULT 1.0e-8)
368 
369    RETURN NUMBER PARALLEL_ENABLE;
370 
371 
372 
373 
374    --
375    -- return the start point of the geometric segment
376    --
377 
378    FUNCTION geom_segment_start_pt(geom_segment IN MDSYS.SDO_GEOMETRY,
379                                   dim_array    IN MDSYS.SDO_DIM_ARRAY)
380    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
381 
382 
386 
383    FUNCTION geom_segment_start_pt(geom_segment IN MDSYS.SDO_GEOMETRY)
384    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
385 
387    FUNCTION geom_segment_start_pt_3d(geom_segment IN MDSYS.SDO_GEOMETRY,
388                                      dim_array    IN MDSYS.SDO_DIM_ARRAY)
389    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
390 
391 
392    FUNCTION geom_segment_start_pt_3d(geom_segment IN MDSYS.SDO_GEOMETRY)
393    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
394 
395 
396 
397    --
398    -- return the start measure of the geometric segment
399    --
400 
401 
402    FUNCTION geom_segment_start_measure(geom_segment IN MDSYS.SDO_GEOMETRY,
403                                        dim_array    IN MDSYS.SDO_DIM_ARRAY)
404    RETURN NUMBER PARALLEL_ENABLE;
405 
406 
407    FUNCTION geom_segment_start_measure(geom_segment IN MDSYS.SDO_GEOMETRY)
408    RETURN NUMBER PARALLEL_ENABLE;
409 
410 
411 
412    FUNCTION geom_segment_start_measure_3d(geom_segment IN MDSYS.SDO_GEOMETRY,
413                                           dim_array    IN MDSYS.SDO_DIM_ARRAY)
414    RETURN NUMBER PARALLEL_ENABLE;
415 
416 
417    FUNCTION geom_segment_start_measure_3d(geom_segment IN MDSYS.SDO_GEOMETRY)
418    RETURN NUMBER PARALLEL_ENABLE;
419 
420 
421 
422    --
423    -- return the end point of the geometric segment
424    --
425 
426    FUNCTION geom_segment_end_pt(geom_segment IN MDSYS.SDO_GEOMETRY,
427                                 dim_array    IN MDSYS.SDO_DIM_ARRAY)
428    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
429 
430 
431    FUNCTION geom_segment_end_pt(geom_segment IN MDSYS.SDO_GEOMETRY)
432    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
433 
434 
435 
436    FUNCTION geom_segment_end_pt_3d(geom_segment IN MDSYS.SDO_GEOMETRY,
437                                    dim_array    IN MDSYS.SDO_DIM_ARRAY)
438    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
439 
440 
441    FUNCTION geom_segment_end_pt_3d(geom_segment IN MDSYS.SDO_GEOMETRY)
442    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
443 
444 
445 
446    --
447    -- return the end point of the geometric segment
448    --
449 
450    FUNCTION geom_segment_end_measure(geom_segment IN MDSYS.SDO_GEOMETRY,
451                                      dim_array    IN MDSYS.SDO_DIM_ARRAY)
452    RETURN NUMBER PARALLEL_ENABLE;
453 
454 
455    FUNCTION geom_segment_end_measure(geom_segment IN MDSYS.SDO_GEOMETRY)
456 
457    RETURN NUMBER PARALLEL_ENABLE;
458 
459 
460 
461    FUNCTION geom_segment_end_measure_3d(geom_segment IN MDSYS.SDO_GEOMETRY,
462                                         dim_array    IN MDSYS.SDO_DIM_ARRAY)
463    RETURN NUMBER PARALLEL_ENABLE;
464 
465 
466    FUNCTION geom_segment_end_measure_3d(geom_segment IN MDSYS.SDO_GEOMETRY)
467    RETURN NUMBER PARALLEL_ENABLE;
468 
469 
470 
471 
472 
473    --
474    -- return the measure of a LSR point
475    --
476 
477    FUNCTION get_measure(point     IN MDSYS.SDO_GEOMETRY,
478                         dim_array IN MDSYS.SDO_DIM_ARRAY)
479    RETURN NUMBER PARALLEL_ENABLE;
480 
481 
482    FUNCTION get_measure(point     IN MDSYS.SDO_GEOMETRY)
483    RETURN NUMBER PARALLEL_ENABLE;
484 
485 
486 
487    FUNCTION get_measure_3d(point     IN MDSYS.SDO_GEOMETRY,
488                            dim_array IN MDSYS.SDO_DIM_ARRAY)
489    RETURN NUMBER PARALLEL_ENABLE;
490 
491 
492 
493    FUNCTION get_measure_3d(point     IN MDSYS.SDO_GEOMETRY)
494    RETURN NUMBER PARALLEL_ENABLE;
495 
496 
497 
498    --
499    -- locate the point w.r.t a given geometric segment
500    --
501 
502    FUNCTION locate_pt(geom_segment IN MDSYS.SDO_GEOMETRY,
503                       dim_array    IN MDSYS.SDO_DIM_ARRAY,
504                       measure      IN NUMBER,
505                       offset       IN NUMBER DEFAULT 0)
506    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
507 
508 
509 
510    FUNCTION locate_pt(geom_segment IN MDSYS.SDO_GEOMETRY,
511                       measure      IN NUMBER,
512                       offset       IN NUMBER default 0,
513                       tolerance    IN NUMBER default 1.0e-8)
514    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
515 
516 
517 
518    FUNCTION locate_pt_3d(geom_segment IN MDSYS.SDO_GEOMETRY,
519                          dim_array    IN MDSYS.SDO_DIM_ARRAY,
520                          measure      IN NUMBER)
521 
522    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
523 
524    FUNCTION locate_pt_3d(geom_segment IN MDSYS.SDO_GEOMETRY,
525                          measure      IN NUMBER,
526                          tolerance    IN NUMBER DEFAULT 1.0e-8)
527 
528    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
529 
530 
531 
532 
533 
534    --
535    -- return the projection point of a given point w.r.t. to a given geometric segment
536    --
537 
541                        point_dim_array IN MDSYS.SDO_DIM_ARRAY )
538    FUNCTION project_pt(geom_segment    IN MDSYS.SDO_GEOMETRY,
539                        dim_array       IN MDSYS.SDO_DIM_ARRAY,
540                        point           IN MDSYS.SDO_GEOMETRY,
542 
543    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
544 
545 
546 
547    FUNCTION project_pt(geom_segment    IN MDSYS.SDO_GEOMETRY,
548                        dim_array       IN MDSYS.SDO_DIM_ARRAY,
549                        point           IN MDSYS.SDO_GEOMETRY)
550 
551 
552    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
553 
554 
555 
556    FUNCTION project_pt(geom_segment    IN  MDSYS.SDO_GEOMETRY,
557                        dim_array       IN  MDSYS.SDO_DIM_ARRAY,
558                        point           IN  MDSYS.SDO_GEOMETRY,
559                        point_dim_array IN  MDSYS.SDO_DIM_ARRAY,
560                        offset          OUT NUMBER)
561 
562    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
563 
564 
565 
566 
567 
568    FUNCTION project_pt(geom_segment    IN MDSYS.SDO_GEOMETRY,
569                        point           IN MDSYS.SDO_GEOMETRY,
570                        tolerance       IN NUMBER DEFAULT 1.0e-8)
571 
572 
573    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
574 
575 
576 
577    FUNCTION project_pt(geom_segment    IN  MDSYS.SDO_GEOMETRY,
578                        point           IN  MDSYS.SDO_GEOMETRY,
579                        tolerance       IN  NUMBER,
580                        offset          OUT NUMBER )
581 
582 
583    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
584 
585 
586 
587 
588    FUNCTION project_pt_3d(geom_segment    IN MDSYS.SDO_GEOMETRY,
589                           dim_array       IN MDSYS.SDO_DIM_ARRAY,
590                           point           IN MDSYS.SDO_GEOMETRY,
591                           point_dim_array IN MDSYS.SDO_DIM_ARRAY )
592 
593    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
594 
595 
596    FUNCTION project_pt_3d(geom_segment    IN MDSYS.SDO_GEOMETRY,
597                           dim_array       IN MDSYS.SDO_DIM_ARRAY,
598                           point           IN MDSYS.SDO_GEOMETRY)
599 
600 
601    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
602 
603 
604 
605    FUNCTION project_pt_3d(geom_segment    IN  MDSYS.SDO_GEOMETRY,
606                           dim_array       IN  MDSYS.SDO_DIM_ARRAY,
607                           point           IN  MDSYS.SDO_GEOMETRY,
608                           point_dim_array IN  MDSYS.SDO_DIM_ARRAY,
609                           offset          OUT NUMBER)
610 
611    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
612 
613 
614 
615 
616    FUNCTION project_pt_3d(geom_segment    IN MDSYS.SDO_GEOMETRY,
617                           point           IN MDSYS.SDO_GEOMETRY,
618                           tolerance       IN NUMBER DEFAULT 1.0e-8)
619    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
620 
621 
622 
623    FUNCTION project_pt_3d(geom_segment    IN  MDSYS.SDO_GEOMETRY,
624                           point           IN  MDSYS.SDO_GEOMETRY,
625                           tolerance       IN  NUMBER,
626                           offset          OUT NUMBER)
627    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
628 
629 
630 
631 
632 
633 
634 
635 ---
636 --- LRS 817 features declaration
637 ---
638 
639 
640 
641    --
642    -- return geom segment measure range
643    --
644 
645    FUNCTION measure_range(geom_segment IN MDSYS.SDO_GEOMETRY,
646                           dim_array    IN MDSYS.SDO_DIM_ARRAY)
647    RETURN NUMBER PARALLEL_ENABLE;
648 
649 
650    FUNCTION measure_range(geom_segment IN MDSYS.SDO_GEOMETRY)
651    RETURN NUMBER PARALLEL_ENABLE;
652 
653 
654 
655 
656    FUNCTION measure_range_3d(geom_segment IN MDSYS.SDO_GEOMETRY,
657                              dim_array    IN MDSYS.SDO_DIM_ARRAY)
658    RETURN NUMBER PARALLEL_ENABLE;
659 
660 
661    FUNCTION measure_range_3d(geom_segment IN MDSYS.SDO_GEOMETRY)
662    RETURN NUMBER PARALLEL_ENABLE;
663 
664 
665 
666 
667 
668 
669    --
670    -- Convert standard dim info to lrs diminfo by adding an additional measure informaiotn
671    --
672 
673    FUNCTION convert_to_lrs_dim_array(dim_array   IN MDSYS.SDO_DIM_ARRAY,
674                                      dim_name    IN VARCHAR2,
675                                      dim_pos     IN INTEGER,
676                                      lower_bound IN NUMBER DEFAULT NULL,
677                                      upper_bound IN NUMBER DEFAULT NULL,
678                                      tolerance   IN NUMBER DEFAULT NULL)
679 
680    RETURN MDSYS.SDO_DIM_ARRAY PARALLEL_ENABLE;
681 
682 
683 
684    --
685    -- Convert standard dim info to lrs diminfo by adding an additional measure informaiotn
686    --
687 
688    FUNCTION convert_to_lrs_dim_array(dim_array   IN MDSYS.SDO_DIM_ARRAY,
689                                      dim_name    IN VARCHAR2,
693 
690                                      lower_bound IN NUMBER DEFAULT NULL,
691                                      upper_bound IN NUMBER DEFAULT NULL,
692                                      tolerance   IN NUMBER DEFAULT NULL)
694    RETURN MDSYS.SDO_DIM_ARRAY PARALLEL_ENABLE;
695 
696 
697 
698    FUNCTION convert_to_lrs_dim_array(dim_array   IN MDSYS.SDO_DIM_ARRAY,
699                                      lower_bound IN NUMBER DEFAULT NULL,
700                                      upper_bound IN NUMBER DEFAULT NULL,
701                                      tolerance   IN NUMBER DEFAULT NULL)
702 
703    RETURN MDSYS.SDO_DIM_ARRAY PARALLEL_ENABLE;
704 
705 
706 
707 
708 
709    FUNCTION convert_to_lrs_dim_array_3d(dim_array   IN MDSYS.SDO_DIM_ARRAY,
710                                         dim_name    IN VARCHAR2,
711                                         lower_bound IN NUMBER DEFAULT NULL,
712                                         upper_bound IN NUMBER DEFAULT NULL,
713                                         tolerance   IN NUMBER DEFAULT NULL)
714 
715    RETURN MDSYS.SDO_DIM_ARRAY PARALLEL_ENABLE;
716 
717 
718 
719 
720    FUNCTION convert_to_std_dim_array(dim_array   IN MDSYS.SDO_DIM_ARRAY)
721    RETURN MDSYS.SDO_DIM_ARRAY PARALLEL_ENABLE;
722 
723 
724    FUNCTION convert_to_std_dim_array(dim_array   IN MDSYS.SDO_DIM_ARRAY,
725                                      m_pos       IN INTEGER)
726    RETURN MDSYS.SDO_DIM_ARRAY PARALLEL_ENABLE;
727 
728 
729 
730    FUNCTION convert_to_std_dim_array_3d(dim_array   IN MDSYS.SDO_DIM_ARRAY)
731    RETURN MDSYS.SDO_DIM_ARRAY PARALLEL_ENABLE;
732 
733 
734 
735 
736 
737    --
738    -- Convert standard linestring geometry to an LRS geom segment
739    --
740 
741    FUNCTION convert_to_lrs_geom(standard_geom IN MDSYS.SDO_GEOMETRY,
742                                 dim_array     IN MDSYS.SDO_DIM_ARRAY,
743                                 m_pos         IN INTEGER,
744                                 start_measure IN NUMBER ,
745                                 end_measure   IN NUMBER )
746    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
747 
748 
749    FUNCTION convert_to_lrs_geom(standard_geom IN MDSYS.SDO_GEOMETRY,
750                                 dim_array     IN MDSYS.SDO_DIM_ARRAY,
751                                 m_pos         IN INTEGER DEFAULT NULL)
752 
753    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
754 
755 
756 
757    FUNCTION convert_to_lrs_geom(standard_geom IN MDSYS.SDO_GEOMETRY,
758                                 dim_array     IN MDSYS.SDO_DIM_ARRAY,
759                                 start_measure IN NUMBER ,
760                                 end_measure   IN NUMBER )
761    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
762 
763 
764    FUNCTION convert_to_lrs_geom(standard_geom IN MDSYS.SDO_GEOMETRY,
765                                 m_pos         IN INTEGER,
766                                 start_measure IN NUMBER,
767                                 end_measure   IN NUMBER)
768 
769    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
770 
771 
772    FUNCTION convert_to_lrs_geom(standard_geom IN MDSYS.SDO_GEOMETRY,
773                                 start_measure IN NUMBER,
774                                 end_measure   IN NUMBER)
775 
776    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
777 
778 
779    FUNCTION convert_to_lrs_geom(standard_geom IN MDSYS.SDO_GEOMETRY,
780                                 m_pos         IN INTEGER)
781 
782    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
783 
784 
785 
786 
787    FUNCTION convert_to_lrs_geom(standard_geom IN MDSYS.SDO_GEOMETRY)
788 
789    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
790 
791 
792 
793 
794    FUNCTION convert_to_lrs_geom_3d(standard_geom IN MDSYS.SDO_GEOMETRY,
795                                    dim_array     IN MDSYS.SDO_DIM_ARRAY,
796                                    start_measure IN NUMBER DEFAULT NULL,
797                                    end_measure   IN NUMBER DEFAULT NULL)
798    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
799 
800 
801    FUNCTION convert_to_lrs_geom_3d(standard_geom IN MDSYS.SDO_GEOMETRY,
802                                    start_measure IN NUMBER DEFAULT NULL,
803                                    end_measure   IN NUMBER DEFAULT NULL)
804    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
805 
806 
807 
808 
809    --
810    -- Convert an LRS geometry to a standard linestring geometry
811    --
812 
813    FUNCTION convert_to_std_geom(lrs_geom IN MDSYS.SDO_GEOMETRY,
814                                 dim_array     IN MDSYS.SDO_DIM_ARRAY)
815 
816    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
817 
818 
819    FUNCTION convert_to_std_geom(lrs_geom IN MDSYS.SDO_GEOMETRY)
820 
821    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
822 
823 
824 
825 
826    FUNCTION convert_to_std_geom_3d(lrs_geom      IN MDSYS.SDO_GEOMETRY,
827                                    dim_array     IN MDSYS.SDO_DIM_ARRAY)
828    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
832    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
829 
830 
831    FUNCTION convert_to_std_geom_3d(lrs_geom IN MDSYS.SDO_GEOMETRY)
833 
834 
835 
836 
837 
838    --
839    -- Update standard geometry layer to an LRS geometry layer, metadata is updated as well
840    --
841 
842    FUNCTION convert_to_lrs_layer(table_name    IN VARCHAR2,
843                                  column_name   IN VARCHAR2,
844                                  lower_bound   IN NUMBER DEFAULT NULL,
845                                  upper_bound   IN NUMBER DEFAULT NULL,
846                                  tolerance     IN NUMBER DEFAULT NULL)
847    RETURN VARCHAR2 PARALLEL_ENABLE;
848 
849 
850    FUNCTION convert_to_lrs_layer(table_name    IN VARCHAR2,
851                                  column_name   IN VARCHAR2,
852                                  dim_name      IN VARCHAR2,
853                                  dim_pos       IN INTEGER,
854                                  lower_bound   IN NUMBER DEFAULT NULL,
855                                  upper_bound   IN NUMBER DEFAULT NULL,
856                                  tolerance     IN NUMBER DEFAULT NULL)
857    RETURN VARCHAR2 PARALLEL_ENABLE;
858 
859 
860 
861    FUNCTION convert_to_lrs_layer_3d(table_name    IN VARCHAR2,
862                                     column_name   IN VARCHAR2,
863                                     lower_bound   IN NUMBER DEFAULT NULL,
864                                     upper_bound   IN NUMBER DEFAULT NULL,
865                                     tolerance     IN NUMBER DEFAULT NULL)
866    RETURN VARCHAR2 PARALLEL_ENABLE;
867 
868 
869    FUNCTION convert_to_lrs_layer_3d(table_name    IN VARCHAR2,
870                                     column_name   IN VARCHAR2,
871                                     dim_name      IN VARCHAR2,
872                                     lower_bound   IN NUMBER DEFAULT NULL,
873                                     upper_bound   IN NUMBER DEFAULT NULL,
874                                     tolerance     IN NUMBER DEFAULT NULL)
875    RETURN VARCHAR2 PARALLEL_ENABLE;
876 
877 
878 
879    --
880    -- Update standard geometry layer to an LRS geometry layer, metadata is updated as well
881    --
882 
883    FUNCTION convert_to_std_layer(table_name    IN VARCHAR2,
884                                  column_name   IN VARCHAR2)
885    RETURN VARCHAR2 PARALLEL_ENABLE;
886 
887 
888    FUNCTION convert_to_std_layer_3d(table_name    IN VARCHAR2,
889                                     column_name   IN VARCHAR2)
890    RETURN VARCHAR2 PARALLEL_ENABLE;
891 
892 
893 
894    --
895    -- LRS 817 feature
896    -- return a new geom_segment by translateing the original geom_segment
897    --
898 
899    FUNCTION translate_measure(geom_segment IN MDSYS.SDO_GEOMETRY,
900                               dim_array    IN MDSYS.SDO_DIM_ARRAY,
901                               translate_m  IN NUMBER)
902 
903    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
904 
905 
906    FUNCTION translate_measure(geom_segment IN MDSYS.SDO_GEOMETRY,
907                               translate_m  IN NUMBER)
908 
909    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
910 
911 
912 
913    FUNCTION translate_measure_3d(geom_segment IN MDSYS.SDO_GEOMETRY,
914                                  dim_array    IN MDSYS.SDO_DIM_ARRAY,
915                                  translate_m  IN NUMBER)
916 
917    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
918 
919 
920    FUNCTION translate_measure_3d(geom_segment IN MDSYS.SDO_GEOMETRY,
921                                  translate_m  IN NUMBER)
922 
923    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
924 
925 
926 
927 
928    --
929    -- LRS 817 feature
930    -- return a new geom_segment by reversing the original geom segment
931    --
932 
933    FUNCTION reverse_measure(geom_segment IN MDSYS.SDO_GEOMETRY,
934                             dim_array    IN MDSYS.SDO_DIM_ARRAY)
935 
936    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
937 
938 
939    FUNCTION reverse_measure(geom_segment IN MDSYS.SDO_GEOMETRY)
940 
941    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
942 
943 
944 
945    FUNCTION reverse_measure_3d(geom_segment IN MDSYS.SDO_GEOMETRY,
946                                dim_array    IN MDSYS.SDO_DIM_ARRAY)
947 
948    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
949 
950 
951    FUNCTION reverse_measure_3d(geom_segment IN MDSYS.SDO_GEOMETRY)
952 
953    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
954 
955 
956 
957    --
958    -- LRS 817 find the measure of the closest pt of a given pt w.r.t. an LRS segment
959    -- first project the pt onto the LRS segment then get the measure of the projection pt
960    --
961 
962    FUNCTION find_measure(geom_segment           IN MDSYS.SDO_GEOMETRY,
963                          dim_array              IN MDSYS.SDO_DIM_ARRAY,
964                          point                  IN MDSYS.SDO_GEOMETRY,
965                          point_dim_array        IN MDSYS.SDO_DIM_ARRAY DEFAULT NULL)
966 
967    RETURN NUMBER PARALLEL_ENABLE;
968 
969 
970 
974                          tolerance    IN NUMBER DEFAULT 1.0e-8)
971 
972    FUNCTION find_measure(geom_segment IN MDSYS.SDO_GEOMETRY,
973                          point        IN MDSYS.SDO_GEOMETRY,
975 
976    RETURN NUMBER PARALLEL_ENABLE;
977 
978 
979 
980    FUNCTION find_measure_3d(geom_segment        IN MDSYS.SDO_GEOMETRY,
981                             dim_array           IN MDSYS.SDO_DIM_ARRAY,
982                             point               IN MDSYS.SDO_GEOMETRY,
983                             point_dim_array     IN MDSYS.SDO_DIM_ARRAY DEFAULT NULL)
984 
985    RETURN NUMBER PARALLEL_ENABLE;
986 
987 
988    FUNCTION find_measure_3d(geom_segment IN MDSYS.SDO_GEOMETRY,
989                             point        IN MDSYS.SDO_GEOMETRY,
990                             tolerance    IN NUMBER DEFAULT 1.0e-8)
991 
992    RETURN NUMBER PARALLEL_ENABLE;
993 
994    FUNCTION find_offset(geom_segment            IN MDSYS.SDO_GEOMETRY,
995                         dim_array               IN MDSYS.SDO_DIM_ARRAY,
996                         point                   IN MDSYS.SDO_GEOMETRY,
997                         point_dim_array         IN MDSYS.SDO_DIM_ARRAY DEFAULT NULL)
998 
999    RETURN NUMBER PARALLEL_ENABLE;
1000 
1001 
1002 
1003 
1004    FUNCTION find_offset(geom_segment IN MDSYS.SDO_GEOMETRY,
1005                         point        IN MDSYS.SDO_GEOMETRY,
1006                         tolerance    IN NUMBER DEFAULT 1.0e-8)
1007 
1008    RETURN NUMBER PARALLEL_ENABLE;
1009 
1010 
1011 
1012 
1013 
1014    --
1015    -- LRS 817 dynamic segmentation, an alias of clip_geom_segment
1016    --
1017 
1018 
1019    FUNCTION dynamic_segment(geom_segment  IN MDSYS.SDO_GEOMETRY,
1020                             dim_array     IN MDSYS.SDO_DIM_ARRAY,
1021                             start_measure IN NUMBER,
1022                             end_measure   IN NUMBER )
1023 
1024    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1025 
1026 
1027    FUNCTION dynamic_segment(geom_segment  IN MDSYS.SDO_GEOMETRY,
1028                             start_measure IN NUMBER,
1029                             end_measure   IN NUMBER,
1030                             tolerance     IN NUMBER DEFAULT 1.0e-8)
1031 
1032    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1033 
1034 
1035    FUNCTION dynamic_segment_3d(geom_segment  IN MDSYS.SDO_GEOMETRY,
1036                                dim_array     IN MDSYS.SDO_DIM_ARRAY,
1037                                start_measure IN NUMBER,
1038                                end_measure   IN NUMBER )
1039 
1040    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1041 
1042 
1043    FUNCTION dynamic_segment_3d(geom_segment  IN MDSYS.SDO_GEOMETRY,
1044                                start_measure IN NUMBER,
1045                                end_measure   IN NUMBER,
1046                                tolerance     IN NUMBER DEFAULT 1.0e-8)
1047 
1048    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1049 
1050 
1051 
1052 
1053    --
1054    -- LRS 817 convert a measure to a percentage (0%~100%) w.r.t. a given geom segment
1055    --
1056 
1057 
1058    FUNCTION measure_to_percentage(geom_segment IN MDSYS.SDO_GEOMETRY,
1059                                   dim_array    IN MDSYS.SDO_DIM_ARRAY,
1060                                   measure      IN NUMBER)
1061 
1062    RETURN NUMBER PARALLEL_ENABLE;
1063 
1064 
1065    FUNCTION measure_to_percentage(geom_segment IN MDSYS.SDO_GEOMETRY,
1066                                   measure      IN NUMBER)
1067 
1068    RETURN NUMBER PARALLEL_ENABLE;
1069 
1070 
1071 
1072 
1073    --
1074    -- LRS 817 convert a percentage (0%~100%) to a measure w.r.t. given geom segment
1075    --
1076 
1077    FUNCTION percentage_to_measure(geom_segment IN MDSYS.SDO_GEOMETRY,
1078                                   dim_array    IN MDSYS.SDO_DIM_ARRAY,
1079                                   percentage   IN NUMBER)
1080 
1081    RETURN NUMBER PARALLEL_ENABLE;
1082 
1083 
1084 
1085    FUNCTION percentage_to_measure(geom_segment IN MDSYS.SDO_GEOMETRY,
1086                                   percentage   IN NUMBER)
1087 
1088    RETURN NUMBER PARALLEL_ENABLE;
1089 
1090 
1091 
1092    --
1093    -- reset the measure values to NULL
1094    --
1095    PROCEDURE reset_measure(geom_segment  IN OUT MDSYS.SDO_GEOMETRY,
1096                            dim_array     IN MDSYS.SDO_DIM_ARRAY);
1097 
1098 
1099    PROCEDURE reset_measure(geom_segment  IN OUT MDSYS.SDO_GEOMETRY);
1100 
1101 
1102 
1103    --
1104    -- Redefine the LRS segment (ignore all current measures) and repopulate measure info. based on
1105    -- the given start/end measure, this is different from define_geom_segment which keeps old measure info
1106    -- if exist.
1107    --
1108 
1109    PROCEDURE redefine_geom_segment(geom_segment  IN OUT MDSYS.SDO_GEOMETRY,
1110                                    dim_array     IN MDSYS.SDO_DIM_ARRAY,
1111                                    start_measure IN NUMBER ,
1112                                    end_measure   IN NUMBER );
1113 
1114 
1115    PROCEDURE redefine_geom_segment(geom_segment  IN OUT MDSYS.SDO_GEOMETRY,
1119 
1116                                    dim_array     IN MDSYS.SDO_DIM_ARRAY);
1117 
1118 
1120 
1121    PROCEDURE redefine_geom_segment(geom_segment  IN OUT MDSYS.SDO_GEOMETRY,
1122                                    start_measure IN NUMBER ,
1123                                    end_measure   IN NUMBER ,
1124                                    tolerance     IN NUMBER DEFAULT 1.0e-8);
1125 
1126 
1127 
1128    PROCEDURE redefine_geom_segment(geom_segment  IN OUT MDSYS.SDO_GEOMETRY,
1129                                    tolerance     IN NUMBER DEFAULT 1.0e-8);
1130 
1131 
1132 
1133 
1134    PROCEDURE redefine_geom_segment_3d(geom_segment  IN OUT MDSYS.SDO_GEOMETRY,
1135                                       dim_array     IN MDSYS.SDO_DIM_ARRAY,
1136                                       start_measure IN NUMBER ,
1137                                       end_measure   IN NUMBER );
1138 
1139 
1140    PROCEDURE redefine_geom_segment_3d(geom_segment  IN OUT MDSYS.SDO_GEOMETRY,
1141                                       dim_array     IN MDSYS.SDO_DIM_ARRAY);
1142 
1143 
1144 
1145    PROCEDURE redefine_geom_segment_3d(geom_segment  IN OUT MDSYS.SDO_GEOMETRY,
1146                                       start_measure IN NUMBER ,
1147                                       end_measure   IN NUMBER ,
1148                                       tolerance     IN NUMBER DEFAULT 1.0e-8);
1149 
1150 
1151    PROCEDURE redefine_geom_segment_3d(geom_segment  IN OUT MDSYS.SDO_GEOMETRY,
1152                                       tolerance     IN NUMBER DEFAULT 1.0e-8);
1153 
1154 
1155 
1156 
1157 
1158 ---
1159 --- 82 LRS Features
1160 ---
1161 
1162 
1163    --
1164    -- set the measure value of the closest point (using snap_to_pt) in the given geometry
1165    --
1166 
1167    FUNCTION set_pt_measure(geom_segment  IN OUT MDSYS.SDO_GEOMETRY,
1168                            dim_array     IN MDSYS.SDO_DIM_ARRAY,
1169                            point         IN MDSYS.SDO_GEOMETRY,
1170                            pt_dim_array  IN MDSYS.SDO_DIM_ARRAY,
1171                            measure       IN NUMBER )
1172    RETURN VARCHAR2 PARALLEL_ENABLE;
1173 
1174 
1175    FUNCTION  set_pt_measure(point         IN OUT MDSYS.SDO_GEOMETRY,
1176                             dim_array     IN MDSYS.SDO_DIM_ARRAY,
1177                             measure       IN NUMBER )
1178    RETURN VARCHAR2 PARALLEL_ENABLE;
1179 
1180 
1181    FUNCTION  set_pt_measure(point         IN OUT MDSYS.SDO_GEOMETRY,
1182                             measure       IN NUMBER )
1183    RETURN VARCHAR2 PARALLEL_ENABLE;
1184 
1185 
1186 
1187    FUNCTION set_pt_measure(geom_segment  IN OUT MDSYS.SDO_GEOMETRY,
1188                            point         IN MDSYS.SDO_GEOMETRY,
1189                            measure       IN NUMBER )
1190    RETURN VARCHAR2 PARALLEL_ENABLE;
1191 
1192 
1193 
1194 
1195    FUNCTION set_pt_measure_3d(geom_segment  IN OUT MDSYS.SDO_GEOMETRY,
1196                               dim_array     IN MDSYS.SDO_DIM_ARRAY,
1197                               point         IN MDSYS.SDO_GEOMETRY,
1198                               pt_dim_array  IN MDSYS.SDO_DIM_ARRAY,
1199                               measure       IN NUMBER )
1200    RETURN VARCHAR2 PARALLEL_ENABLE;
1201 
1202 
1203    FUNCTION set_pt_measure_3d(geom_segment  IN OUT MDSYS.SDO_GEOMETRY,
1204                               point         IN MDSYS.SDO_GEOMETRY,
1205                               measure       IN NUMBER )
1206    RETURN VARCHAR2 PARALLEL_ENABLE;
1207 
1208 
1209 
1210    --
1211    -- reverse the direction of the geometry (shape pt order )
1212    --
1213 
1214    FUNCTION reverse_geometry(geom          IN MDSYS.SDO_GEOMETRY,
1215                              dim_array     IN MDSYS.SDO_DIM_ARRAY)
1216 
1217    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1218 
1219 
1220    FUNCTION reverse_geometry(geom          IN MDSYS.SDO_GEOMETRY)
1221 
1222    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1223 
1224 
1225 
1226 
1227    --
1228    -- generate an offset curve w.r.t. to an LRS geometry
1229    --
1230 
1231    -- for geodetic offset, consider arc_tolerance
1232 
1233    FUNCTION offset_geom_segment(geom_segment  IN MDSYS.SDO_GEOMETRY,
1234                                 dim_array     IN MDSYS.SDO_DIM_ARRAY,
1235                                 start_measure IN NUMBER,
1236                                 end_measure   IN NUMBER,
1237                                 offset        IN NUMBER,
1238                                 unit          IN VARCHAR2)
1239 
1240 
1241    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1242 
1243 
1244 
1245    -- for geodetic offset, consider arc_tolerance
1246 
1247    FUNCTION offset_geom_segment(geom_segment  IN MDSYS.SDO_GEOMETRY,
1248                                 start_measure IN NUMBER,
1249                                 end_measure   IN NUMBER,
1250                                 offset        IN NUMBER,
1251                                 tolerance     IN NUMBER,
1252                                 unit          IN VARCHAR2)
1253 
1254 
1255    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1256 
1257 
1258 
1262                                 end_measure   IN NUMBER,
1259    FUNCTION offset_geom_segment(geom_segment  IN MDSYS.SDO_GEOMETRY,
1260                                 dim_array     IN MDSYS.SDO_DIM_ARRAY,
1261                                 start_measure IN NUMBER,
1263                                 offset        IN NUMBER)
1264 
1265 
1266    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1267 
1268 
1269 
1270    FUNCTION offset_geom_segment(geom_segment  IN MDSYS.SDO_GEOMETRY,
1271                                 start_measure IN NUMBER,
1272                                 end_measure   IN NUMBER,
1273                                 offset        IN NUMBER,
1274                                 tolerance     IN NUMBER)
1275 
1276 
1277    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1278 
1279 
1280    FUNCTION offset_geom_segment(geom_segment  IN MDSYS.SDO_GEOMETRY,
1281                                 start_measure IN NUMBER,
1282                                 end_measure   IN NUMBER,
1283                                 offset        IN NUMBER)
1284 
1285 
1286    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1287 
1288 
1289 
1290    FUNCTION is_measure_increasing(geom_segment  IN MDSYS.SDO_GEOMETRY,
1291                                   dim_array     IN MDSYS.SDO_DIM_ARRAY)
1292 
1293 
1294    RETURN VARCHAR2 PARALLEL_ENABLE;
1295 
1296 
1297 
1298    FUNCTION is_measure_increasing(geom_segment  IN MDSYS.SDO_GEOMETRY)
1299 
1300    RETURN VARCHAR2 PARALLEL_ENABLE;
1301 
1302 
1303    FUNCTION is_measure_increasing_3d(geom_segment  IN MDSYS.SDO_GEOMETRY,
1304                                      dim_array     IN MDSYS.SDO_DIM_ARRAY)
1305 
1306 
1307    RETURN VARCHAR2 PARALLEL_ENABLE;
1308 
1309 
1310 
1311    FUNCTION is_measure_increasing_3d(geom_segment  IN MDSYS.SDO_GEOMETRY)
1312 
1313    RETURN VARCHAR2 PARALLEL_ENABLE;
1314 
1315 
1316 
1317 
1318    FUNCTION is_measure_decreasing(geom_segment  IN MDSYS.SDO_GEOMETRY,
1319                                   dim_array     IN MDSYS.SDO_DIM_ARRAY)
1320 
1321 
1322    RETURN VARCHAR2 PARALLEL_ENABLE;
1323 
1324 
1325    FUNCTION is_measure_decreasing(geom_segment  IN MDSYS.SDO_GEOMETRY)
1326 
1327    RETURN VARCHAR2 PARALLEL_ENABLE;
1328 
1329 
1330    FUNCTION is_measure_decreasing_3d(geom_segment  IN MDSYS.SDO_GEOMETRY,
1331                                      dim_array     IN MDSYS.SDO_DIM_ARRAY)
1332 
1333 
1334    RETURN VARCHAR2 PARALLEL_ENABLE;
1335 
1336 
1337    FUNCTION is_measure_decreasing_3d(geom_segment  IN MDSYS.SDO_GEOMETRY)
1338 
1339    RETURN VARCHAR2 PARALLEL_ENABLE;
1340 
1341 
1342 
1343    FUNCTION validate_lrs_geometry(geom_segment  IN MDSYS.SDO_GEOMETRY,
1344                                   dim_array     IN MDSYS.SDO_DIM_ARRAY)
1345 
1346    RETURN VARCHAR2 PARALLEL_ENABLE;
1347 
1348 
1349    FUNCTION validate_lrs_geometry(geom_segment  IN MDSYS.SDO_GEOMETRY)
1350    RETURN VARCHAR2 PARALLEL_ENABLE;
1351 
1352 
1353    FUNCTION validate_lrs_geometry_3d(geom_segment  IN MDSYS.SDO_GEOMETRY,
1354                                      dim_array     IN MDSYS.SDO_DIM_ARRAY)
1355 
1356    RETURN VARCHAR2 PARALLEL_ENABLE;
1357 
1358 
1359    FUNCTION validate_lrs_geometry_3d(geom_segment  IN MDSYS.SDO_GEOMETRY)
1360    RETURN VARCHAR2 PARALLEL_ENABLE;
1361 
1362 
1363    FUNCTION find_lrs_dim_pos(table_name    IN VARCHAR2,
1364                              column_name   IN VARCHAR2)
1365    RETURN INTEGER PARALLEL_ENABLE;
1366 
1367 
1368    --
1369    -- get previous shape point based on the given measure
1370    --
1371 
1372    FUNCTION get_prev_shape_pt (geom_segment  IN MDSYS.SDO_GEOMETRY,
1373                                dim_array     IN MDSYS.SDO_DIM_ARRAY,
1374                                measure       IN NUMBER)
1375 
1376    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1377 
1378 
1379 
1380    FUNCTION get_prev_shape_pt (geom_segment  IN MDSYS.SDO_GEOMETRY,
1381                                measure       IN NUMBER)
1382 
1383    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1384 
1385 
1386 
1387    FUNCTION get_prev_shape_pt_3d (geom_segment  IN MDSYS.SDO_GEOMETRY,
1388                                   dim_array     IN MDSYS.SDO_DIM_ARRAY,
1389                                   measure       IN NUMBER)
1390 
1391    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1392 
1393 
1394 
1395    FUNCTION get_prev_shape_pt_3d (geom_segment  IN MDSYS.SDO_GEOMETRY,
1396                                   measure       IN NUMBER)
1397 
1398    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1399 
1400 
1401 
1402    --
1403    -- get previous shape point based on the given point
1404    --
1405 
1406 
1407    FUNCTION get_prev_shape_pt (geom_segment  IN MDSYS.SDO_GEOMETRY,
1408                                dim_array     IN MDSYS.SDO_DIM_ARRAY,
1409                                point         IN MDSYS.SDO_GEOMETRY)
1410 
1411    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1412 
1413 
1414 
1415    FUNCTION get_prev_shape_pt (geom_segment  IN MDSYS.SDO_GEOMETRY,
1419 
1416                                point         IN MDSYS.SDO_GEOMETRY)
1417 
1418    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1420 
1421 
1422    FUNCTION get_prev_shape_pt_3d (geom_segment  IN MDSYS.SDO_GEOMETRY,
1423                                   dim_array     IN MDSYS.SDO_DIM_ARRAY,
1424                                   point         IN MDSYS.SDO_GEOMETRY)
1425 
1426    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1427 
1428 
1429 
1430    FUNCTION get_prev_shape_pt_3d (geom_segment  IN MDSYS.SDO_GEOMETRY,
1431                                   point         IN MDSYS.SDO_GEOMETRY)
1432 
1433    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1434 
1435 
1436 
1437 
1438    --
1439    -- get the next shape point based on the given measure
1440    --
1441 
1442 
1443    FUNCTION get_next_shape_pt (geom_segment  IN MDSYS.SDO_GEOMETRY,
1444                                dim_array     IN MDSYS.SDO_DIM_ARRAY,
1445                                measure       IN NUMBER)
1446 
1447    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1448 
1449 
1450    FUNCTION get_next_shape_pt (geom_segment  IN MDSYS.SDO_GEOMETRY,
1451                                measure       IN NUMBER)
1452 
1453    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1454 
1455 
1456 
1457    FUNCTION get_next_shape_pt_3d (geom_segment  IN MDSYS.SDO_GEOMETRY,
1458                                   dim_array     IN MDSYS.SDO_DIM_ARRAY,
1459                                   measure       IN NUMBER)
1460 
1461    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1462 
1463 
1464    FUNCTION get_next_shape_pt_3d (geom_segment  IN MDSYS.SDO_GEOMETRY,
1465                                   measure       IN NUMBER)
1466 
1467    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1468 
1469 
1470 
1471 
1472    --
1473    -- get the next shape point based on  the given point
1474    --
1475 
1476 
1477    FUNCTION get_next_shape_pt (geom_segment  IN MDSYS.SDO_GEOMETRY,
1478                                dim_array     IN MDSYS.SDO_DIM_ARRAY,
1479                                point         IN MDSYS.SDO_GEOMETRY)
1480 
1481    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1482 
1483 
1484 
1485    FUNCTION get_next_shape_pt (geom_segment  IN MDSYS.SDO_GEOMETRY,
1486                                point         IN MDSYS.SDO_GEOMETRY)
1487 
1488    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1489 
1490 
1491 
1492    FUNCTION get_next_shape_pt_3d (geom_segment  IN MDSYS.SDO_GEOMETRY,
1493                                   dim_array     IN MDSYS.SDO_DIM_ARRAY,
1494                                   point         IN MDSYS.SDO_GEOMETRY)
1495 
1496    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1497 
1498 
1499 
1500    FUNCTION get_next_shape_pt_3d (geom_segment  IN MDSYS.SDO_GEOMETRY,
1501                                   point         IN MDSYS.SDO_GEOMETRY)
1502 
1503    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1504 
1505 
1506 
1507 
1508    --
1509    -- get previous measure basd on the given measure
1510    --
1511 
1512 
1513    FUNCTION get_prev_shape_pt_measure(geom_segment  IN MDSYS.SDO_GEOMETRY,
1514                                       dim_array     IN MDSYS.SDO_DIM_ARRAY,
1515                                       measure        IN NUMBER)
1516 
1517    RETURN NUMBER PARALLEL_ENABLE;
1518 
1519 
1520 
1521    FUNCTION get_prev_shape_pt_measure (geom_segment  IN MDSYS.SDO_GEOMETRY,
1522                                        measure       IN NUMBER)
1523 
1524    RETURN NUMBER PARALLEL_ENABLE;
1525 
1526 
1527 
1528 
1529    FUNCTION get_prev_shape_pt_measure_3d(geom_segment  IN MDSYS.SDO_GEOMETRY,
1530                                          dim_array     IN MDSYS.SDO_DIM_ARRAY,
1531                                          measure       IN NUMBER)
1532 
1533    RETURN NUMBER PARALLEL_ENABLE;
1534 
1535 
1536 
1537    FUNCTION get_prev_shape_pt_measure_3d (geom_segment  IN MDSYS.SDO_GEOMETRY,
1538                                           measure       IN NUMBER)
1539 
1540    RETURN NUMBER PARALLEL_ENABLE;
1541 
1542 
1543 
1544 
1545    --
1546    -- get previous measure (of shape point) based on the given point
1547    --
1548 
1549 
1550    FUNCTION get_prev_shape_pt_measure(geom_segment  IN MDSYS.SDO_GEOMETRY,
1551                                       dim_array     IN MDSYS.SDO_DIM_ARRAY,
1552                                       point          IN MDSYS.SDO_GEOMETRY)
1553 
1554    RETURN NUMBER PARALLEL_ENABLE;
1555 
1556 
1557 
1558    FUNCTION get_prev_shape_pt_measure(geom_segment  IN MDSYS.SDO_GEOMETRY,
1559                                       point          IN MDSYS.SDO_GEOMETRY)
1560 
1561    RETURN NUMBER PARALLEL_ENABLE;
1562 
1563 
1564 
1565 
1566 
1567    FUNCTION get_prev_shape_pt_measure_3d(geom_segment  IN MDSYS.SDO_GEOMETRY,
1568                                          dim_array     IN MDSYS.SDO_DIM_ARRAY,
1569                                          point        IN MDSYS.SDO_GEOMETRY)
1570 
1571    RETURN NUMBER PARALLEL_ENABLE;
1572 
1573 
1577 
1574 
1575    FUNCTION get_prev_shape_pt_measure_3d(geom_segment  IN MDSYS.SDO_GEOMETRY,
1576                                          point        IN MDSYS.SDO_GEOMETRY)
1578    RETURN NUMBER PARALLEL_ENABLE;
1579 
1580 
1581 
1582 
1583 
1584    --
1585    -- get the next measure (of shape point) based on the given measure
1586    --
1587 
1588 
1589    FUNCTION get_next_shape_pt_measure (geom_segment  IN MDSYS.SDO_GEOMETRY,
1590                                        dim_array     IN MDSYS.SDO_DIM_ARRAY,
1591                                        measure       IN NUMBER)
1592 
1593    RETURN NUMBER PARALLEL_ENABLE;
1594 
1595 
1596    FUNCTION get_next_shape_pt_measure (geom_segment  IN MDSYS.SDO_GEOMETRY,
1597                                        measure       IN NUMBER)
1598 
1599    RETURN NUMBER PARALLEL_ENABLE;
1600 
1601 
1602    FUNCTION get_next_shape_pt_measure(geom_segment  IN MDSYS.SDO_GEOMETRY,
1603                                       dim_array     IN MDSYS.SDO_DIM_ARRAY,
1604                                       point           IN MDSYS.SDO_GEOMETRY)
1605 
1606    RETURN NUMBER PARALLEL_ENABLE;
1607 
1608 
1609 
1610    FUNCTION get_next_shape_pt_measure(geom_segment  IN MDSYS.SDO_GEOMETRY,
1611                                       point           IN MDSYS.SDO_GEOMETRY)
1612 
1613    RETURN NUMBER PARALLEL_ENABLE;
1614 
1615 
1616 
1617    FUNCTION get_next_shape_pt_measure_3d (geom_segment  IN MDSYS.SDO_GEOMETRY,
1618                                           dim_array     IN MDSYS.SDO_DIM_ARRAY,
1619                                           measure       IN NUMBER)
1620 
1621    RETURN NUMBER PARALLEL_ENABLE;
1622 
1623 
1624    FUNCTION get_next_shape_pt_measure_3d (geom_segment  IN MDSYS.SDO_GEOMETRY,
1625                                           measure        IN NUMBER)
1626 
1627    RETURN NUMBER PARALLEL_ENABLE;
1628 
1629 
1630 
1631    FUNCTION get_next_shape_pt_measure_3d(geom_segment  IN MDSYS.SDO_GEOMETRY,
1632                                          dim_array     IN MDSYS.SDO_DIM_ARRAY,
1633                                          point        IN MDSYS.SDO_GEOMETRY)
1634 
1635    RETURN NUMBER PARALLEL_ENABLE;
1636 
1637 
1638 
1639    FUNCTION get_next_shape_pt_measure_3d(geom_segment  IN MDSYS.SDO_GEOMETRY,
1640                                          point        IN MDSYS.SDO_GEOMETRY)
1641 
1642    RETURN NUMBER;
1643 
1644 
1645    FUNCTION is_shape_pt_measure(geom_segment  IN MDSYS.SDO_GEOMETRY,
1646                                 dim_array     IN MDSYS.SDO_DIM_ARRAY,
1647                                 measure       IN NUMBER)
1648 
1649    RETURN VARCHAR2 PARALLEL_ENABLE;
1650 
1651 
1652    FUNCTION is_shape_pt_measure(geom_segment  IN MDSYS.SDO_GEOMETRY,
1653                                 measure       IN NUMBER)
1654 
1655    RETURN VARCHAR2 PARALLEL_ENABLE;
1656 
1657 
1658    FUNCTION is_shape_pt_measure_3d(geom_segment  IN MDSYS.SDO_GEOMETRY,
1659                                    dim_array     IN MDSYS.SDO_DIM_ARRAY,
1660                                    measure       IN NUMBER)
1661 
1662    RETURN VARCHAR2 PARALLEL_ENABLE;
1663 
1664 
1665    FUNCTION is_shape_pt_measure_3d(geom_segment  IN MDSYS.SDO_GEOMETRY,
1666                                    measure       IN NUMBER)
1667 
1668    RETURN VARCHAR2 PARALLEL_ENABLE;
1669 
1670 
1671    --
1672    -- intersection for LRS geometries
1673    --
1674 
1675    FUNCTION lrs_intersection( geom_1 IN MDSYS.SDO_GEOMETRY,
1676                               dim_array_1    IN MDSYS.SDO_DIM_ARRAY,
1677                               geom_2 IN MDSYS.SDO_GEOMETRY,
1678                               dim_array_2    IN MDSYS.SDO_DIM_ARRAY)
1679 
1680    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1681 
1682 
1683    FUNCTION lrs_intersection( geom_1 IN MDSYS.SDO_GEOMETRY,
1684                               geom_2 IN MDSYS.SDO_GEOMETRY,
1685                               tolerance      IN NUMBER)
1686    RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC PARALLEL_ENABLE;
1687 
1688 
1689 END sdo_lrs;