Skip to content

PositionStyle

Inheritance Hierarchy

Members Summary

Public Constructors Summary

Name
N/A

Protected Constructors Summary

Name
PositionStyle()

Public Properties Summary

Name Return Type Description
AbbreviationDictionary Dictionary<String,String> N/A
AllowLineCarriage Boolean This property gets and sets whether the labeler will allow carriage returns to be inserted.
BestPlacementSymbolHeight Single N/A
BestPlacementSymbolWidth Single N/A
DuplicateRule LabelDuplicateRule This property gets and sets the rule that determines how duplicate labels are handled.
Filters Collection<String> N/A
FittingPolygon Boolean This property gets and sets whether the labeler will try to fit the label as best as it can within the boundary of a polygon.
FittingPolygonFactor Double This property gets and sets the factor to which it will keep the label inside of the polygon.
ForceLineCarriage Boolean This property gets and sets whether the labeler will force carriage returns to be inserted.
GridSize Int32 This property gets and sets the grid size used for deterministic labeling.
IsActive Boolean N/A
LabelAllLineParts Boolean This property gets and sets whether the labeler will label every part of a multi-part line.
LabelAllPolygonParts Boolean This property gets and sets whether the labeler will label every part of a multi-part polygon.
LeaderLineMinimumLengthInPixels Single N/A
LeaderLineRule LabelLeaderLinesRule N/A
LeaderLineStyle LineStyle N/A
MaskType MaskType N/A
MaxNudgingInPixel Int32 N/A
Name String N/A
NudgingIntervalInPixel Single N/A
OverlappingRule LabelOverlappingRule This property gets and sets the rule that determines how overlapping labels are handled.
PolygonLabelingLocationMode PolygonLabelingLocationMode This property gets and sets the mode that determines how to locate polygon's labeling
RequiredColumnNames Collection<String> N/A
SuppressPartialLabels Boolean This property gets and sets whether a partial label in the current extent will be drawn or not.
TextLineSegmentRatio Double This property gets and sets the ratio required for the label length to match the line length.
TextPlacement TextPlacement This property gets and sets the location of the label for point features relative to the point.

Protected Properties Summary

Name Return Type Description
Alignment DrawingTextAlignment N/A
AllowOverlapping Boolean N/A
AllowSpline Boolean This property gets and sets whether line labels are allowed to spline around curved lines.
BasePoint PointStyle N/A
CustomTextStyles Collection<TextStyle> This property returns a collection of area styles, allowing you to stack multiple area styles on top of each other.
DateFormat String This property gets and sets the format that will be applied to the text which can be parsed to DateTime type.
DrawBasePointWithoutText Boolean N/A
DrawingLevel DrawingLevel Gets or sets the DrawingLavel for this style.
FiltersCore Collection<String> N/A
FittingLineInScreen Boolean This property gets and sets whether the labeler will try to fit the label as best as it can on the visible part of a line on the screen.
FittingPolygonInScreen Boolean This property gets and sets whether the labeler will try to fit the label as best as it can on the visible part of a polygon on the screen.
Font GeoFont This property gets and sets the font that will be used to draw the text.
ForceHorizontalLabelForLine Boolean This property gets and sets whether we should force horizontal labeling for lines.
HaloPen GeoPen This property gets and sets the halo pen you may use to draw a halo around the text.
IsDefault Boolean N/A
IsStyleJsonStyle Boolean N/A
LabelFeatures Collection<Feature> N/A
LabelPositions Dictionary<String,WorldLabelingCandidate> Gets a value represents a keyValuepair which is a feature id and label position of the feature
LetterCase DrawingTextLetterCase N/A
Mask AreaStyle This property gets and sets the AreaStyle used to draw a mask behind the text.
MaskMargin DrawingMargin This property gets and sets the margin around the text that will be used for the mask.
MaxCharAngleDelta Double N/A
MinDistance Double N/A
NumericFormat String This property gets and sets the format that will be applied to the text which can be parsed to double type.
RotationAngle Double This property gets and sets the rotation angle of the item being positioned.
Spacing Double N/A
SplineType SplineType Gets or sets the SplineType for labeling.
TextBaseline DrawingTextBaseline N/A
TextBrush GeoBrush This property gets and sets the SolidBrush that will be used to draw the text.
TextColumnName String This property gets and sets the column name in the data that you want to get the text from.
TextContent String N/A
TextFormat String This property gets and sets the format that will be applied to the text.
TextLetterSpacing Double N/A
TextLineSpacing Single N/A
WrapWidth Double N/A
XOffsetInPixel Single This property gets and sets the X pixel offset used for drawing each feature.
YOffsetInPixel Single This property gets and sets the Y pixel offset used for drawing each feature.

