Interface ILfnGeometryProvider

All Known Implementing Classes:
TLfnAreaSimplifyingGeometryProvider

public interface ILfnGeometryProvider
Deprecated.
Since 2017.0 support for coverages of type VECTOR has been superseded with other mechanisms. Please refer to the Fusion migration guide for more information.
A feature multi-leveling policy for fusion.
Since:
11.0
  • Method Summary

    Modifier and Type
    Method
    Description
    getGeometry(int aLevel, int aScaleDenominator, ILcdShape aPreviousLevelGeometry, ILcdDataObject aDataObject, ILcdShape aMaxLevelGeometry, ILcdModel aModel)
    Deprecated.
    Gets the geometry of a feature for fusing at a given level.
  • Method Details

    • getGeometry

      ILcdShape getGeometry(int aLevel, int aScaleDenominator, ILcdShape aPreviousLevelGeometry, ILcdDataObject aDataObject, ILcdShape aMaxLevelGeometry, ILcdModel aModel)
      Deprecated.
      Gets the geometry of a feature for fusing at a given level.

      At the most detailed (maximum) level, aMaxLevelGeometry will be used. This is the original unsimplified asset geometry of a feature, converted to the coverage. This converted geometry has the following properties:

      • It is an ILcdShapeList with one or more ILcdPoints, ILcdPolylines, ILcdPolygons, ILcdSurfaces (with polygons) and ILcdTexts. All recursive shape lists in the asset geometry are flattened and complex polygons are converted to polygons or surfaces.
      • It is in the same geographic reference as the coverage. If the asset has a different geographic reference the asset geometry is transformed to the coverage geographic reference.
      For each other level L, this geometry provider can indicate the geometry by returning one of the following:
      • the geometry of the previous (more detailed) level L+1: the previous geometry should be kept
      • a new geometry: a different (unrelated) geometry should be used for the feature
      • null: the feature should be omitted from this level onwards (omitted at levels L, L-1, L-2, ..., 0)

      When a new geometry is used at a given level, the bounds of the new geometry must be a subset of the bounds of the original geometry. Note that a new geometry will be unrelated to the geometry at more detailed levels.

      When keeping the same geometry at a given level, it remains related to the geometry at more detailed levels, since the intersection points on the tile edges remain fixed, even when simplification is performed.

      For each feature, the metadata, original geometry and asset model are provided as additional context. The previous level geometry will be the same as the original geometry as long as no new geometry has been provided.

      If enabled, simplification will subsequently be performed on the provided geometry at each level. This happens independently of the geometry provider. The previous level geometry parameter will always be the unsimplified geometry.

      Parameters:
      aLevel - the level, between maxLevel-1 and 0
      aScaleDenominator - the scale denominator for the level, corresponding to a scale of 1:denominator
      aPreviousLevelGeometry - geometry used on the previous (i.e. more detailed) level aLevel+1
      aDataObject - the data object corresponding to the feature
      aMaxLevelGeometry - geometry at the maximum level (may be the same as the previous level geometry), this is the original geometry from the asset model converted to the coverage
      aModel - the asset model of the feature
      Returns:
      a shape or null