Skip to content

FeatureLayer

Inheritance Hierarchy

Members Summary

Public Constructors Summary

Name
N/A

Protected Constructors Summary

Name
FeatureLayer()

Public Properties Summary

Name Return Type Description
Attribution String N/A
Background GeoColor N/A
BlueTranslation Single N/A
ColorMappings Dictionary<GeoColor,GeoColor> N/A
DrawingExceptionMode DrawingExceptionMode N/A
DrawingMarginInPixel Single N/A
DrawingQuality DrawingQuality This property gets and sets the general drawing quality for the FeatureLayer's view.
DrawingTime TimeSpan N/A
EditTools EditTools This property gets the EditTools that allow you to easily edit InternalFeatures in the Feature Layer.
FeatureIdsToExclude Collection<String> A collection of strings representing record id of features not to get in the Layer.
FeatureSource FeatureSource This property gets the FeatureSource for the FeatureLayer.
GreenTranslation Single N/A
HasBoundingBox Boolean N/A
IsGrayscale Boolean N/A
IsNegative Boolean N/A
IsOpen Boolean N/A
IsVisible Boolean N/A
KeyColors Collection<GeoColor> N/A
MaxRecordsToDraw Int32 N/A
Name String N/A
Projection Projection N/A
QueryTools QueryTools This property gets the QueryTools that allow you to easily query Features from the Feature Layer.
RedTranslation Single N/A
RequestDrawingInterval TimeSpan N/A
ThreadSafe ThreadSafetyLevel N/A
Transparency Single N/A
WrappingExtent RectangleShape N/A
WrappingMode WrappingMode Thie property gets or sets whether allow wrap date line.
ZoomLevelSet ZoomLevelSet This property gets and sets the ZoomLevelSet, which contains the specific zoom levels for the FeatureLayer.

Protected Properties Summary

Name Return Type Description
FetchedCount Int64 N/A
FetchTime TimeSpan N/A
IsOpenCore Boolean This property returns true if the FeatureLayer is open and false if it is not.
StyleTime TimeSpan N/A

Public Methods Summary

Name
CloneDeep()
Close()
Draw(GeoCanvas,Collection<SimpleCandidate>)
Equals(Object)
GetBoundingBox()
GetHashCode()
GetType()
Open()
RequestDrawing()
RequestDrawing(RectangleShape)
RequestDrawing(IEnumerable<RectangleShape>)
RequestDrawing(TimeSpan)
RequestDrawing(TimeSpan,RequestDrawingBufferTimeType)
RequestDrawing(RectangleShape,TimeSpan)
RequestDrawing(RectangleShape,TimeSpan,RequestDrawingBufferTimeType)
RequestDrawing(IEnumerable<RectangleShape>,TimeSpan)
RequestDrawing(IEnumerable<RectangleShape>,TimeSpan,RequestDrawingBufferTimeType)
ToString()

Protected Methods Summary

Name
CloneDeepCore()
CloseCore()
DrawAttributionCore(GeoCanvas,String)
DrawCore(GeoCanvas,Collection<SimpleCandidate>)
DrawException(GeoCanvas,Exception)
DrawExceptionCore(GeoCanvas,Exception)
Finalize()
GetBoundingBoxCore()
GetWrappingFeaturesForDrawing(WrappingWorldDirection,RectangleShape,Double,Double,IEnumerable<String>,RectangleShape)
MemberwiseClone()
OnDrawingAttribution(DrawingAttributionLayerEventArgs)
OnDrawingException(DrawingExceptionLayerEventArgs)
OnDrawingFeatures(DrawingFeaturesEventArgs)
OnDrawingProgressChanged(DrawingProgressChangedEventArgs)
OnDrawingWrappingFeatures(DrawingWrappingFeaturesFeatureLayerEventArgs)
OnDrawnAttribution(DrawnAttributionLayerEventArgs)
OnDrawnException(DrawnExceptionLayerEventArgs)
OnRequestedDrawing(RequestedDrawingLayerEventArgs)
OnRequestingDrawing(RequestingDrawingLayerEventArgs)
OpenCore()
SetupTools()
SetupToolsCore()