Public Methods Summary

Name
CloneDeep()
Draw(IEnumerable<Feature>,GeoCanvas,Collection<SimpleCandidate>,Collection<SimpleCandidate>)
Draw(IEnumerable<BaseShape>,GeoCanvas,Collection<SimpleCandidate>,Collection<SimpleCandidate>)
DrawSample(GeoCanvas,DrawingRectangleF)
DrawSample(GeoCanvas)
Equals(Object)
GetHashCode()
GetRequiredColumnNames()
GetType()
SaveStyle(String)
SaveStyle(Stream)
ToString()

Protected Methods Summary

Name
AbbreviateText(Feature,GeoCanvas)
AbbreviateTextCore(Feature,GeoCanvas)
CheckDuplicate(LabelingCandidate,GeoCanvas,Collection<SimpleCandidate>,Collection<SimpleCandidate>)
CheckDuplicateCore(LabelingCandidate,GeoCanvas,Collection<SimpleCandidate>,Collection<SimpleCandidate>)
CheckOverlapping(LabelingCandidate,GeoCanvas,GeoFont,Single,Single,Double,Collection<SimpleCandidate>,Collection<SimpleCandidate>)
CheckOverlappingCore(LabelingCandidate,GeoCanvas,Collection<SimpleCandidate>,Collection<SimpleCandidate>)
CloneDeepCore()
ConvertToScreenShape(Feature,GeoCanvas)
DrawCore(IEnumerable<Feature>,GeoCanvas,Collection<SimpleCandidate>,Collection<SimpleCandidate>)
DrawMask(LabelingCandidate,GeoCanvas,Collection<SimpleCandidate>,Collection<SimpleCandidate>)
DrawSampleCore(GeoCanvas,DrawingRectangleF)
DrawText(Feature,GeoCanvas,GeoFont,GeoBrush,GeoPen,DrawingLevel,Single,Single,DrawingTextAlignment,Double,Collection<SimpleCandidate>,Collection<SimpleCandidate>)
FilterFeatures(IEnumerable<Feature>,GeoCanvas)
FilterFeaturesCore(IEnumerable<Feature>,GeoCanvas)
Finalize()
Format(String,BaseShape)
FormatCore(String,BaseShape)
GetLabelingCandidateCore(Feature,GeoCanvas,GeoFont,Single,Single,Double)
GetLabelingCandidateForOnePolygon(PolygonShape,String,GeoFont,Single,Single,GeoCanvas,Double)
GetLabelingCandidates(Feature,GeoCanvas,GeoFont,Single,Single,Double)
GetRequiredColumnNamesCore()
MeasureText(GeoCanvas,String,GeoFont)
MemberwiseClone()
OnFormatted(FormattedPositionStyleEventArgs)
OnFormatting(FormattingPositionStyleEventArgs)

Public Events Summary

Name Event Arguments Description
Formatting FormattingPositionStyleEventArgs N/A
Formatted FormattedPositionStyleEventArgs N/A

Members Detail

Public Constructors

Name
N/A

Protected Constructors

PositionStyle()

Summary

This is the default constructor for the class.

Remarks

None

Return Value

Type Description
N/A

Parameters

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

Public Properties

AbbreviationDictionary

Summary

N/A

Remarks

N/A

Return Value

Dictionary<String,String>


AllowLineCarriage

Summary

This property gets and sets whether the labeler will allow carriage returns to be inserted.

Remarks

This property enables the labeler to split long labels into multiple lines if need be. For instance, if you have a lake whose name is "Southern Homestead Lake," then the labeler may try and break the name onto multiple lines in order to better label the feature.

Return Value

Boolean


BestPlacementSymbolHeight

