User Tools

Site Tools


thinkgeo.mapsuite.windowsphonecore.dotdensitystyle

ThinkGeo.MapSuite.WindowsPhoneCore.DotDensityStyle

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.

<!– Class –> This class allows you to display information by drawing points on an area based on a value from the features data.

Remarks

This class allows you to display information by drawing points on an area based on a value from the features data. The higher the value is in the data, the greater the number of points that are drawn. The points themselves are distributed randomly inside of the polygon.

You would use this style if you have areas (such as counties) and numeric data (such as the number of births in those counties). In this example, you could plot a point in each county to represent each birth. A county will show a higher density of points if it is smaller or if there are more births there.

When you have data values that are too large to represent by plotting an individual point for each, or data that is too sparse, you can set the PointToValueRatio. Setting this will control the ratio of points drawn to the value in the data. For example, if you have a value of 100 in the data and you have the ratio set to 1, then you will get 100 points drawn. A ratio of higher than 1 will draw more points than the data value; in our example, a ratio of 2 will draw 200 points. Conversely, a ratio of less than 1 will draw fewer points than the data value; in our example, a ratio of 0.5 would draw 50 points.

Inheritance Hierarchy

Members Summary

Public Constructors

Name Parameters DeclaringType Summary
Public MethodDotDensityStyle This is the constructor for the class.
Public MethodDotDensityStyle String, Double, Int32, GeoColor This is the constructor for the class.
Public MethodDotDensityStyle String, Double, PointStyle This is the constructor for the class.

Protected Constructors

Name Parameters DeclaringType Summary

Public Methods

Name Parameters DeclaringType Summary
Public MethodDraw IEnumerable<BaseShape>, GeoCanvas, Collection<SimpleCandidate>, Collection<SimpleCandidate> Style This method draws the shapes on the canvas you provided.
Public MethodDraw IEnumerable<Feature>, GeoCanvas, Collection<SimpleCandidate>, Collection<SimpleCandidate> Style This method draws the features on the canvas you provided.
Public MethodDrawSample GeoCanvas, DrawingRectangleF Style
Public MethodEquals Object Object
Public MethodGetHashCode Object
Public MethodGetRequiredColumnNames Style This method returns the column data for each feature that is required for the style to properly draw.
Public MethodGetType Object
Public MethodToString Object

Protected Methods

Name Parameters DeclaringType Summary
Protected MethodDrawCore IEnumerable<Feature>, GeoCanvas, Collection<SimpleCandidate>, Collection<SimpleCandidate> Style(overriden) This method draws the features on the canvas you provided.
Protected MethodDrawSampleCore GeoCanvas, DrawingRectangleF Style
Protected MethodFinalize Object
Protected MethodGetRequiredColumnNamesCore Style(overriden) This method returns the column data for each feature that is required for the style to properly draw.
Protected MethodMemberwiseClone Object

Public Properties

Name Return DeclaringType Summary
Public PropertyCachedPoints Dictionary<String,Collection<Vertex» The cachedPoints for the dotdensity style to speed it up.
Public PropertyColumnName String This property gets and sets the column name that will be used for the density value.
Public PropertyCustomPointStyle PointStyle This property gets and sets a custom point style.
Public PropertyIsActive Boolean Style This property gets and sets the active status of the style.
Public PropertyName String Style This property gets and set the name of the style.
Public PropertyPointColor GeoColor This property gets and sets the color of the density points.
Public PropertyPointSize Int32 This property gets and sets the point size of the density points.
Public PropertyPointToValueRatio Double This property gets and sets the ratio of points to value in the data.
Public PropertyRequiredColumnNames Collection<String> Style This property gets the collection of fields that are required for the style.

Protected Properties

Name Return DeclaringType Summary

Public Events

Name Event Arguments DeclaringType Summary

Public Constructors

DotDensityStyle()

This is the constructor for the class.

Overloads

This is the default constructor.

Remarks

This is the default constructor. If you use this constructor, you should set the values by the properties.

Parameters

Name Type Description

Go Back

DotDensityStyle(String, Double, Int32, GeoColor)

This is the constructor for the class.

Overloads

This constructor allows you to specify the column name, point-to-value ratio, point size and point color.

Remarks

This constructor allows you to set everything you need to a standard scenario.

Parameters

Name Type Description
columnName String<!– System.String –> This parameter is the name of the column in the FeatureSource that will supply the data.
pointToValueRatio Double<!– System.Double –> This parameter controls the point-to-value ratio for the random dots.
pointSize Int32<!– System.Int32 –> This parameter controls the size of each randomly placed point in the area.
pointColor GeoColor<!– ThinkGeo.MapSuite.WindowsPhoneCore.GeoColor –> This parameter controls the color of each randomly placed point in the area.

Go Back

DotDensityStyle(String, Double, PointStyle)

This is the constructor for the class.

Overloads

This constructor allows you to pass in the column name, point-to-value ratio and a custom point style.

Remarks

