Update of "topo-advanced"
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview

Artifact ID: 7e5bbea3b6e15afe10cba45d20bbc1d9faeba645
Page Name:topo-advanced
Date: 2015-11-13 14:10:58
Original User: sandro
Next 2e0f70ffeae7af9d751abf770eda8ae42e7ccf93
Content

Topology-Geometry: an advanced tutorial

previous page back to index next page

TopoLayers and TopoFeatures

In the previous tutorial we've examined a first couple of SQL functions intended to export a GeoTable out from an existing Topology: TopoGeo_ToGeoTable() and TopoGeo_ToGeoTableGeneralize().
Anyway SpatiaLite supports an more sophisticated (and complex) approach based on TopoLayers and TopoFeatures specifically intended to support a very flexible mechanism for exporting a full set of GeoTable(s) directly deriving from a Topology.

a conceptual reference framework

  • an ISO Topology is just intended to support a consistent set of Nodes, Edges and Faces primitives fully covering the plane. Topology primitives correspond to pure geometries, and can never be directly associated to a corresponding set of information attributes. Both Node and Edge primitives directly correspond to a real geometry, but Face primitives simply correspond to a virtual geometry thus necessarily requiring to be dynamically recontructed every time that they are referenced (and this could easily become a real bottleneck).
  • on the other hand a GeoTable (aka layer, as in the common GIS parlance) is always based on many distinct features, and for each feature a Geometry and an associated set of information attributes are expected to be declared.
  • there is further difference to be taken in proper account: Topology primitives necessarily are elementary. Feature Geometries can usually represent some complex type: MULTIPOINT, MULTILINESTRING, MULTIPOLYGON and, may be, GEOMETRYCOLLECTION. So it should be absolutely clear that a Feature Geometry does not necessarily corresponds to a single Topology primitive ; a Feature Geometry could easily be derived from aggregating many different Topology primites.
  • that's not all: many different GeoTables could evenatually be derived from a single Topology; and the same Topology primitive could play a very different role in everyone of these GeoTables.
    Just a basically simple example: imagine a Topology corresponding to some cadastral map. We'll surely have many potential layers: buildings, agricultural land, populated places, administrative boundaries, roads, ponds, rivers, fences and so on.
    In such a context a fence could easily correspond to a Feature within the "fences" layer, could probably delimit two adjacent agricultural areas and could eventually be part of some administrative boundary.
  • TopoLayers and TopoFeatures represent a complex mapping structure allowing to establish permanent explicit correspondences between Topology Primitives and GeoTable Features.
    • each TopoLayer directly corresponds to a single GeoTable to be exported from the Topology.
    • a TopoFeature corresponds to a single Feature, contains an individual set of information attributes and detailedly specifies which Topology primitives must be aggregated in order to compose the approriate Geometry.


previous page

back to index next page