Summary

N/A

Remarks

N/A

Return Value

Single


BestPlacementSymbolWidth

Summary

N/A

Remarks

N/A

Return Value

Single


DuplicateRule

Summary

This property gets and sets the rule that determines how duplicate labels are handled.

Remarks

There are three ways to handle duplicate label names. The first is to suppress all duplicates, which means if there are two street segments with the same name then only one will be drawn. The second way is to suppress duplicate labels only if they are in one quarter of the screen. In this way, the screen will be divided into four quadrants, and if the two duplicate labels are in different quadrants, then they will both draw. The last way is to draw all duplicates.

Return Value

LabelDuplicateRule


Filters

Summary

N/A

Remarks

N/A

Return Value

Collection<String>


FittingPolygon

Summary

This property gets and sets whether the labeler will try to fit the label as best as it can within the boundary of a polygon.

Remarks

None

Return Value

Boolean


FittingPolygonFactor

Summary

This property gets and sets the factor to which it will keep the label inside of the polygon.

Remarks

None

Return Value

Double


ForceLineCarriage

Summary

This property gets and sets whether the labeler will force carriage returns to be inserted.

Remarks

This property forces the labeler to split long labels into multiple lines. For instance, if you have a lake whose name is "Southern Homestead Lake," then the labeler will break the name onto multiple lines in order to better label the feature.

Return Value

Boolean


GridSize

Summary

This property gets and sets the grid size used for deterministic labeling.

Remarks

The grid size determines how many labels will be considered as candidates for drawing. The smaller the grid size, the higher the density of candidates. Making the grid size too small may have a performance impact.

Return Value

Int32


IsActive

Summary

N/A

Remarks

N/A

Return Value

Boolean


LabelAllLineParts

Summary

This property gets and sets whether the labeler will label every part of a multi-part line.

Remarks

In some cases, you may want to label all of the parts of a multi-part line, while in other cases you may not.

Return Value

Boolean


LabelAllPolygonParts

Summary

This property gets and sets whether the labeler will label every part of a multi-part polygon.

Remarks

In some cases, you may want to label all of the parts of a multi-part polygon, while in other cases you may not. For example, you may have a series of lakes where you do want to label each polygon. In another case, you may have a country with many small islands and in this case you only want to label the largest polygon.

Return Value

Boolean


LeaderLineMinimumLengthInPixels

Summary

N/A

Remarks

N/A

Return Value

Single


LeaderLineRule

Summary

N/A

Remarks

N/A

Return Value

LabelLeaderLinesRule


LeaderLineStyle

Summary

N/A

Remarks

N/A

Return Value

LineStyle


MaskType

Summary

N/A

Remarks

N/A

Return Value

MaskType


MaxNudgingInPixel

Summary

N/A

Remarks

N/A

Return Value

Int32


Name

Summary

N/A

Remarks

N/A

Return Value

String


NudgingIntervalInPixel

Summary

N/A

Remarks

N/A

Return Value

Single


OverlappingRule

Summary

This property gets and sets the rule that determines how overlapping labels are handled.

Remarks

This defines the rules for label overlapping. Currently, either we allow overlapping or we do not. In the future, we may extend this to allow some percentage of partial overlapping.

Return Value

LabelOverlappingRule


PolygonLabelingLocationMode

Summary

This property gets and sets the mode that determines how to locate polygon's labeling

Remarks

There are two ways to handle polygon's labeling location. The first is to use polygon's centroid as the labeling location, the second way is to use polygon's boungdingbox center as the labeling location.

Return Value

PolygonLabelingLocationMode


RequiredColumnNames

Summary

N/A

Remarks

N/A

Return Value

Collection<String>


SuppressPartialLabels

Summary

This property gets and sets whether a partial label in the current extent will be drawn or not.

Remarks

This property provides a solution to the "cut off" label issue in Map Suite Web Edition and Desktop Edition, which occurs when multiple tiles exist. When you set this property to true, any labels outside of the current extent will not be drawn.

Return Value

Boolean


TextLineSegmentRatio

Summary

This property gets and sets the ratio required for the label length to match the line length.

Remarks

