Introduction
The Geographic Data was revised on the previous analysis and design documents, the final goal was allow user to model geographic data into spatial databases like Oracle Spatial and/or PostGIS. Finally the data the this data types was added to Moskitt, allowing add new UML spatial types group by the user and also to the SQL diagram data schema. Next data represents the final spatial group structure:
• Primitive type:
◦ GEOMETRY: matches SDO_GEOMETRY and GEOMETRY_COLUMN types.
This type has the following attributes that describe it:
• TYPE :
◦ Type: String
◦ Description: matches SDO_GTYPE T part on Oracle and TYPE on PostGIS
◦ Domain: {Point, Line, Polygon, Collection, Multipoint, Multiline, Multipolygon, Unknown}
• SRID :
◦ Type: Integer
◦ Description: matches SDO_SRID on Oracle and SRID on postGIS.
◦ Domain: list of available EPSG code.
◦ Extensibility: relation to ORACLE SRID available values.
• COORDINATES DIMENSION :
◦ Type: Integer
◦ Description: matches SDO_GTYPE D part on Oracle and COOR_DIMENSION on the PostGIS.
◦ Domain: {2D, 3D, 4D}
• TOLERANCE :
◦ Type: Double
◦ Description: represents layer data tolerance. Only appear on the Oracle case but it is necessary, if the
model finally works only in postGIS this property can be ignored. • COORDINATE SYSTEM BOUND:
◦ Type: Envelope (String until can represent new Envelope type.)
◦ Description: represent layer envelope. Only appear on the Oracle case but it is necessary, if the model
finally works only in postGIS this property can be ignored. • INDEX:
◦ Type: String
◦ Description: matches INDEX creation on the spatial databases, R-Tree it's common, then it's default index
too. Also postGIS can choose some indexes more.
In order to fill these new types new tab make sense to be created. This new tab will allow fill all the Geometry subtypes as a form. Then one new property tab named Spatial Properties will be created. So then every new type and subtype become to a new property.
New properties
Next figure shows how it's structured the Geometry Type to be edited as a Property Tab by the user.
As it shown, the Geometry attribute requires modify the value of six sub attributes like the Type of the Geometry (point, line, polygon...), then create a new property tab it's good idea. The figure shows what is the expected sequence of components, moreover the between brackets it's written one widget that could be implemented, helping the user to fill the sub properties form. Let's to describe each one to another to get them details.
● Element: <Type> ● Property : ○ name: ■ Geometry Type ○ type : ■ String ○ domain :
■ limited domain {Point, Line, Polygon, Collection, Multipoint, Multiline, Multipolygon,
Unknown} ○ editing mechanism ■ Combo Box ● Element: <SRID> ● Property : ○ name:
■ SRID (System Reference Identifier)
○ type :
■ Integer
○ domain :
■ No restricted (Could be added a EPSG codes seeker then this database contain
the new domain)
○ editing mechanism
■ Text Box (Search button will be added to the EPSG codes seeker and validate
● Element: <Dimension> ● Property : ○ name: ■ Coordinates Dimension ○ type : ■ Integer ○ domain : ■ limited domain {2,3,4} ○ editing mechanism ■ Combo Box ● Element: <Tolerance> ● Property : ○ name: ■ Data Tolerance ○ type : ■ Double ○ editing mechanism ■ Edit Box
● Element: <Bounds> ● Property :
○ name:
■ Coordinate System Bounds
○ type :
■ Double Array (could be ordered as MinX,MinY and MaxX,MaxY)
○ domain :
■ If it's geographic SRID (grades º) then latitude (Y) {-90<Y<90} longitude (X)
{-180<X<180} else the values are in meters or derived can taking Cartesian values X {from – n 0 to n} and Y {from - n < 0 to n}.
○ editing mechanism
■ Array of Edit Boxes From four to eight {Min X, Min Y, Min Z, Min T} and {Max
X, Max Y, Max Z, Max T} if its four dimensional
○ relation to other properties : ■ relation type:
● Depends on Dimension Value
● Depends on SRID
■ result of relation
● Creation 4, 6 or 8 Edit Box to introduce coordinates.
● Set restricted value domain to each Edit Box {-180<X<180} {-90<Y<90}
● Element: <Index> ● Property : ○ name: ■ Index ○ type : ■ String ○ domain :
■ limited domain {R-Tree, GIST}
○ editing mechanism
Índice de contenido
Introduction...1 New properties...2
Historial de versiones
Versión Fecha Autor Comentarios
0.1 25/01/10 Javier Cano Versión inicial