If you require a custom point symbol, this constructor allows you to set everything you need. Custom points can include bitmaps and points that require custom fill brushes.

Parameters

Name Type Description
columnName String<!– System.String –> This parameter is the name of the column in the FeatureSource that will supply the data.
pointToValueRatio Double<!– System.Double –> This parameter controls the point-to-value ratio for the random dots.
customPointStyle PointStyle<!– ThinkGeo.MapSuite.WindowsPhoneCore.PointStyle –> This parameter represents a custom point you want to draw.

Go Back

Protected Constructors

Public Methods

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

This method draws the shapes on the canvas you provided.

Remarks

This method is the concrete wrapper for the abstract method DrawCore. In this method, we take the shapes you passed in and draw them on the canvas you provided. Each style (based on its properties) may draw each shape differently.

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

Return Type Description
Void<!– System.Void –>

Parameters

Name Type Description
shapes IEnumerable<BaseShape><!– System.Collections.Generic.IEnumerable{ThinkGeo.MapSuite.WindowsPhoneCore.BaseShape} –> This parameter represents the shapes you want to draw on the canvas.
canvas GeoCanvas<!– ThinkGeo.MapSuite.WindowsPhoneCore.GeoCanvas –> This parameter represents the canvas you want to draw the shapes on.
labelsInThisLayer Collection<SimpleCandidate><!– System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.WindowsPhoneCore.SimpleCandidate} –> The labels will be drawn in the current layer only.
labelsInAllLayers Collection<SimpleCandidate><!– System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.WindowsPhoneCore.SimpleCandidate} –> The labels will be drawn in all layers.

<!– ThinkGeo.MapSuite.WindowsPhoneCore.Style –> Go Back

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

This method draws the features on the canvas you provided.

Remarks

This method is the concrete wrapper for the abstract method DrawCore. In this method, we take the features you passed in and draw them on the canvas you provided. Each style (based on its properties) may draw each feature differently.

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

Return Type Description
Void<!– System.Void –>

Parameters

Name Type Description
features IEnumerable<Feature><!– System.Collections.Generic.IEnumerable{ThinkGeo.MapSuite.WindowsPhoneCore.Feature} –> This parameter represents the features you want to draw on the canvas.
canvas GeoCanvas<!– ThinkGeo.MapSuite.WindowsPhoneCore.GeoCanvas –> This parameter represents the canvas you want to draw the features on.
labelsInThisLayer Collection<SimpleCandidate><!– System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.WindowsPhoneCore.SimpleCandidate} –> The labels will be drawn in the current layer only.
labelsInAllLayers Collection<SimpleCandidate><!– System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.WindowsPhoneCore.SimpleCandidate} –> The labels will be drawn in all layers.

<!– ThinkGeo.MapSuite.WindowsPhoneCore.Style –> Go Back

DrawSample(GeoCanvas, DrawingRectangleF)

Return Value

Return Type Description
Void<!– System.Void –>

Parameters

Name Type Description
canvas GeoCanvas<!– ThinkGeo.MapSuite.WindowsPhoneCore.GeoCanvas –>
drawingExtent DrawingRectangleF<!– ThinkGeo.MapSuite.WindowsPhoneCore.DrawingRectangleF –>

<!– ThinkGeo.MapSuite.WindowsPhoneCore.Style –> Go Back

Equals(Object)

Return Value

Return Type Description
Boolean<!– System.Boolean –>

Parameters

Name Type Description
obj Object<!– System.Object –>

<!– System.Object –> Go Back

GetHashCode()

Return Value

Return Type Description
Int32<!– System.Int32 –>

Parameters

Name Type Description

<!– System.Object –> Go Back

GetRequiredColumnNames()

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

Remarks

This method is the concrete wrapper for the abstract method GetRequiredColumnNamesCore. 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.

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

Return Type Description
Collection<String><!– System.Collections.ObjectModel.Collection{System.String} –> This method returns a collection of column names that the style needs.

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.WindowsPhoneCore.Style –> Go Back

GetType()

Return Value

Return Type Description
Type<!– System.Type –>

Parameters

Name Type Description

<!– System.Object –> Go Back

ToString()

Return Value

Return Type Description
String<!– System.String –>

Parameters

Name Type Description

<!– System.Object –> Go Back

Protected Methods

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

This method draws the features on the canvas 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 canvas 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

Return Type Description
Void<!– System.Void –>

Parameters

Name Type Description
features IEnumerable<Feature><!– System.Collections.Generic.IEnumerable{ThinkGeo.MapSuite.WindowsPhoneCore.Feature} –> This parameter represents the features you want to draw on the canvas.
canvas GeoCanvas<!– ThinkGeo.MapSuite.WindowsPhoneCore.GeoCanvas –> This parameter represents the canvas you want to draw the features on.
labelsInThisLayer Collection<SimpleCandidate><!– System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.WindowsPhoneCore.SimpleCandidate} –> The labels will be drawn in the current layer only.
labelsInAllLayers Collection<SimpleCandidate><!– System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.WindowsPhoneCore.SimpleCandidate} –> The labels will be drawn in all layers.