This allows you to suppress labels where the label length would greatly exceed the line length. For example, if you set the ratio to 1, then the label will be suppressed if it is longer than the line. If the ratio is lower, then the label would need to be shorter than the line. If higher, then the label is allowed to run past the length of the line. This allows you to control the look of things like road labeling.

Return Value

Double


TextPlacement

Summary

This property gets and sets the location of the label for point features relative to the point.

Remarks

This property allows you to choose where the labels are created relative to the point. For example, you can set the property to RightCenter, which would ensure that all labels are placed to the right of and vertically centered with the point. Different kinds of point layers can be positioned differently. If the point layer is dense and position is not a main concern, then you can try the BestPlacement property. That property overrides this property and tries to fit the label in the best location so that the minimum number of labels are suppressed due to overlapping issues.

Return Value

TextPlacement


Protected Properties

Alignment

Summary

N/A

Remarks

N/A

Return Value

DrawingTextAlignment


AllowOverlapping

Summary

N/A

Remarks

N/A

Return Value

Boolean


AllowSpline

Summary

This property gets and sets whether line labels are allowed to spline around curved lines.

Remarks

This property will allow the labeler to spline the label around curved lines. This is useful for curved streets that need to be labeled. This can have a considerable performance impact, so we suggest you experiment with it to ensure it can meet your needs.

Return Value

Boolean


BasePoint

Summary

N/A

Remarks

N/A

Return Value

PointStyle


CustomTextStyles

Summary

This property returns a collection of area styles, allowing you to stack multiple area styles on top of each other.

Remarks

Using this collection you can stack multiple area styles on top of each other. When we draw the feature we will draw them in order in the collection. You can use these stacks to create drop shadow effects along with multiple colored outlines etc.

Return Value

Collection<TextStyle>


DateFormat

Summary

This property gets and sets the format that will be applied to the text which can be parsed to DateTime type.

Remarks

With this property, you can apply formats to the text that is retrieved from the feature.

Return Value

String


DrawBasePointWithoutText

Summary

N/A

Remarks

N/A

Return Value

Boolean


DrawingLevel

Summary

Gets or sets the DrawingLavel for this style.

Remarks

N/A

Return Value

DrawingLevel


FiltersCore

Summary

N/A

Remarks

N/A

Return Value

Collection<String>


FittingLineInScreen

Summary

This property gets and sets whether the labeler will try to fit the label as best as it can on the visible part of a line on the screen.

Remarks

A label will normally be displayed in the center of a line. If only a small piece of the line is visible on the screen, we cannot see it's label by default. If we set this property to ture though, the label will be displayed in the center of that piece in screen.

Return Value

Boolean


FittingPolygonInScreen

Summary

This property gets and sets whether the labeler will try to fit the label as best as it can on the visible part of a polygon on the screen.

Remarks

A label will normally be displayed in the center of a polygon. If only a small piece of the polygon is visible on the screen, we cannot see it's label by default. If we set this property to ture though, the label will be displayed in the center of that piece in screen.

Return Value

Boolean


Font

Summary

This property gets and sets the font that will be used to draw the text.

Remarks

None

Return Value

GeoFont


ForceHorizontalLabelForLine

Summary

This property gets and sets whether we should force horizontal labeling for lines.

Remarks

Normally, lines are labeled in the direction of the line. There may be some cases, however, when you want to have the line labeled horizontally regardless of the line's direction. In such a case, you can set this property to force the lines to be labeled horizontally.

Return Value

Boolean


HaloPen

Summary

This property gets and sets the halo pen you may use to draw a halo around the text.

Remarks

The halo pen allows you to draw a halo effect around the text, making it stand out more on a busy background.

Return Value

GeoPen


IsDefault

Summary

N/A

Remarks

N/A

Return Value

Boolean


IsStyleJsonStyle

Summary

N/A

Remarks

N/A

Return Value

Boolean


LabelFeatures

Summary

N/A

Remarks

N/A

Return Value

Collection<Feature>


LabelPositions

Summary

Gets a value represents a keyValuepair which is a feature id and label position of the feature

Remarks

N/A

Return Value

Dictionary<String,WorldLabelingCandidate>


LetterCase

Summary

N/A

Remarks

N/A

Return Value

DrawingTextLetterCase