Public Events Summary

Name Event Arguments Description
DrawingFeatures DrawingFeaturesEventArgs N/A
DrawingWrappingFeatures DrawingWrappingFeaturesFeatureLayerEventArgs N/A
DrawingProgressChanged DrawingProgressChangedEventArgs N/A
DrawingException DrawingExceptionLayerEventArgs N/A
DrawnException DrawnExceptionLayerEventArgs N/A
DrawingAttribution DrawingAttributionLayerEventArgs N/A
DrawnAttribution DrawnAttributionLayerEventArgs N/A
RequestedDrawing RequestedDrawingLayerEventArgs N/A
RequestingDrawing RequestingDrawingLayerEventArgs N/A

Members Detail

Public Constructors

Name
N/A

Protected Constructors

FeatureLayer()

Summary

This is a constructor for this class.

Remarks

This is a constructor for this class.

Return Value

Type Description
N/A

Parameters

Name Type Description
N/A N/A N/A

Public Properties

Attribution

Summary

N/A

Remarks

N/A

Return Value

String


Background

Summary

N/A

Remarks

N/A

Return Value

GeoColor


BlueTranslation

Summary

N/A

Remarks

N/A

Return Value

Single


ColorMappings

Summary

N/A

Remarks

N/A

Return Value

Dictionary<GeoColor,GeoColor>


DrawingExceptionMode

Summary

N/A

Remarks

N/A

Return Value

DrawingExceptionMode


DrawingMarginInPixel

Summary

N/A

Remarks

N/A

Return Value

Single


DrawingQuality

Summary

This property gets and sets the general drawing quality for the FeatureLayer's view.

Remarks

The DrawingQuality enumeration allows you to control, in a macro sense, the drawing quality that will be used in the GeoCanvas. Each GeoCanvas, which is responsible for drawing of the features, may have its own specialized drawing quality properties. What the DrawingQuality enumeration does is define some general guidelines for each GeoCanvas. For example, if you set the DrawingQuality to HighSpeed, then inside of the PlatformGeoCanvas there is a profile for HighSpeed. This profile sets specific properties, such as the smoothing mode and composing drawing mode of the PlatformGeoCanvas. As each GeoCanvas may have different drawing quality properties, this offers a general way to control drawing quality and speed. If you need complete control over how a specific GeoCanvas will draw, then you can set the DrawingQuality to Custom. This will tell the specific GeoCanvas to use the properties on its own object instead of one of the pre-defined profiles. If one of the profiles -- such as HighSpeed or HighQuality -- is set, then the specific GeoCanvas ignores its own properties for drawing quality.

Return Value

DrawingQuality


DrawingTime

Summary

N/A

Remarks

N/A

Return Value

TimeSpan


EditTools

Summary

This property gets the EditTools that allow you to easily edit InternalFeatures in the Feature Layer.

Remarks

The EditTools are supplied as an easily accessible wrapper for the editing methods of the FeatureSource.

Return Value

EditTools


FeatureIdsToExclude

Summary

A collection of strings representing record id of features not to get in the Layer.

Remarks

This string collection is a handy place to specify what records not to get from the source. Suppose you have a shape file of roads and you want to hide the roads within a particular rectangle, simply execute GetFeaturesInsideBoundingBox() and add the id of the return features to the collection and forget about them. Since you can set this by Layer it makes is easy to determine what to and what not to.

Return Value

Collection<String>


FeatureSource

Summary

This property gets the FeatureSource for the FeatureLayer.

Remarks

The FeatureSource is the provider of data to the FeatureLayer. There are different FeatureSource classes to match the various ways that feature data is stored. It is important that, when you inherit from the FeatureLayer, in the constructor you set the FeatureSource you want to use.

Return Value

FeatureSource


GreenTranslation

Summary

N/A

Remarks

N/A

Return Value

Single


HasBoundingBox

Summary

N/A

Remarks

N/A

Return Value

Boolean


IsGrayscale

Summary

N/A

Remarks

N/A

Return Value

Boolean


