C# Class GeoCache.Cache.InMemoryCache

InMemeory implementation of ICache
Inheritance: ICache
ファイルを表示 Open project: OliveiraThales/GeoCache Class Usage Examples

Public Methods

Method Description
BuildAllCache ( ) : void

Build the cache for a featureclass

BuildCursor ( IEnumerable geometries ) : void

Build cache based on cursor

BuildEnvelope ( IEnvelope envelope ) : void

Build a cache for a especific featureClass and extent

InMemoryCache ( IRepository repository, IEnvelope fullExtent, string featureClass ) : System

Constructor

RetriveData ( IEnvelope envelop, IList &outerData, IEnvelope &affectedEnvelop ) : bool

Retrive data from cache

Private Methods

Method Description
AddGeometries ( IEnumerable geometries ) : void

Add geometries to cache

BuildGrid ( IEnvelope envelop ) : void

Build the grid based on Quadtree algorithm

BuildQuarter ( BoundingBox envelope, int level, List &order ) : void

Build a quarter for index

CreateSpatialIndex ( IEnvelope envelop ) : QuadTree

Generates a spatial index for a specified shape file.

GetAllFeatureBoundingBoxes ( IEnvelope envelop ) : IEnumerable

Reads all boundingboxes of features in the shapefile. This is used for spatial indexing.

Method Details

BuildAllCache() public method

Build the cache for a featureclass
public BuildAllCache ( ) : void
return void

BuildCursor() public method

Build cache based on cursor
public BuildCursor ( IEnumerable geometries ) : void
geometries IEnumerable Geometries to add
return void

BuildEnvelope() public method

Build a cache for a especific featureClass and extent
public BuildEnvelope ( IEnvelope envelope ) : void
envelope IEnvelope Envelope
return void

InMemoryCache() public method

Constructor
public InMemoryCache ( IRepository repository, IEnvelope fullExtent, string featureClass ) : System
repository IRepository The repository
fullExtent IEnvelope Full Extent
featureClass string FeatureClass name
return System

RetriveData() public method

Retrive data from cache
public RetriveData ( IEnvelope envelop, IList &outerData, IEnvelope &affectedEnvelop ) : bool
envelop IEnvelope Envelope for search
outerData IList Output data
affectedEnvelop IEnvelope Affected envelop in the grid
return bool