Mask

Summary

This property gets and sets the AreaStyle used to draw a mask behind the text.

Remarks

A mask is a plate behind the text that is rectangular and slightly larger than the width and height of the text. It allows the label to stand out well on a busy background. You can also try the HaloPen property instead of the mask, if the mask effect is too pronounced.

Return Value

AreaStyle


MaskMargin

Summary

This property gets and sets the margin around the text that will be used for the mask.

Remarks

This determines how much larger the mask is than the text, in pixels.

Return Value

DrawingMargin


MaxCharAngleDelta

Summary

N/A

Remarks

N/A

Return Value

Double


MinDistance

Summary

N/A

Remarks

N/A

Return Value

Double


NumericFormat

Summary

This property gets and sets the format that will be applied to the text which can be parsed to double type.

Remarks

With this property, you can apply formats to the text that is retrieved from the feature.

Return Value

String


RotationAngle

Summary

This property gets and sets the rotation angle of the item being positioned.

Remarks

None

Return Value

Double


Spacing

Summary

N/A

Remarks

N/A

Return Value

Double


SplineType

Summary

Gets or sets the SplineType for labeling.

Remarks

N/A

Return Value

SplineType


TextBaseline

Summary

N/A

Remarks

N/A

Return Value

DrawingTextBaseline


TextBrush

Summary

This property gets and sets the SolidBrush that will be used to draw the text.

Remarks

You can use this property to draw a solid color; however, if you need to use other brushes, you can access them through the Advanced property of this class.

Return Value

GeoBrush


TextColumnName

Summary

This property gets and sets the column name in the data that you want to get the text from.

Remarks

This property is used when retrieving text from a feature. You will want to specify the name of the column that contains the text you want to draw.

Return Value

String


TextContent

Summary

N/A

Remarks

N/A

Return Value

String


TextFormat

Summary

This property gets and sets the format that will be applied to the text.

Remarks

With this property, you can apply formats to the text that is retrieved from the feature.

Return Value

String


TextLetterSpacing

Summary

N/A

Remarks

N/A

Return Value

Double


TextLineSpacing

Summary

N/A

Remarks

N/A

Return Value

Single


WrapWidth

Summary

N/A

Remarks

N/A

Return Value

Double


XOffsetInPixel

Summary

This property gets and sets the X pixel offset used for drawing each feature.

Remarks

This property allows you to specify an X offset. When combined with a Y offset, it is useful to allow you to achieve effects such as drop shadows, etc. There also may be times when you need to modify the location of feature data so as to better align it with raster satellite data.

Return Value

Single


YOffsetInPixel

Summary

This property gets and sets the Y pixel offset used for drawing each feature.

Remarks

This property allows you to specify a Y offset. When combined with an X offset, it is useful to allow you to achieve effects such as drop shadows, etc. There also may be times when you need to modify the location of feature data so as to better align it with raster satellite data.

Return Value

Single


Public Methods

CloneDeep()

Summary

N/A

Remarks

N/A

Return Value

Type Description
Style N/A

Parameters

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

Draw(IEnumerable<Feature>,GeoCanvas,Collection<SimpleCandidate>,Collection<SimpleCandidate>)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
features IEnumerable<Feature> N/A
canvas GeoCanvas N/A
labelsInThisLayer Collection<SimpleCandidate> N/A
labelsInAllLayers Collection<SimpleCandidate> N/A

Draw(IEnumerable<BaseShape>,GeoCanvas,Collection<SimpleCandidate>,Collection<SimpleCandidate>)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
shapes IEnumerable<BaseShape> N/A
canvas GeoCanvas N/A
labelsInThisLayer Collection<SimpleCandidate> N/A
labelsInAllLayers Collection<SimpleCandidate> N/A

DrawSample(GeoCanvas,DrawingRectangleF)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
canvas GeoCanvas N/A
drawingExtent DrawingRectangleF N/A

DrawSample(GeoCanvas)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
canvas GeoCanvas 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

GetHashCode()

Summary

N/A

Remarks

N/A

Return Value

Type Description
Int32 N/A

Parameters

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

GetRequiredColumnNames()

Summary

N/A

Remarks

N/A

Return Value

Type Description
Collection<String> 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