IsNegative

Summary

N/A

Remarks

N/A

Return Value

Boolean


IsOpen

Summary

N/A

Remarks

N/A

Return Value

Boolean


IsVisible

Summary

N/A

Remarks

N/A

Return Value

Boolean


KeyColors

Summary

N/A

Remarks

N/A

Return Value

Collection<GeoColor>


MaxRecordsToDraw

Summary

N/A

Remarks

N/A

Return Value

Int32


Name

Summary

N/A

Remarks

N/A

Return Value

String


Projection

Summary

N/A

Remarks

N/A

Return Value

Projection


QueryTools

Summary

This property gets the QueryTools that allow you to easily query Features from the Feature Layer.

Remarks

This property gets the QueryTools that allow you to easily query Features from the Feature Layer. The QueryTools are supplied as an easily accessible wrapper for the query methods of the FeatureSource.

Return Value

QueryTools


RedTranslation

Summary

N/A

Remarks

N/A

Return Value

Single


RequestDrawingInterval

Summary

N/A

Remarks

N/A

Return Value

TimeSpan


ThreadSafe

Summary

N/A

Remarks

N/A

Return Value

ThreadSafetyLevel


Transparency

Summary

N/A

Remarks

N/A

Return Value

Single


WrappingExtent

Summary

N/A

Remarks

N/A

Return Value

RectangleShape


WrappingMode

Summary

Thie property gets or sets whether allow wrap date line.

Remarks

N/A

Return Value

WrappingMode


ZoomLevelSet

Summary

This property gets and sets the ZoomLevelSet, which contains the specific zoom levels for the FeatureLayer.

Remarks

The ZoomLevelSet is a class that contains all of the ZoomLevels for the FeatureLayer. Each ZoomLevel contains the styles that are used to determine how to draw the InternalFeatures.

Return Value

ZoomLevelSet


Protected Properties

FetchedCount

Summary

N/A

Remarks

N/A

Return Value

Int64


FetchTime

Summary

N/A

Remarks

N/A

Return Value

TimeSpan


IsOpenCore

Summary

This property returns true if the FeatureLayer is open and false if it is not.

Remarks

Various methods on the FeatureLayer require that it be in an open state. If one of those methods is called when the state is not open, then the method will throw an exception. To enter the open state, you must call the FeatureLayer Open method. The method will raise an exception if the current FeatureLayer is already open.

Return Value

Boolean


StyleTime

Summary

N/A

Remarks

N/A

Return Value

TimeSpan


Public Methods

CloneDeep()

Summary

N/A

Remarks

N/A

Return Value

Type Description
Layer N/A

Parameters

Name Type Description
N/A N/A N/A

Close()

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
N/A N/A N/A

Draw(GeoCanvas,Collection<SimpleCandidate>)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
canvas GeoCanvas N/A
labelsInAllLayers Collection<SimpleCandidate> N/A

Equals(Object)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Boolean N/A

Parameters

Name Type Description
obj Object N/A

GetBoundingBox()

Summary

N/A

Remarks

N/A

Return Value

Type Description
RectangleShape N/A

Parameters

Name Type Description
N/A N/A N/A

GetHashCode()

Summary

N/A

Remarks

N/A

Return Value

Type Description
Int32 N/A

Parameters

Name Type Description
N/A N/A N/A

GetType()

Summary

N/A

Remarks

N/A

Return Value

Type Description
Type N/A

Parameters

Name Type Description
N/A N/A N/A

Open()

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
N/A N/A N/A

RequestDrawing()

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
N/A N/A N/A

RequestDrawing(RectangleShape)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
extentToRefresh RectangleShape N/A

RequestDrawing(IEnumerable<RectangleShape>)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
extentsToRefresh IEnumerable<RectangleShape> N/A

RequestDrawing(TimeSpan)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
bufferTime TimeSpan N/A

RequestDrawing(TimeSpan,RequestDrawingBufferTimeType)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
bufferTime TimeSpan N/A
bufferTimeType RequestDrawingBufferTimeType N/A

