public class

KMLShapeRepository

extends Object
implements MapObjectRepository<T extends MapObject>
java.lang.Object
   ↳ com.microstrategy.web.app.maps.KMLShapeRepository

Class Overview

The repository loads the kml files and creates and caches the @{link KMLObject} into memory for query.

Summary

Public Methods
void addHierarchy(LookupRequest request, TreeSerializer tSerializer)
Add the shape hierarchy data into tree serializer.
void addMatchedMapObject(QueryRequest query, MapObjectSerializer<MapShape> moSerializer)
void addNameList(LookupRequest request, TreeSerializer tSerializer)
Add the name shapeIds map data into tree serializer.
void addTileMap(LookupRequest request, TreeSerializer tSerializer)
Add the tile data into tree serializer.
int checkRingIsClockwise(double[][] p)
GeoData getCachedGeoData(String cacheId)
Retrieve the GeoData from the cache.
static KMLShapeRepository getInstance()
List<KMLObject> getKMLObjects(String path)
String getLookupKey(LookupRequest request)
The lookup key generated for a given query.
String loadObjects(String path, Integer shapeType, Map<String, String> queryName)
Load objects from a specified location with specified config object.
String loadObjects(String path, Integer shapeType)
Load objects from a specified location.
void setQueryField(String queryField)
GeoData shpPolygonToKmlModel(double[][][] points)
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.microstrategy.web.app.maps.GeoDataRequestResultVisitor
From interface com.microstrategy.web.app.maps.MapObjectRepository

Public Methods

public void addHierarchy (LookupRequest request, TreeSerializer tSerializer)

Add the shape hierarchy data into tree serializer.

Parameters
request A LookupRequest object query for lookup info.
tSerializer The serializer that can be serialized into target format.

public void addMatchedMapObject (QueryRequest query, MapObjectSerializer<MapShape> moSerializer)

public void addNameList (LookupRequest request, TreeSerializer tSerializer)

Add the name shapeIds map data into tree serializer.

Parameters
request A LookupRequest object query for lookup info.
tSerializer The serializer that can be serialized into target format.

public void addTileMap (LookupRequest request, TreeSerializer tSerializer)

Add the tile data into tree serializer.

Parameters
request A LookupRequest object query for lookup info.
tSerializer The serializer that can be serialized into target format.

public int checkRingIsClockwise (double[][] p)

public GeoData getCachedGeoData (String cacheId)

Retrieve the GeoData from the cache. The repository is responsible to cache the geometry data. If cache is missing, it should read it from file system and reset the cache and then returns the data object.

Parameters
cacheId The cache Id

public static KMLShapeRepository getInstance ()

public List<KMLObject> getKMLObjects (String path)

public String getLookupKey (LookupRequest request)

The lookup key generated for a given query.

Returns
  • A string represents the key to the lookup result of this query.

public String loadObjects (String path, Integer shapeType, Map<String, String> queryName)

Load objects from a specified location with specified config object. If the shapeType is already defined in file, then ignore the parameter. Otherwise, assign the type for each shape loaded from the path.

Parameters
path The path to the location where the file located.
shapeType An integer representing the shape category / shape type for the shapes that are saved into repository.
queryName A map object contains name-value pair. Example: use queryField as the key and kml path as the value
Returns
  • A string as key to access the loaded object later.

public String loadObjects (String path, Integer shapeType)

Load objects from a specified location. If the shapeType is already defined in file, then ignore the parameter. Otherwise, assign the type for each shape loaded from the path.

Parameters
path The path to the location where the file located.
shapeType An integer representing the shape category / shape type for the shapes that are saved into repository.
Returns
  • A string as key to access the loaded object later.

public void setQueryField (String queryField)

public GeoData shpPolygonToKmlModel (double[][][] points)