SaveStyle(String)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
filePathName String N/A

SaveStyle(Stream)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
stream Stream 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

AbbreviateText(Feature,GeoCanvas)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
feature Feature N/A
canvas GeoCanvas N/A

AbbreviateTextCore(Feature,GeoCanvas)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
feature Feature N/A
canvas GeoCanvas N/A

CheckDuplicate(LabelingCandidate,GeoCanvas,Collection<SimpleCandidate>,Collection<SimpleCandidate>)

Summary

This method will determine whether the label will be suppressed because it is a duplicate.

Remarks

This method is the concrete wrapper for the abstract method CheckDuplicateCore. This method will determine if the label will be suppressed because it is a duplicate. It also takes into consideration the duplicate rules for the class. So, for example, if we set to allow duplicates, then the method will always return false. If the class is set to not allow duplicates and this label is a duplicate, then it will return true and be suppressed. 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
Boolean This method returns whether the label will be suppressed as a duplicate.

Parameters

Name Type Description
labelingCandidate LabelingCandidate This parameter is the labeling candidate that will be checked to determine if it is a duplicate.
canvas GeoCanvas This parameter is the view used for calculations.
labelsInThisLayer Collection<SimpleCandidate> The labels will be drawn in the current layer only.
labelsInAllLayers Collection<SimpleCandidate> The labels will be drawn in all layers.

CheckDuplicateCore(LabelingCandidate,GeoCanvas,Collection<SimpleCandidate>,Collection<SimpleCandidate>)

Summary

This method will determine if the label will be suppressed because it is a duplicate.

Remarks

This overridden method is called from the concrete public method CheckDuplicate. This method will determine if the label will be suppressed because it is a duplicate. It also takes into consideration the duplicate rules for the class. So, for example, if we set to allow duplicates, then the method will always return false. If the class is set to not allow duplicates and this label is a duplicate, then it will return true and be suppressed.

Return Value

Type Description
Boolean This method returns whether the label will be suppressed as a duplicate.

Parameters

Name Type Description
labelingCandidate LabelingCandidate This parameter is the labeling candidate that will be checked to determine if it is a duplicate.
canvas GeoCanvas This parameter is the view that will be used for calculations.
labelsInThisLayer Collection<SimpleCandidate> The labels will be drawn in the current layer only.
labelsInAllLayers Collection<SimpleCandidate> The labels will be drawn in all layers.

CheckOverlapping(LabelingCandidate,GeoCanvas,GeoFont,Single,Single,Double,Collection<SimpleCandidate>,Collection<SimpleCandidate>)

Summary

This method will determine if the label will be suppressed because of overlapping.

Remarks

This method is the concrete wrapper for the abstract method CheckOverlappingCore. This method will determine if the label will be suppressed because it is overlapping another label. It also takes into consideration the overlapping rules for the class. So, for example, if we set to allow overlap, then the method will always return false. If the class is set to not allow overlap and this label is overlapping, then it will return true and be suppressed. 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
Boolean This method returns whether the label will be suppressed because of overlapping.

Parameters

Name Type Description
labelingCandidate LabelingCandidate This parameter is the labeling candidate that will be checked to determine if it is overlapping.
canvas GeoCanvas This parameter is the view that will be used for calculations.
font GeoFont N/A
xOffsetInPixel Single N/A
yOffsetInPixel Single N/A
rotationAngle Double N/A
labelsInThisLayer Collection<SimpleCandidate> The labels will be drawn in the current layer only.
labelsInAllLayers Collection<SimpleCandidate> The labels will be drawn in all layers.

CheckOverlappingCore(LabelingCandidate,GeoCanvas,Collection<SimpleCandidate>,Collection<SimpleCandidate>)

Summary

This method will determine whether the label will be suppressed because of overlapping.

Remarks

This overridden method is called from the concrete public method CheckOverlapping. This method will determine if the label will be suppressed because it is overlapping another label. It also takes into consideration the overlapping rules for the class. So, for example, if we set to allow overlap, then the method will always return false. If the class is set to not allow overlap and this label is overlapping, then it will return true and be suppressed.

Return Value

Type Description
Boolean This method returns whether the label will be suppressed because of overlapping.