RequestDrawing(RectangleShape,TimeSpan)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
extentToRefresh RectangleShape N/A
bufferTime TimeSpan N/A

RequestDrawing(RectangleShape,TimeSpan,RequestDrawingBufferTimeType)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
extentToRefresh RectangleShape N/A
bufferTime TimeSpan N/A
bufferTimeType RequestDrawingBufferTimeType N/A

RequestDrawing(IEnumerable<RectangleShape>,TimeSpan)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
extentsToRefresh IEnumerable<RectangleShape> N/A
bufferTime TimeSpan N/A

RequestDrawing(IEnumerable<RectangleShape>,TimeSpan,RequestDrawingBufferTimeType)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
extentsToRefresh IEnumerable<RectangleShape> N/A
bufferTime TimeSpan N/A
bufferTimeType RequestDrawingBufferTimeType N/A

ToString()

Summary

N/A

Remarks

N/A

Return Value

Type Description
String N/A

Parameters

Name Type Description
N/A N/A N/A

Protected Methods

CloneDeepCore()

Summary

N/A

Remarks

N/A

Return Value

Type Description
Layer N/A

Parameters

Name Type Description
N/A N/A N/A

CloseCore()

Summary

This method closes the FeatureSource and releases any resources it was using.

Remarks

This protected virtual method is called from the concrete public method Close. The close method plays an important role in the life cycle of the FeatureLayer. It may be called after drawing to release any memory and other resources that were allocated since the Open method was called. If you override this method, it is recommended that you take the following things into account: This method may be called multiple times, so we suggest you write the method so that that a call to a closed FeatureLayer is ignored and does not generate an error. We also suggest that in the Close you free all resources that have been opened. Remember that the object will not be destroyed, but will be re-opened possibly in the near future.

Return Value

Type Description
Void None

Parameters

Name Type Description
N/A N/A N/A

DrawAttributionCore(GeoCanvas,String)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
canvas GeoCanvas N/A
attribution String N/A

DrawCore(GeoCanvas,Collection<SimpleCandidate>)

Summary

This method will draw the FeatureLayer source based on the parameters provided.

Remarks

The DrawCore will be called when the layer is being drawn. It will check if the InternalFeatures are within the extent and whether it is within a defined zoom level. If these parameters are met, then it will apply the styles of the proper zoom level to the InternalFeatures for drawing. Lastly, it will draw InternalFeatures on the NativeImage or native image passed in to the method.

Return Value

Type Description
Void None

Parameters

Name Type Description
canvas GeoCanvas This parameter is the GeoCanvas used to Draw the layer.
labelsInAllLayers Collection<SimpleCandidate> This parameter is not used for ImageLayers.

DrawException(GeoCanvas,Exception)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
canvas GeoCanvas N/A
e Exception N/A

DrawExceptionCore(GeoCanvas,Exception)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
canvas GeoCanvas N/A
e Exception N/A

Finalize()

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
N/A N/A N/A

GetBoundingBoxCore()

Summary

This method returns the bounding box of the FeatureLayer.

Remarks

This method is called from the concrete public method GetBoundingBox. It returns the bounding box of the FeatureLayer.

Return Value

Type Description
RectangleShape This method returns the bounding box of the FeatureLayer.

Parameters

Name Type Description
N/A N/A N/A

GetWrappingFeaturesForDrawing(WrappingWorldDirection,RectangleShape,Double,Double,IEnumerable<String>,RectangleShape)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Collection<Feature> N/A

Parameters

Name Type Description
wrappingFeatureDirection WrappingWorldDirection N/A
drawingWorldExtent RectangleShape N/A
canvasWidth Double N/A
canvasHeight Double N/A
returningColumnNames IEnumerable<String> N/A
wrappingWorldExtent RectangleShape N/A

MemberwiseClone()

Summary

N/A

Remarks

N/A

Return Value

Type Description
Object N/A

Parameters

Name Type Description
N/A N/A N/A

OnDrawingAttribution(DrawingAttributionLayerEventArgs)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
args DrawingAttributionLayerEventArgs N/A

