International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol XXXV,
create or replace type TREE_TY as object (
position POSITION TY,
species VARCHAR? (30),
plantation date DATE,
member function AGE (plantation date in DATE)
return NUMBER,
pragma restrict references (AGE, wnds));
The keyword pragma and its bounded clause is mandatory if the
method AGE is to be used in queries as it says the AGE method
will not modify the database (WNDS - write no database state).
create or replace type body TREE TY as
member function AGE (plantation date DATE)
return NUMBER is
begin
return round (SysDate — plantation date);
end;
The following query executes the age method in the data type
tree ty and returns the age of all tree objects in relation
TREE, TAB. Values of components of an object (attributes and
methods) are accessed with the dot notation.
select tree id, t.tree. AGE (tree.plantation date)
from TREE TABt;
When using methods there is no need to store variable data -
such as the age of planted trees for the purpose of rejuvenation
outside the park's centre zone. Instead static data (such as the
plantation date) can be accessed to derive variable data via
functions and procedures.
Object types can be mapped to the prevalent OO languages like
C++ and Java. Thus object type instances in the database can be
accessed and modified to and from C++ resp. Java applications
(Lee, 2003).
Type inheritance allows sharing similarities among data types
as well as extending their chracteristics. With single type
inheritance a type may extend (inherit from) one supertype.
Such a type (called subtype) inherits all its supertype’s
attributes and methods. A subtype may also add new attributes
and methods and / or override inherited methods.
The root type of a hierarchy must be declared to be not final:
create or replace type TREE_TY as object (
position POSITION TY,
species VARCHARQ2 (30),
member function STOCK () return NUMBER) not final;
A subtype can be created under a non final type. It inherits all
attributes and methods from its supertype. It can add new
attributes and methods and / or override inherited methods.
create type CONIFER. TY under TREE TY (
status of damage VARCHAR (20),
height NUMBER (4,2),
member function AGE () return NUMBER,
overriding member function STOCK () return NUMBER);
^ Part B4. Istanbul 2004
Tree
position : position ty
species : string
stock() : number
inheritance
CONIFERS
status of damage : string
height : number
age() : number
stock() : number
Figure 5. Type Inheritance
Oracle Spatial and Oracle Locator, both core features of the
Oracle database provide a natively supported open vector data
type SDO_Geometry for storing vector data and a set of spatial
operators and functions to perform spatial analysis inside the
database. The following command retrieves the topological
intersection of deadwood and stand features and writes the
corresponding geometry into a new spatial table:
insert into result_table (id, geom)
select d.id, sdo_geom.sdo_intersection (d.geom, m.diminfo,
s.geom, m.diminfo)
from DEADWOOD d, STANDS s, user_sdo_geom_metadata m
where m.table name like 'stands'
and m.column name like 'geom'
and d.id = 324 and s.id = 5141524252;
In the meantime the SDO_Geometry data type has become a de
facto industry standard that is supported by all major GIS
vendors' products to push interoperability. R-tree and quadtree
indexes can be used standalone or in conjunction. Each index
type is appropriate for different situations, although R-tree
indexing is often the best choice because of its capacity to
operate directly against geodetic data (Geringer, 2003).
In the current version Oracle database 10g native data types for
storing raster and persistent topology data were added to further
extend possibilities to model real world objects based on object-
relational database structures.
The completeness and therefore the quality of spatial features'
descriptions can be further enhanced with the introduction of a
new system-defined datatype XMLType that can be used as the
datatype for columns in tables and views to create, extract, and
index XML data. A feature’s position and spatial representation
is then modeled by using vector resp. raster types, its
characteristics are captured by (complex) attributes and any
further information on the spatial object, that cannot be
structured to be kept in the data types mentioned, is maintained
in xml-documents, all stored natively within the database.
For modeling highly dynamic changes of real world objects the
SQL type TIMESTAMP can be used which is a high-precision
time and date type that allows storing fractions of a second
(Qian, 2004). The timestamp values are basically points on a
linear time axis.
For slower changes in state we can use DATE or create own
adapted abstract data types that can express discrete dates or
times intervals. The data types can be flexibly extended to meet
an application's accurency requirements and provide attributes
to express the fuzziness of a time record, for instance if a time
Internat
interval
store (P
create o
year
month
day
hour
create oi
start
end
start 1
end rc
In term:
database
applicati
spreadin
tracking.
For the
influenc
After wi
decisive
day at 2(
that tem
importar
the likel
Wald, 2!
temperat
part affe
paramete
stations
relationa
the struc
create or
year
month
day
t_max
t_min
t_kw
Snow €
Based oi
assigned
station pe
create or
of WA]
with ob
select y
from W
where s
The colui
now acc
object vi
model cc
reference
upper obj