Parameters

Name Type Description
labelingCandidate LabelingCandidate This parameter is the labeling candidate that will be checked to determine if it is overlapping.
canvas GeoCanvas This parameter is the view that will be used for calculations.
labelsInThisLayer Collection<SimpleCandidate> The labels will be drawn in the current layer only.
labelsInAllLayers Collection<SimpleCandidate> The labels will be drawn in all layers.

CloneDeepCore()

Summary

N/A

Remarks

N/A

Return Value

Type Description
Style N/A

Parameters

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

ConvertToScreenShape(Feature,GeoCanvas)

Summary

This method converts a feature in world coordinates to screen coordinates.

Remarks

This overridden method can be called by this class and its sub concrete classes. In this method, we take the view and the feature in world coordinates and convert it to screen coordinates.

Return Value

Type Description
BaseShape A screen coordinate shape.

Parameters

Name Type Description
feature Feature This parameter is the feature to be converted from world coordinates.
canvas GeoCanvas This parameter is the view that will be used to convert the world coordinate feature to a screen coorindate feature.

DrawCore(IEnumerable<Feature>,GeoCanvas,Collection<SimpleCandidate>,Collection<SimpleCandidate>)

Summary

This method draws the features on the view you provided.

Remarks

This overridden method is called from the concrete public method Draw. In this method, we take the features you passed in and draw them on the view you provided. Each style (based on its properties) may draw each feature differently. When overriding this method, consider each feature and its column data values. You can use the full power of the GeoCanvas to do the drawing. If you need column data for a feature, be sure to override the GetRequiredColumnNamesCore and add the columns you need to the collection. In many of the styles, we add properties to allow the user to specify which field they need; then, in the GetRequiredColumnNamesCore, we read that property and add it to the collection.

Return Value

Type Description
Void None

Parameters

Name Type Description
features IEnumerable<Feature> This parameter represents the features you want to draw on the view.
canvas GeoCanvas This parameter represents the view you want to draw the features on.
labelsInThisLayer Collection<SimpleCandidate> The labels will be drawn in the current layer only.
labelsInAllLayers Collection<SimpleCandidate> The labels will be drawn in all layers.

DrawMask(LabelingCandidate,GeoCanvas,Collection<SimpleCandidate>,Collection<SimpleCandidate>)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

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

DrawSampleCore(GeoCanvas,DrawingRectangleF)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
canvas GeoCanvas N/A
drawingExtent DrawingRectangleF N/A

DrawText(Feature,GeoCanvas,GeoFont,GeoBrush,GeoPen,DrawingLevel,Single,Single,DrawingTextAlignment,Double,Collection<SimpleCandidate>,Collection<SimpleCandidate>)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
feature Feature N/A
canvas GeoCanvas N/A
font GeoFont N/A
textBrush GeoBrush N/A
haloPen GeoPen N/A
drawingLevel DrawingLevel N/A
xOffsetInPixel Single N/A
yOffsetInPixel Single N/A
alignment DrawingTextAlignment N/A
rotationAngle Double N/A
labelsInThisLayer Collection<SimpleCandidate> N/A
labelsInAllLayers Collection<SimpleCandidate> N/A

FilterFeatures(IEnumerable<Feature>,GeoCanvas)

Summary

This method filters the features based on the grid size to facilitate deterministic labeling.

Remarks

This method is the concrete wrapper for the abstract method FilterFeaturesCore. In this method, we filter the features based on the grid size to facilitate deterministic labeling. 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
Collection<Feature> This method returns the features that will be considered for labeling.

Parameters

Name Type Description
features IEnumerable<Feature> This parameter represents the features that will be filtered.
canvas GeoCanvas This parameter is the view that will be used for calculating font sizes.

FilterFeaturesCore(IEnumerable<Feature>,GeoCanvas)

Summary

This method filters the features based on the grid size to facilitate deterministic labeling.

Remarks

This overridden method is called from the concrete public method FilterFeatures. In this method, we filter the features based on the grid size to facilitate deterministic labeling.

Return Value

Type Description
Collection<Feature> This method returns the features that will be considered for labeling.

Parameters

