====== ThinkGeo.MapSuite.Core.DotDensityStyle ======
{{section>upgrade_map_suite_to_10.0}}
This class allows you to display information by drawing points on an area based on a value from the features data.
===== Inheritance Hierarchy =====
*System.Object
*ThinkGeo.MapSuite.Core.Style
***ThinkGeo.MapSuite.Core.DotDensityStyle**
===== Members Summary =====
==== Public Constructors ====
** {{wiki:PublicMethod.gif|}} DotDensityStyle() **
* //This is the constructor for the class.//
== Remarks ==
* //This is the default constructor. If you use this constructor, you should set the values by the properties.//
== Parameters ==
** {{wiki:PublicMethod.gif|}} DotDensityStyle(String,Double,Int32,GeoColor) **
* //This is the constructor for the class.//
== Remarks ==
* //This constructor allows you to set everything you need to a standard scenario.//
== Parameters ==
* //columnName//
* Type:String
* Description:This parameter is the name of the column in the FeatureSource that will supply the data.
* //pointToValueRatio//
* Type:Double
* Description:This parameter controls the point-to-value ratio for the random dots.
* //pointSize//
* Type:Int32
* Description:This parameter controls the size of each randomly placed point in the area.
* //pointColor//
* Type:[[ThinkGeo.MapSuite.Core.GeoColor|GeoColor]]
* Description:This parameter controls the color of each randomly placed point in the area.
** {{wiki:PublicMethod.gif|}} DotDensityStyle(String,Double,PointStyle) **
* //This is the constructor for the class.//
== 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 ==
* //columnName//
* Type:String
* Description:This parameter is the name of the column in the FeatureSource that will supply the data.
* //pointToValueRatio//
* Type:Double
* Description:This parameter controls the point-to-value ratio for the random dots.
* //customPointStyle//
* Type:[[ThinkGeo.MapSuite.Core.PointStyle|PointStyle]]
* Description:This parameter represents a custom point you want to draw.
==== Protected Constructors ====
==== Public Methods ====
** {{wiki:PublicMethod.gif|}} CloneDeep() **
* //N/A//
== Remarks ==
* //N/A//
== Return Value ==
* Type:[[ThinkGeo.MapSuite.Core.Style|Style]]
* Description:N/A
== Parameters ==
** {{wiki:PublicMethod.gif|}} Draw(IEnumerable,GeoCanvas,Collection,Collection) **
* //N/A//
== Remarks ==
* //N/A//
== Return Value ==
* Type:Void
* Description:N/A
== Parameters ==
* //features//
* Type:IEnumerable<[[ThinkGeo.MapSuite.Core.Feature|Feature]]>
* Description:N/A
* //canvas//
* Type:[[ThinkGeo.MapSuite.Core.GeoCanvas|GeoCanvas]]
* Description:N/A
* //labelsInThisLayer//
* Type:Collection<[[ThinkGeo.MapSuite.Core.SimpleCandidate|SimpleCandidate]]>
* Description:N/A
* //labelsInAllLayers//
* Type:Collection<[[ThinkGeo.MapSuite.Core.SimpleCandidate|SimpleCandidate]]>
* Description:N/A
** {{wiki:PublicMethod.gif|}} Draw(IEnumerable,GeoCanvas,Collection,Collection) **
* //N/A//
== Remarks ==
* //N/A//
== Return Value ==
* Type:Void
* Description:N/A
== Parameters ==
* //shapes//
* Type:IEnumerable<[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]>
* Description:N/A
* //canvas//
* Type:[[ThinkGeo.MapSuite.Core.GeoCanvas|GeoCanvas]]
* Description:N/A
* //labelsInThisLayer//
* Type:Collection<[[ThinkGeo.MapSuite.Core.SimpleCandidate|SimpleCandidate]]>
* Description:N/A
* //labelsInAllLayers//
* Type:Collection<[[ThinkGeo.MapSuite.Core.SimpleCandidate|SimpleCandidate]]>
* Description:N/A
** {{wiki:PublicMethod.gif|}} GetRequiredColumnNames() **
* //N/A//
== Remarks ==
* //N/A//
== Return Value ==
* Type:Collection
* Description:N/A
== Parameters ==
** {{wiki:PublicMethod.gif|}} DrawSample(GeoCanvas,DrawingRectangleF) **
* //N/A//
== Remarks ==
* //N/A//
== Return Value ==
* Type:Void
* Description:N/A
== Parameters ==
* //canvas//
* Type:[[ThinkGeo.MapSuite.Core.GeoCanvas|GeoCanvas]]
* Description:N/A
* //drawingExtent//
* Type:[[ThinkGeo.MapSuite.Core.DrawingRectangleF|DrawingRectangleF]]
* Description:N/A
** {{wiki:PublicMethod.gif|}} DrawSample(GeoCanvas) **
* //N/A//
== Remarks ==
* //N/A//
== Return Value ==
* Type:Void
* Description:N/A
== Parameters ==
* //canvas//
* Type:[[ThinkGeo.MapSuite.Core.GeoCanvas|GeoCanvas]]
* Description:N/A
** {{wiki:PublicMethod.gif|}} SaveStyle(String) **
* //N/A//
== Remarks ==
* //N/A//
== Return Value ==
* Type:Void
* Description:N/A
== Parameters ==
* //filePathName//
* Type:String
* Description:N/A
** {{wiki:PublicMethod.gif|}} SaveStyle(Stream) **
* //N/A//
== Remarks ==
* //N/A//
== Return Value ==
* Type:Void
* Description:N/A
== Parameters ==
* //stream//
* Type:Stream
* Description:N/A
** {{wiki:PublicMethod.gif|}} ToString() **
* //N/A//
== Remarks ==
* //N/A//
== Return Value ==
* Type:String
* Description:N/A
== Parameters ==
** {{wiki:PublicMethod.gif|}} Equals(Object) **
* //N/A//
== Remarks ==
* //N/A//
== Return Value ==
* Type:Boolean
* Description:N/A
== Parameters ==
* //obj//
* Type:Object
* Description:N/A
** {{wiki:PublicMethod.gif|}} GetHashCode() **
* //N/A//
== Remarks ==
* //N/A//
== Return Value ==
* Type:Int32
* Description:N/A
== Parameters ==
** {{wiki:PublicMethod.gif|}} GetType() **
* //N/A//
== Remarks ==
* //N/A//
== Return Value ==
* Type:Type
* Description:N/A
== Parameters ==
==== Protected Methods ====
** {{wiki:ProtectedMethod.gif|}} 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 ==
* Type:Collection
* Description:This method returns a collection of column names that it needs.
== Parameters ==
** {{wiki:ProtectedMethod.gif|}} DrawCore(IEnumerable,GeoCanvas,Collection,Collection) **
* //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 ==
* Type:Void
* Description:None
== Parameters ==
* //features//
* Type:IEnumerable<[[ThinkGeo.MapSuite.Core.Feature|Feature]]>
* Description:This parameter represents the features you want to draw on the canvas.
* //canvas//
* Type:[[ThinkGeo.MapSuite.Core.GeoCanvas|GeoCanvas]]
* Description:This parameter represents the canvas you want to draw the features on.
* //labelsInThisLayer//
* Type:Collection<[[ThinkGeo.MapSuite.Core.SimpleCandidate|SimpleCandidate]]>
* Description:The labels will be drawn in the current layer only.
* //labelsInAllLayers//
* Type:Collection<[[ThinkGeo.MapSuite.Core.SimpleCandidate|SimpleCandidate]]>
* Description:The labels will be drawn in all layers.
** {{wiki:ProtectedMethod.gif|}} CloneDeepCore() **
* //N/A//
== Remarks ==
* //N/A//
== Return Value ==
* Type:[[ThinkGeo.MapSuite.Core.Style|Style]]
* Description:N/A
== Parameters ==
** {{wiki:ProtectedMethod.gif|}} DrawSampleCore(GeoCanvas,DrawingRectangleF) **
* //N/A//
== Remarks ==
* //N/A//
== Return Value ==
* Type:Void
* Description:N/A
== Parameters ==
* //canvas//
* Type:[[ThinkGeo.MapSuite.Core.GeoCanvas|GeoCanvas]]
* Description:N/A
* //drawingExtent//
* Type:[[ThinkGeo.MapSuite.Core.DrawingRectangleF|DrawingRectangleF]]
* Description:N/A
** {{wiki:ProtectedMethod.gif|}} Finalize() **
* //N/A//
== Remarks ==
* //N/A//
== Return Value ==
* Type:Void
* Description:N/A
== Parameters ==
** {{wiki:ProtectedMethod.gif|}} MemberwiseClone() **
* //N/A//
== Remarks ==
* //N/A//
== Return Value ==
* Type:Object
* Description:N/A
== Parameters ==
==== Public Properties ====
** {{wiki:PublicProperty.gif|}} 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 ==
* Type:[[ThinkGeo.MapSuite.Core.PointStyle|PointStyle]]
** {{wiki:PublicProperty.gif|}} 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 ==
* Type:String
** {{wiki:PublicProperty.gif|}} 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 ==
* Type:Int32
** {{wiki:PublicProperty.gif|}} PointColor **
This property gets and sets the color of the density points.
== Remarks ==
None
== Return Value ==
* Type:[[ThinkGeo.MapSuite.Core.GeoColor|GeoColor]]
** {{wiki:PublicProperty.gif|}} 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 ==
* Type:Double
** {{wiki:PublicProperty.gif|}} CachedPoints **
The cachedPoints for the dotdensity style to speed it up.
== Remarks ==
N/A
== Return Value ==
* Type:Dictionary>
** {{wiki:PublicProperty.gif|}} Name **
N/A
== Remarks ==
N/A
== Return Value ==
* Type:String
** {{wiki:PublicProperty.gif|}} IsActive **
N/A
== Remarks ==
N/A
== Return Value ==
* Type:Boolean
** {{wiki:PublicProperty.gif|}} RequiredColumnNames **
N/A
== Remarks ==
N/A
== Return Value ==
* Type:Collection
** {{wiki:PublicProperty.gif|}} Filters **
N/A
== Remarks ==
N/A
== Return Value ==
* Type:Collection
==== Protected Properties ====
** {{wiki:ProtectedProperty.gif|}} FiltersCore **
N/A
== Remarks ==
N/A
== Return Value ==
* Type:Collection
==== Public Events ====