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
|
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.
|