Name Type Description
features IEnumerable<Feature> This parameter represents the features that will be filtered.
canvas GeoCanvas This parameter is the view that will be used for calculating font sizes.

Finalize()

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

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

Format(String,BaseShape)

Summary

N/A

Remarks

N/A

Return Value

Type Description
String N/A

Parameters

Name Type Description
text String N/A
labeledShape BaseShape N/A

FormatCore(String,BaseShape)

Summary

N/A

Remarks

N/A

Return Value

Type Description
String N/A

Parameters

Name Type Description
text String N/A
labeledShape BaseShape N/A

GetLabelingCandidateCore(Feature,GeoCanvas,GeoFont,Single,Single,Double)

Summary

This method determines whether the specified feature is a good candidate to be labeled, based on the labeling properties set.

Remarks

This overridden method is called from the concrete public method GetLabelingCanidate. In this method, we take the feature you passed in and determine if it is a candidate for labeling. If it is, then we will add it to the return collection. The algorithm to determine whether the label will draw is complex and determined by a number of properties and factors.

Return Value

Type Description
Collection<LabelingCandidate> A collection of labeling candidates.

Parameters

Name Type Description
feature Feature This parameter is the feature that will be considered as a labeling candidate.
canvas GeoCanvas This parameter is the view that will be used to draw the feature. This method will not draw on this view, but rather will use it to determine font size, etc.
font GeoFont N/A
xOffsetInPixel Single N/A
yOffsetInPixel Single N/A
rotationAngle Double N/A

GetLabelingCandidateForOnePolygon(PolygonShape,String,GeoFont,Single,Single,GeoCanvas,Double)

Summary

N/A

Remarks

N/A

Return Value

Type Description
LabelingCandidate N/A

Parameters

Name Type Description
polygon PolygonShape N/A
text String N/A
font GeoFont N/A
xOffsetInPixel Single N/A
yOffsetInPixel Single N/A
canvas GeoCanvas N/A
rotationAngle Double N/A

GetLabelingCandidates(Feature,GeoCanvas,GeoFont,Single,Single,Double)

Summary

This method determines whether the specified feature is a good candidate to be labeled, based on the labeling properties set.

Remarks

This method is the concrete wrapper for the abstract method GetLabelingCanidatesCore. This method determines if the feature passed in is a good candidate to be labeled based on the labeling properties set. 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
Collection<LabelingCandidate> A collection of labeling candidates.

Parameters

Name Type Description
feature Feature This parameter is the feature that will be considered as a labeling candidate.
canvas GeoCanvas This parameter is the view that will be used to draw the feature. This method will not draw on this view, but rather will use it to determine font size, etc.
font GeoFont N/A
xOffsetInPixel Single N/A
yOffsetInPixel Single N/A
rotationAngle Double N/A

GetRequiredColumnNamesCore()

Summary

This method returns the column data for each feature that is required for the style to properly draw.

Remarks

This abstract method is called from the concrete public method GetRequiredFieldNames. In this method, we return the column names that are required for the style to draw the feature properly. For example, if you have a style that colors areas blue when a certain column value is over 100, then you need to be sure you include that column name. This will ensure that the column data is returned to you in the feature when it is ready to draw. In many of the styles, we add properties to allow the user to specify which field they need; then, in the GetRequiredColumnNamesCore, we read that property and add it to the collection.

Return Value

Type Description
Collection<String> This method returns a collection of the column names that it needs.

Parameters

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

MeasureText(GeoCanvas,String,GeoFont)

Summary

N/A

Remarks

N/A

Return Value

Type Description
DrawingRectangleF N/A

Parameters

Name Type Description
canvas GeoCanvas N/A
text String N/A
font GeoFont 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

OnFormatted(FormattedPositionStyleEventArgs)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
e FormattedPositionStyleEventArgs N/A

OnFormatting(FormattingPositionStyleEventArgs)

Summary

N/A

Remarks

N/A

Return Value

Type Description
Void N/A

Parameters

Name Type Description
e FormattingPositionStyleEventArgs N/A

Public Events

Formatting

N/A

Remarks

N/A

Event Arguments

FormattingPositionStyleEventArgs

Formatted

N/A

Remarks

N/A

Event Arguments

FormattedPositionStyleEventArgs