OnDrawingException(DrawingExceptionLayerEventArgs)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
e DrawingExceptionLayerEventArgs N/A

OnDrawingFeatures(DrawingFeaturesEventArgs)

Summary

This method raises the DrawingFeatures event.

Remarks

You can call this method from a derived class to enable it to raise the event. This may be useful if you plan to extend the FeatureLayer and you need access to the event. This event is meant to allow you to add or remove the features to be drawn.

Return Value

Type Description
Void None

Parameters

Name Type Description
e DrawingFeaturesEventArgs This parameter represents the event arguments for the event.

OnDrawingProgressChanged(DrawingProgressChangedEventArgs)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
e DrawingProgressChangedEventArgs N/A

OnDrawingWrappingFeatures(DrawingWrappingFeaturesFeatureLayerEventArgs)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
e DrawingWrappingFeaturesFeatureLayerEventArgs N/A

OnDrawnAttribution(DrawnAttributionLayerEventArgs)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
args DrawnAttributionLayerEventArgs N/A

OnDrawnException(DrawnExceptionLayerEventArgs)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
e DrawnExceptionLayerEventArgs N/A

OnRequestedDrawing(RequestedDrawingLayerEventArgs)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
eventArgs RequestedDrawingLayerEventArgs N/A

OnRequestingDrawing(RequestingDrawingLayerEventArgs)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
eventArgs RequestingDrawingLayerEventArgs N/A

OpenCore()

Summary

This method opens the FeatureLayer so that it is initialized and ready to use.

Remarks

This abstract method is called from the concrete public method Open. The Open method plays an important role, as it is responsible for initializing the FeatureLayer. Most methods on the FeatureLayer will throw an exception if the state of the FeatureLayer is not opened. When the map draws each FeatureLayer, it will open the layer as one of its first steps, then after it is finished drawing with that FeatureLayer it will close it. In this way we are sure to release all resources used by the FeatureLayer.

Return Value

Type Description
Void None

Parameters

Name Type Description
N/A N/A N/A

SetupTools()

Summary

This method sets up the EditTools and QueryTools objects.

Remarks

This method is the concrete wrapper for the abstract method SetupToolsCore. The SetupTools method allows you to create the QueryTool, EditTools and other tools you may need on your object. We created this method so that if you want to extend one of the tool classes, you can override the SetupToolsCore and create any class you want. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.

Return Value

Type Description
Void None

Parameters

Name Type Description
N/A N/A N/A

SetupToolsCore()

Summary

This method sets up the EditTools and QueryTools objects.

Remarks

This method is the concrete wrapper for the abstract method SetupTools. The SetupTools method allows you to create the QueryTool, EditTools and other tools you may need on your object. We created this method so that if you want to extend one of the tool classes, you can override the SetupToolsCore and create any class you want.

Return Value

Type Description
Void None

Parameters

Name Type Description
N/A N/A N/A

Public Events

DrawingFeatures

N/A

Remarks

This event is raised when features are about to be drawn in the layer. In the event arguments, there is a collection of features to be drawn. You can easily add or remove items from this collection so that extra items will draw or not draw.

Event Arguments

DrawingFeaturesEventArgs

DrawingWrappingFeatures

N/A

Remarks

N/A

Event Arguments

DrawingWrappingFeaturesFeatureLayerEventArgs

DrawingProgressChanged

N/A

Remarks

N/A

Event Arguments

DrawingProgressChangedEventArgs

DrawingException

N/A

Remarks

N/A

Event Arguments

DrawingExceptionLayerEventArgs

DrawnException

N/A

Remarks

N/A

Event Arguments

DrawnExceptionLayerEventArgs

DrawingAttribution

N/A

Remarks

N/A

Event Arguments

DrawingAttributionLayerEventArgs

DrawnAttribution

N/A

Remarks

N/A

Event Arguments

DrawnAttributionLayerEventArgs

RequestedDrawing

N/A

Remarks

N/A

Event Arguments

RequestedDrawingLayerEventArgs

RequestingDrawing

N/A

Remarks

N/A

Event Arguments

RequestingDrawingLayerEventArgs