<!– ThinkGeo.MapSuite.WindowsPhoneCore.Style(overriden) –> Go Back

DrawSampleCore(GeoCanvas, DrawingRectangleF)

Return Value

Return Type Description
Void<!– System.Void –>

Parameters

Name Type Description
canvas GeoCanvas<!– ThinkGeo.MapSuite.WindowsPhoneCore.GeoCanvas –>
drawingExtent DrawingRectangleF<!– ThinkGeo.MapSuite.WindowsPhoneCore.DrawingRectangleF –>

<!– ThinkGeo.MapSuite.WindowsPhoneCore.Style –> Go Back

Finalize()

Return Value

Return Type Description
Void<!– System.Void –>

Parameters

Name Type Description

<!– System.Object –> Go Back

GetRequiredColumnNamesCore()

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

Return Type Description
Collection<String><!– System.Collections.ObjectModel.Collection{System.String} –> This method returns a collection of column names that it needs.

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.WindowsPhoneCore.Style(overriden) –> Go Back

MemberwiseClone()

Return Value

Return Type Description
Object<!– System.Object –>

Parameters

Name Type Description

<!– System.Object –> Go Back

Public Properties

CachedPoints

The cachedPoints for the dotdensity style to speed it up.

Return Value

Return Type
Dictionary<String,Collection<Vertex»<!– System.Collections.Generic.Dictionary{System.String,System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.WindowsPhoneCore.Vertex}} –>

<!– ThinkGeo.MapSuite.WindowsPhoneCore.DotDensityStyle –> Go Back

ColumnName

This property gets and sets the column name that will be used for the density value.

Remarks

This value should represent a value in the FeatureSource that is numeric. It will be used in conjunction with the PointToValueRatio property to deterime how many points are drawn in the area.

Return Value

Return Type
String<!– System.String –>

<!– ThinkGeo.MapSuite.WindowsPhoneCore.DotDensityStyle –> Go Back

CustomPointStyle

This property gets and sets a custom point style.

Remarks

You will use this property when you want to specify a point style that is not just a simple colored dot. You may want to use a bitmap or take advantage of a custom fill brush.

Return Value

Return Type
PointStyle<!– ThinkGeo.MapSuite.WindowsPhoneCore.PointStyle –>

<!– ThinkGeo.MapSuite.WindowsPhoneCore.DotDensityStyle –> Go Back

IsActive

This property gets and sets the active status of the style.

Remarks

If the style is not active then it will not draw.

Return Value

Return Type
Boolean<!– System.Boolean –>

<!– ThinkGeo.MapSuite.WindowsPhoneCore.Style –> Go Back

Name

This property gets and set the name of the style.

Remarks

This name is not used by the system; it is only for the developer. However, it can be used if you generate your own legend.

Return Value

Return Type
String<!– System.String –>

<!– ThinkGeo.MapSuite.WindowsPhoneCore.Style –> Go Back

PointColor

This property gets and sets the color of the density points.

Return Value

Return Type
GeoColor<!– ThinkGeo.MapSuite.WindowsPhoneCore.GeoColor –>

<!– ThinkGeo.MapSuite.WindowsPhoneCore.DotDensityStyle –> Go Back

PointSize

This property gets and sets the point size of the density points.

Remarks

If you have sparse data, one way to better fill the area is to use larger point sizes. The opposite is also true; if you have lots of data, smaller point sizes look better.

Return Value

Return Type
Int32<!– System.Int32 –>

<!– ThinkGeo.MapSuite.WindowsPhoneCore.DotDensityStyle –> Go Back

PointToValueRatio

This property gets and sets the ratio of points to value in the data.

Remarks

This property controls the ratio of points on the screen to numeric value in the data. For example, if you have a value of 100 in the data and you have the ratio set to 1, then you will get 100 points drawn. A ratio of higher than 1 will draw more points than the data value; in our example, a ratio of 2 will draw 200 points. Conversely, a ratio of less than 1 will draw fewer points than the data value; in our example, a ratio of 0.5 would draw 50 points.

Return Value

Return Type
Double<!– System.Double –>

<!– ThinkGeo.MapSuite.WindowsPhoneCore.DotDensityStyle –> Go Back

RequiredColumnNames

This property gets the collection of fields that are required for the style.

Remarks

This property gets the collection of fields that are required for the style. These are in addition to any other columns you specify in styles that inherit from this one. For example, if you have use a ValueStyle and it requires a column name for the value comparison, then that column does not need to be in this collection. You only use the RequiredColumnNames for columns you need beyond those required by specific inherited styles.

Return Value

Return Type
Collection<String><!– System.Collections.ObjectModel.Collection{System.String} –>

<!– ThinkGeo.MapSuite.WindowsPhoneCore.Style –> Go Back

Protected Properties

Public Events

thinkgeo.mapsuite.windowsphonecore.dotdensitystyle.txt · Last modified: 2017/03/16 21:59 (external edit)