ThinkGeo.MapSuite.Core.FeatureLayer
Note: The page was created before Map Suite 10. Map Suite 10.0 organized many classes into new namespaces and assemblies as well as had a few minor breaks in compatibility. The majority of previously built code should work without modification assuming the new namespaces are added. For guidance on upgrading your existing code, please check out MapSuite 10 Upgrade Guide.
This class represents a layer that is comprised of feature data.
Inheritance Hierarchy
Members Summary
Public Constructors
Protected Constructors
FeatureLayer()
Parameters
Public Methods
RequestDrawing()
Return Value
Type:Void
Description:N/A
Parameters
RequestDrawing(RectangleShape)
Return Value
Type:Void
Description:N/A
Parameters
RequestDrawing(IEnumerable<RectangleShape>)
Return Value
Type:Void
Description:N/A
Parameters
RequestDrawing(TimeSpan)
Return Value
Type:Void
Description:N/A
Parameters
bufferTime
Type:TimeSpan
Description:N/A
RequestDrawing(TimeSpan,RequestDrawingBufferTimeType)
Return Value
Type:Void
Description:N/A
Parameters
bufferTime
Type:TimeSpan
Description:N/A
RequestDrawing(RectangleShape,TimeSpan)
Return Value
Type:Void
Description:N/A
Parameters
bufferTime
Type:TimeSpan
Description:N/A
RequestDrawing(RectangleShape,TimeSpan,RequestDrawingBufferTimeType)
Return Value
Type:Void
Description:N/A
Parameters
bufferTime
Type:TimeSpan
Description:N/A
RequestDrawing(IEnumerable<RectangleShape>,TimeSpan)
Return Value
Type:Void
Description:N/A
Parameters
bufferTime
Type:TimeSpan
Description:N/A
RequestDrawing(IEnumerable<RectangleShape>,TimeSpan,RequestDrawingBufferTimeType)
Return Value
Type:Void
Description:N/A
Parameters
bufferTime
Type:TimeSpan
Description:N/A
GetThreadSafetyLevel()
Return Value
Parameters
CloneDeep()
Return Value
Parameters
Open()
Return Value
Type:Void
Description:N/A
Parameters
Close()
Return Value
Type:Void
Description:N/A
Parameters
GetBoundingBox()
Return Value
Parameters
Draw(GeoCanvas,Collection<SimpleCandidate>)
Return Value
Type:Void
Description:N/A
Parameters
ToString()
Return Value
Type:String
Description:N/A
Parameters
Equals(Object)
Return Value
Type:Boolean
Description:N/A
Parameters
obj
Type:Object
Description:N/A
GetHashCode()
Return Value
Type:Int32
Description:N/A
Parameters
GetType()
Return Value
Type:Type
Description:N/A
Parameters
Protected Methods
RequireLinkProcess(IEnumerable<String>)
Return Value
Type:Boolean
Description:N/A
Parameters
returningColumnNames
Type:IEnumerable<String>
Description:N/A
DrawFeaturesWithStyleFilters(GeoCanvas,Dictionary<String,Collection<Feature»,Collection<SimpleCandidate>,ZoomLevel,RectangleShape)
Return Value
Type:Void
Description:N/A
Parameters
featuresForFilters
Type:Dictionary<String,Collection<
Feature»
Description:N/A
OnDrawingFeatures(DrawingFeaturesEventArgs)
Return Value
Type:Void
Description:None
Parameters
OnDrawingWrappingFeatures(DrawingWrappingFeaturesFeatureLayerEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
DrawCore(GeoCanvas,Collection<SimpleCandidate>)
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 GeoImage or native image passed in to the method.
Return Value
Type:Void
Description:None
Parameters
SetupTools()
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:Void
Description:None
Parameters
SetupToolsCore()
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:Void
Description:None
Parameters
OpenCore()
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:Void
Description:None
Parameters
CloseCore()
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:Void
Description:None
Parameters
GetBoundingBoxCore()
Return Value
Parameters
OnRequestedDrawing(RequestedDrawingLayerEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
OnRequestingDrawing(RequestingDrawingLayerEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
GetThreadSafetyLevelCore()
Return Value
Parameters
CloneDeepCore()
Return Value
Parameters
DrawException(GeoCanvas,Exception)
Return Value
Type:Void
Description:N/A
Parameters
e
Type:Exception
Description:N/A
DrawExceptionCore(GeoCanvas,Exception)
Return Value
Type:Void
Description:N/A
Parameters
e
Type:Exception
Description:N/A
OnDrawingException(DrawingExceptionLayerEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
OnDrawnException(DrawnExceptionLayerEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
DrawAttributionCore(GeoCanvas,String)
Return Value
Type:Void
Description:N/A
Parameters
attribution
Type:String
Description:N/A
OnDrawingAttribution(DrawingAttributionLayerEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
OnDrawnAttribution(DrawnAttributionLayerEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
OnDrawingProgressChanged(DrawingProgressChangedEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
Finalize()
Return Value
Type:Void
Description:N/A
Parameters
MemberwiseClone()
Return Value
Type:Object
Description:N/A
Parameters
GetFiltersFromZoomLevel(ZoomLevel)
Return Value
Type:Collection<String>
Description:N/A
Parameters
GetFeaturesForDrawingWithStyleFilters(GeoCanvas,FeatureSource,IEnumerable<String>,IEnumerable<String>,RectangleShape,ZoomLevel)
Return Value
Type:Dictionary<String,Collection<
Feature»
Description:N/A
Parameters
styleFilters
Type:IEnumerable<String>
Description:N/A
columnNames
Type:IEnumerable<String>
Description:N/A
GetFeaturesByIdsWithStyleFilters(FeatureSource,IEnumerable<String>,IEnumerable<String>,IEnumerable<String>,RectangleShape,ZoomLevel)
Return Value
Type:Dictionary<String,Collection<
Feature»
Description:N/A
Parameters
featureIdsForDrawing
Type:IEnumerable<String>
Description:N/A
styleFilters
Type:IEnumerable<String>
Description:N/A
columnNames
Type:IEnumerable<String>
Description:N/A
ApplyDrawingMargin(RectangleShape,Single,Single,Single)
Return Value
Parameters
drawingMarginInPixel
Type:Single
Description:N/A
canvasWidth
Type:Single
Description:N/A
canvasHeight
Type:Single
Description:N/A
Public Properties
WrappingExtent
N/A
Return Value
WrappingMode
Thie property gets or sets whether allow wrap date line.
Return Value
EditTools
This property gets the EditTools that allow you to easily edit InternalFeatures in the Feature Layer.
The EditTools are supplied as an easily accessible wrapper for the editing methods of the FeatureSource.
Return Value
FeatureIdsToExclude
A collection of strings representing record id of features not to get in the Layer.
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
QueryTools
This property gets the QueryTools that allow you to easily query Features from the Feature Layer.
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
MaxRecordsToDraw
N/A
Return Value
FeatureSource
This property gets the FeatureSource for the FeatureLayer.
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
DrawingQuality
This property gets and sets the general drawing quality for the FeatureLayer's canvas.
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 GdiPlusGeoCanvas there is a profile for HighSpeed. This profile sets specific properties, such as the smoothing mode and composing drawing mode of the GdiPlusGeoCanvas. 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
ZoomLevelSet
This property gets and sets the ZoomLevelSet, which contains the specific zoom levels for the FeatureLayer.
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
DrawingMarginPercentage
This property gets and sets the extra drawing margin as a percentage around the map that draw to ensure that labeling is correct.
This extra margin that we draw exists so that labels match up if they are partially cut off.
Return Value
DrawingMarginInPixel
N/A
Return Value
GeometryValidationMode
N/A
Return Value
RequestDrawingInterval
N/A
Return Value
IsOpen
N/A
Return Value
HasBoundingBox
N/A
Return Value
DrawingTime
N/A
Return Value
Name
N/A
Return Value
Attribution
N/A
Return Value
IsVisible
N/A
Return Value
Transparency
N/A
Return Value
BlueTranslation
N/A
Return Value
RedTranslation
N/A
Return Value
GreenTranslation
N/A
Return Value
KeyColors
N/A
Return Value
IsNegative
N/A
Return Value
IsGrayscale
N/A
Return Value
DrawingExceptionMode
N/A
Return Value
Protected Properties
FetchedCount
N/A
Return Value
FetchedBytes
N/A
Return Value
StyleTime
N/A
Return Value
FetchTime
N/A
Return Value
IsOpenCore
This property returns true if the FeatureLayer is open and false if it is not.
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
Public Events
DrawingFeatures
This event is raised when features are about to be drawn in the layer.
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