Global Positioning System Reference
In-Depth Information
in September 2011 under the EPL and provides similar ways as Mondrian
for schema creation and querying, i.e., it can be done manually or using the
GeoMondrian Workbench tool. Currently, GeoMondrian supports only the
PostgreSQL/PostGIS as a data source for geometry values.
Basic features
(Geo)Mondrian defi nes a cube by indicating, fi rst, an underlying fact table
with its measures and references to dimensions; then, for each dimension,
it specifi es its hierarchies with levels forming them; additional attributes
may be associated with levels.
An example of a simple cube called Demographics is shown in Fig. 7.
It refers to a fact table in the SDW called DemographicsFactTable . This cube
contains a set of dimensions (Fig. 7 shows only details of the CRDivision
dimension), each of which includes a foreign key referring to the name of
the corresponding column in the fact table. The dimension may have several
hierarchies; the fi rst hierarchy does not include a name since it inherits
the name from the dimension name. This is why we give this dimension
a general name, CRDivision, instead of District, as was represented in the
conceptual schema (see Fig. 4). Other hierarchies must have their names
<Schema>
<Cube name="Demographics">
<Table name="DemographicsFactTable"/>
<Dimension name="CRDivision" foreignKey="DistrictFK">
<Hierarchy hasAll="false" primaryKey=" DistrictID">
<Table name="District"/>
<Level name="Province" column="ProvinceName" type="String” />
<Property name="ProvinceGeom" column="ProvinceGeom" type="Geometry" />
<Property name="ProvinceArea" column="ProvinceArea" type="Numeric" />
<! -Other level attributes defined as properties -->
<Level name="County" column="CountyName" type="String" />
<Property name="CountyGeom" column="CountyGeom" type="Geometry" />
<Property name="CountyPartialCode" column="CountyPartialCode” type="Integer" />
<! --Other level attributes defined as properties -->
<Level name="District" column="DistrictName" type="String" />
<Property name="DistrictGeom" column="DistrictGeom" type="Geometry" />
<! --Other level attributes defined as properties -->
</Hierarchy>
<Hierarchy name = “HealthDivision” hasAll="false" primaryKey="DistrictID">
<!-- Definition of levels -->
</Hierarchy>
</Dimension>
<!-- Definitions of other dimensions -->
<Measure name="Births" column="Births" aggregator="sum" datatype=”integer” format string “##,###”/>
<Measure name="Deaths" column="Deaths" aggregator="sum" datatype=”integer” format string “##,###”/>
<Measure name="Population" column="Population" aggregator="avg" datatype=”numeric” format string
“#,###,###,###.00” />
<CalculatedMember="Growth" dimension “measure” >
<Formula> [Measures].[Births] - [Measures].[Deaths] </Formula>
</CalculatedMember>
</Cube>
</Schema>
Fig. 7. A simple example for defi ning a GeoMondrian cube.
Search WWH ::




Custom Search