DotSpatial.Symbology This class contains two separate layers. The first is the BackImage where features that don't change over time are drawn. This way if heavy calculations are required to draw the background, you don't have to re-draw the background over and over again every time a sprite moves. The Front image is for small sprites that change rapidly, but The real world extents for the entire buffer The image being shown Creates a new BackBuffer bitmap that is the specified size. The width of the bitmap The height of the bitmap Clears the back buffer. Calculates a system.Drawing rectangle that corresponds to the specified real world envelope if it were drawn in pixels on the background image. Fires the ExtentsChanged event Occurs after something changes the geographic extents. This refers to the outer geographic extents, not the view extents. Gets or sets the geographic extents for the entire back buffer. Gets the graphics drawing surface for the BackBuffer Gets or sets the height of this backbuffer in pixels Gets or sets the actual Bitmap being used as the back buffer. Boolean, true if the current thread is different from the original thread, indicating that cross-threading is taking place. Gets or sets the width of the back buffer in pixels. This will copy the old back buffer to a new bitmap with the new width/height Obtains a graphics object already organized into world coordinates. The client rectangle and world coordinates are used in order to determine the scale and translation of the transform necessary in the graphics object. The envelope bounds in geographic coordinates. BitmapFormatException An EventArgs specifically tailored to ColorCategory. Initializes a new instance of the ColorCategoryEventArgs class. The IColorCategory that is involved in this event. Gets the ColorCategory associated with this event. An EventArgs specifically tailored to DynamicVisibilityMode. Initializes a new instance of the DynamicVisibilityModeEventArgs class. The item that supports IDynamicVisibility. Gets the item that supports dynamic visibility. Adds the given DataColumn as Field. DataColumn that should be added. False, if DataColumn was null. Uses the parsed expression to calculate the expression for the given row. If the expression is invalid only the Fields are replaced (This was the default action for expressions before DS 1.8). Row the expression gets calculated for. FID value that is used to replace the FID field. The calculated expression. Clears the fields. Checks whether the operations are valid. Example result if operation is valid. Datarow that should be used to show as example result if the operation is valid. True, if operations can be calculated. Parses the given string to Expression. True if string can be parsed to expression. Replaces the current fields with the given datacolumns. Columns that should be added as fields. False if columns was null. Calculates the whole expression. Calculates the given operation for the values of the given part. Calculates the operations that are allowed for two boolean values. Calculates the operations that are allowed for two double values. Calculates the operations that are allowed for two string values. Seeks operation with the highest priority and operands. Checks whether opening- and closingSymbol can be found. Expression that is checked. Returns position of openingSymbol if found. Returns position of closingSymbol if found. OpeningSymbol that is searched for. ClosingSymbol that is searched for. True if opening- and closingSymbol where found. Gets the ExpressionValue of the element of the given part. Part that contains the element. Id of the element whose value is returned. Value of the element. Checks whether the given character could belong to a number. Character that is checked. Remembers whether last character was exponential to check whether +- are allowed. False if character can't belong to a number. Checks whether the ExpressionString is empty. True, if ExpressionString is empty. Creates elements of the expression parts and checks. ExpressionString whose bracketed parts are parsed. True if partsyntax was correct. Checks whether there is a value or unary operator at the given position. Checks whether there is an operation at the given position. Replaces only the Fields in invalid expressions. Before DS 1.8 this was the only thing that got replaced in expressions. Datarow that contains the data used to replace the fields. FID that is used to replace the FID field. ExpressionString with replaced Fields. Replace the old substring with the new one. String in which the substring gets replaced. Startposition of old substring. Length of old substring. New substring. Converts the given value to string. Uses _floatingFormat for double. Value that gets converted. value as string Sets the ErrorMessage according to the given parameters. Position that caused the error. String that was searched. Indicates whether operator or operand is missing. Finds the next position that is not a space. String to check. Startposition. FloatingFormat that is used to convert double values to string. ErrorMessage that was raised by last method. Extension methods for extent that are related to System.Drawing, and not data. This method assumes that there was a direct correlation between this envelope and the original rectangle. This reproportions this window to match the specified newRectangle. The original envelope The original rectangle The new rectangle A new IEnvelope Feature Set Apply Edit Args. Initializes a new instance of the FeatureSetApplyEditArgs class. The IFeatureSet edit copy. The delegate should point to a method handler to work with the edit copy. Invokes the method that will handle changes using the EditCopy. Gets or sets a duplicate of the IFeatureSet being referenced so that changes might be applied. Defines the structure of the method that would handle the actual changes for an apply changes request. The IFeatureSet edit copy being manipulated. This interface provides ability to use in ColorCategory any custom actions (including GUI-dependent dialogs) Show edit dialog Instance of ColorCategory An shared interface for members that wish to set dynamic visiblity. Dynamic visibility represents layers that only appear when you zoom in close enough. This value represents the geographic width where that happens. This controls whether the layer is visible when zoomed in closer than the dynamic visiblity width or only when further away from the dynamic visibility width Gets or sets a boolean indicating whether dynamic visibility should be enabled. This interface provides ability to use in FeatureLayer any custom actions (including GUI-dependent dialogs) Show properties Feature layer Show Join Excel Feature set Show dynamic visibility dialog Dynamic visibility Show label setup dialog Label layer Show attributes dialog Feature layer Show export dialog Feature layer This interface provides ability to use in ImageLayer any custom actions (including GUI-dependent dialogs) Show properties dialog Image layer Show export dialog Image data This interface provides ability to use in Layer any custom actions (including GUI-dependent dialogs) Show Dynamic Visibility dialog Dynamic Visibility An EventArgs specifically tailored to ImageLayerEventArgs. Initializes a new instance of the ImageLayerEventArgs class. The IImageLayer that is involved in this event. Gets the ImageLayer associated with this event. CantBeDeletedException Creates a new instance of CantBeDeletedException LegendItem Descriptors are simple classes that are used for storing symbology or other basic characteristics. They are presumed to be made up of value types and other descriptors, and are expected to be serializable. This being said, some basic capabilities are supported for randomizing, copying and comparing the properties of descriptors. Creates a new instance of CopyBase Creates a duplicate of this descriptor using MemberwiseClone A clone of this object as a duplicate PropertyInfo returns overridden members as separate entries. We would rather work with each members only one time. All the properties, including duplicates created by overridden members An Array of PropertyInfo members This occurs during the Copy method and is overridable by sub-classes The duplicate descriptor IDescriptor Matching is defined as being a different object, but having properties that would make it indistinguishable from the comparision property. This is an alternative to overriding the equals behavior in cases where you might ALSO need to see if the object reference is the same. Tests this object against the comparison object. If any of the value type members are different, or if any of the properties are IMatchable and do not match, then this returns false. The other IMatcheable object of the same type The list of property names that do not match Boolean, true if the properties are comparably equal. IRandomizable This method will set the values for this class with random values that are within acceptable parameters for this class. An existing random number generator so that the random seed can be controlled This copies the public descriptor properties from the specified object to this object. An object that has properties that match the public properties on this object. Creates a new instance of MatchableObject For each of the publicly accessible properties found on this object, this attempts to copy a public property from the source object of the same name, if it can find it. For each matching property name/type, it will attempt to copy the value. The Compares the properties of this object with the specified IMatchable other. This does not test every property of other, but does test every property of this item. As long as the other item has corresponding properties for every property on this item, the items are said to match. The IMatchable interface allows custom definitions of matching. For collections to match, all of their sub-members must match. The default behavior is to cycle through all the properties of this object, and call Randomize on any that implement the IRandomizable interface. The Random seed generator for controling how the random content is created This occurs while copying properties from the specified source, and is the default handling for subclasses This gives sub-classes the chance to directly override, control or otherwise tamper with the matching process. This is also where normal matching is performed, so to replace it, simply don't call the base.OnMatch method. To tweak the results, the base method should be performed first, and the results can then be modified. This allows overrideable behavior that can replace or extend the basic behavior, which is to call Randomize on any public properties that are listed as randomizeable. This does nothing to normal properties or non public members and needs to be overriden to provide the special case functionality for sub-classes. The random number generator to be used during randomization The LegendItem interface controls specifically the properties associated with the legend. It is assumed that All layers will support one legend item, but this way ostensibly we can eventually add things to the legend that are not technically layers. Any item which can be contained by a parent item The type class of the potential parent Gets the parent item relative to this item. Sets teh parent legend item for this item Tests the specified legend item to determine whether or not it can be dropped into the current item. Any object that implements ILegendItem Boolean that is true if a drag-drop of the specified item will be allowed. Instructs this legend item to perform custom drawing for any symbols. A Graphics surface to draw on The rectangular coordinates that confine the symbol. Prints the formal legend content without any resize boxes or other notations. The graphics object to print to The system.Drawing.Font to use for the lettering The color of the font Assuming 0, 0 is the top left, this is the maximum extent Gets the size of the symbol to be drawn to the legend This is a list of menu items that should appear for this layer. These are in addition to any that are supported by default. Handlers should be added to this list before it is retrieved. Gets or sets whether or not this legend item should be visible. This will not be altered unless the LegendSymbolMode is set to CheckBox. Gets or sets whether this legend item is expanded. Gets or sets whether this legend item is currently selected (and therefore drawn differently) Gets whatever the child collection is and returns it as an IEnumerable set of legend items in order to make it easier to cycle through those values. Gets or sets a boolean, that if false will prevent this item, or any of its child items from appearing in the legend when the legend is drawn. Gets the symbol mode for this legend item. The text that will appear in the legend Gets or sets a pre-defined behavior in the legend when referring to drag and drop functionality. Creates a new instance of the legend item Configures the default settings of the legend item Returns a boolean indicating whether or not this item can have other items dropped on it. By default this is false. This can be overridden for more customized behaviors. The item to test for dropping. Draws the symbol for this specific category to the legend Prints the formal legend content without any resize boxes or other notations. The graphics object to print to The system.Drawing.Font to use for the lettering The color of the font Assuming 0, 0 is the top left, this is the maximum extent Gets the nearest value. The value. The values. Bytes the range. The value. Handles updating event handlers during a copy process Allows the ItemChanged event to fire in response to individual changes again. This will also fire the event once if there were any changes that warent it that were made while the event was suspended. Each suspend call increments an integer, essentially keeping track of the depth of suspension. When the same number of ResumeChangeEvents methods have been called as SuspendChangeEvents have been called, the suspension is aborted and the legend item is allowed to broadcast its changes. Gets or sets the size of the symbol to be drawn to the legend Gets the Parent Legend item for this category. This should probably be the appropriate layer item. Sets the parent legend item for this category. Allows for the set behavior for the parent item to be overridden in child classes Fires the ItemChanged event Fires the ItemChanged event, optionally specifying a different sender Instructs the parent legend item to remove this item from the list of legend items. Occurs whenever the symbol content has been updated Occurs whenever the item should be removed from the parent collection Boolean, true if changes are suspended Gets or sets a boolean that indicates whether or not this legend item can be dragged to a new position in the legend. Gets or sets a boolean, that if false will prevent this item, or any of its child items from appearing in the legend when the legend is drawn. Because these are in symbol mode, this is not used. Gets the MenuItems that should appear in the context menu of the legend for this category Gets or sets a boolean that indicates whether or not the legend should draw the child LegendItems for this category. Gets or sets whether this legend item has been selected in the legend Gets whatever the child collection is and returns it as an IEnumerable set of legend items in order to make it easier to cycle through those values. This defaults to null and must be overridden in specific cases where child legend items exist. Gets or sets the symbol mode for the legend. By default this should be "Symbol", but this can be overridden Gets or sets the text for this category to appear in the legend. This might be a category name, or a range of values. Gets or sets a pre-defined behavior in the legend when referring to drag and drop functionality. If this is true, then "can receive Creates a new instance of Category Creaates a new instance of this category, and tailors the range to the specifeid values. The start value The end value Creates a category that has the same value for both minimum and maximum The value to use Applies the snapping rule directly to the categories, instead of the breaks. Searches the list and returns the nearest value in the list to the specified value. Since rasters are numeric and not relying on an SQL expression, this allows this only sets the legend text using the method and digits to help with formatting. An EditorSettings from either a feature scheme or color scheme. Tests to see if the specified value falls in the range specified by this ColorCategory The value of type int to test Boolean, true if the value was found in the range Returns this Number as a string. This uses the DotSpatial.Globalization.CulturePreferences and Controls the number type using the NumberFormat enumeration plus the DecimalCount to create a number format. The string created using the specified number format and precision. Returns this Number as a string. Specifies how the numbers are modified so that the numeric text can be cleaned up. An integer clarifying digits for rounding or significant figure situations. A string with the formatted number. Maximum this is a convenient caching tool only, and doesn't control the filter expression at all. Use ApplyMinMax after setting this to update the filter expression. Gets or sets the color to be used for this break. For BiValued breaks, this only sets one of the colors. If this is higher than the high value, both are set to this. If this equals the high value, IsBiValue will be false. Gets the numeric Range for this color break. Gets or sets a status message for this string. This is not used by DotSpatial, but is provided for convenient linking for this object in plugins or other applications. Forces the Changed event to fire. If events are suspended, then this simply will mark the changes so that when the ResumeChanges is called it will automatically fire the Changed events. Resumes the events. If any changes occured during the period of time when the events were suspended, this will automatically fire the chnaged event. Causes this filter collection to suspend the Changed event, so that it will only be fired once after a series of updates. Fires the Changed event as long as ChangesSuspended is not true. Occurs when members are added to or removed from this collection. If SuspendChanges is called, this will temporarilly prevent this event from firing, until ResumeEvents has been called. To suspend events, call SuspendChanges. Then to resume events, call ResumeEvents. If the suspension is greater than 0, then events are suspended. Creates a new instance of ChangedObjectEvent Gets the item that has been changed Misc extensions for class Creates a color with the same hue and saturation but that is slightly brighter than this color. The starting color The floating point value of brightness to add to this color. If the combined result is greater than 1, the result will equal one. A color lighter than this color Creates a color with the same hue and saturation but that is slightly darker than this color. The starting color The floating point value of brightness to add to this color. if the combined result is less than 0, the result will equal 0. A color darker than this color. Calculates the opacity as a function of the Alpha channel. The color to determine the opacity for Given a floating point opacity, where 0 is fully transparent and 1 is fully opaque, this will generate a new color that is the transparent version. Returns an equivalent version of this color that is fully opaque (having an alpha value of 255) The transparent color The new Color uses a linear ramp to extrapolate the midpoint between the specified color and the new color as defined by ARGB values independantly This color The color to blend with this color A color that is midway between this color and the specified color DeadSea Desert Fall Leaves Glacier Highway Meadow Summer Mountains Valley Fires ILabel Occurs when the Symbolizer for this label is changed. Gets or sets the geographic position for the anchoring the label. The relationship between this and the text depends on the horizontal alignment. Gets the integer index for this label Gets the Symbol group that currently contains this label. Gets or sets the text that appears on this layer. Gets or sets the symbolizer for this specific label. This allows customization for individual labels, but at the same time can allow many labels to point to one set of symbolic characteristics. Gets or sets the symbolizer that is being used. Symbol groups are defined by the original symbolizer, and there is only one selection symbolizer per group. This simply is a shortcut to accessing the symbolgroup's selection symbolizer. This interface provides ability to use in RasterLayer any custom actions (including GUI-dependent dialogs) SHow properties dialog Raster layer Show export dialog Raster ITextSymbolGroup Add a new integer into this group. The label to be added to the group. Boolean, false if the integer was already in this group. Removes all the selected indices and returns them to the regular indices. This returns a list of integer indices for the labels that were changed. Selects a single label The integer label to select Unselect a single label in this group. The integer label Gets or sets the text symbolizer for this group of labels Gets or sets the list of regular labels based on their index in the actual list of labels Gets or sets the list of selected labels based on their index in the actual list of labels Gets or sets the set of symbolic characteristics that should be used for drawing selected labels. A generic event argument that also allows sending the strong typed item. The generic item associated with the event. Creates a new instance of hte LegendItemEventArgs The item associated with the event. This is not necessarilly the sender. The item associated with this event. This is not necessarilly the sender. An EventArgs specifically tailored to LabelLayerEventArgs. Initializes a new instance of the LabelLayerEventArgs class. The ILabelLayer that is involved in this event. Gets the LabelLayer associated with this event. Creates a new instance of LayerEventArgs Layer that was moved. Position the layer was moved to. PointFConverter True if the source type is a string Boolean, true if source type is a string Uses a string to return a new Position2D A String Creates a string from the specified Position2D A Position2D An EventArgs specifically tailored to RasterLayer. Initializes a new instance of the RasterLayerEventArgs class. The IRasterLayer that is involved in this event. Gets the RasterLayer associated with this event. The ExpandableSetConverter works by assuming that a pair of Returns true if the source type is string Converts a string into a Size2D Converts the Size2D into a string Create Hillshade of values ranging from 0 to 1, or -1 for no-data regions. This should be a little faster since we are accessing the Data field directly instead of working through a value parameter. The raster to create the hillshade from. An implementation of IShadedRelief describing how the hillshade should be created. An implementation of IProgressHandler for progress messages Create Hillshade of values ranging from 0 to 1, or -1 for no-data regions. This should be a little faster since we are accessing the Data field directly instead of working through a value parameter. The raster to create the hillshade from. An implementation of IShadedRelief describing how the hillshade should be created. An implementation of IProgressHandler for progress messages Creates a bitmap from this raster using the specified rasterSymbolizer The raster to draw to a bitmap The raster symbolizer to use for assigning colors This must be an Format32bbpArgb bitmap that has already been saved to a file so that it exists. The progress handler to use. rasterSymbolizer cannot be null Creates a bitmap from this raster using the specified rasterSymbolizer The raster to draw to a bitmap The raster symbolizer to use for assigning colors Byte values representing the ARGB image bytes The stride The progress meter to use. rasterSymbolizer cannot be null Creates a bitmap using only the colorscheme, even if a hillshade was specified. The Raster containing values that need to be drawn to the bitmap as a color scheme. The raster symbolizer to use. The bitmap to edit. Ensure that this has been created and saved at least once. An IProgressHandler implementation to receive progress updates. rasterSymbolizer cannot be null. Creates a bitmap using only the colorscheme, even if a hillshade was specified. The Raster containing values that need to be drawn to the bitmap as a color scheme. The raster symbolizer to use. The bitmap to edit. Ensure that this has been created and saved at least once. An IProgressHandler implementation to receive progress updates. cannot be null, cannot be null, cannot be null Obtains a list of unique values from the grid. The IRaster to obtain unique values for A list of double values, where no value is repeated. Obtains an set of unique values. If there are more than maxCount values, the process stops and overMaxCount is set to true. the raster to obtain the unique values from. An integer specifying the maximum number of values to add to the list of unique values A boolean that will be true if the process was halted prematurely. A set of doubles representing the independant values. This will sample randomly from the raster, preventing duplicates. If the sampleSize is larger than this raster, this returns all of the values from the raster. If a "Sample" has been prefetched and stored in the Sample array, then this will return that. DrawArgs contains the parameters necessary for 2D drawing Creates a new instance of DrawArgs A System.Windows.Drawing.Graphics object A DotSpatial.Drawing.DrawWindow to draw to Creates a new instance of DrawArgs A System.Windows.Drawing.Graphics object A DotSpatial.Drawing.DrawWindow to draw to An integer part representing a value from 0 to NumParts being drawn Creates a new instance of DrawArgs A System.Windows.Drawing.Graphics object A DotSpatial.Drawing.DrawWindow to draw to An integer part representing a value from 0 to NumParts being drawn The integer stage representing an object that has several stages, for all of the parts to be passed through Gets the Graphics device to draw to Gets the geographic extent for the drawing operation Gets the part index being drawn. Gets the integer stage index. As an example, if all the borders are drawn first, and then all the fillings are drawn, but each stage has several parts, the stage gives a way to subdivide a larger object into several drawing passes. A set of PaintEventArgs that can be used before a drawing function in order to cancel an event. Creates a new instance of the DrawCompleted Event Arguments A Graphics surface An implementation of DotSpatial.Geometries.IEnvelope defining the geographic drawing region True if the draw method was cancelled before any rendering took place. A Cancel is different from when an acception is thrown. If an exception occured during rendering, this will not be null. Creates a default DrawCompleted event for the situation where the drawing was successful, not cancelled and no exception occured The DrawArgs being used during the drawing, specifying the Graphics device and geographic envelope A boolean parameter specifying whether or not the drawing was cancelled Creates a new DrawCompleted in the case where an exception was thrown The drawing arguments for drawing, specifying the Graphics device and the geographic envelope The Exception being thrown Boolean, true if the draw method was cancelled before rendering took place. This will not be true if visible was false or an exception was thrown. An Exception object for situations where the drawing threw an exception. A set of PaintEventArgs that can be used before a drawing function in order to cancel an event. Creates a new instance of the CancelPaint Event Arguments. The device that contains the drawing information for the event to determine whether or not to cancel. The geographic bounds of the draw event The part being drawn. This is usually 0, unless NumParts is greater than 1. The 0-based integer index indicating the stage of the drawing. A boolean specifying the default setting for the draw args. Constructs a new instance with cancel set to false using an Existing DrawArgs Returns a boolean specifying whether the action that caused the default drawing for this event should be prevented. A Draw Window is a special type of envelope that supports some basic transformations Creates a new instance of DrawWindow, making the assumption that the map is in Geographic coordinates of decimal degrees Creates a new draw window with the specified coordinates The first x-value. The second x-value. The first y-value. The second y-value. The first z-value. The second z-value. Constructs a new DrawWindow based on the specified IEnvelope. The envelope becomes the GeographicView for this DrawWindow. Replaces the inherited Envelope copy in order to create a copy of the DrawWindow instead Replaces the inherited clone in order to make a copy of the DrawWindow Converts two dimensions of the specified coordinate into a two dimensional PointF A PointF Converts two dimensions of the specified coordinate into a two dimensional PointF Any valid ICoordinate A PointF Converts two dimensions of the specified coordinate into a two dimensional PointF. Converts a PointF from the draw window back into the double precision data coordinate. Converts an Array of PointF values from the draw window back into the double precision data coordinates. There will be uncertainty based on how zoomed in you are. Calculates a geographic envelope from the specified window in the DrawWindow coordinates. This calculates the DrawWindowView from the GeographicView This is the the current extent of the map in geographic coordinates. Retrieves the MinX value of the GeographicView, in DrawWindow coordinates The main difference here is that tests against the DrawWindow happen before the nested Draw2D methods. The DrawWindow is editable at this stage, but will become read-only during drawing. Creates a new instance of DrawArgs A System.Windows.Drawing.Graphics object A DotSpatial.Drawing.DrawWindow to draw to Gets the Graphics device to draw to Gets or sets the geographic extent for the drawing operation DynamicVisibilityModes The layer will only be visible when zoomed in closer than the DynamicVisibilityWidth. The layer will only be visible when zoomed out beyond the DynamicVisibilityWidth. EditorSettings Creates a new instance of EditorSettings Gets or sets the characteristics of the "right" color. Gets or sets a string that allows the user to use any of the data fields to eliminate values from being considered as part of the histogram for statistical interval calculations. Gets or sets a boolean indicating to display the hue, saturation, lightness as bounds instead of start-color, end-color. Gets or sets the hue shift. Gets or sets the interval method Gets or sets the maximum sample count. Gets or sets the integer count if equal breaks are used Gets or sets whether this editor should ramp the colors, or use randomly generated colors. The default is random. Gets or sets the characteristics of the "left" color. Gets or sets whether to use the color specifications Gets or sets how intervals like equal breaks choose the actual values, and whether they are rounded or snapped. Gets or sets the number of digits to preserve when IntervalSnapMethod is set to Rounding World or pixel coordinates No referencing was specified so the default will be used The coordinates are given relative to the geographic locations, rather than pixel coordinates The coordinates are given in pixels An enumeration showing whetehr this item should use a picture or an image No specification was set, so use the default Specifies to use an icon Specifies to use an image Gives an enumeration for several different line styles Specifies that none of the normal options were chosen so a default should be used. This will draw the specified line so that the curve joins itself at the ends. Draws a cardinal spline through the points of this feature Draws a set of line segments through the points of this feature This is like a boolean, but with a "default" of empty. Empty signifies that the value is not specified. Not specified Specified as true Specified as false Specifies the OGC type of connection that can occur between two segments Flat? Rounded Beveled Specifies the OGC treatment to give the line at the end-points Flat? Round flat but a little outwards Creates a new instance of EnvelopeArgs Gets the envelope specific to this event. Creates a new instance of SelectionEventArgs Gets the list of features that were changed by this event. FeatureChangeEnvelopeArgs Creates a new instance of FeatureChangeEnvelopeArgs Gets the geographic envelope for the most recent selection event. Adds all the features in the specified range. This will throw an exception if the the features are not already in the feature list, since this is simply trying to select those features. The IFilterCollection to add the range to The features being selected. This uses extent checking (rather than full polygon intersection checking). It will add any members that are either contained by or intersect with the specified region depending on the SelectionMode property. The order of operation is the region acting on the feature, so Contains, for instance, would work with points. True if any item was actually added to the collection Removes the entire list of features The IFilterCollection to remove the range from The enumerable collection of IFeatures. Tests each member currently in the selected features based on the SelectionMode. If it passes, it will remove the feature from the selection. The IFilterCollection that this should be applied to The geographic region to remove Boolean, true if the collection was changed An enumeration specifying the way that a gradient of color is attributed to the values in the specified range. The values are colored in even steps in each of the Red, Green and Blue bands. The even steps between values are used as powers of two, greatly increasing the impact of higher values. The log of the values is used, reducing the relative impact of the higher values in the range. GraphicsPathEM Adds a round rectangle to the graphics path where the integer radius specified determines how rounded the rectangle should become. This can be thought of rounded arcs connected by straight lines. Adds the unclosed set of lines that are the top and left of the shape Adds the unclosed set of lines that are the bottom and right of the shape Tests each of the points in the graphics path, and calculates a RectangleF that completely contains all of the points in the graphics path. The grpahics path to test. A RectangleF Group RenderableLegendItem Items with this setup can both be organized as an item, and feature the elemental control methods and properties around drawing. Layers, MapFrames, groups etc can fall in this category. Anything that can draw itself to the map is an IRenderable. This is implemented by RenderBase. Invalidates the drawing methods Occurs whenever the geographic bounds for this renderable object have changed Occurs when an outside request is sent to invalidate this object Occurs immediately after the visible parameter has been adjusted. Obtains an IEnvelope in world coordinates that contains this object Gets whether or not the unmanaged drawing structures have been created for this item If this is false, then the drawing function will not render anything. Warning! This will also prevent any execution of calculations that take place as part of the drawing methods and will also abort the drawing methods of any sub-members to this IRenderable. Creates a new instance of RenderBase Invalidates the drawing methods Fires the EnvelopeChanged event. The object sender for this event (this) The EnvelopeArgs specifying the envelope Fires the Invalidated event The object sender (usually this) An EventArgs parameter Fires the Visible Changed event The object sender (usually this) An EventArgs parameter Occurs whenever the geographic bounds for this renderable object have changed Occurs when an outside request is sent to invalidate this object Occurs immediately after the visible parameter has been adjusted. The protected extent is a direct, sealed accessor for the extent variable. This is safe to use in constructors. Obtains an IEnvelope in world coordinates that contains this object. This is virtual, and will usually be reconfigured in subclasses to simply show the dataset extent. Gets whether or not the unmanaged drawing structures have been created for this item If this is false, then the drawing function will not render anything. Warning! This will also prevent any execution of calculations that take place as part of the drawing methods and will also abort the drawing methods of any sub-members to this IRenderable. Just specifies the organization of interfaces that make up a layer. It is recommended to create derived classes that inherit from an abstract layer that implements the majority of this shared functionality This supports the FeatureLayer event SelectionChanged, for both groups and feature layers, or any other layer that supports both an ISelection and inherits from IFeatureLayer. Removes any members from existing in the selected state Inverts the selected state of any members in the specified region. The geographic region to invert the selected state of members The geographic region when working with absolutes, without a tolerance The selection mode determining how to test for intersection The geographic region encapsulating the changed members Boolean, true if members were changed by the selection process. Adds any members found in the specified region to the selected state as long as SelectionEnabled is set to true. The geographic region where selection occurs The geographic region when working with absolutes, without a tolerance The selection mode The envelope affected area Boolean, true if any members were added to the selection Removes any members found in the specified region from the selection The geographic region to investigate The geographic region when working with absolutes, without a tolerance The selection mode to use for selecting items The geographic region containing all the shapes that were altered Boolean, true if any members were removed from the selection OCcurs after all of the layers have been updated with new selection content. Gets or sets the Boolean indicating whether this item is actively supporting selection Given a geographic extent, this tests the "IsVisible", "UseDynamicVisibility", "DynamicVisibilityMode" and "DynamicVisibilityWidth" In order to determine if this layer is visible. The geographic extent, where the width will be tested. Boolean, true if this layer should be visible for this extent. Notifies the layer that the next time an area that intersects with this region is specified, it must first re-draw content to the image buffer. The envelope where content has become invalidated. Queries this layer and the entire parental tree up to the map frame to determine if this layer is within the selected layers. Occurs before the properties are actually shown, also allowing the event to be handled. Occurs if the maps should zoom to this layer. Occurs if this layer was selected Occurs when all aspects of the layer finish loading. Gets or sets the core dataset for this layer. Gets the currently invalidated region. Gets the MapFrame that contains this layer. Gets or sets the progress handler Creates a new Layer, but this should be done from the derived classes Creates a new Layer, but this should be done from the derived classes The container this layer should be a member of Creates a new layer with only a progress handler Creates a new Layer, but this should be done from the derived classes The container this layer should be a member of A progress handler for handling progress messages Given a geographic extent, this tests the "IsVisible", "UseDynamicVisibility", "DynamicVisibilityMode" and "DynamicVisibilityWidth" In order to determine if this layer is visible for the specified scale. The geographic extent, where the width will be tested. Boolean, true if this layer should be visible for this extent. Tests the specified legend item. If the item is another layer or a group or a map-frame, then this will return false. Furthermore, if the parent of the item is not also this object, then it will also return false. The idea is that layers can have sub-nodes move around, but not transport from place to place. the legend item to test Boolean that if true means that it is ok to insert the specified item into this layer. Queries this layer and the entire parental tree up to the map frame to determine if this layer is within the selected layers. Notifies the layer that the next time an area that intersects with this region is specified, it must first re-draw content to the image buffer. The envelope where content has become invalidated. Notifies parent layer that this item is invalid and should be redrawn. Fires the zoom to layer event. Fires the zoom to layer event, but specifies the extent. IEnvelope env Occurs before showing the properties dialog. If the handled member was set to true, then this class will not show the event args. This should be overridden to copy the symbolizer properties from editCopy The version that went into the property dialog Zooms to the specific layer Removes this layer from its parent list Fires the LayerSelected event Fires the OnFinishedLoading event. Occurs when instructions are being sent for this layer to export data. special treatment for event handlers during a copy event Opens a fileName using the default layer provider and returns a new layer. The layer will not automatically have a container or be added to a map. The string fileName of the layer to open An ILayer interface Opens a fileName using the default layer provider and returns a new layer. The layer will not automatically have a container or be added to a map. The string fileName of the layer to open An IProgresshandler that overrides the Default Layer Manager's progress handler An ILayer interface with the new layer. Opens a new layer and automatically adds it to the specified container. A String fileName to attempt to open. The container (usually a LayerCollection) to add to The layer after it has been created and added to the container Attempts to call the open fileName method for any ILayerProvider plugin that matches the extension on the string. A String fileName to attempt to open. A boolean value that if true will attempt to force a load of the data into memory. This value overrides the property on this LayerManager. A container to open this layer in Specifies the progressHandler to receive progress messages. This value overrides the property on this LayerManager. An ILayer This is overriden in sub-classes This is overriden in sub-classes The geographic envelope in cases like cliking near points where tolerance is allowed The geographic region when working with absolutes, without a tolerance This is overriden in sub-classes The geographic envelope in cases like cliking near points where tolerance is allowed The geographic region when working with absolutes, without a tolerance This is overriden in sub-classes The geographic envelope in cases like cliking near points where tolerance is allowed The geographic region when working with absolutes, without a tolerance Disposes the memory objects in this layer. Locks dispose. This typically adds one instance of an internal reference counter. Unlocks dispose. This typically removes one instance of an internal reference counter. Reprojects the dataset for this layer. The target projection to use. Fires the SelectionChanged event Finalizes an instance of the Layer class. This allows overriding layers to handle any memory cleanup. True if managed resources should be set to null. Occurs if this layer was selected Occurs if the maps should zoom to this layer. Occurs before the properties are actually shown, also allowing the event to be handled. Occurs when all aspects of the layer finish loading. Occurs after the selection is changed Occurs when layer disposed. Gets or sets custom actions for Layer Gets or sets the internal data set. This can be null, as in the cases of groups or map-frames. Copying a layer should not create a duplicate of the dataset, but rather it should point to the original dataset. The ShallowCopy attribute is used so even though the DataSet itself may be cloneable, cloning a layer will treat the dataset like a shallow copy. Dynamic visibility represents layers that only appear when you zoom in close enough. This value represents the geographic width where that happens. This controls whether the layer is visible when zoomed in closer than the dynamic visibility width or only when further away from the dynamic visibility width Gets the currently invalidated region. Gets the map frame of the parent LayerCollection. Gets or sets the ProgressHandler for this layer. Setting this overrides the default behavior which is to use the Gets or sets a boolean indicating whether to allow the dynamic visibility envelope to control visibility. Layers launch a "Property Grid" by default. However, this can be overridden with a different UIEditor by this Gets or sets the progress meter being used internally by layer classes. Gets or sets a boolean indicating whether the memory objects have already been disposed of. Gets or sets the boolean that controls whether or not items from the layer can be selected Gets a value indicating whether an existing reference is requesting that the object is not disposed of. Automatic disposal, as is the case when a layer is removed from the map, will not take place until all the locks on dispose have been removed. Gets a Boolean indicating if this layer can be reprojected. Gets the or sets the projection information for the dataset of this layer. This only defines the projection information and does not reproject the dataset or the layer. Gets or sets the unmodified projection string that can be used regardless of whether the DotSpatial.Projection module is available. This string can be in the Proj4string or in the EsriString format. Setting the Projection string only defines projection information. Call the Reproject() method to actually reproject the dataset and layer. Group Resume events will resume events on the layers if all the suspensions are canceled out. Adds one more increment of suspension which will prevent events from firing for the layers. Gets the layers cast as ILayer without any information about the actual drawing methods. This is useful for handling methods that my come from various types of maps. An enumerable collection of ILayer Returns the number of data layers, not counting groups. If recursive is true, then layers that are within groups will be counted, even though the groups themselves are not. Boolean, if true forces checking even the number of child members. An integer representing the total number of layers in this collection and its children. Returns a snapshot image of this group Width in pixels of the returned image (height is determined by the number of layers in the group) Bitmap of the group and sublayers (expanded) Gets the layer handle of the specified layer 0 based index into list of layers Layer's handle on success, -1 on failure This occurs when a new layer is added either to this group, or one of the child groups within this group. This occurs when a layer is removed from this group. Gets whether or not the events are suspended on the layer collection Gets the integer handle for this group Gets or sets the icon Gets the integer count of layers. This can also be accessed through Layers.Count. Gets or sets the visibility of the layers within this group. Note: When reading this property, it returns true if any layer is visible within this group Gets the parent group of this group. gets or sets the locked property, which prevents the user from changing the visual state except layer by layer Creates a new instance of Group Creates a group that sits in a layer list and uses the specified progress handler the progress handler Creates a group that sits in a layer list and uses the specified progress handler the layer list the progress handler Gets the layer handle of the specified layer 0 based index into list of layers Layer's handle on success, -1 on failure Creates a virtual method when sub-groups are being created Given a new LayerCollection, we need to be sensitive to certain events Occurs when removing a layer. This also fires the LayerRemoved event. Simply echo this event out to members above this group that might be listening to it. When setting an old layer collection it is advisable to not only add new handlers to the new collection, but remove the handlers related to the old collection. Disposes the unmanaged resourced of this group. If disposeManagedResources is true, then this will also dispose the resources of the child layers and groups unless they are dispose locked. Boolean, true to dispose child objects and set managed members to null. This occurs when a new layer is added either to this group, or one of the child groups within this group. This occurs when a layer is removed from this group. gets or sets the list of layers. Boolean, true if any sub-layers in the group are visible. Setting this will force all the layers in this group to become visible. The envelope that contains all of the layers for this data frame. Essentially this would be the extents to use if you want to zoom to the world view. Gets the integer handle for this group Gets or sets the icon Gets the currently invalidated region as a union of all the invalidated regions of individual layers in this group. Returns the count of the layers that are currently stored in this map frame. Gets a boolean that is true if any of the immediate layers or groups contained within this control are visible. Setting this will set the visibility for each of the members of this map frame. This is a different view of the layers cast as legend items. This allows easier cycling in recursive legend code. Gets the parent group of this group. Gets or sets the progress handler to use. Setting this will set the progress handler for each of the layers in this map frame. gets or sets the locked property, which prevents the user from changing the visual state except layer by layer ICategory Applies the minimum and maximum in order to create the filter expression. This will also count the members that match the specified criteria. Applies the snapping rule directly to the categories, instead of the breaks. For quantitative categories, this simply tests to see if the specified value can be found between the minimum and maximum range values. The double value to check against the minimum and maximum values. Boolean, true if the value is inside the range. Returns this Number as a string. Specifies how the numbers are modified so that the numeric text can be cleaned up. An integer clarifying digits for rounding or significant figure situations. A string with the formatted number. Minimum this is a convenient caching tool only, and doesn't control the filter expression at all. Use ApplyMinMax after setting this to update the filter expression. Maximum this is a convenient caching tool only, and doesn't control the filter expression at all. Use ApplyMinMax after setting this to update the filter expression. Gets or sets the value range, which overrides any existing min/max setup. This is only valid for numeric values that can be expressed as doubles. Gets or sets a status message for this string. This is not used by DotSpatial, but is provided for convenient linking for this object in plugins or other applications. IChangeable Resumes the events. If any changes occured during the period of time when the events were suspended, this will automatically fire the chnaged event. Causes this filter collection to suspend the Changed event, so that it will only be fired once after a series of updates. Occurs when members are added to or removed from this collection. If SuspendChanges is called, this will temporarilly prevent this event from firing, until ResumeEvents has been called. To suspend events, call SuspendChanges. Then to resume events, call ResumeEvents. If the suspension is greater than 0, then events are suspended. This interface stores a single extent window describing a view, and also contains the list of all the layers associated with that view. The layers are ordered. This will create a new layer from the featureset and add it. Any valid IFeatureSet that does not yet have drawing characteristics Occurs when some items should no longer render, and the map needs a refresh. Occurs after zooming to a specific location on the map and causes a camera recent. Gets or sets a boolean that controls whether or not a newly added layer will also force a zoom to that layer. If this is true, then nothing will happen. Otherwise, adding layers to this frame or a group in this frame will set the extent. Drawing layers are tracked separately, and do not appear in the legend. Gets or sets the currently active layer. Controls the smoothing mode. Default or None will have faster performance at the cost of quality. This is the geographic envelope in view. A layer or other object capable of containing Draws every label in the layer without worrying about any collision testing or specific tests outside of this label container. If LabelCollisionTesting is set to true, it should still do collision testing for the labels INSIDE this label container. The list of integers corresponds to the integer values that were returned as keys to the GetLabelExtents dictionary. The Layer will then draw each of the specific lables to draw. Gets the list of non-rotated extents for labels visible in the current display. The integer keys represent the index of the labeled item. The envelope values represent the actual rectangles that the labels occupy for collision testing. If LabelCollisionTesting is true, then collisions should be resolved for the entire layer first based on whatever internal priority methods exist. Only the non-colliding visible labels will be returned. Gets the list of possibly rotated label boundaries visible in the current display. The integer keys represent the index of the labeled item. The envelope values represent the actual rectangles that the labels occupy for collision testing. If LabelCollisionTesting is true, then collisions should be resolved for the entire layer first based on whatever internal priority methods exist. Only the non-colliding visible labels will be returned. The integer indexed list of all the labels in this container. If this is set to true, then the only labels being sent to GetLabelExtents should be the labels that actually need to be drawn. A priority rating for all the labels in this layer. The higher this number, the more likely the labels from this layer are to win a collision contest between layers. ILayerCollection2 Constructor ILayerEvents Selects the layer to use for tools or operations that act on a single layer. The integer index indicating the layer to select in this collection. Occurs when a layer is added to this item. Occurs when a layer is moved. Occurs when a layer is removed from this item. Occurs when one of the layers in this collection changes visibility. Zooms to a layer Occurs immediately after the layer is selected. Occurs when the selection on a feature layer changes. Occurs after the selection has been updated for all the layers. Given a base name, this increments a number for appending if the name already exists in the collection. The string base name to start with The base name modified by a number making it unique in the collection Gets or sets the ParentGroup for this layer collection, even if that parent group is not actually a map frame. Gets or sets the MapFrame for this layer collection. Gets or sets the currently active layer. IDataManager This launches an open file dialog and attempts to load the specified file. This launches an open file dialog and attempts to load the specified file. The layer will be created in the specified collection A Layer This launches an open file dialog and attempts to load the specified file. Specifies the progressHandler to receive progress messages. This value overrides the property on this DataManager. A Layer Opens a new layer and automatically adds it to the specified container. A String fileName to attempt to open. The container (usually a LayerCollection) to add to The layer after it has been created and added to the container This launches an open file dialog and attempts to load the specified file. A String fileName to attempt to open. Specifies the progressHandler to receive progress messages. This value overrides the property on this DataManager. A Layer Attempts to call the open fileName method for any IDataProvider plugin that matches the extension on the string. A String fileName to attempt to open. Attempts to call the open fileName method for any IDataProvider plugin that matches the extension on the string. A String fileName to attempt to open. A boolean value that if true will attempt to force a load of the data into memory. This value overrides the property on this DataManager. any valid IContainer that this should be added to Specifies the progressHandler to receive progress messages. This value overrides the property on this DataManager. This opens a file, but populates the dialog filter with only raster formats. An IRaster with the data from the file specified in an open file dialog This opens a file, but populates the dialog filter with only raster formats. An IFeatureSet with the data from the file specified in a dialog This attempts to open the specified raster file and returns an associated layer The string fileName to open An IRaster with the data from the file specified in an open file dialog This attempts to open the specified vector file and returns an associated layer the string fileName to open An IFeatureSet with the data from the file specified in a dialog This create new method implies that this provider has the priority for creating a new file. An instance of the dataset should be created and then returned. By this time, the fileName will already be checked to see if it exists, and deleted if the user wants to overwrite it. The string fileName for the new instance The string short name of the driver for creating the raster The number of columns in the raster The number of rows in the raster The number of bands to create in the raster The data type to use for the raster The options to be used. An IRaster Checks a dialog filter and returns a list of just the extensions. The Dialog Filter to read extensions from A list of extensions Given a string fileName for the "*.dll" file, this will attempt to load any classes that implement the IDataProvder interface. The string path of the assembly to load from. A list that contains only the providers that were just loaded. This may be a list of count 0, but shouldn't return null. This should be called once all the permitted directories have been set in the code. This will not affect the PreferredProviders or the general list of Providers. These automatically have the lowest priority and will only be used if nothing else works. Use the PreferredProviders to force preferential loading of a plugin DataProvider. A list of just the newly added DataProviders from this method. Occurs after the directory providers have been loaded into the project. Gets or sets a temporary list of active project layers. This is designed to house the layers from a map frame when the property grids are shown for layers in that map frame. This list on the DefaultLayerManager is what is used to create the list that populates dropdowns that can take a Layer as a parameter. Gets or sets the list of IDataProviders that should be used in the project. Gets or sets the path (either as a full path or as a path relative to the DotSpatial.dll) to search for plugins that implement the IDataProvider interface. Gets or sets the dialog read filter to use for opening data files. Gets or sets the dialog write filter to use for saving data files. Sets the default condition for how this data manager should try to load layers. This will be overridden if the inRam property is specified as a parameter. Gets or sets the dialog read filter to use for opening data files that are specifically raster formats. Gets or sets the dialog write filter to use for saving raster files. Gets or sets the dialog read filter to use for opening vector files. Gets or sets the dialog write filter to use for saving vector files. Gets or sets a dictionary of IDataProviders keyed by the extension. The standard order is to try to load the data using a PreferredProvider. If that fails, then it will check the list of dataProviders, and finally, if that fails, it will check the plugin Data Providers in directories. Gets or sets a progress handler for any open operations that are intiated by this DataManager. Creates a new instance of the ImageGraphics class for assisting with drawing. The destination rectangle on the bitmap where drawing should occur. The geographic extents where drawing will take place. A strongly-typed resource class, for looking up localized strings, etc. Returns the cached ResourceManager instance used by this class. Overrides the current thread's CurrentUICulture property for all resource lookups using this strongly typed resource class. IImageLayer Gets or sets a class that has some basic parameters that control how the image layer is drawn. Gets or sets the dataset specifically as an IImageData object Gets or sets the image being drawn by this layer IImageSymbolizer Gets or sets a float value from 0 to 1, where 1 is fully opaque while 0 is fully transparent GeoImageLayer Creates a blank image layer that needs to be configured later. Creates a new instance of the ImageLayer by opening the specified fileName Creates a new instance of the ImageLayer by opening the specified fileName, relaying progress to the specified handler, and automatically adds the new layer to the specified container. The fileName to open A ProgressHandler that can receive progress updates The layer list that should contain this image layer Creates a new instance of the image layer by opening the specified fileName and relaying progress to the specified handler. The fileName to open The progressHandler Creates a new instance of GeoImageLayer Creates a new instance of a GeoImageLayer The image to draw as a layer The Layers collection that keeps track of the image layer Handles when this layer should show its properties by firing the event on the shared event sender Handles export data from this layer. Dispose memory objects. True if managed memory objects should be set to null. Gets or sets the underlying data for this object Gets the geographic bounding envelope for the image Gets or sets a class that has some basic parameters that control how the image layer is drawn. Gets or sets the image being drawn by this layer Gets or sets custom actions for ImageLayer Gets or sets a float value from 0 to 1, where 1 is fully opaque while 0 is fully transparent. ITiledImageLayer Gets or sets the TiledImage that supports the tile data for this image. TiledImageLayer Creates a new instance of TiledImageLayer The bounding envelope of the image layer The tiled image dataset IPropertyDialogProvider Shows a PropertyGrid Dialog and uses the specified object as the edit copy. A clone of the actual object to be edited. This should not be the original object. Fires an event signifying that the item has been updated Gets the item that was changed by this operation. IScheme Adds a new scheme, assuming that the new scheme is the correct type. The category to add Applies the snapping rule directly to the categories, based on the most recently collected set of values, and the current VectorEditorSettings. Creates the category using a random fill color The base color to use for creating the category For points this is the maximal point size, for lines this is the maximum line width A new IFeatureCategory that matches the type of this scheme Uses the settings on this scheme to create a random category. A new ICategory Reduces the index value of the specified category by 1 by exchaning it with the category before it. If there is no category before it, then this does nothing. /// The category to decrease the index of Draws the regular symbolizer for the specified cateogry to the specified graphics surface in the specified bounding rectangle. The integer index of the feature to draw. The Graphics object to draw to The rectangular bounds to draw in Re-orders the specified member by attempting to exchange it with the next higher index category. If there is no higher index, this does nothing. The category to increase the index of Inserts the category at the specified index The integer index where the category should be inserted The category to insert Removes the specified category The category to insert Suspends the category events Resumes the category events Clears the categories Gets or sets the editor settings that control how this scheme operates. This is cached until a GetValues call is made, at which time the statistics will be re-calculated from the values. Gets the current list of values calculated in the case of numeric breaks. This includes only members that are not excluded by the exclude expression, and have a valid numeric value. Characterizes Boolean Tests a value against the minimum and maximum values. If the value is greater than or equal to the MinValue and is less than or equal to the MaxValue then it will be included. The IComparable value to test. This is usually a numeric value. True if value is between MinValue and MaxValue The classification must implement IComparable. The normal value types like strings, doubles and integers already do this. If the CompareTo method on value returns 0 when compared to the Classification property of this instance, this method will return true. Otherwise, it returns false. Any valid implementation of IComparable. This can be either the default value types like integer or string, or else it can be a custom implementation of IComparable. Boolean, true if value.CompareTo returns 0 when compared against this classification. The minimum value, inclusive, in a range of values. If the value being tested is less than this value, then these properties should not be applied. Describes the maximum value, inclusive, in a range of values. If the value being tested is greater than this value, then these properties should not be applied. The classification for this symbol. This is the same as specifying the MinValue and MaxValue to be equal and testing the IsInRange property. A smaller interface that just gives the user enough control to draw on a map surface without giving them the ability to change the base control. Causes the view to shift in geographic coordinates by the specified dX and dY. The geographic width and height of the Extents will remain the same, as will the aspect ratio. Double specifying the pixel change in X position Double specifying the pixel change in Y position Expands or shrinks the envelope so that it's new size is the specified percent of the previous size. The aspect ratio will be preserved. The double percentage of the previous size Zoom in to a geographic extents half as large: Zoom(50); Zoom out to a geographic extents twice as large: Zoom(200); Transforms a valid location on the screen (relative to the upper left corner of the map) into world coordinates (like longitude, latitude) The integer pixel location relative to the left of the control The integer pixel location relative to the top of the control The double horizontal or longitude coordinate The double vertical or latitude coordinate Transforms a valid location on the screen (relative to the upper left corner of the map) into world coordinates (like longitude, latitude) A Point showing the PixelPosition A Valid ICoordiante showing the location of the point in geographic coordinates Transforms a valid location on the screen (relative to the upper left corner of the map) into world coordinates (like longitude, latitude) A Rectangle in pixel coordinates to find the geographic equivalent of A Valid IEnvelope that shows the location on the screen Transforms the specified world location (like latitude, longitude) into a valid screen location (measured in pixels from the upper left corner of the map) The double horizontal or longitude coordinate The double vertical or latitude coordinate The integer pixel location relative to the left of the control The integer pixel location relative to the top of the control Transforms the specified world location (like latitude, longitude) into a valid screen location (measured in pixels from the upper left corner of the map) Transforms the specified world envelope (like latitude, longitude) into a valid screen rectangle (measured in pixels from the upper left corner of the map) The envelope in geographic coordinates A Rectangle relative to the upper left corner of the control Gets a graphics surface that is essentially the "white box" area of a map to draw on. By default the GraphicsUnit should be set to world and the PageScale and PageOffset should be set to the appropriate value for world coordinates. Gets the IEnvelope representing the world coordinate extents of the map Occurs when the visible region being displayed on the map changes FastLabelDrawnState Gets or sets the category Gets or sets whether the label is selected Creates a new drawn state with the specified category The category ILabelCategory Returns a shallow copy of this object cast as a LabelCategory. A shallow copy of this object. Calculates the expression for the given row. The Expression.Columns have to be in sync with the Features columns for calculation to work without error. Datarow the expression gets calculated for. Indicates whether the feature is selected. The FID of the feature, the expression gets calculated for. null if there was an error while parsing the expression, else the calculated expression Updates the Expression-Object with the columns that exist inside the features that belong to this category. The will be used for calculating the expression. Columns that should be updated. False if columns were not set. Gets or sets the string expression that controls the integration of field values into the label text. This is the raw text that is used to do calculations and concat fields and strings. Gets or sets the string filter expression that controls which features that this should apply itself to. Gets or sets the string name Gets or sets the text symbolizer to use for this category Gets or sets the text symbolizer to use for this category ILabelLayer Clears the current selection, reverting the geometries back to their normal colors. Expression creates the labels based on the given string expression. Field names in square brackets will be replaced by the values for those fields in the FeatureSet. Invalidates any cached content for this layer. Highlights the values from a specified region. This will not unselect any members, so if you want to select a new region instead of an old one, first use ClearSelection. This is the default selection that only tests the anchor point, not the entire label. An IEnvelope showing a 3D selection box for intersection testing. True if any members were added to the current selection. Gets or sets the featureSet that defines the text for the labels on this layer. Gets or sets an optional layer to link this layer to. If this is specified, then drawing will be associated with this layer. Gets or sets the symbology Gets or sets the selection symbolizer from the first TextSymbol group. Gets or sets the regular symbolizer from the first TextSymbol group. ILabelScheme Adds a category to the scheme, and also names the category with an integer that has not yet been used. A new category with a name that has not yet been used returns a duplicate scheme, where the categories are copied, but the underlying featureset is not duplicated. A copy of this label scheme Attempts to reduce the integer index representing this categories rank in the list. By doing this, it will be drawn sooner, and therefore subsequent layers will be drawn on top of this layer, and so it reduces the categories priority. If this collection does not contain the category or it is already at index 0, this will return false. The ILabelCategory to demote Boolean, true if the demotion was successful This attempts to increase the numeric index, which will cause it to be drawn later, or higher up on the cue, which means it will be drawn AFTER the previous layers, and therefore is a higher priority. If the category does not exist in the collection or the category is already at the highest value, this returns false. The category to promote if possible. Boolean, true if the promotion was successful Gets or sets the list of categories that make up this label scheme ITextSymbolizer Uses the properties defined on this symbolizer to return a font. A new font Gets or sets the orientation of line labels. Gets or sets a boolean indicating whether or not the LineOrientation gets used. Gets or sets the labeling method Gets or sets the labeling method Gets or sets the way features with multiple parts are labeled Gets or sets the the multi-line text alignment in the box. Gets or set the angle that the font should be drawn in Gets or set a boolean indicating whether or not should be used Gets or set the field with angle to draw label Gets or set a boolean indicating whether or not should be used Gets or sets the background color Gets or sets a boolean indicating whether or not a background color should be used Gets or sets the border color Gets or sets a boolean indicating whether or not a border should be drawn around the label. Gets or sets a boolean that will force a shadow to be drawn if this is true. Gets or sets the color of the actual shadow. Use the alpha channel to specify opacity. Gets or sets an X and Y geographic offset that is only used if ScaleMode is set to Geographic Gets or sets an X and Y pixel offset that is used if the ScaleMode is set to Symbolic or Simple. Gets or sets the string font family name gets or sets the font size Gets or sets the font style. Gets or set the color that the font should be drawn in. Gets or sets a boolean that governs whether or not to draw a halo. Gets or sets the color of the halo that surrounds the text. Gets or sets the X offset in pixels from the center of each feature. Gets or sets the Y offset in pixels from the center of each feature. Gets or sets a boolean. If true, as high priority labels are placed, they take up space and will not allow low priority labels that conflict for the space to be placed. Gets or sets the string field name for the field that controls which labels get placed first. If collision detection is on, a higher priority means will get placed first. If it is off, higher priority will be labeled on top of lower priority. Gets or sets a boolean. Normally high values from the field are given a higher priority. If this is true, low values are given priority instead. Gets or sets the position of the label relative to the placement point Gets or sets the scaling behavior for the text Gets or sets format string used to draw float fields. E.g.: #.##, 0.000. If empty - then format not used. Creates a new instance of LabelCategory Returns the Copy() method cast as an object. Returns a shallow copy of this category with the exception of the TextSymbolizer, which is duplicated. This uses memberwise clone, so sublcasses using this method will return an appropriate version. A shallow copy of this object. Updates the Expression-Object with the columns that exist inside the features that belong to this category. They are used for calculating the expression. Columns that should be updated. False if columns were not set. Calculates the expression for the given row. The Expression.Columns have to be in sync with the Features columns for calculation to work without error. Datarow the expression gets calculated for. Indicates whether the feature is selected. The FID of the feature, the expression gets calculated for. null if there was an error while parsing the expression, else the calculated expression Gets or sets the string filter expression that controls which features that this should apply itself to. Gets or sets the string expression that controls the integration of field values into the label text. This is the raw text that is used to do calculations and concat fields and strings. Gets or sets the string name Gets or sets the text symbolizer to use for this category Gets or sets the text symbolizer to use for this category LabelDrawState A LabelCategory interface representing the drawing information for this label. A boolean indicating whether or not this is selected. A boolean indicating whether the associated feature should be drawn. Creates a new instance of the LabelDrawState class where selected is false but visible is true. The category Creates a new instance of the LabelDrawState based on the specified parameters. The category Boolean, true if the label is selected Boolean, true if the label should be visible LabelLayer Creates a new instance of LabelLayer Creates a new layer that uses the attributes from the given featureSet Creates a new label layer based on the features in the Clears the current selection, reverting the geometries back to their normal colors. This builds the _drawnStates based on the current label scheme. Highlights the values from a specified region. This will not unselect any members, so if you want to select a new region instead of an old one, first use ClearSelection. This is the default selection that only tests the anchor point, not the entire label. An IEnvelope showing a 3D selection box for intersection testing. True if any members were added to the current selection. This builds the _drawnStates based on the current label scheme. Removes the features in the given region the geographic region to remove the feature from the selection on this layer Boolean true if any features were removed from the selection. Fires the selection cleared event Fires the selection extended event Occurs after the selection has been cleared Occurs after the selection is updated by the addition of new members Gets or sets the dictionary that quickly identifies the category for each label. Gets or sets the indexed collection of drawn states Gets or sets a valid IList of ILabels. This can just be a List of labels, but allows for custom list development later. Gets or sets the featureSet that defines the text for the labels on this layer. Gets or sets an optional layer to link this layer to. If this is specified, then drawing will be associated with this layer. This also updates the FeatureSet property. Gets or sets the labeling scheme as a collection of categories. Gets or sets the selection symbolizer from the first TextSymbol group. Gets or sets the regular symbolizer from the first TextSymbol group. Methods used in calculating the placement of a label. Use the centroid of the feature. Use the center of the extents of the feature. Use the closest point to the centroid that is in the feature. Orientation of the line label is parallel to the line at the PlacementPosition. Orientation of the line label is perpendicular to the line at the PlacementPosition. Methods used to calculate the placement of line labels. Uses the longest segment of the LineString. Uses the first segment of the LineString. Uses the middle segment of the LineString. Uses the last segment of the LineString. Determines if all parts should be labeled or just the largest. Label all parts. Only label the largest part. LabelScheme Creates a new instance of LabelScheme Adds a category to the scheme, and also names the category with an integer that has not yet been used. A new category with a name that has not yet been used Returns the Copy, but as an object. Attempts to reduce the integer index representing this categories rank in the list. By doing this, it will be drawn sooner, and therefore subsequent layers will be drawn on top of this layer, and so it reduces the categories priority. If this collection does not contain the category or it is already at index 0, this will return false. The ILabelCategory to demote Boolean, true if the demotion was successful This attempts to increase the numeric index, which will cause it to be drawn later, or higher up on the cue, which means it will be drawn AFTER the previous layers, and therefore is a higher priority. If the category does not exist in the collection or the category is already at the highest value, this returns false. The category to promote if possible. Boolean, true if the promotion was successful The individual categories are copied, meaning that the text symbolizers will be new, and disconnected from the original text symbolizers of this scheme. MemberwiseClone is used so that any subclass members appended to this will be shallow copies unless this method is overridden. A Duplicate LabelScheme, but with new, duplicated categories and symbolizers Gets or sets the Categories Creates a new instance of TextSymbolizer Uses the properties defined on this symbolizer to return a font. A new font Gets or sets the background color Gets or sets the border color Gets or set the color that the font should be drawn in. Gets or sets the multi-line text alignment in the box. I.e., Control the positioning of the text within the rectangular bounds. Gets or set the angle that the font should be drawn in Gets or set a boolean indicating whether or not should be used Gets or set the field with angle to draw label Gets or set a boolean indicating whether or not should be used Gets or sets the background color Gets or sets a boolean indicating whether or not a background color should be used Gets or sets the border color Gets or sets a boolean indicating whether or not a border should be drawn around the label. Gets or sets a boolean that will force a shadow to be drawn if this is true. Gets or sets the color of the actual shadow. Use the alpha channel to specify opacity. Gets or sets an X and Y geographic offset that is only used if ScaleMode is set to Geographic Gets or sets an X and Y pixel offset that is used if the ScaleMode is set to Symbolic or Simple. Gets or sets format string used to draw float fields. E.g.: #.##, 0.000. If empty - then format not used. Gets or sets the string font family name Gets or sets the font size Gets or sets the font style. Gets or sets the orientation relative to the placement point. I.e., Controls the position of the label relative to the feature. Gets or set the color that the font should be drawn in. Gets or sets a boolean that governs whether or not to draw a halo. Gets or sets the color of the halo that surrounds the text. Gets or sets the labeling method Gets or sets the labeling method for line labels. Gets or sets the orientation of line labels. Gets or sets the way features with multiple parts are labeled Gets or sets the X offset in pixels from the center of each feature. Gets or sets the Y offset in pixels from the center of each feature. Gets or sets a boolean. If true, as high priority labels are placed, they take up space and will not allow low priority labels that conflict for the space to be placed. Gets or sets the string field name for the field that controls which labels get placed first. If collision detection is on, a higher priority means will get placed first. If it is off, higher priority will be labeled on top of lower priority. Gets or sets a boolean. Normally high values from the field are given a higher priority. If this is true, low values are given priority instead. Gets or sets the scaling behavior for the text Gets or sets a boolean indicating whether or not the LineOrientation gets used. This extends the ChangeEventList by providing methods that allow access by an object Key, and will pass This extends the ChangeEventList by providing methods that allow access by an object Key, and will pass This selects the layer with the specified integer index THe zero based integer index Standard Dispose implementation since layers are now disposable. Adds one request to prevent disposal of this object and its children. Removes one request to prevent disposal of this object and its children. Extends the event listeners to include events like ZoomToLayer and VisibleChanged Occurs when the selection is changed Ensures that we re-draw the content when inserting new layers Removes the extended event listeners once a layer is removed from this list. Fires the LayerMoved event. The layer that was moved. LayerEventArgs Fires the LayerRemoved event. Handles the default selection behavior and fires the LayerSelected event. The integer index of the layer being selected Fires the LayerSelected event and adjusts the selected state of the layer. The layer to select Boolean, true if the specified layer is selected Fires the ItemChanged event and the MembersChanged event and resets any cached lists Fires the ZoomToLayer method when one of the layers fires its ZoomTo event The layer to zoom to The extent of the layer Fires the LayerAdded event The layer that was added LayerEventArgs Fires the selection changed event the object sender of the event The FeatureLayerSelectionEventArgs of the layer Finalizes an instance of the LayerEventList class. Overrides the dispose behavior. If disposeManagedMemory objects is true, then managed objects should be set to null, effectively removing reference counts. If it is false, then only unmanaged memory objects should be removed. Boolean, true if managed memory objects should be set to null, and if the Dispose method should be called on contained objects. Occurs if the maps should zoom to this layer. Occurs when one of the layers in this collection changes visibility. Occurs when a layer is added to this item. Occurs when a layer is moved. Occurs when a layer is removed from this item. Occurs immediately after a layer is selected. Occurs when the selection on a feature layer changes. Occurs after the selection has changed, and all the layers have had their selection information updated. Gets the currently selected layer in this collection. The envelope that contains all of the layers for this data frame. Essentially this would be the extents to use if you want to zoom to the world view. Gets a value indicating whether dispose has already been called on this object. Gets a value indicating whether there are requests to prevent disposal of this object. Creates a new blank instance of a MapLayer collection. This is especially useful for tracking layers that can draw themselves. This does not concern itself with view extents like a dataframe, but rather is a grouping of layers that is itself also an IMapLayer. Creates a new layer collection where the parent group is different from the map frame. Creates a LayerCollection that is not confined in a MapFrame Occurs when wiring events Occurs when unwiring events Occurs when layer was moved. Layer that was moved. Position the layer was moved to. Given a base name, this increments a number for appending if the name already exists in the collection. The string base name to start with The base name modified by a number making it unique in the collection Gets the index of the specified item in this collection if it is a layer Inserts the specified item into this collection if it is a layer Adds a range of values Gets the current count. Gets the map frame of this layer collection Gets or sets the ParentGroup for this layer collection, even if that parent group is not actually a map frame. LayerEnumerator Creates a new instance of LayerEnumerator Calls the Dispose method Moves to the next member boolean, true if the enumerator was able to advance Resets to before the first member Retrieves the current member as an ILegendItem Returns the current member as an object Creates a new instance of LayerEventArgs Gets a layer This is a class that organizes a list of renderable layers into a single "view" which might be shared by multiple displays. For instance, if you have a map control and a print preview control, you could draw the same data frame property on both, just by passing the graphics object for each. Be sure to handle any scaling or translation that you require through the Transform property of the graphics object as it will ultimately be that scale which is used to back-calculate the appropriate pixel sizes for point-size, line-width and other non-georeferenced characteristics. The Constructor for the MapFrame object Draws the layers icon to the legend Suspends firing the ExtentsChanges event. It only fires if all suspension is gone. Resumes firing the method, and will fire it automatically if any changes have occurred. This will create a new layer from the featureset and add it. Any valid IFeatureSet that does not yet have drawing characteristics This adjusts the extents when ZoomToLayer is called in one of the internal layers. Zooms to the envelope if no envelope has been established for this frame. Fires the ExtentsChanged event Fires the ExtentsChanged event This is responsible for wiring the ZoomToLayer event from any layers in the map frame whenever the layer collection is changed. This is responsible for unwiring the ZoomToLayer event. Occurs when the visible region being displayed on the map should update Occurs after zooming to a specific location on the map and causes a camera recent. Drawing layers are tracked separately, and do not appear in the legend. Overrides the default behavior for groups, which should return null in the event that they have no layers, with a more tolerant, getting started behavior where geographic coordinates are assumed. Gets the container control that this MapFrame belongs to. If this is false, then the drawing function will not render anything. Warning! This will also prevent any execution of calculations that take place as part of the drawing methods and will also abort the drawing methods of any sub-members to this IRenderable. Gets the currently selected layer. This will be an active layer that is used for operations. Controls the smoothing mode. Default or None will have faster performance at the cost of quality. This should be the geographic extents visible in the map. This can be used as a component to work as a LayerManager. This also provides the very important DefaultLayerManager property, which is where the developer controls what LayerManager should be used for their project. Creates a new instance of the LayerManager class. A data manager is more or less just a list of data providers to use. The very important LayerManager.DefaultLayerManager property controls which LayerManager will be used to load data. By default, each LayerManager sets itself as the default in its constructor. Checks a dialog filter and returns a list of just the extensions. The Dialog Filter to read extensions from A list of extensions This opens a file, but populates the dialog filter with only raster formats. An IRaster with the data from the file specified in an open file dialog This opens a file, but populates the dialog filter with only raster formats. An IFeatureSet with the data from the file specified in a dialog This attempts to open the specified raster file and returns an associated layer The string fileName to open An IRaster with the data from the file specified in an open file dialog This attempts to open the specified vector file and returns an associated layer the string fileName to open An IFeatureSet with the data from the file specified in a dialog Opens a new layer and automatically adds it to the specified container. The container (usually a LayerCollection) to add to The layer after it has been created and added to the container This launches an open file dialog and attempts to load the specified file. Specifies the progressHandler to receive progress messages. This value overrides the property on this DataManager. A Layer This launches an open file dialog and attempts to load the specified file. A Layer created from the file Attempts to call the open fileName method for any ILayerProvider plugin that matches the extension on the string. A String fileName to attempt to open. Opens a new layer and automatically adds it to the specified container. A String fileName to attempt to open. The container (usually a LayerCollection) to add to The layer after it has been created and added to the container This launches an open file dialog and attempts to load the specified file. A String fileName to attempt to open. Specifies the progressHandler to receive progress messages. This value overrides the property on this DataManager. A Layer Attempts to call the open fileName method for any ILayerProvider plugin that matches the extension on the string. A String fileName to attempt to open. A boolean value that if true will attempt to force a load of the data into memory. This value overrides the property on this LayerManager. A container to open this layer in Specifies the progressHandler to receive progress messages. This value overrides the property on this LayerManager. An ILayer This create new method implies that this provider has the priority for creating a new file. An instance of the dataset should be created and then returned. By this time, the fileName will already be checked to see if it exists, and deleted if the user wants to overwrite it. The string fileName for the new instance. The string short name of the driver for creating the raster. The number of columns in the raster. The number of rows in the raster. The number of bands to create in the raster. The data type to use for the raster. The options to be used. A new IRasterLayer. This opens a file, but populates the dialog filter with only raster formats. for now an ILayerSet Triggers the DirectoryProvidersLoaded event This should be called once all the permitted directories have been set in the code. This will not affect the PreferredProviders or the general list of Providers. These automatically have the lowest priority and will only be used if nothing else works. Use the PreferredProviders to force preferential loading of a plugin LayerProvider. A list of just the newly added LayerProviders from this method. Given a string fileName for the "*.dll" file, this will attempt to load any classes that implement the ILayerProvder interface. The string path of the assembly to load from. A list that contains only the providers that were just loaded. This may be a list of count 0, but shouldn't return null. Gets or sets the implemenation of ILayerManager for the project to use when accessing data. This is THE place where the LayerManager can be replaced by a different data manager. If you add this data manager to your project, this will automatically set itself as the DefaultLayerManager. However, since each DM will do this, you may have to control this manually if you add more than one LayerManager to the project in order to set the one that will be chosen. Gets or sets a temporary list of active project layers. This is designed to house the layers from a map frame when the property grids are shown for layers in that map frame. This list on the DefaultLayerManager is what is used to create the list that populates dropdowns that can take a Layer as a parameter. Gets or sets the dialog read filter to use for opening data files. Gets or sets the dialog write filter to use for saving data files. Gets or sets the list of ILayerProviders that should be used in the project. Gets or sets the path (either as a full path or as a path relative to the DotSpatial.dll) to search for plugins that implement the ILayerProvider interface. Gets or sets the dialog read filter to use for opening data files. Gets or sets the dialog write filter to use for saving data files. Gets or sets the dialog read filter to use for opening data files that are specifically raster formats. Gets or sets the dialog write filter to use for saving data files. Gets or sets the dialog read filter to use for opening data files. Gets or sets the dialog write filter to use for saving data files. Sets the default condition for how this data manager should try to load layers. This will be overridden if the inRam property is specified as a parameter. Gets or sets a dictionary of ILayerProviders with corresponding extensions. The standard order is to try to load the data using a PreferredProvider. If that fails, then it will check the list of dataProviders, and finally, if that fails, it will check the plugin Layer Providers in directories. Gets or sets a progress handler for any open operations that are intiated by this LayerManager and don't override this value with an IProgressHandler specified in the parameters. Occurs after the directory providers have been loaded into the project. DataProviders Creates a new instance of DataProviders Specifies a list of IDataProviders Gets the list of providers for this event. Creates a new instance of LayerEventArgs Gets a boolean that indicates whether or not the layer is selected LegendIcon Creates a new instance of LegendIcon Gets the legend symbol size (as an icon size) Draws the icon to the legend The icon to draw for this legend item Contains extension methods for ILegendItems This method starts with this legend item and tests to see if it can contain the specified target. As it moves up the This legend item The target legend item to test An ILegendItem that is one of the parent items of this item, but that can receive the target. Given the starting position, which might not be able to contain the drop item, determine the index in the valid container where this item should end up. The legend item that may not be a sibling or be able to contain the drop item The item being added to the legend The integer index of the valid container where insertion should occur when dropping onto this item. Searches through the LegendItems recursively, looking for the 0 index member of the deepest part of the tree. This method starts with this legend item and searches through the parent groups until it finds a valid mapframe. The ILegendItem to start from The IMapFrame that contains this item. LegendType Schemes can contain symbols and be contained by layers The ability to contain another layer type is controlled by CanReceiveItem instead of being specified by these pre-defined criteria. Groups can be contained by groups, and contain groups or layers, but not categories or symbols Layers can contain symbols or categories, but not other layers or groups Symbols can't contain anything, but can be contained by layers and categories MatchableEM This tests the public properties from the two objects. If any properties implement the IMatchable interface, and do not match, this returns false. If any public properties are value types, and they are not equal, then this returns false. This matchable item The other item to compare to this item Boolean, true if there is a match This class simply stores enough information for the appropriate menu item to be generated. It is not the Windows Forms MenuItem. Creates a new instance of the menu item The name or text to appear for this item The icon to draw for this menu item The click event handler Creates a new instance of the menu item The name or text to appear for this item The icon to draw for this menu item The click event handler Creates a new instance of the menu item The name or text to appear for this item The click event handler Creates a new instance of the menu item The name or text to appear for this item Gets or sets the name for this menu item Gets or sets the icon for this menu item Gets or sets the image for this menu item Gets or sets the set of sub-menu items. The handler for the click event. Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. Sucht eine lokalisierte Zeichenfolge, die Data ähnelt. Sucht eine lokalisierte Zeichenfolge, die Creating Shaded Relief ähnelt. Sucht eine lokalisierte Zeichenfolge, die Painting color scheme to bitmap. ähnelt. Sucht eine lokalisierte Zeichenfolge, die Painting Hillshade To Bitmap ähnelt. Sucht eine lokalisierte Zeichenfolge, die Export Data ähnelt. Sucht eine lokalisierte Zeichenfolge, die The closing bracket wasn't found. ähnelt. Sucht eine lokalisierte Zeichenfolge, die The expression is empty. ähnelt. Sucht eine lokalisierte Zeichenfolge, die The expression contains empty fields. ähnelt. Sucht eine lokalisierte Zeichenfolge, die The following field wasn't found: ähnelt. Sucht eine lokalisierte Zeichenfolge, die No left operand was found. ähnelt. Sucht eine lokalisierte Zeichenfolge, die The value is not a number: ähnelt. Sucht eine lokalisierte Zeichenfolge, die Expected operand. Found character {0} at position {1}. ähnelt. Sucht eine lokalisierte Zeichenfolge, die Failed to find operation. ähnelt. Sucht eine lokalisierte Zeichenfolge, die Operation not supported. ähnelt. Sucht eine lokalisierte Zeichenfolge, die Expected operator. Found character {0} at position {1}. ähnelt. Sucht eine lokalisierte Zeichenfolge, die There is an operator in place of a value. ähnelt. Sucht eine lokalisierte Zeichenfolge, die + operation isn't allowed for boolean values. ähnelt. Sucht eine lokalisierte Zeichenfolge, die No right operand was found. ähnelt. Sucht eine lokalisierte Zeichenfolge, die The expression contains unpaired square brackets. ähnelt. Sucht eine lokalisierte Zeichenfolge, die The expression contains unpaired text quotes. ähnelt. Sucht eine lokalisierte Zeichenfolge, die Division by zero. ähnelt. Sucht eine lokalisierte Zeichenfolge, die Create Layer from Selected Features ähnelt. Sucht eine lokalisierte Zeichenfolge, die Join Excel file 'Data' Label ähnelt. Sucht eine lokalisierte Zeichenfolge, die Label Setup ähnelt. Sucht eine lokalisierte Zeichenfolge, die Labeling ähnelt. Sucht eine lokalisierte Zeichenfolge, die Select All ähnelt. Sucht eine lokalisierte Zeichenfolge, die Selection ähnelt. Sucht eine lokalisierte Zeichenfolge, die Unselect All ähnelt. Sucht eine lokalisierte Zeichenfolge, die Zoom to Selected Features ähnelt. Sucht eine lokalisierte Zeichenfolge, die The file %S can't be deleted, probably because it is currently in use by another application. ähnelt. Sucht eine lokalisierte Zeichenfolge, die Properties ähnelt. Sucht eine lokalisierte Zeichenfolge, die Create Group ähnelt. Sucht eine lokalisierte Zeichenfolge, die Map Layers ähnelt. Sucht eine lokalisierte Zeichenfolge, die Remove Map Frame ähnelt. Sucht eine lokalisierte Zeichenfolge, die Zoom to Map Frame ähnelt. Sucht eine lokalisierte Zeichenfolge, die The specified file type is not supported. ähnelt. Sucht eine lokalisierte Zeichenfolge, die An incompatible feature type was supplied and was not of type Line. ähnelt. Sucht eine lokalisierte Zeichenfolge, die The argument %S cannot be null. ähnelt. Sucht eine lokalisierte Zeichenfolge, die An incompatible feature type was supplied and was not of type Point. ähnelt. Sucht eine lokalisierte Zeichenfolge, die An incompatible feature type was supplied and was not of type polygon. ähnelt. Sucht eine lokalisierte Zeichenfolge, die Properties ähnelt. Sucht eine lokalisierte Zeichenfolge, die Remove Layer ähnelt. Sucht eine lokalisierte Zeichenfolge, die Set Dynamic Visibility Scale ähnelt. Sucht eine lokalisierte Zeichenfolge, die Zoom to Layer ähnelt. Calculates a new rectangle by using the input points to define the far corners. The position of the points doesn't matter. One of the points to form a rectangle with. The second point to use when drawing a rectangle. A Rectangle created from the points. ILayerProvider This open method is only called if this plugin has been given priority for one of the file extensions supported in the DialogReadFilter property supplied by this control. Failing to provide a DialogReadFilter will result in this plugin being added to the list of DataProviders being supplied under the Add Other Data option in the file menu. A string specifying the complete path and extension of the file to open. A boolean that, if ture, will request that the data be loaded into memory Any valid IContainer that should have the new layer automatically added to it An IProgressHandler interface for status messages A List of IDataSets to be added to the Map. These can also be groups of datasets. Gets a dialog read filter that lists each of the file type descriptions and file extensions, delimeted by the | symbol. Each will appear in DotSpatial's open file dialog filter, preceeded by the name provided on this object. Gets a dialog filter that lists each of the file type descriptions and extensions for a Save File Dialog. Each will appear in DotSpatial's open file dialog filter, preceeded by the name provided on this object. Gets a prefereably short name that identifies this data provider. Example might be GDAL. This will be prepended to each of the DialogReadFilter members from this plugin. This provides a basic description of what your provider does. A DataProvider that is specific to raster formats. This create new method implies that this provider has the priority for creating a new file. An instance of the dataset should be created and then returned. By this time, the fileName will already be checked to see if it exists, and deleted if the user wants to overwrite it. The string fileName for the new instance. The string short name of the driver for creating the raster. The number of columns in the raster. The number of rows in the raster. The number of bands to create in the raster. The data type to use for the raster. The options to be used. A new IRaster. IFeatureProvider This create new method implies that this provider has the priority for creating a new file. An instance of the dataset should be created and then returned. By this time, the fileName will already be checked to see if it exists, and deleted if the user wants to overwrite it. The string fileName for the new instance Point, Line, Polygon etc. Sometimes this will be specified, sometimes it will be "Unspecified" Boolean, true if the dataset should attempt to store data entirely in ram The container for this layer. This can be null. An IProgressHandler for status messages. An IRaster Position2D is much simpler than a typical geometric construct, using fields instead of properties to make it work faster. The position in the X, or horizontal direction The position in the Y or vertical direction Creates a new instance of Position2D Creates a new position2D class using the specified coordinates The X or horizontal coordinate The Y or vertical coordinate Randomizes the position by selecting a random position from -1000 to 1000 for X and Y The random number generator so that a seed can be chosen. Creates a valid 2D coordinate using this position2D class This is a custom (predefined) symbolizer which is displayed in the 'Predefined symbol' control. Interface for a predefined symbolizer which can be stored in a xml symbolizer file. Jiri's code to save to XML The xml data source to load the symbology from Jiri's code to load from XML The xml Data source to load the symbology from A Unique name for the symbology item Jiri's code to load from XML The xml Data source to load the symbology from The organizational group or category The string name within the specified group or category Gets or sets the symbolizer for this predifined symbolizer Gets or sets the string name for this predefined symbolizer Gets or sets the string group for this predefined symbolizer Gets or sets the unique name for this predefined symbolizer. Gets the symbolizer type of this predefined symbolizer Constructs a new instance of a custom symbolizer Creates a new instance of CustomSymbolizer Jiri's code to save to XML The xml data source to load the symbology from Jiri's code to load from XML The xml Data source to load the symbology from A Unique name for the symbology item Jiri's code to load from XML The xml Data source to load the symbology from The organizational group or category The string name within the specified group or category Gets or sets the symbolizer for this predifined symbolizer Gets or sets the string name for this predefined symbolizer Gets or sets the string group for this predefined symbolizer Gets or sets the unique name for this predefined symbolizer. The type of the symbolizer (point, line, polygon) Creates a new CustomSymbolizer for symbolizing lines Creates a new Custom Line symbolizer with the specified properties the unique name the name of the custom symbolizer the map category of the custom symbolizer the associated line symbolizer Gets or sets the line symbolizer //Editor(typeof(LineSymbolizerEditor), typeof(UITypeEditor)) This class provides a list of predefined symbolizers. In the current implementation the symbolizers are 'hard-coded'. In other implementations they will be loaded from a xml resource file. The interface IPredefinedLineSymbolProvider defines methods to save and load predefined line symbolizers from a xml file or from another source. Loads a list of custom line symbolizers from a data file The file name The list of custom line symbolizers Saves a list of custom line symbolizers to a data file Creates a new instance of PredefinedLineSymbolProvider Gets a string array of all available categories (groups) of custom predefined symbols Returns all available predefined custom line symbols A list of vailable custom line symbols Gets a list of all predefined custom symbols that belong to the specific category The name of the category group The list of custom symbols Loads a list of custom line symbolizers from a binary serialized file The serialized binary file The list of custom line symbolizers Saves Creates a new CustomSymbolizer for symbolizing Points Creates a new Custom Point symbolizer with the specified properties the unique name the name of the custom symbolizer the map category of the custom symbolizer the associated Point symbolizer Gets or sets the Point symbolizer [Editor(typeof(PointSymbolizerEditor), typeof(UITypeEditor))] Creates a new CustomSymbolizer for symbolizing Polygons Creates a new Custom Polygon symbolizer with the specified properties the unique name the name of the custom symbolizer the map category of the custom symbolizer the associated Polygon symbolizer Gets or sets the Polygon symbolizer [Editor(typeof(PolygonSymbolizerEditor), typeof(UITypeEditor))] Extension methods for a collection of custom symbolizers Saves a list of custom line symbolizers to a file. The list of custom line symbolizers the file name This class returns a list of predefined symbolizers. In the current implementation the symbolizers are 'hard-coded'. In other implementations they will be loaded from a xml resource file. Creates a new instance of PredefinedLineSymbolProvider Gets a string array of all available categories (groups) of custom predefined symbols The available feature symbolizer types The type is PointSymbolizer The type is LineSymbolizer The type is PolygonSymbolizer The type is RasterSymbolizer The type of the symbolizer is unknown Gets the first member in the enumerable collection of property info with the specified name. Determines whether there is a member with the specified name Extensions for class Generates a boolean at random from this generator. THe random class that generates the random content. A boolean that has equal probability of being on or off. Extends the Random class to also allow it to generate random colors This random number generator Generates a floating point value from 0 to 1 The random class to extend A new randomly created floating point value from 0 to 1 Generates a random floating point value from 0 to the specified extremeValue, which can be either positive or negative. This random class The floating point maximum for the number being calculated A value ranging from 0 to ma Calculates a random floating point value that ranges between (inclusive) the specified minimum and maximum values. The random class to generate the random value The floating point maximum The floating point minimum A floating point value that is greater than or equal to the minimum and less than or equal to the maximum Given any enumeration of type T, this will return a random instance of that enumeration The type of the enumeration This random generator The T type to generate Generates an array of boolean values that ranges from minLength to maxLength The Random class for generating random values THe minimum length of the array The maximum length of the array An array of boolean values. Numeric range using doubles Boolean, true if the upper bounds includes the maximum value. The maximum value. If this is null, the upper range is unbounded. Boolean, true if the the lower bounds includes the minimum value. The minimum value. If this is null, the lower range is unbounded. Creates a new instance of Range (with undefined interval) Creates a new instance of Range Either bound of the range The other bound of the range Creates an equality type range where both the minimum and maximum are the same value and both are inclusive. A string expression that can be two separate numbers separated by a dash, Expresses this range in string form. By default, ranges include the maximum, and exclude the minimum. A null value for one expression will result in a a semi-unbounded range using the greater than or less than symbols. A null expression for both values is completely unbounded and will result in a string that reads like [All Values]. A string representing the range. This is a slightly more complex specification where the numeric formatting controls how the generated string will appear. The interval snap method This is only used for rounding or significant figures, but controls those options A string equivalent of this range, but using a number format. Generates a valid SQL query expression for this range, using the field string as the member being compared. The field string should already be bound in brackets, or put together as a normal composit like "[males]/[pop1990]" The field name to build into an expression. This should already be wrapped in square brackets. The string SQL query expression. Tests to determine if this range contains the specified double value. the double value to test Boolean, true if the value is within the current bounds. If the minimum and maximum are out of order, this reverses them. Gets or sets teh Minimum value. If this is null, the lower range is unbounded. The maximum value. If this is null, the upper range is unbounded. Boolean, true if the the lower bounds includes the minimum value. Boolean, true if the upper bounds includes the maximum value. BinaryLayerProvider Creates a new BinaryRasterLayer IRasterLayer Opens an existing raster and returns a layer containing it The string fileName to open Opens in ram A container to automatically add this layer to Returns progress An ILayer Gets a dialog read filter that lists each of the file type descriptions and file extensions, delimeted by the | symbol. Each will appear in DotSpatial's open file dialog filter, preceeded by the name provided on this object. Gets a dialog filter that lists each of the file type descriptions and extensions for a Save File Dialog. Each will appear in DotSpatial's open file dialog filter, preceeded by the name provided on this object. Gets a prefereably short name that identifies this data provider. Example might be GDAL. This will be prepended to each of the DialogReadFilter members from this plugin. This is a basic description that will fall next to your plugin in the Add Other Data dialog. This will only be shown if your plugin does not supply a DialogReadFilter. ColorCategory IColorCategory This is primarilly used in the BiValue situation where a color needs to be generated somewhere between the startvalue and the endvalue. The integer value to be converted into a color from the range on this colorbreak A color that is selected from the range values. Gets or sets how the color changes are distributed across the BiValued range. If IsBiValue is false, this does nothing. Gets or sets the second of two colors to be used. This is only used for BiValued breaks. This not only indicates that there are two values, but that the values are also different from one another. Gets or sets the color to be used for this break. For BiValued breaks, this only sets one of the colors. If this is higher than the high value, both are set to this. If this equals the high value, IsBiValue will be false. Creates a new instance of ColorCategory Creates a ColorBreak that has a single value, which can be an object of any type. The LowValue field will contain this single value. The value to test. Creates a ColorBreak that has a single value, which can be an object of any type. The LowValue field will contain this single value. The value to test. The color to use as the low value. Creates a new color category, but doesn't specify the colors themselves. The start value The end value Creates a bi-valued colorbreak that will automatically test which of the specified values is higher and use that as the high value. The other will become the low value. This will be set to a bi-value colorbreak. One of the values to use in this colorbreak. The other value to use in this colorbreak. The color to assign to the higher of the two values The color to assign to the lower of the two values Fires the EditItem event. If e returns handled, then this will not launch the default editor The HandledEventArgs This is primarily used in the BiValue situation where a color needs to be generated somewhere between the start value and the end value. The value to be converted into a color from the range on this color break A color that is selected from the range values. Paints legend symbol Occurs when this ColorBreak received instructions to show an editor. If this is handled, then no action will be taken. Gets or sets custom actions for ColorCategory Gets or sets how the color changes are distributed across the BiValued range. If IsBiValue is false, this does nothing. Gets or sets the second of two colors to be used. This is only used for BiValued breaks. This not only indicates that there are two values, but that the values are also different from one another. Gets or sets the color to be used for this break. For BiValued breaks, this only sets one of the colors. If this is higher than the high value, both are set to this. If this equals the high value, IsBiValue will be false. Gets or sets the opacity for the low color. This was added to save opacity to dspx. Gets or sets the opacity for the high color. This was added to save opacity to dspx. ColorCategoryCollection Default constructor for the PolygonCategoryCollection class. Initializes a new PolygonCategoryCollection instance with the supplied scheme. The scheme to use ofr this collection. Ensures that newly added categories can navigate to higher legend items. The newly added legend item. Changes the parent item of the specified category Updates all of the categories so that they have a parent item that matches the schemes parent item. Gets or sets the parent scheme for this collection DrawingScheme Creates a new instance of DrawingScheme Creates the category using a random fill color The base color to use for creating the category For points this is the larger dimension, for lines this is the largest width A new IFeatureCategory that matches the type of this scheme Draws the regular symbolizer for the specified cateogry to the specified graphics surface in the specified bounding rectangle. The integer index of the feature to draw. The Graphics object to draw to The rectangular bounds to draw in Adds a new scheme, assuming that the new scheme is the correct type. The category to add Reduces the index value of the specified category by 1 by exchaning it with the category before it. If there is no category before it, then this does nothing. The category to decrease the index of Removes the specified category The category to insert Inserts the category at the specified index The integer index where the category should be inserted The category to insert Re-orders the specified member by attempting to exchange it with the next higher index category. If there is no higher index, this does nothing. The category to increase the index of Suspends the category events Resumes the category events Clears the categories Generates the break categories for this scheme THe defaul Creates a list of generated colors according to the convention specified in the EditorSettings. The integer count of the number of colors to create. The list of colors created. Uses the settings on this scheme to create a random category. A new ICategory Creates the colors in the case where the color range controls are not being used. This can be overriddend for handling special cases like ponit and line symbolizers that should be using the template colors. The integer count to use The default behavior for creating ramp colors is to create colors in the mid-range for both lightness and saturation, but to have the full range of hue Creates a random color, but accepts a given random class instead of creating a new one. Applies the snapping rule directly to the categories, based on the most recently collected set of values, and the current VectorEditorSettings. Uses the currently calculated Values in order to calculate a list of breaks that have equal separations. Applies the snapping type to the given breaks Searches the list and returns the nearest value in the list to the specified value. Attempts to create the specified number of breaks with equal numbers of members in each. The integer count. A list of breaks. Sets the names for the break categories Gets or sets the editor settings that control how this scheme operates. This is cached until a GetValues call is made, at which time the statistics will be re-calculated from the values. Gets or sets the list of breaks for this scheme Gets the current list of values calculated in the case of numeric breaks. This includes only members that are not excluded by the exclude expression, and have a valid numeric value. Breaks for value ranges A double value for the maximum value for the break The string name Creates a new instance of a break Creates a new instance of a break with a given name The string name for the break IColorScheme Applies the specified color scheme from a list of predefined scheme options. The predefined color scheme The raster that provides values to govern symbolizing Creates the categories for this scheme based on statistics and values sampled from the specified raster. The raster to use when creating categories Gets the values from the raster. If MaxSampleCount is less than the number of cells, then it randomly samples the raster with MaxSampleCount values. Otherwise it gets all the values in the raster. The raster to sample Gets or sets the floating point value for the opacity Gets or sets the collection of color scheme categories to use. gets or sets the editor settings for controls that affect the color scheme. Creates a new instance of ColorScheme Creates a new instance of a color scheme using a predefined color scheme and the minimum and maximum specified from the raster itself The predefined scheme to use The raster to obtain the minimum and maximum settings from This creates a new scheme, applying the specified color scheme, and using the minimum and maximum values indicated. The predefined color scheme The minimum The maximum Applies the specified color scheme and uses the specified raster to define the minimum and maximum to use for the scheme. Creates the category using a random fill color The base color to use for creating the category For points this is the larger dimension, for lines this is the largest width A new IFeatureCategory that matches the type of this scheme Creates the categories for this scheme based on statistics and values sampled from the specified raster. The raster to use when creating categories Gets the values from the raster. If MaxSampleCount is less than the number of cells, then it randomly samples the raster with MaxSampleCount values. Otherwise it gets all the values in the raster. The raster to sample Applies the specified color scheme and uses the specified raster to define the minimum and maximum to use for the scheme. ColorSchemeType THe minimum value to use for the scheme THe maximum value to use for the scheme Uses the settings on this scheme to create a random category. A new IFeatureCategory Occurs when setting the parent item and updates the parent item pointers Draws the category in the specified location. Adds the specified category Attempts to decrease the index value of the specified category, and returns true if the move was successful. The category to decrease the index of Removes the specified category Inserts the item at the specified index Attempts to increase the position of the specified category, and returns true if the index increase was successful. The category to increase the position of Boolean, true if the item's position was increased Suspends the change item event from firing as the list is being changed Allows the ChangeItem event to get passed on when changes are made Clears the categories Gets or sets the floating point value for the opacity Gets or sets the raster categories Gets or sets the raster editor settings associated with this scheme. Some of the more common relationships between elevation and geographic coordinates The elevation values are in centimeters, but the geographic projection uses decimal degrees The elevation values are in centimeters, but the geographic projection uses Meters The elevation values are in centimeters, but the geographic projection uses Feet The elevation values are in feet, but the geographic projection uses decimal degrees The elevation values are in feet, but the geographic projection uses meters The elevation values are in feet, but the geographic projection uses feet The elevation values are in meters, but the geographic projection uses decimal degrees The elevation values are in meters, but the geographic projection uses meters The elevation values are in meters, but the geographic projection uses feet A raster layer describes using a single raster, and the primary application will be using this as a texture. Creates a bmp texture and saves it to the same fileName as the raster, but with a bmp ending. This also generates a bpw world file for the texture. Creates a bmp texture and saves it to the same fileName as the raster but with a bmp ending. This also generates a bpw world file for the texture. An implementation of IProgressHandler to recieve status messages Creates a bmp texture and saves it to the specified fileName. The fileName should end in bmp. This also generates a bpw world file for the texture. The string fileName to write to The image band type. Creates a bmp texture and saves it to the specified fileName. The fileName should end in bmp. This also generates a bpw world file for the texture. The string fileName to write to The progress handler for creating a new bitmap. The image band type. Gets or sets the boundaries of the raster. Gets or sets the item that controls rendering this raster as a bitmap. Gets the geographic width of the cells for this raster (East-West) Gets the geographic height of the cells for this raster (North-South) Gets or sets the underlying dataset raster for this object Gets the data type of the values in this raster. Gets the eastern boundary of this raster. This is a conversion factor that is required in order to convert the elevation units into the same units as the geospatial projection for the latitude and logitude values of the grid. Gets the exaggeration beyond normal elevation values. A value of 1 is normal elevation, a vlaue of 0 would be flat, while a value of 2 would be twice the normal elevation. This applies to the three-dimensional rendering and is not related to the shaded relief pattern created by the texture. Gets the fileName where this raster is saved. Gets the maximum value of this raster. If this is an elevation raster, this is also the top. Gets the minimum value of this raster. If this is an elevation raster, this is also the bottom. Gets the value that is used when no actual data exists for the specified location. Gets the northern boundary of this raster. Gets the number of bands in this raster. Gets the number of columns in this raster. Gets the number of rows in this raster. Gets the southern boundary of this raster. Gets or sets the collection of symbolizer properties to use for this raster. Gets the western boundary of this raster. IRasterSymbolizer Creates a bmp from the in-memory portion of the raster. Causes the raster to calculate a hillshade based on this symbolizer Causes the raster to calculate a hillshade using the specified progress handler The progress handler to use Gets the color for a specific row and column. This does not include any hillshade information. The double value to find in the colorbreaks. A Color Creates a bitmap based on the specified RasterSymbolizer the bitmap to paint to The progress handler Sends a symbology updated event, which should cause the layer to be refreshed. Indicates that the bitmap has been updated and that the colorscheme is currently synchronized with the characteristics of this symbolizer. This also fires the ColorSchemeChanged event. This event occurs after a new bitmap has been created to act as a texture. If this value is true, whenever a texture is created, the vector layers are drawn onto the texture. Gets or sets the editor settings class to help setup up the symbology controls appropriately. This is kept separate from extrusion to reduce confusion. This is a conversion factor that will convert the units of elevation into the same units that the latitude and longitude are stored in. To convert feet to decimal degrees is around a factor of .00000274. This is used only in the 3D-context and does not affect ShadedRelief. A float value expression that modifies the "height" of the apparent shaded relief. A value of 1 should show the mountains at their true elevations, presuming the ElevationFactor is correct. A value of 0 would be totally flat, while 2 would be twice the value. This controls the 3D effects and has nothing to do with the creation of shaded releif on the texture. Gets the calculated hillshade map, or re-calculates it if something has changed Gets or sets the symbol characteristics for the border of this raster Gets or sets a boolean that determines whether to treat the values as if they are elevation in the 3-D context. If this is true, then it will automatically use this grid for calculating elevation values. Gets or sets whether or not this raster should render itself Gets or sets whether or not htis raster should be anti-alliased Gets or sets the color to use if the value of the cell corresponds to a No-Data value Gets or sets a float value from 0 to 1, where 1 is fully opaque while 0 is fully transparent Gets or sets the raster that should provide elevation values, but only if "IsElevation" is false. This should be set to true if the elevation values have changed Gets or sets the parent layer. This is not always used, but can be useful for symbolic editing that may require a bitmap to be drawn with draped vector layers. Gets or sets the coloring scheme for the raster. Gets or sets the characteristics of the shaded relief. This only affects the coloring, and will not control any 3-D properties. This should be set to true if the texture needs to be reloaded from a file IShadedRelief Returns the normalized light direction in X, Y, Z format Occurs when the shading for this object has been altered. Gets or sets a float specifying how strong the ambient directional light is. This should probably be about 1. This is kept separate from extrusion to reduce confusion. This is a conversion factor that will convert the units of elevation into the same units that the latitude and longitude are stored in. To convert feet to decimal degrees is around a factor of .00000274 A float value expression that modifies the "height" of the apparent shaded relief. A value of 1 should show the mountains at their true elevations, presuming the ElevationFactor is correct. A value of 0 would be totally flat, while 2 would be twice the value. Gets or sets a boolean value indicating whether the ShadedRelief should be used or not. This specifies a float that should probably be around 1, which controls the light intensity. Gets the zenith angle in degrees measured with 0 at the horizon and 90 vertically up The Azimuth light direction in degrees measured clockwise from North Gets whether or not the values have been changed on this ShadedRelief more recently than a HillShade map has been calculated from it. Creates a new instance of VectorEditorSettings Gets or sets the minimum value that will contribute to statistics Gets or sets the maximum value that will contribute to statistics. A raster layer describes using a single raster, and the primary application will be using this as a texture. Gets or sets maximum number of cells which can be stored in memory. By default it is 8000 * 8000. Opens the specified fileName using the layer manager. Opens the specified fileName and automatically creates a raster that can be used by this raster layer. The string fileName to use in order to open the file The progress handler to show progress messages Creates a new raster layer using the progress handler defined on the DefaultLayerManager The raster to create this layer for Creates a new instance of RasterLayer The Raster The Progress handler for any status updates This only updates the bitmap representation of the raster. It does not write to a file unless the file is too large to fit in memory, in which case it will update the pyramid image. This only updates the bitmap representation of this raster. This can be overridden, but currently uses the default implementation. An implementation of IProgressHandler to receive status messages Creates a bmp texture and saves it to the specified fileName. The string fileName to write to The color band type. Creates a new filename and saves the content from the current BitmapGetter to the file format. This relies on the DataManager and will only be successful for formats supported by the write format possibility. This will not update this raster The string fileName to write to The progress handler for creating a new bitmap. The band type ot use. Clean up any resources being used. true if managed resources should be disposed; otherwise, false. Render the full raster block by block, and then save the values to the pyramid raster. This will probably be nasty and time consuming, but what can you do. This does not have to be used to work, but provides a default implementation for writing bitmap, and will be used by the MapRasterLayer class during file creation. Handles the situation for exporting the layer as a new source. Occurs when this member should raise the shared event to show the property dialog for this raster layer. Reprojects the dataset for this layer. The target projection to use. Gets or sets custom actions for RasterLayer Gets or sets the boundaries of the raster. [Editor(typeof(Forms.PropertyGridEditor), typeof(UITypeEditor))] [TypeConverter(typeof(Forms.GeneralTypeConverter))] This is what the raster layer uses to retrieve a bitmap representing the specified extent. This could later be redesigned to generate the bitmap on the fly, but I think that that would be slow, so caching is probably better. Gets the geographic height of the cells for this raster (North-South) Gets the geographic width of the cells for this raster (East-West) Gets or sets whether this should appear as checked in the legend. This is also how the layer will Gets the data type of the values in this raster. Gets the eastern boundary of this raster. This is a conversion factor that is required in order to convert the elevation units into the same units as the geospatial projection for the latitude and logitude values of the grid. Obtains an envelope Gets the exaggeration beyond normal elevation values. A value of 1 is normal elevation, a value of 0 would be flat, while a value of 2 would be twice the normal elevation. This applies to the three-dimensional rendering and is not related to the shaded relief pattern created by the texture. Gets the fileName where this raster is saved. If this is false, then the drawing function will not render anything. Warning! This will also prevent any execution of calculations that take place as part of the drawing methods and will also abort the drawing methods of any sub-members to this IRenderable. Gets or sets the complete list of legend items contained within this legend item The text that will appear in the legend Gets the maximum value of this raster. If this is an elevation raster, this is also the top. Gets the minimum value of this raster. If this is an elevation raster, this is also the bottom. Gets the value that is used when no actual data exists for the specified location. Gets the northern boundary of this raster. Gets the number of bands in this raster. Gets the number of columns in this raster. Gets the number of rows in this raster. Gets or sets the underlying dataset [TypeConverter(typeof(Forms.GeneralTypeConverter))] [Editor(typeof(Forms.PropertyGridEditor), typeof(UITypeEditor))] Gets or sets the collection of symbolzier properties to use for this raster. [Editor(typeof(Forms.RasterColorSchemeEditor), typeof(UITypeEditor))] [TypeConverter(typeof(Forms.GeneralTypeConverter))] Gets the southern boundary of this raster. Gets the western boundary of this raster. Initializes a new instance of the ProjectionHelper class. The geographic extents to project to and from. The view rectangle in pixels to transform with. Gets or sets the geographic extent to use. Gets or sets the rectangular pixel region to use. RasterSymbolizer Creates a new instance of the raster symbolizer The parent item Creates a new instance of Raste Causes the raster to calculate a hillshade based on this symbolizer Causes the raster to calculate a hillshade using the specified progress handler The progress handler to use Creates a bmp from the in-memory portion of the raster. This will be stored as a fileName with the same name as the current raster, but ends in bmp. Gets the color information for a specific value. This does not include any hillshade information. Specifies the value to obtain a color for. A Color Sends a symbology updated event, which should cause the layer to be refreshed. Creates a bitmap based on the specified RasterSymbolizer the bitmap to paint to The progress handler Indicates that the bitmap has been updated and that the colorscheme is currently synchronized with the characteristics of this symbolizer. This also fires the ColorSchemeChanged event. Fires the SymbologyUpdated event, which should happen after symbology choices are finalized, a new texture has been created and we are ready for an update. Fires the on color scheme changed event Fires the SymbologyChanged event This event occurs after a new bitmap has been created to act as a texture. Occurs when the symbology has been changed Occurs if any of the properties that would contribute to bitmap construction have changed This should be set to true if the texture needs to be reloaded from a file This should be set to true if the elevation values have changed Gets or sets a boolean that indicates if the color has changed. If this value is true, whenever a texture is created, the vector layers are drawn onto the texture. Gets or sets the editor settings class to help setup up the symbology controls appropriately. This is kept separate from extrusion to reduce confusion. This is a conversion factor that will convert the units of elevation into the same units that the latitude and longitude are stored in. To convert feet to decimal degrees is around a factor of .00000274. This is used only in the 3D-context and does not affect ShadedRelief. A float value expression that modifies the "height" of the apparent shaded relief. A value of 1 should show the mountains at their true elevations, presuming the ElevationFactor is correct. A value of 0 would be totally flat, while 2 would be twice the value. This controls the 3D effects and has nothing to do with the creation of shaded releif on the texture. Gets the calculated hillshade map, or re-calculates it if something has changed Gets or sets the symbol characteristics for the border of this raster Gets or sets a boolean that determines whether to treat the values as if they are elevation in the 3-D context. If this is true, then it will automatically use this grid for calculating elevation values. This does not affect ShadedRelief texture creation. Gets or sets whether or not this raster should render itself Gets or sets the color to use if the value of the cell corresponds to a No-Data value Gets or sets the raster that should provide elevation values, but only if "IsElevation" is false. Gets or sets the parent layer. This is not always used, but can be useful for symbolic editing that may require a bitmap to be drawn with draped vector layers. Gets or sets a float value from 0 to 1, where 1 is fully opaque while 0 is fully transparent Gets or sets the characteristics of the shaded relief. This is specifically used to control HillShade characteristics of the BitMap texture creation. Gets or sets whether or not htis raster should be anti-alliased Gets or sets the raster coloring scheme. ShadedRelief Creates a new instance of the ShadedRelief preset for elevation in feet and coordinates in decimal degrees Creates a new instance of ShadedRelief based on some more common elevation to goegraphic coordinate sysetem scenarios Returns a normalized vector in 3 dimensions representing the angle of the light source. Fires the ShadingChanged event Occurs when the shading for this object has been altered. Gets or sets a float specifying how strong the ambient directional light is. This should probably be about 1. This is kept separate from extrusion to reduce confusion. This is a conversion factor that will convert the units of elevation into the same units that the latitude and longitude are stored in. To convert feet to decimal degrees is around a factor of .00000274 A float value expression that modifies the "height" of the apparent shaded relief. A value of 1 should show the mountains at their true elevations, presuming the ElevationFactor is correct. A value of 0 would be totally flat, while 2 would be twice the value. Gets or sets a boolean value indicating whether the ShadedRelief should be used or not. Gets or sets the zenith angle for the light direction in degrees from 0 (at the horizon) to 90 (straight up). Gets or sets a double that represents the light direction in degrees clockwise from North This specifies a float that should probably be around 1, which controls the light intensity. Gets whether or not the values have been changed on this ShadedRelief more recently than a HillShade map has been calculated from it. Specifies whether non-coordinate drawing properties like width or size use pixels or map coordinates. If pixels are used, a "back transform" to approximate pixel sizes. Uses the simplest symbology possible, but can draw quickly Symbol sizing parameters are based in world coordinates and will get smaller when zooming out like a real object. The symbols approximately preserve their size as you zoom Extends the ISelectable interface with some overloads that ignore the output affected areas Clears the selection, and ignores the affected area. This selectable item Boolean, true if members were removed from the selection This ignores the affected region and assumes that you want to use a selection based on the Intersects selection mode. The ISelectable object The region where selection should take place The region in cases where tolerance is not used Boolean, true if the selected state of any members of this item were altered Inverts the selection state of members that intersect the specified region. The affected area will be returned. The IFeatureLayer to modify the selection for The geographic envelope in cases like cliking near points where tolerance is allowed The geographic region when working with absolutes, without a tolerance The affected area to modify Boolean, true if the selection state was modified by this action This ignores the affected region and assumes that you want to use a selection based on the Intersects selection mode. This ISelectable The geographic envelope in cases like cliking near points where tolerance is allowed The geographic region when working with absolutes, without a tolerance Boolean, true if any items were added to the selection Highlights the values in the specified region, and returns the affected area from the selection, which should allow for slightly faster drawing in cases where only a small area is changed. The IFeatureLayer from which to select features The geographic envelope in cases like cliking near points where tolerance is allowed The geographic region when working with absolutes, without a tolerance The geographic envelope of the region impacted by the selection. True if any members were added to the current selection. This ignores the affected region and assumes that you want to use a selection based on the Intersects selection mode. This ISelectable The geographic envelope in cases like cliking near points where tolerance is allowed The geographic region when working with absolutes, without a tolerance Boolean, true if any items were added to the selection Un-highlights or returns the features that intersect with the specified region. The IFeatureLayer from which to unselect features. The geographic envelope in cases like cliking near points where tolerance is allowed. The geographic region when working with absolutes, without a tolerance. The geographic envelope that will be visibly impacted by the change. Boolean, true if members were removed from the selection. Normally, cloning an object starts with MemberwiseClone, which creates a shallow copy of the object. For any members that derive from the Descriptor, however, any public properties or fields that implement ICloneable are copied (deep copy behavior). This is not always desirable, even if the member CAN be copied. This attribute causes the deep copy behavior to skip over properties marked with this attribute. LayerEventArgs Creates a new instance of LayerEventArgs Gets a layer Size2D Gets or sets the height Gets or sets the width Creates a new instance of Size2D Creates a new instance of a Size2D The double width The double height Tests for equality against an object. Tests for equality against another size. the size to compare this size to boolean, true if the height and width are the same in each case. Gets the string equivalent of this object Determines if the height and width are both equal Determiens if the height and width are not equal Returns the basic hash code for the object. Generates random doubles for the size from 1 to 100 for both the width and height SnapShotEventArgs Creates a new instance of SnapShotEventArgs Gets the picture that was taken by the snapshot This describes the three permitted states for legend items. Items can have a checkbox or a symbol, but not both. Display a checkbox next to the legend item Draws a symbol, but also allows collapsing. Display a symbol next to the legend item Display only legend text Global has some basic methods that may be useful in lots of places. An instance of Random that is created when needed and sits around so we don't keep creating new ones. Gets a cool Highlight brush for highlighting things The rectangle in the box The color to use for the higlight Draws a rectangle with ever so slightly rounded edges. Good for selection borders. The Graphics object The pen to draw with The rectangle to draw to. Obtains a system.Drawing.Rectangle based on the two points, using them as opposite extremes for the rectangle. one corner point of the rectangle. The opposing corner of the rectangle. A System.Draing.Rectangle Returns a completely random opaque color. A random color. This allows the creation of a transparent color with the specified opacity. A float ranging from 0 for transparent to 1 for opaque A Color This allows the creation of a transparent color with the specified opacity. A float ranging from 0 for transparent to 1 for opaque A Color This allows the creation of a transparent color with the specified opacity. A float ranging from 0 for transparent to 1 for opaque A Color Converts a colour from HSL to RGB Adapted from the algoritm in Foley and Van-Dam A double representing degrees ranging from 0 to 360 and is equal to the GetHue() on a Color structure. A double value ranging from 0 to 1, where 0 is gray and 1 is fully saturated with color. A double value ranging from 0 to 1, where 0 is black and 1 is white. A Color structure with the equivalent hue saturation and brightness Creates a new instance of MemberChangedEventArgs Gets the Label that was updated Gets the previous symbolizer that this label no longer uses. Gets the new symbolizer that this label now uses. ClassificationTypes Each category is designed with a custom expression Unique values are added A Quantile scheme is applied, which forces the behavior of continuous categories. IDrawingFilter This will set all values to the default (0) category. Then, it will use the filter expressions on the remaining categories to change the categories for those members. This means that an item will be classified as the last filter that it qualifies for. The scheme of categories to apply to the drawing states Invalidates this drawing filter, forcing a re-creation of the entire dictionary from the source featureset. This should only be done if changes are made to the feature list while SuspendChanges on the list is true. If UseChunks is true, this uses the index value combined with the chunk size to calculate the chunk, and also sets the category to the [0] category and the selection state to unselected. This can be overridden in sub-classes to come up with a different default state. The integer index to get the default state of An IDrawnState Occurs after this filter has built its internal list of items. Gets or sets the scheme category to use Gets the integer chunk that the filter should use Gets or sets the integer size of each chunk. Setting this to a new value will cycle through and update the chunk on all the features. If the drawing state for any features has changed, or else if the state of any members has changed, this will cycle through the filter members and cache a new count. If nothing has changed, then this will simply return the cached value. Gets the default category for the scheme. Gets the dictionary of drawn states that this drawing filter uses. Gets the underlying list of features that this drawing filter is ultimately based upon. If chunks are being used, then this indicates the total count of chunks. Otherwise, this returns 1 as everything is effectively in one chunk. If UseSelection is true, this will get or set the boolean selection state that will be used to select values. This uses the feature as the key and attempts to find the specified drawn state that describes selection, chunk and category. The feature The strength is that if someone inserts a new member or re-orders the features in the featureset, we don't forget which ones are selected. The disadvantage is that duplicate features in the same featureset will cause an exception. This is less direct as it requires searching two indices rather than one, but allows access to the drawn state based on the feature ID. The integer index in the underlying featureSet. The current IDrawnState for the current feature. Gets or sets a boolean that indicates whether we should use the chunk Gets or sets a boolean that indicates whether this filter should use the Selected Gets or sets a boolean that indicates whether the filter should subdivide based on category. Gets or sets a boolean that indicates whether the filter should consider the IsVisible property Gets or sets a boolean that specifies whether to return visible, or hidden features if UseVisibility is true. Creates a new instance of DrawingFilter without using any chunks. The use chunks value will be false, and sub-categories will not be selected based on the chunk. Creates a new instance of DrawingFilter, sub-dividing the features into chunks. regardless of selection or category, chunks simply subdivide the filter into chunks of equal size. Creates a shallow copy Returns a shallow copy of this object. This will use the filter expressions on the categories to change the categories for those members. This means that an item will be classified as the last filter that it qualifies for. The scheme of categories to apply to the drawing states If UseChunks is true, this uses the index value combined with the chunk size to calculate the chunk, and also sets the category to the [0] category and the selection state to unselected. This can be overridden in sub-classes to come up with a different default state. The integer index to get the default state of An IDrawnState Gets an enumator for cycling through exclusively the features that satisfy all the listed criteria, including chunk index, selected state, and scheme category. An Enumerator for cycling through the values Invalidates this drawing filter, effectively eliminating all the original categories, selection statuses, and only keeps the basic chunk size. Fires the Initialized Event This block of code actually cycles through the source features, and assigns a default drawing state to each feature. I thought duplicate features would be less of a problem then people re-ordering an indexed list at some point, so for now we are using features to index the values. Occurs after this filter has built its internal list of items. Gets or sets the scheme category to use Gets the integer chunk that the filter should use Gets or sets the integer size of each chunk. Setting this to a new value will cycle through and update the chunk on all the features. If the drawing state for any features has changed, or else if the state of any members has changed, this will cycle through the filter members and cache a new count. If nothing has changed, then this will simply return the cached value. Gets the default category for the scheme. Gets the dictionary of drawn states that this drawing filter uses. Gets the underlying list of features that this drawing filter is ultimately based upon. If chunks are being used, then this indicates the total count of chunks. Otherwise, this returns 1 as everything is effectively in one chunk. If UseSelection is true, this will get or set the boolean selection state that will be used to select values. This uses the feature as the key and attempts to find the specified drawn state that describes selection, chunk and category. The feature The strength is that if someone inserts a new member or re-orders the features in the featureset, we don't forget which ones are selected. The disadvantage is that duplicate features in the same featureset will cause an exception. This is less direct as it requires searching two indices rather than one, but allows access to the drawn state based on the feature ID. The integer index in the underlying featureSet. The current IDrawnState for the current feature. Gets or sets a boolean that indicates whether the filter should subdivide based on category. Gets or sets a boolean that indicates whether we should use the chunk Gets or sets a boolean that indicates whether this filter should use the Selected Gets or sets the boolean indicating whether or not this feature should be drawn. Gets or sets a boolean that specifies whether to return visible, or hidden features if UseVisibility is true. DrawFeatures simply group the feature with characteristics like selected and category for easier tracking. IDrawnFeature Gets or sets the integer chunk that this item belongs to. Gets or sets the scheme category Gets or sets a boolean, true if this feature is currently selected Gets or sets whether this feature is currently being drawn. Creates a new instance of DrawnState class that helps to narrow down the features to be drawn. Creates a new instance of a DrawnState class for subdividing features. A category that the feature belongs to Boolean, true if the feature is currently selected An integer chunk that this feature should belong to A boolean indicating whether this feature is visible or not Not entirely sure about using these features this way. It might not work well with interfaces. Takes any object, but attempts to compare it with values as an IDrawnState. If it can satisfy the IDrawnState interface and all the values are the same then this returns true. Overrides the standard equal operator Overrides the not-equal to operator Gets or sets the scheme category Gets or sets a boolean, true if this feature is currently selected Gets or sets whether this feature is currently being drawn. Gets or sets the integer chunk that this item belongs to. Creates a new instance of StringEventArgs The string expression for this event args The string expression for this event. FastDrawnState uses fields, not properties. The category that describes the symbolic drawing for this item. Boolean, true if this item should be drawn as being selected A Boolean that indicates whether or not this feature should be drawn at all. This should default to true. Creates a blank fast drawn state Creates a new FastDrawnState with the specified parameters Overrides ToString to give a description of the FastDrawnState. Equality based on the Boolean and category settings The fast drawn state to compare with For ordering in a dictionary, if get hash code is the same, then equals is used to test equality. For performance, try to make sure that hash codes are different enough for organizing in the dictionary, but are the same in cases where Category and Selected are the same. An integer hash code for this item. A Scheme category does not reference individual members or indices, but simply describes a symbolic representation that can be used by an actual category. IFeatureCategory Queries this layer and the entire parental tree up to the map frame to determine if this layer is within the selected layers. This gets a single color that attempts to represent the specified category. For polygons, for example, this is the fill color (or central fill color) of the top pattern. If an image is being used, the color will be gray. The System.Color that can be used as an approximation to represent this category. This applies the color to the top symbol stroke or pattern. The Color to apply In some cases, it is useful to simply be able to show an approximation of the actual expression. This also removes brackets from the field names to make it slightly cleaner. Occurs when the select features context menu is clicked. Occurs when the deselect features context menu is clicked. Gets or sets the symbolizer used for this category. Gets or sets the symbolizer used for this category Gets or set the filter expression that is used to add members to generate a category based on this scheme. Creates a new instance of FeatureSchemeCategory Applies the minimum and maximum in order to create the filter expression. This will also count the members that match the specified criteria. Controls what happens in the legend when this item is instructed to draw a symbol. Queries this layer and the entire parental tree up to the map frame to determine if this layer is within the selected layers. This gets a single color that attempts to represent the specified category. For polygons, for example, this is the fill color (or central fill color) of the top pattern. If an image is being used, the color will be gray. The System.Color that can be used as an approximation to represent this category. This applies the color to the top symbol stroke or pattern. The Color to apply In some cases, it is useful to simply be able to show an approximation of the actual expression. This also removes brackets from the field names to make it slightly cleaner. Makes it so that if there are any pre-existing listeners to the SelectFeatuers event when creating a clone of this object, those listeners are removed. They should be added correctly when the cloned item is added to the collection, after being cloned. Forces the creation of an entirely new context menu list. That way, we are not pointing to an event handler in the previous parent. Fires the SelectFeatures event Triggers the DeselectFeatures event. Occurs when the select features context menu is clicked. Occurs when the deselect features context menu is clicked. Gets or sets the symbolizer used for this category. Gets or sets the symbolizer used for this category Gets or set the filter expression that is used to add members to generate a category based on this scheme. [Editor(typeof(ExpressionEditor), typeof(UITypeEditor))] FeatureSchemeCategoryCollection Creates a new instance of the FeatureSchemeCategoryCollection Occurs when including legend items Occurs when excluding legend items Optionally allows the scheme to identify itself for future reference. Creates a new instance of VectorEditorSettings Gets or sets the unique values. Gets or sets the double size for the last item in the range Gets or sets the field name that categories are based on Gets or sets the normalization field Gets or sets the gradient angle if use gradient is true and the shape is a polygon shape. Gets or sets the double start size for point or line size ranges Gets or sets the feature symbolizer that acts as a template for any characteristics not covered by the size and color ranges. Gets or sets a boolean indicating whether or not to use a gradient when randomly calculating polygon forms. Gets or sets a boolean indicating whether the size range should be used instead of the size specified by the template. This is should not be instantiated because it cannot in itself perform the necessary functions. Instead, most of the specified functionality must be implemented in the more specific classes. This is also why there is no direct constructor for this class. You can use the static "FromFile" or "FromFeatureLayer" to create FeatureLayers from a file. This is should not be instantiated because it cannot in itself perform the necessary functions. Instead, most of the specified functionality must be implemented in the more specific classes. This is also why there is no direct constructor for this class. You can use the static "FromFile" or "FromFeatureLayer" to create FeatureLayers from a file. Applies the specified scheme to this layer, applying the filter constraints in the scheme. It is at this time when features are grouped as a one-time operation into their symbol categories, so that this doesn't have to happen independently each drawing cycle. The scheme to be applied to this layer. Assigns the fast drawn states based on the latest feature setup. This method actually draws the image to the snapshot using the graphics object. This should be overridden in sub-classes because the drawing methods are very different. A graphics object to draw to A projection handling interface designed to translate geographic coordinates to screen coordinates Saves a featureset with only the selected features to the specified fileName. The string fileName to export features to. Gets the visible characteristic for an individual feature, regardless of whether this layer is in edit mode. Gets the visible characteristic for a given feature, rather than using the index, regardless of whether this layer is in edit mode. Gets the visible characteristic for an individual feature The get visible. Gets the visible characteristic for a given feature, rather than using the index. The get visible. This method will remove the in ram features from the underlying dataset. This will not affect the data source. Beware! Removing features without populating the DataTable first will almost assuredly mean indexing failures if you choose to load it later. The list or array of integer index values. This forces the removal of all the selected features. Selects the specified list of features. If the specified feature is already selected, this method will not alter it. A List of integers representing the zero-based feature index values Selects a single feature specified by the integer index in the Features list. The zero-based integer index of the feature. Selects the specified feature. The feature. Cycles through all the features and selects them Selects all the features in this layer that are associated with the specified attribute, clearing the selection first. The string expression to identify based on attributes the features to select. Modifies the features with a new selection based on the modifyMode. The string filter expression to use Determines how the newly chosen features should interact with the existing selection Sets the category for the specified shape index regardless of whether this layer is in edit mode. The 0 based integer shape index The category for this feature. The exact kind of category depends on the feature type. Sets the visible characteristic for a given feature, rather than using the index regardless of whether this layer is in edit mode. The actual reference to the feature object to update The new category to use for the specified feature This forces the creation of a category for the specified symbolizer, if it doesn't exist. This will add the specified feature to the category. Be sure that the symbolizer type matches the feature type. The integer index of the shape to control. The symbolizer to assign. Sets the visible characteristic for an individual feature Sets the visible characteristic for a given feature, rather than using the index. Displays a form with the attributes for this shapefile. Creates a bitmap of the requested size that covers the specified geographic extent using the current symbolizer for this layer. This does not have any drawing optimizations, or techniques to speed up performance and should only be used in special cases like draping of vector content onto a texture. It also doesn't worry about selections. The extent to use when computing the snapshot. The integer height of the bitmap A Bitmap object Unselects the specified features. If any features already unselected, they are ignored. Unselects the specified feature. The integer representing the feature to unselect. Removes the specified feature from the selection The feature to remove Unselects all the features that are currently selected Zooms to the envelope of the selected features. Occurs before the attribute Table is displayed, also allowing this event to be handled. Occurs after a snapshot is taken, and contains an event argument with the bitmap to be displayed. Occurs after a new symbolic scheme has been applied to the layer. Gets or sets the base FeatureSet Controls the drawn states according to a feature index. This is used if the EditMode is false. When EditMode is true, then drawn states are tied to the features instead. Gets or sets the Boolean flag that controls whether the DrawnStates are needed. If nothing is selected, and there is only one category, and there is no filter expression on that category, then this should be false. Gets or sets a Boolean. If edit mode is true, feature index is ignored, and features are assumed to be entirely loaded into ram. If edit mode is false, then index is used instead and features are not assumed to be loaded into ram. Gets or sets the label layer Gets a Selection class that is allows the user to cycle through all the unselected features with a for each method, even if the features are in many categories. Gets or sets the shared characteristics to use with the selected features. Gets or sets whether labels should be drawn. Gets or sets and interface for the shared symbol characteristics between point, line and polygon features Gets the current feature scheme, but to change it ApplyScheme should be called, so that feature categories are updated as well. The _category extents. The _drawing filter. The _drawn states. The _drawn states needed. The _edit mode. The _feature symbolizer. The _label layer. The _scheme. The _selection. The _selection feature symbolizer. The _show labels. Initializes a new instance of the class. Constructor The data bearing layer to apply new drawing characteristics to Initializes a new instance of the class. Constructor The data bearing layer to apply new drawing characteristics to The container this layer should be added to Initializes a new instance of the class. Constructor The data bearing layer to apply new drawing characteristics to The container this layer should be added to A progress handler for receiving status messages Zooms to the envelope of the selected features. Zooms to the envelope of the selected features, adding a border of the size specified. The configure. The feature set. Applies the specified scheme to this layer, applying the filter constraints in the scheme. It is at this time when features are grouped as a one-time operation into their symbol categories, so that this doesn't have to happen independently each drawing cycle. The scheme to be applied to this layer. Clears the current selection, reverting the geometries back to their normal colors. An out value that represents the envelope that was modified by the clear selection instruction The clear selection. This method actually draws the image to the snapshot using the graphics object. This should be overridden in sub-classes because the drawing methods are very different. A graphics object to draw to A projection handling interface designed to translate geographic coordinates to screen coordinates Saves a featureset with only the selected features to the specified fileName. The string fileName to export features to. Gets the visible characteristic for an individual feature, regardless of whether this layer is in edit mode. Gets the visible characteristic for a given feature, rather than using the index, regardless of whether this layer is in edit mode. Gets the visible characteristic for an individual feature The get visible. Gets the visible characteristic for a given feature, rather than using the index. The get visible. This method inverts the selection for the specified region. Members already a part of the selection will be removed from the selection, while members that are not a part of the selection will be added to the selection. The region specifying where features should be added or removed from the selection. With polygon selection it is better not to allow any tolerance since the polygons already contain it. The SelectionModes enumeration that clarifies how the features should interact with the region. The geographic region that will be impacted by the changes. The invert selection. Highlights the values in the specified region, and returns the affected area from the selection, which should allow for slightly faster drawing in cases where only a small area is changed. This will also specify the method by which members should be selected. The envelope to change. The envelope to use in cases like polygons where the geometry has no tolerance. The selection mode that clarifies the rules to use for selection. The geographic envelope of the region impacted by the selection. Boolean, true if items were selected. Selects the specified list of features. If the specified feature is already selected, this method will not alter it. This will only fire a single SelectionExtended event, rather than firing it for each member selected. A List of integers representing the zero-based feature index values Selects a single feature specified by the integer index in the Features list. The zero-based integer index of the feature. Selects the specified feature The feature to select Cycles through all the features and selects them Selects all the features in this layer that are associated with the specified attribute. This automatically replaces the existing selection. The string expression to identify based on attributes the features to select. Unselects the features by attribute. The filter expression. Modifies the features with a new selection based on the modifyMode. The string filter expression to use Determines how the newly chosen features should interact with the existing selection This forces the creation of a category for the specified symbolizer, if it doesn't exist. This will add the specified feature to the category. Be sure that the symbolizer type matches the feature type. The integer index of the shape to control. The symbolizer to assign. Sets the visible characteristic for an individual feature regardless of whether this layer is in edit mode. Sets the visible characteristic for a given feature, rather than using the index regardless of whether this layer is in edit mode. Displays a form with the attributes for this shapefile. Creates a bitmap of the requested size that covers the specified geographic extent using the current symbolizer for this layer. This does not have any drawing optimizations, or techniques to speed up performance and should only be used in special cases like draping of vector content onto a texture. It also doesn't worry about selections. The extent to use when computing the snapshot. The integer height of the bitmap. The height is calculated based on the aspect ratio of the specified geographic extent. A Bitmap object Unselects the specified features. If any features already unselected, they are ignored. This will only fire a single Selection Unselects the specified feature. The integer representing the feature to unselect. Removes the specified feature from the selection. The feature to unselect. Un-highlights or returns the features from the specified region. The specified selectionMode will be used to determine how to choose features. The geographic envelope in cases like clicking near points where tolerance is allowed. The geographic region when working with absolutes, without a tolerance. The selection mode that controls how to choose members relative to the region. The geographic envelope that will be visibly impacted by the change. Boolean, true if members were removed from the selection. Unselects all the features that are currently selected This is testing the idea of using an input parameter type that is marked as out instead of a return type. The result of the creation Boolean, true if a layer can be created Occurs when the properties should be shown, and launches a layer dialog. Occurs when setting the symbology to a new scheme and allows removing event handlers Occurs as a new featureset is being assigned to this layer The feature Set. Unwires event handlers for the specified featureset. Occurs when setting symbology to a new scheme and allows adding event handlers Occurs when selecting features and fires the SelectByAttribute event with the expression used as the filter expression Occurs when selecting features and fires the SelectByAttribute event with the expression used as the filter expression Assigns the fast drawn states This method will remove the in ram features from the underlying dataset. This will not affect the data source. The list or array of integer index values. This forces the removal of all the selected features. This does more than remove an index key. This also shifts down the category and selection state for every drawn state with a higher index than the given index value. Call this only in index mode, and only if the shape is being removed from the FeatureSet. in practice, this should really only be called internally, but is here just in case. The list or array of index values to remove. This calculates the extent for the category and caches it in the extents collection This method cycles through all the Categories in the scheme and creates a new category. The scheme to apply Occurs during a copy operation and handles removing surplus event handlers A default method to generate a label layer. Handles the situation for exporting the layer as a new source. Occurs before the label setup dialog is shown. If handled is set to true, then the dialog will not be shown. A HandledEventArgs parameter This fires the scheme applied event after the scheme has been altered Fires the SnapShotTaken event. This can be overridden in order to modify the bitmap returned etc. Occurs before attributes are about to be viewed. Overriding this allows that to be handled, and if e.Handled is true, this class won't show the attributes. A HandledEventArgs The distinct fields in expression. The expression. Occurs after a new symbolic scheme has been applied to the layer. Occurs after a snapshot is taken, and contains an event argument with the bitmap to be displayed. Occurs before the attribute Table is displayed, also allowing this event to be handled. Occurs before the label setup dialog is displayed, allowing the event to be handled. Gets or sets the Boolean flag that controls whether the DrawnStates are needed. If nothing is selected, and there is only one category, and there is no filter expression on that category, then this should be false. Gets or sets custom actions for FeatureLayer Gets the dictionary of extents that is calculated from the categories. This is calculated one time, when the scheme is applied, and then the cached value is used to help drawing symbols that are modified by the categorical boundaries. Gets or sets a rectangle that gives the maximal extent for 2D GDI+ drawing in pixels. Coordinates outside this range will cause overflow exceptions to occur. Gets or sets the drawing filter that can be used to narrow the list of features and then cycle through those features. Using a for-each expression on the filter will automatically apply the constraints specified by the characteristics. Gets or sets a string name for this layer. This is not necessarily the same as the legend text. Gets or sets the chunk size on the drawing filter. This should be controlled by drawing layers. Gets or sets the underlying dataset for this layer, specifically as an IFeatureSet Gets underlying dataset for this layer Controls the drawn states according to a feature index. This is used if the EditMode is false. When EditMode is true, then drawn states are tied to the features instead. Gets or sets a boolean. If edit mode is true, feature index is ignored, and features are assumed to be entirely loaded into ram. If edit mode is false, then index is used instead and features are not assumed to be loaded into ram. Gets the envelope of the DataSet supporting this FeatureLayer Gets or sets the label layer Restructures the LegendItems based on whether or not the symbology makes use of schemes. Gets a Selection class that is allows the user to cycle through all the selected features with a foreach method. This can be null. Gets or sets the shared characteristics to use with the selected features. Gets or sets whether labels should be drawn. Gets or sets and interface for the shared symbol characteristics between point, line and polygon features Gets the current feature scheme, but to change it ApplyScheme should be called, so that feature categories are updated as well. Inverts the selection Creates a new instance of FeatureLayerEventArgs Gets or sets the feature layer for this event Creates a new instance of FeatureLayerSelectionEventArgs Gets the list of changed features FeatureScheme IFeatureScheme Creates a list of all 'unique value' categories. This will use the "VectorEditorSettings" to determine how to create the values, so ensure that you update that property first. The attribute source that can provide the attribute information. The progress handler for showing progress on what is likely a slow process Creates the categories using the specified data table Uses the settings on this scheme to create a random category. A new IFeatureCategory The filter expression to use This keeps the existing categories, but uses the current scheme settings to apply a new color to each of the symbols. When using this scheme to define the symbology, these individual categories will be referenced in order to create genuine categories (that will be cached). Queries this layer and the entire parental tree up to the map frame to determine if this layer is within the selected layers. Occurs when a category indicates that its filter expression should be used to select its members. Occurs when the deselect features context menu is clicked. Gets or sets the dialog settings Gets or sets a boolean that indicates whether or not the legend should draw this item as a categorical tier in the legend. If so, it will allow the LegendText to be visible as a kind of group for the categories. If not, the categories will appear directly below the layer.C:\dev\Mapwindow6Dev\DotSpatial\DotSpatial\Drawing\Vectors\Points\PointCategoryCollection.cs Gets the number of categories of this scheme. Gets or sets the UITypeEditor to use for editing this FeatureScheme Creates a new instance of FeatureScheme When using this scheme to define the symbology, these individual categories will be referenced in order to create genuine categories (that will be cached). Queries this layer and the entire parental tree up to the map frame to determine if this layer is within the selected layers. Special handling of not copying the parent during a copy operation Handles the special case of not copying the parent during an on copy properties operation Ensures that the parentage gets set properly in the event that this scheme is not appearing in the legend. This keeps the existing categories, but uses the current scheme settings to apply a new color to each of the symbols. Creates categories either based on unique values, or classification method. If the method is The System.DataTable to that has the data values to use Uses the settings on this scheme to create a random category. A new IFeatureCategory The filter expression to use This simply ensures that we are creating the appropriate empty filter expression version of create random category. Gets the values from a file based data source rather than an in memory object. Before attempting to create categories using a color ramp, this must be calculated to updated the cache of values that govern statistics and break placement. The data Table to use. Returns Gets a list of all unique values of the attribute field. Gets a list of all unique values of the attribute field. This checks the type of the specified field whether it's a string field This checks the type of the specified field whether it's a string field Instructs the parent layer to select features matching the specified expression. The object sender. The event args. Instructs the parent layer to select features matching the specified expression. The object sender. The event args. Uses the current settings to generate a random color between the start and end color. A Randomly created color that is within the bounds of this scheme. This replaces the constant size calculation with a size calculation that is appropriate for features. The integer count of the number of sizes to create. A list of double valued sizes. Calculates the unique colors as a scheme The featureset with the data Table definition The unique field Func for creating category Occurs when a category indicates that its filter expression should be used to select its members. Occurs when the deselect features context menu is clicked. Occurs when there are more than 1000 unique categories. If the "Cancel" is set to true, then only the first 1000 categories are returned. Otherwise it may allow the application to lock up, but will return all of them. If this event is not handled, cancle is assumed to be true. Occurs Gets or sets a boolean that indicates whether or not the legend should draw this item as a categorical tier in the legend. If so, it will allow the LegendText to be visible as a kind of group for the categories. If not, the categories will appear directly below the layer. Gets or sets the dialog settings Gets or sets the UITypeEditor to use for editing this FeatureScheme Gets the number of categories in this scheme An enumerable of LegendItems allowing the true members to be cycled through. IFilterCollection ISelection Clears the selection Add REgion Returns a new featureset based on the features in this collection Generates a list of the features that match this collection Gets the integer count of the members in the collection Calculates the envelope of this collection Gets or sets the handler to use for progress messages during selection. Selection Mode controls how envelopes are treated when working with geometries. Gets or sets whether this should work as "Selected" indices (true) or "UnSelected" indices (false). Setting this to a specific category will only allow selection by region to affect the features that are within the specified category. Clears the selection Gets the integer count of the members in the collection Gets the drawing filter used by this collection. Creates a new instance of FilterCollection, where the current state of the filter is recorded as the kind of "collection" that this item belongs to. The filter can be altered later, and this will retain the original state. Adding a feature state sets the drawing state of the item to be The item to add to this category Occurs if this list is set to read-only in the constructor This uses extent checking (rather than full polygon intersection checking). It will add any members that are either contained by or intersect with the specified region depending on the SelectionMode property. The order of operation is the region acting on the feature, so Contains, for instance, would work with points. The affected area of this addition True if any item was actually added to the collection Inverts the selection based on the current SelectionMode The geographic region to reverse the selected state The affected area to invert This cycles through all the members in the current grouping and re-sets the current category back to the default setting. In other words, if the active type is selection, then this will unselect all the features, but won't adjust any of the other categories. Occurs if this list is set to read-only in the constructor Tests to see if the item is contained in this collection. Copies each of the members of this group to the specified array Gets the enumerator for this collection. Removes the specified item from the subset of this classification if that category is used. Selected -> !Selected Category[>0] -> Category[0] Category[0] -> Null Visible -> !Visible Chunk -> -1 or basically a chunk index that is never drawn. The item to change the drawing state of Boolean, false if the item does not match the current grouping Occurs if this list is set to read-only in the constructor Tests each member currently in the selected features based on the SelectionMode. If it passes, it will remove the feature from the selection. The geographic region to remove A geographic area that was affected by this change. Boolean, true if the collection was changed As an example, choosing myFeatureLayer.SelectedFeatures.ToFeatureSet creates a new set. An in memory featureset that has not yet been saved to a file in any way. Exports the members of this collection as a list of IFeature. A List of IFeature The new row will be added to the underlying featureset, and this selection will not be updated in any way, as that row is not associated with a featureset here. The new row will be added to the underlying featureset, and this selection will not be updated in any way, as that row is not associated with a featureset here. Collections can be nested, but for instance if you have gone into category[2].SelectedFeatures and want to remove an item, then we would expect it to show up in Category[2].UnSelectedFeatures, not in Category[0].UnselectedFeatures. So while add necessarilly acts on every filter constraint, remove or clear only operates on the most intimate. The ActiveType records which criteria that is. Gets the feature list of underlying features that the filter is using This cycles through the entire enumeration, so don't access this in every loop. Gets the envelope that represents the features in this collection. If the collection changes, this will be invalidated automatically, and the next envelope request will re-calcualte the envelope. Gets the drawing filter used by this collection. Gets whether or not this collection can be edited with add, remove, or clear. Gets or sets the handler to use for progress messages during selection. Setting this to a specific category will only allow selection by region to affect the features that are within the specified category. Gets or sets the scheme category to use Gets the integer chunk that the filter should use If UseSelection is true, this will get or set the boolean selection state that will be used to select values. Gets or sets a boolean that indicates whether the filter should subdivide based on category. Gets or sets a boolean that indicates whether we should use the chunk Gets or sets a boolean that indicates whether this filter should use the Selected Gets or sets the boolean indicating whether or not this feature should be drawn. Gets or sets a boolean that specifies whether to return visible, or hidden features if UseVisibility is true. True if members of this collection are considered selected, false otherwise. Gets or sets the selection mode to use when Adding or Removing features from a specified envelope region. FeatureSymbolizer IFeatureSymbolizer Draws a simple rectangle in the specified location. Sets the outline, assuming that the symbolizer either supports outlines, or else by using a second symbol layer. The color of the outline The width of the outline in pixels Gets or sets a boolean indicating whether or not this specific feature should be drawn. Gets or Sets a ScaleModes enumeration that determines whether non-coordinate drawing properties like width or size use pixels or world coordinates. If pixels are specified, a back transform is used to approximate pixel sizes. Gets or sets the smoothing mode to use that controls advanced features like anti-aliasing. By default this is set to antialias. Gets or sets the graphics unit to work with. Creates a new instance of FeatureSymbolizer Sets the outline, assuming that the symbolizer either supports outlines, or else by using a second symbol layer. The color of the outline The width of the outline in pixels Draws a simple rectangle in the specified location. Occurs during the copy properties method, when copying properties from the source symbolizer to this symbolizer. The source symbolizer to copy properties from. Gets or sets a boolean indicating whether or not this specific feature should be drawn. Gets or Sets a ScaleModes enumeration that determines whether non-coordinate drawing properties like width or size use pixels or world coordinates. If pixels are specified, a back transform is used to approximate pixel sizes. Gets or sets the smoothing mode to use that controls advanced features like anti-aliasing. By default this is set to antialias. Gets or sets the graphics unit to work with. Creates a new instance of FeatureSymbolizerEventArgs Gets or sets the feature symbolizer for this event This contains the shared symbolizer properties between Points, Lines and Polygons. This contains the set of symbology members that are shared between points, lines and polygons. Gets or sets the color of the brush used to fill the shape. Setting this will change the brush to a new SolidBrush. Gets or sets the brush used to fill the shape. Gets or sets whether or not to use a texture when drawing these lines. By default, this either checks the DefaultLineProvider or else it is false. Gets or sets a string name to help identify this Symbolizer Gets or sets a float value from 0 to 1 where 0 is completely transparent and 1 is completely solid. Setting an alpha of a specific feature, like FillColor, to something less than 255 will control that feature's transparency without affecting the others. The final transparency of the feature will be that alpha multiplied by this value and rounded to the nearest byte. Gets or sets the string TextureFile to define the fill texture Gets or sets the actual bitmap to use for the texture. Gets or Sets a ScaleModes enumeration that determines whether non-coordinate drawing properties like width or size use pixels or world coordinates. If pixels are specified, a back transform is used to approximate pixel sizes. Gets or sets the smoothing mode to use that controls advanced features like anti-aliasing. By default this is set to antialias. This constructor takes on some default values, and assumes that it has no other underlying symblizer to reference. Draws a basic symbol to the specified rectangle The graphics surface to draw on The target to draw the symbol to Occurs in response to the legend symbol being painted The Graphics surface to draw on The box to draw to Gets or sets a boolean indicating whether or not this specific feature should be drawn. Gets or sets the solid color to be used for filling the symbol. This will also change the FillBrush to a solid brush of the specified color. Gets or sets the Brush to be used when filling this point. Setting this value will also change the FillColor property, but only if the brush is a SolidBrush. Gets or sets whether to use the specified TextureImage during drawing Gets or sets a string name to help identify this Symbolizer Gets or sets a float value from 0 to 1 where 0 is completely transparent and 1 is completely solid. Setting an alpha of a specific feature, like FillColor, to something less than 255 will control that feature's transparency without affecting the others. The final transparency of the feature will be that alpha multiplied by this value and rounded to the nearest byte. Gets or Sets a ScaleModes enumeration that determines whether non-coordinate drawing properties like width or size use pixels or world coordinates. If pixels are specified, a back transform is used to approximate pixel sizes. Gets or sets the smoothing mode to use that controls advanced features like anti-aliasing. By default this is set to antialias. Gets or sets the string TextureFile to define the fill texture Gets or sets the actual bitmap to use for the texture. Add, remove and clear methods don't work on all the categorical sub-filters, but rather only on the most immediate. Categories Chunks Selected or unselected Visible or not IIndexSelection Clears the selection Adds a range of indices all at once. The indices to add Removes a set of indices all at once Gets the integer count of the members in the collection IndexSelection Adds all of the specified index values to the selection The indices to add Add REgion Attempts to remove all the members from the collection. If one of the specified indices is outside the range of possible values, this returns false, even if others were successfully removed. This will also return false if none of the states were changed. The indices to remove Returns a new featureset based on the features in this collection Creates a new instance of IndexSelection Calculates the envelope of this collection Selection Mode controls how envelopes are treated when working with geometries. Gets or sets whether this should work as "Selected" indices (true) or "UnSelected" indices (false). Gets or sets the handler to use for progress messages during selection. Setting this to a specific category will only allow selection by region to affect the features that are within the specified category. This class cycles through the members Creates a new instance of IndexSelectionEnumerator IntervalMethods A numeric value fixes a constant separation between breaks. The breaks are set to being evenly spaced. Breaks are calculated according to the following restrictions: 1) break sizes follow a geometric progression 2) the number of breaks is specified 3) the sum of squares of the counts per bin is minimized Breaks start equally placed, but can be positioned manually instead. Jenks natural breaks looks for "clumping" in the data and attempts to group according to the clumps. The breaks are positioned to ensure close to equal quantities in each break. Not sure how this works yet. Something to do with standard deviations. IntervalSnapMethods Snap the chosen values to the nearest data value. No snapping at all is used Snaps to the nearest integer value. Disregards scale, and preserves a fixed number of figures. IPointSchemeCategory Gets or sets the symbolizer for this category Gets or sets the symbolizer to use to draw selected features from this category. A layer with drawing characteristics for LineStrings Gets or sets the drawing characteristics to use for this layer. Unable to assign a non-point symbolizer to a PointLayer Gets or sets the LineSymbolizer to use for selected properties. Gets or sets the categorical scheme for categorical drawing. IPointScheme Gets the list of scheme categories belonging to this scheme. ILineSymbolizer Draws the line that is needed to show this lines legend symbol. The graphics device to draw to. The rectangle that is used to calculate the lines position and size. Sequentially draws all of the strokes using the specified graphics path. The graphics device to draw to The graphics path that describes the pathway to draw The double scale width that when multiplied by the width gives a measure in pixels Gets the color of the top-most stroke. Sets the fill color fo the top-most stroke, and forces the top-most stroke to be a type of stroke that can accept a fill color if necessary. This gets the largest width of all the strokes. Setting this will change the width of all the strokes to the specified width, and is not recommended if you are using thin lines drawn over thicker lines. This forces the width to exist across all the strokes in this symbolizer. Gets or sets the list of strokes that will be combined to make up a single drawing pass for this line. PointSchemeCategory Creates a new instance of PointSchemeCategory Creates a new set of cartographic lines that together form a line with a border. Since a compound pen is used, it is possible to use this to create a transparent line with just two border parts. The selection symbolizer will be dark cyan bordering light cyan, but use the same dash and cap patterns. The fill color for the line The border color of the line The width of the entire line The dash pattern to use The style of the start and end caps Creates a new line category with the specified color and width The color of the unselected line The width of both the selected and unselected lines. Creates a new instanec of a default point scheme category where the geographic symbol size has been scaled to the specified extent. The geographic extent that is 100 times wider than the geographic size of the points. Creates a new category based on a symbolizer, and uses the same symbolizer, but with a fill and border color of light cyan for the selection symbolizer The symbolizer to use in order to create a category This gets a single color that attempts to represent the specified category. For polygons, for example, this is the fill color (or central fill color) of the top pattern. If an image is being used, the color will be gray. The System.Color that can be used as an approximation to represent this category. Gets the legend symbol size of the symbolizer for this category. Controls what happens in the legend when this item is instructed to draw a symbol. Sets the specified color as the color for the top most stroke. The color to apply Gets or sets the symbolizer for this category Gets or sets the symbolizer to use to draw selected features from this category. This is simply an alias to make things a tad (though not much) more understandable Instructs the parent layer to select features matching the specified expression. The object sender. The event args. Instructs the parent layer to select features matching the specified expression. The object sender where features were selected. The event args describing which expression was used. Ensures that newly added categories can navigate to higher legend items. The newly added legend item. Overrides the default OnCopy behavior to remove the duplicte SelectFeatures event handler Cycles through all the categories and resets the parent item. Gets or sets the parent line scheme Occurs when a category indicates that its filter expression should be used to select its members. Occurs when the deselect features context menu is clicked. LineFeatureTypeException Creates a new instance of LineFeatureTypeException Creates a new instance of LineFeatureTypeException The custom error message for this exception A layer with drawing characteristics for LineStrings Constructor Thrown if a non-line featureSet is supplied Constructor that also shows progress A featureset that contains lines An IProgressHandler for receiving status messages Thrown if a non-line featureSet is supplied Constructor that also shows progress. A featureset that contains lines. An IContainer that the line layer should be created in. An IProgressHandler for receiving status messages. Thrown if a non-line featureSet is supplied. Draws some section of the extent to the specified graphics object. The graphics object to draw to. The projection interface that specifies how to transform geographic coordinates to an image. Gets or sets the line symbolizer to use for the selection [TypeConverter(typeof(GeneralTypeConverter))] [Editor(typeof(LineSymbolizerEditor), typeof(UITypeEditor))] Gets or sets the FeatureSymbolizerOld determining the shared properties. This is actually still the PointSymbolizerOld and should not be used directly on Polygons or Lines. [TypeConverter(typeof(GeneralTypeConverter))] [Editor(typeof(LineSymbolizerEditor), typeof(UITypeEditor))] Unable to assign a non-point symbolizer to a PointLayer Gets or sets the line scheme subdividing the layer into categories. [TypeConverter(typeof(GeneralTypeConverter))] [Editor(typeof(LineSchemePropertyGridEditor), typeof(UITypeEditor))] PointScheme Creates a new instance of PointScheme with no categories added to the list yet. Draws the regular symbolizer for the specified cateogry to the specified graphics surface in the specified bounding rectangle. The integer index of the feature to draw. The Graphics object to draw to The rectangular bounds to draw in Reduces the index value of the specified category by 1 by exchaning it with the category before it. If there is no category before it, then this does nothing. The category to decrease the index of Re-orders the specified member by attempting to exchange it with the next higher index category. If there is no higher index, this does nothing. The category to increase the index of Adds a new scheme, assuming that the new scheme is the correct type. The category to add Removes the specified category The category to insert Inserts the category at the specified index The integer index where the category should be inserted The category to insert Suspends the category events Resumes the category events Clears the categories Uses the settings on this scheme to create a random category. A new IFeatureCategory If possible, use the template to control the colors. Otherwise, just use the default settings for creating "unbounded" colors. The integer count. The List of colors Calculates the unique colors as a scheme The featureset with the data Table definition The unique field Returns the line scheme as a feature categories collection Creates the category using a random fill color The base color to use for creating the category Creates the size A new polygon category Handle the event un-wiring and scheme update for the old categories The category collection to update. Handle the event wiring and scheme update for the new categories. The category collection to update Gets or sets the symbolic categories as a valid IPointSchemeCategoryCollection. [TypeConverter(typeof(CategoryCollectionConverter))] Gets the number of categories in this scheme LineSymbolizer Creates a new instance of LineSymbolizer Creates a new set of cartographic lines that together form a line with a border. Since a compound pen is used, it is possible to use this to create a transparent line with just two border parts. The fill color for the line The border color of the line The width of the entire line The dash pattern to use The style of the start and end caps Creates a new set of cartographic lines that together form a line with a border. Since a compound pen is used, it is possible to use this to create a transparent line with just two border parts. The fill color for the line The border color of the line The width of the entire line The dash pattern to use The style of the start cap The style of the end cap Creates a new instance of a LineSymbolizer using the various strokes to form a composit symbol. Creates a new instance of LineSymbolizer for handling selections. Boolean, true if this should be symbolized like a selected line. Creates a new LineSymbolizer with a single layer with the specified color and width. The color The line width Creates a line symbolizer that has a width that is scaled in proportion to the specified envelope as 1/100th of the width of the envelope. Draws a line instead of a rectangle. The graphics device to draw to. The rectangle that is used to calculate the lines position and size. Draws the line that is needed to show this lines legend symbol. The graphics device to draw to. The rectangle that is used to calculate the lines position and size. Sequentially draws all of the strokes using the specified graphics path. The graphics device to draw to. The graphics path that describes the pathway to draw The double scale width that when multiplied by the width gives a measure in pixels Gets the color of the top-most stroke. Sets the fill color fo the top-most stroke, and forces the top-most stroke to be a type of stroke that can accept a fill color if necessary. Gets the Size that is needed to show this line in legend with max. 2 decorations. This gets the largest width of all the strokes. Setting this will change the width of all the strokes to the specified width, and is not recommended if you are using thin lines drawn over thicker lines. This keeps the ratio of the widths the same, but scales the width up for all the strokes. Sets the outline, assuming that the symbolizer either supports outlines, or else by using a second symbol layer. The color of the outline The width of the outline in pixels Gets or sets the list of strokes, which define how the drawing pen should behave. [Editor(typeof(StrokesEditor), typeof(UITypeEditor))] [TypeConverter(typeof(GeneralTypeConverter))] LineSymbolizerEventArgs Creates a new instance of LineSymbolizerEventArgs Gets or sets the Symbolizer SimpleStroke Because we plan on making these XML serializable, the stroke allows us to open from a serialized situation without having to know in advance what kind of stroke we actually have. The main idea is to allow something like: Stroke myStroke = new Stroke(); myStroke.FromXml(myStream); Pen p = myStroke.ToPen(); This allows loading, saving and creating pens from the sub-types without ever knowing exactly what they are. All the basic subtypes can be obtained simply by casting this stroke into the appropriate interface. IStroke This is an optional expression that allows drawing to the specified GraphicsPath. Overriding this allows for unconventional behavior to be included, such as specifying marker decorations, rather than simply returning a pen. A pen is also returned publicly for convenience. The Graphics device to draw to the GraphicsPath to draw This is 1 for symbolic drawing, but could be any number for geographic drawing. Casts this stroke to the appropriate pen Gets a color to represent this line. If the stroke doesn't work as a color, then this color will be gray. Sets the color of this stroke to the specified color if possible. The color to assign to this color. Gets the stroke style for this stroke Gets a color to represent this line. If the stroke doesn't work as a color, then this color will be gray. Sets the color of this stroke to the specified color if possible. The color to assign to this color. This is an optional expression that allows drawing to the specified GraphicsPath. Overriding this allows for unconventional behavior to be included, such as specifying marker decorations, rather than simply returning a pen. A pen is also returned publicly for convenience. The Graphics device to draw to the GraphicsPath to draw This is 1 for symbolic drawing, but could be any number for geographic drawing. Uses the properties specified in this class to generate a pen. Defines this stroke as a new kind of stroke. Gets the stroke style of the inner stroke ISimpleStroke Gets or sets the color for this drawing layer Gets or sets the DashStyle for this stroke. (Custom is just solid for simple strokes) gets or sets the opacity of the color. 1 is fully opaque while 0 is fully transparent. Gets or sets the width of this line. In geographic ScaleMode, this width is the actual geographic width of the line. In Symbolic scale mode this is the width of the line in pixels. Creates a new instance of SimpleStroke Sets the width of the line as part of the constructor The double width of the line to set Creates a new simple stroke with the specified color The color to use for the stroke Creates a new simple stroke with the specified width and color Gets a color to represent this line. If the stroke doesn't work as a color, then this color will be gray. Sets the color of this stroke to the specified color if possible. The color to assign to this color. Creates a system drawing pen that has all of the symbolic information necessary for this stroke. The base width. In symbolic drawing this is 1, but in geographic drawing, this will be a number representing the result of a transform from projToPixel width. Handles randomization of simple stroke content The random generator to use for randomizing characteristics. Gets or sets the color for this drawing layer Gets or sets the dash style gets or sets the opacity of the color. 1 is fully opaque while 0 is fully transparent. Gets or sets the width of this line relative to the width passed in. ICartographicStroke Draws the line with max. 2 decorations. Otherwise the legend line might show only decorations. Gets the width and height that is needed to draw this stroke with max. 2 decorations. Gets or sets the OGC line characteristic that controls how connected segments are drawn where they come together. Gets or sets an array of floating point values ranging from 0 to 1 that indicate the start and end point for where the line should draw. gets or sets the DashCap for both the start and end caps of the dashes Gets or sets the DashPattern as an array of floating point values from 0 to 1 Gets or sets the line decoration that describes symbols that should be drawn along the line as decoration. Gets or sets the line cap for both the start and end of the line Gets or sets the line cap for both the start and end of the line This is a cached version of the horizontal pattern that should appear in the custom dash control. This is only used if DashStyle is set to custom, and only controls the pattern control, and does not directly affect the drawing pen. This is a cached version of the vertical pattern that should appear in the custom dash control. This is only used if DashStyle is set to custom, and only controls the pattern control, and does not directly affect the drawing pen. Gets or sets the floating poing offset (in pixels) for the line to be drawn to the left of the original line. (Internally, this will modify the width and compound array for the actual pen being used, as Pens do not support an offset property). Creates a new instance of CartographicStroke Getnerates a cartographic stroke of the specified color Creates a pen for drawing the non-decorative portion of the line. The base width in pixels that is equivalent to a width of 1 A new Pen Draws the line with max. 2 decorations. Otherwise the legend line might show only decorations. Draws the actual path, overriding the base behavior to include markers. Gets the width and height that is needed to draw this stroke with max. 2 decorations. Handles the randomization of the cartographic properties of this stroke. The random class that generates the random numbers Gets or sets an array of floating point values ranging from 0 to 1 that indicate the start and end point for where the line should draw. gets or sets the DashCap for both the start and end caps of the dashes Gets or sets the DashPattern as an array of floating point values from 0 to 1 Gets or sets the line decoration that describes symbols that should be drawn along the line as decoration. Gets or sets the line cap for both the start and end of the line Gets or sets the OGC line characteristic that controls how connected segments are drawn where they come together. Gets or sets the line cap for both the start and end of the line This is a cached version of the horizontal pattern that should appear in the custom dash control. This is only used if DashStyle is set to custom, and only controls the pattern control, and does not directly affect the drawing pen. This is a cached version of the vertical pattern that should appear in the custom dash control. This is only used if DashStyle is set to custom, and only controls the pattern control, and does not directly affect the drawing pen. Gets or sets the floating poing offset (in pixels) for the line to be drawn to the left of the original line. (Internally, this will modify the width and compound array for the actual pen being used, as Pens do not support an offset property). LineDecoration Given the points on this line decoration, this will cycle through and handle the drawing as dictated by this decoration. The double scale width for controling markers Gets the size that is needed to draw this decoration with max. 2 symbols. Gets or sets the decorative symbol Gets or sets a boolean that, if true, flips the first symbol in relation to the direction of the line. Gets or sets a boolean that, if true, reverses all of the symbols Gets or sets a boolean that, if true, will cause the symbol to be rotated according to the direction of the line. Arrows at the ends, for instance, will point along the direction of the line, regardless of the direction of the line. Gets or sets the number of symbols that should be drawn on each line. (not each segment). Gets or sets the percentual position between line start and end at which the single decoration gets drawn. Gets or sets the offset distance measured to the left of the line in pixels. LineDecoration Creates a new instance of LineDecoration Given the points on this line decoration, this will cycle through and handle the drawing as dictated by this decoration. The double scale width for controling markers Draws the given symbol at the position calculated from locationPoint and _offset. Graphics-object needed for drawing. StartPoint of the line locationPoint belongs to. Needed for caluclating the angle and the offset of the symbol. StopPoint of the line locationPoint belongs to. Needed for caluclating the angle and the offset of the symbol. Position where the center of the image should be drawn. Indicates whether the symbol should be flipped. Image that gets drawn. Matrix used for rotation. Flips the given angle by 180 degree. Angle, that should be flipped. Gets the angle of the line between StartPoint and EndPoint taking into account the direction of the line. StartPoint of the line. EndPoint of the line. Angle of the given line. Gets the size that is needed to draw this decoration with max. 2 symbols. Gets the length of the line between startpoint and endpoint. Startpoint of the line. Endpoint of the line. Length of the line. Gets the length of all the lines between startpoint and endpoint. Points of the lines we want to measure. Startpoint of measuring. Endpoint of measuring. Combined length of all lines between startpoint and endpoint. Calculates the offset needed to show the decoration spot of each line at the same position as it is shown for the horizontal line in the linesymbol editor window. Startpoint of the line the decoration spot belongs to. Endpoint of the line the decoration spot belongs to. Offset that must be added to the decoration spots locationPoint for it to be drawn with the given _offset. Get the decoration spots that result from the given line and segLength. The decoration spot needed for the endpoint is not included. Point-Array that contains the points of the line. Distance between two decoration spots. Index of the first point that belongs to the line. Index of the last point that belongs to the line. List of decoration spots that result from the given points and segLength. Handles the creation of random content for the LineDecoration. The Random class that generates random numbers Gets or sets the decorative symbol. Gets or sets a boolean that, if true, flips the first symbol in relation to the direction of the line. Gets or sets a boolean that, if true, reverses all of the symbols. Gets or sets a boolean that, if true, will cause the symbol to be rotated according to the direction of the line. Arrows at the ends, for instance, will point along the direction of the line, regardless of the direction of the line. Gets or sets the number of symbols that should be drawn on each line. (not each segment). Gets or sets the percentual position between line start and end at which the single decoration gets drawn. Gets or sets the offset distance measured to the left of the line in pixels. StrokeTypes The most complex form, containing a linear pattern that can have a hash as well as decorations This is not directly supported by DotSpatial, but is in fact, some new type that will have to be returned. Draws only the marker symbols where the line occurs, and uses the dash pattern to control placement. The simplest line, offering the easiest interface to use A hash line Uses a picture to generate a texture ModifySelectionModes Appends the newly selected features to the existing selection Subtracts the newly selected features from the existing features. Clears the current selection and selects the new features Selects the new features only from the existing selection IPointSchemeCategory Gets or sets the symbolizer for this category Gets or sets the symbolizer to use to draw selected features from this category. This is a specialized FeatureLayer that specifically handles point drawing Gets or sets the FeatureSymbolizerOld determining the shared properties. This is actually still the PointSymbolizerOld and should not be used directly on Polygons or Lines. Unable to assign a non-point symbolizer to a PointLayer Gets or sets the pointSymbolizer characteristics to use for the selected features. Gets the currently applied scheme. Because setting the scheme requires a processor intensive method, we use the ApplyScheme method for assigning a new scheme. This allows access to editing the members of an existing scheme directly, however. IPointScheme Gets the list of scheme categories belonging to this scheme. IPointSymbolizer Draws the symbol to the specified graphics object. Multiplies all the linear measurements, like width, height, and offset values by the specified value. The double precision value to multiply all of the values against. Gets the maximum size for all of the layers, modified by the offsets. This, in essence, represents the bounds for the entire symbol. This assumes that you wish to simply scale the various sizes. It will adjust all of the sizes so that the maximum size is the same as the specified size. The Size2D of the new maximum size Gets the color of the top-most symbol The color of the top-most symbol Sets the color of the top-most layer symbol The color to assign to the top-most layer. Gets or sets the list of symbols. PointSchemeCategory Creates a new instance of PointSchemeCategory Creates a new instanec of a default point scheme category where the geographic symbol size has been scaled to the specified extent. The geographic extent that is 100 times wider than the geographic size of the points. Creates a new category based on a symbolizer, and uses the same symbolizer, but with a fill and border color of light cyan for the selection symbolizer The symbolizer to use in order to create a category Creates a simple point category where the symbolizer is based on the simple characteristics. The selection symbolizer has the same shape and size, but will be colored cyan. The color of the regular symbolizer The shape of the regular symbolizer the size of the regular symbolizer Creates a new Point Category based on the specified character The character to use for the symbol The font family name to use as the font The color of the character The size of the symbol Creates a category where the picture is used for the symbol, and a selected symbol is created as the same symbol but with a cyan border. The image to use The size of the symbol Creates a category from the single symbol specified. If the symbol is colorable, the color of the selection symbol will be duplicated, but set to cyan. Creates a new Point Category from the list of symbols This gets a single color that attempts to represent the specified category. For polygons, for example, this is the fill color (or central fill color) of the top pattern. If an image is being used, the color will be gray. The System.Color that can be used as an approximation to represent this category. Sets the Color of the top symbol in the symbols. The color to set the point. Gets the legend symbol size of the symbolizer for this category Gets or sets the symbolizer for this category Gets or sets the symbolizer to use to draw selected features from this category. This is simply an alias to make things a tad (though not much) more understandable Instructs the parent layer to select features matching the specified expression. The object sender where features were selected. The event args describing which expression was used. Instructs the parent layer to select features matching the specified expression. The object sender where features were selected. The event args describing which expression was used. Ensures that newly added categories can navigate to higher legend items. The newly added legend item. Ensures that items are disconnected from parent items when removed from the collection. Overrides the OnCopy method to remove the SelectFeatures handler on the copy Cycles through all the categories and resets the parent item. Gets or sets the parent scheme. Occurs when a category indicates that its filter expression should be used to select its members. Occurs when the deselect features context menu is clicked. PointFeatureException Creates a new instance of PointFeatureTypeException Creates a new instance of PointFeatureTypeException, but with a custom error message The string error message to include in the exception This is a specialized FeatureLayer that specifically handles point drawing This creates a new layer with an empty dataset configured to the point feature type. Creates a new instance of a PointLayer without sending any status messages The IFeatureLayer of data values to turn into a graphical PointLayer Thrown if the featureSet FeatureType is not point or multi-point Creates a new instance of a PointLayer for storing and drawing points Any implentation of an IFeatureLayer A valid implementation of the IProgressHandler interface. Thrown if the featureSet FeatureType is not point or multi-point Creates a new instance of a PointLayer for storing and drawing points. Any implementation of an IFeatureLayer. An IContainer to contain this layer. A valid implementation of the IProgressHandler interface. Thrown if the featureSet FeatureType is not point or multi-point. Attempts to create a new PointLayer using the specified file. If the filetype is not does not generate a point layer, an exception will be thrown. A string fileName to create a point layer for. Any valid implementation of IProgressHandler for receiving progress messages A PointLayer created from the specified fileName. Attempts to create a new PointLayer using the specified file. If the filetype is not does not generate a point layer, an exception will be thrown. A string fileName to create a point layer for. A PointLayer created from the specified fileName. Gets or sets the pointSymbolizer characteristics to use for the selected features. Gets or sets the symbolic characteristics for this layer. Gets the currently applied scheme. Because setting the scheme requires a processor intensive method, we use the ApplyScheme method for assigning a new scheme. This allows access to editing the members of an existing scheme directly, however. PointScheme Creates a new instance of PointScheme with no categories added to the list yet. creates a new instance of the PointScheme, but assigns the specified symbolizer as the symbolizer to use on a single default category. The geographic point size for the default will be 1/100th the specified extent Draws the regular symbolizer for the specified cateogry to the specified graphics surface in the specified bounding rectangle. The integer index of the feature to draw. The Graphics object to draw to The rectangular bounds to draw in Adds a new scheme, assuming that the new scheme is the correct type. The category to add Reduces the index value of the specified category by 1 by exchaning it with the category before it. If there is no category before it, then this does nothing. The category to decrease the index of Re-orders the specified member by attempting to exchange it with the next higher index category. If there is no higher index, this does nothing. The category to increase the index of Removes the specified category The category to insert Inserts the category at the specified index The integer index where the category should be inserted The category to insert Suspends the category events Resumes the category events Clears the categories Uses the settings on this scheme to create a random category. A new IFeatureCategory If possible, use the template to control the colors. Otherwise, just use the default settings for creating "unbounded" colors. The integer count. The List of colors Calculates the unique colors as a scheme The featureset with the data Table definition The unique field Gets the point categories cast as FeatureCategories. This is enumerable, but should be thought of as a copy of the original, not the original itself. Creates the category using a random fill color The base color to use for creating the category The double size of the larger dimension of the point. A new polygon category Handle the event un-wiring and scheme update for the old categories The category collection to update. Handle the event wiring and scheme update for the new categories. The category collection to update Gets or sets the symbolic categories as a valid IPointSchemeCategoryCollection. [TypeConverter(typeof(CategoryCollectionConverter))] [Editor(typeof(PointCategoryCollectionEditor), typeof(UITypeEditor))] Gets the number of categories in this scheme PointSchemeFactory Creates a new instance of PointSchemeFactory where the data Table is specified. This causes the creation of a PointScheme Gets or sets the template symbol to use. If using a color gradient, the shape and size will remain the same. If using a size gradient, the color and shape will remain the same. Gets or sets the data Table that provides necessary information about the attributes for unique values to be calculated Gets or sets the string classification field to use Gets or sets the string field to use for normalization. Gets or sets the number of categories that will be used for classification schemes that don't come pre-configured with a given number of categories. PointSymbolizer Creates a new instance of PointSymbolizer Generates a new symbolizer with only one symbol. The symbol to use for creating this symbolizer Builds the new list of symbols from the symbols in the preset list or array of symbols. Creates a point symbolizer with one member, and that member is constructed based on the values specified. Creates a point symbolizer with one memberw, and that member is constructed from the specified image. The image to use as a point symbol The desired output size of the larger dimension of the image. Creates a new point symbolizer that has a character symbol based on the specified characteristics. The character to draw The font family to use for rendering the font The font color The size of the symbol Creates a new PointSymbolizer Sets the symbol type to geographic and generates a size that is 1/100 the width of the specified extents. Sets the outline, assuming that the symbolizer either supports outlines, or else by using a second symbol layer. The color of the outline The width of the outline in pixels Returns the encapsulating size when considering all of the symbol layers that make up this symbolizer. A Size2D This assumes that you wish to simply scale the various sizes. It will adjust all of the sizes so that the maximum size is the same as the specified size. The Size2D of the new maximum size Returns the color of the top-most layer symbol Sets the color of the top-most layer symbol The color to assign to the top-most layer. Draws the specified value The Graphics object to draw to The Rectangle defining the bounds to draw in Draws the point symbol to the specified graphics object by cycling through each of the layers and drawing the content. This assumes that the graphics object has been translated to the specified point. Graphics object that is used for drawing. Scale size represents the constant to multiply to the geographic measures in order to turn them into pixel coordinates Multiplies all the linear measurements, like width, height, and offset values by the specified value. The double precision value to multiply all of the values against. This controls randomly creating a single random symbol from the symbol types, and randomizing it. Gets or sets the set of layered symbols. The symbol with the highest index is drawn on top. PointSymbolizerEventArgs Creates a new instance of PointSymbolizerEventArgs Gets the symbolizer cast as an IPointSymbolizer CharacterSubsets Basic Latin Latin-1 Supplement Latin Extended-A Latin Extended-B IPA Extensions Spacing Modifier Letters Combining Diacritical Marks Greek and Coptic Cyrillic Armenian Hebrew Arabic Devanagari Bengali Gumukhi Gujarati Oriya Tamil Teluga Kanada Malayalam Thai Lao Tibetan Georgian Hangul Jamo 4352 Latin Extended Additional Greek Extended General Punctuation Superscripts and Subscripts Currency Symbols Combining Diacritical Marks for Symbols Letterlike Symbols Number Forms Arrows Mathematical Operators Miscellaneous Technical Control Pictures Optical Character Recognition Enclosed Alphanumerics Box Drawing Block Elements Geometric Shapes Miscellaneous Symbols Dingbats CJK Symbols and Punctuation Hiragana Katakana Bopomofo Hangul Compatibility Kanbun Enclosed CJK Letters and Months CJK Compatibility CJK Unified Ideographs Hangul Syllables Private Use Area CJK Compatibility Ideographs Alphabetic Presentation Forms Arabic Presentation Forms Combining Half Marks CJK Compatibility Forms Small Form Variants Arabic Presentation Forms-B Halfwidth and fullwidth Forms Specials CharacterSymbol A point symbolizer, is comprized of a set of symbols drawn one on top of the other. This represents the base class for one of those symbols. The specialized type, like CharacterSymbol, SimpleSymbol, and PictureSymbol. ISymbol Only copies the shared placement aspects (Size, Offset, Angle) from the specified symbol. The symbol to copy values from. Takes into account the size, angle, and offset to calculate a rectangular bounding size that completely contains the current symbol. A SizeD representing a size that contains the offset, rotated symbol. Draws this symbol to the graphics object given the symbolizer that specifies content across the entire set of scales. The graphics object should be adjusted so that (0, 0) is the center of the symbol. If this should draw in pixels, this should be 1. Otherwise, this should be the constant that you multiply against so that drawing using geographic units will draw in pixel units. Multiplies all of the linear measurements found in this Symbol by the specified value. This is especially useful for changing units. The double precision floating point value to scale by. Modifies this symbol in a way that is appropriate for indicating a selected symbol. This could mean drawing a cyan outline, or changing the color to cyan. Gets a color to represent this point. If the point is using an image, then this color will be gray. Sets the primary color of this symbol to the specified color if possible The Color to assign Gets or sets the double precision floating point that controls the angle in degrees counter clockwise. Gets or sets the 2D offset for this particular symbol Gets or sets the size Gets the symbol type for this symbol. Creates a new instance of Symbol This creates a wrapper class encapsulates one of the available subclasses for symbol, enumerating the different options. The type to use for this symbol. Gets a color to represent this point. If the point is using an image, then this color will be gray. Sets the primary color of this symbol to the specified color if possible The Color to assign Only copies the shared placement aspects (Size, Offset, Angle) from the specified symbol. The symbol to copy values from. Draws this symbol to the graphics object given the symbolizer that specifies content across the entire set of scales. The graphics object should be adjusted so that (0, 0) is the center of the symbol. If this should draw in pixels, this should be 1. Otherwise, this should be the constant that you multiply against so that drawing using geographic units will draw in pixel units. Calculates a size that would be necessary to contain the entire symbol, taking rotation and offset into account. Multiplies all of the linear measurements found in this Symbol by the specified value. This is especially useful for changing units. The double precision floating point value to scale by. Modifies this symbol in a way that is appropriate for indicating a selected symbol. This could mean drawing a cyan outline, or changing the color to cyan. Occurs during drawing. The graphics object will already be rotated by the specified angle and adjusted according to the specified offset. The mask will also be drawn before the point. An overrideable implementation of randomizing the values for this class. This can be useful for generating random symbols or else for unit testing. The random number generator to use. This occurs when the symbol is being instructed to scale. The linear measurements are all multiplied by the specified value. This allows for additional behavior to be programmed, or the original behavior to be overridden or replaced. The double precision value to scale by. Gets or sets the double precision floating point that controls the angle in degrees counter clockwise. Gets or sets the 2D offset for this particular symbol Gets or sets the size Gets the symbol type for this symbol. ICharacterSymbol Gets or sets the Color Gets or sets the opacity Gets the string equivalent of the specified character code. A string version of the character Gets the unicode category for this character. Gets or sets the character that this represents. Unicode characters consist of 2 bytes. This represents the first byte, which can be thought of as specifying a typeset. Gets or sets the byte code for the lower 256 values. This represents the specific character in a given "typeset" range. [Editor(typeof(CharacterCodeEditor), typeof(UITypeEditor))] Gets or sets the string font family name to use for this character set. [Editor(typeof(FontFamilyNameEditor), typeof(UITypeEditor))] Gets or sets the font style to use for this character layer. Creates a new instance of CharacterSymbol Creates a new instance of CharacterSymbol The character to use for the symbol Creates a new instance of CharacterSymbol The character to use for the symbol The font family for the character Creates a new instance of CharacterSymbol The character to use for the symbol The font family for the character The color for the character Creates a new instance of CharacterSymbol The character to use for the symbol The font family for the character The color for the character The size for the symbol Gets the font color of this symbol to represent the color of this symbol The color of this symbol as a font Sets the fill color of this symbol to the specified color The Color Modifies this symbol in a way that is appropriate for indicating a selected symbol. This could mean drawing a cyan outline, or changing the color to cyan. Gets the string equivalent of the specified character code. A string version of the character Because there is no easy range calculation supported in dot net (as compared to GDI32) that I can find, I assume that the unsupported values will come back as an open box, or at least identical in glyph form to a known unsupported like Arial 1024. (Not to be confused with Arial Unicode MS, which has basically everything. Overrides the default behavior and attempts to draw the specified symbol Extends the randomize code to include the character aspects, creating a random character. However, since most fonts don't support full unicode values, a character from 0 to 255 is chosen. The random class generator Supports serialization even though Colors can't be serialized Gets the unicode category for this character. Gets or sets the character that this represents. Unicode characters consist of 2 bytes. This represents the first byte, which can be thought of as specifying a typeset. Gets or sets the byte code for the lower 256 values. This represents the specific character in a given "typeset" range. //Editor(typeof(CharacterCodeEditor), typeof(UITypeEditor)) Gets or sets the color Gets or sets the string font family name to use for this character set. //Editor(typeof(FontFamilyNameEditor), typeof(UITypeEditor)), Gets or sets the opacity as a floating point value ranging from 0 to 1, where 0 is fully transparent and 1 is fully opaque. This actually adjusts the alpha of the color value. Gets or sets the font style to use for this character layer. IOutlined Gets or sets the outline color that surrounds this specific symbol. (this will have the same shape as the symbol, but be larger. This redefines the Alpha channel of the color to a floating point opacity that ranges from 0 to 1. Gets or sets the size of the outline beyond the size of this symbol. Gets or sets the boolean outline IOutlinedSymbol Copies only the use outline, outline width and outline color properties from the specified symbol. The symbol to copy from. IPictureSymbol Gets or sets the image to use when the PictureMode is set to Image Gets or sets the string fileName, if any, associated with the image file. Setting this will automatically also load the Image. Gets or sets the opacity for this image. Setting this will automatically change the image in memory. ISimpleSymbol Gets or sets the PointTypes enumeration that describes how to draw the simple symbol. OutlinedSymbol Creates a new instance of OutlinedSymbol Copies only the use outline, outline width and outline color properties from the specified symbol. The symbol to copy from. Handles the drawing code, extending it to include some outline content. Actually handles the rendering of the outline itself. Occurs during the randomize process and allows future overriding of the process for sub-classes Provided for XML serialization Gets or sets the outline color that surrounds this specific symbol. (this will have the same shape as the symbol, but be larger. This redefines the Alpha channel of the color to a floating point opacity that ranges from 0 to 1. Gets or sets the size of the outline beyond the size of this symbol. Gets or sets the boolean outline ImageModes The icon property should be used for storing image data The image property should be used for storing image data PictureSymbol Creates a new instance of PictureSymbol Creates a new instance of a PictureSymbol from the specified image The image to use when creating the symbol Creates a new instance of a PictureSymbol from the specified image. The larger dimension from the image will be adjusted to fit the size, while the smaller dimension will be kept proportional. The image to use for this symbol The double size to use for the larger of the two dimensions of the image. Creates a new instance of a PictureSymbol from the specified icon The icon to use when creating this symbol Creates a new PictureSymbol given an existing imageData object. The imageData object to use. Disposes the current images This helps the copy process by preparing the internal variables AFTER memberwiseclone has created this OnDraw Graphics object The double scale Size We can randomize the opacity Overrideable functions for handling the basic disposal of image classes in this object. This is set to true when the dispose method is called. This will be set to false again if the image is set after that. Gets or sets the image in 'base64' string format. This can be used if the image file name is not set. Gets or sets the image to use when the PictureMode is set to Image Gets or sets the string image fileName to use Gets or sets the opacity for this image. Setting this will automatically change the image in memory. Allows the selection of several pre-defined shapes that have built in drawing code. Like a rectangle, but oriented with the points vertically An rounded elipse. The Size parameter determines the size of the ellipse before rotation. A hexagon drawn to fit the size specified. Only the smaller dimension is used. A rectangle fit to the Size before any rotation occurs. A pentagon drawn to fit the size specified. Only the smaller dimension is used. A star drawn to fit the size. Only the smaller size dimension is used. Triangle with the point facing upwards initially. The default value. SimpleSymbol Creates a new instance of SimpleSymbol Creates a point symbol with the specified color. The color of the symbol. Creates a point symbol with the specified color and shape. The color of the symbol. The shape of the symbol. Creates a SimpleSymbol with the specified color, shape and size. The size is used for both the horizontal and vertical directions. The color of the symbol. The shape of the symbol. The size of the symbol. Gets the font color of this symbol to represent the color of this symbol The color of this symbol as a font Sets the fill color of this symbol to the specified color. The Color. Handles the specific drawing for this symbol. The System.Drawing.Graphics surface to draw with. A double controling the scaling of the symbol. Occurs during the randomizing process Draws a 5 pointed star with the points having twice the radius as the bends. The GraphicsPath to add the start to The SizeF size to fit the Start to Draws a 5 pointed star with the points having twice the radius as the bends. The Graphics surface to draw on The Pen to draw the border with The Brush to use to fill the Star The SizeF size to fit the Start to Draws an ellipse on the specified graphics surface. The GraphicsPath to add this shape to The size to fit the ellipse into (the ellipse will be centered at 0, 0) Draws an ellipse on the specified graphics surface. The graphics surface to draw on The Pen to use for the border, or null if no border should be drawn The Brush to use for the fill, or null if no fill should be drawn The size to fit the ellipse into (the ellipse will be centered at 0, 0) Draws a regular polygon with equal sides. The first point will be located all the way to the right on the X axis. Specifies the GraphicsPath surface to draw on Specifies the SizeF to fit the polygon into Specifies the integer number of sides that the polygon should have Draws a regular polygon with equal sides. The first point will be located all the way to the right on the X axis. Specifies the Graphics surface to draw on Specifies the Pen to use for the border Specifies the Brush to use for to fill the shape Specifies the SizeF to fit the polygon into Specifies the integer number of sides that the polygon should have Only provided because XML Serialization doesn't work for colors Gets or sets the Color Gets or sets the opacity as a floating point value ranging from 0 to 1, where 0 is fully transparent and 1 is fully opaque. This actually adjusts the alpha of the color value. Gets or sets the PointTypes enumeration that describes how to draw the simple symbol. SymbolListEM Calculates the bounding size for this entire symbol. SymbolTypes A symbol based on a character, including special purpose symbolic character sets. An extended, custom symbol that is not part of the current design. A symbol based on an image or icon. A symbol described by a simple geometry, outline and color. IPointSchemeCategory Gets or sets the symbolizer for this category Gets or sets the symbolizer to use to draw selected features from this category. A layer with drawing characteristics for LineStrings Gets or sets the symbolizer describing the selection on the default category. Gets or sets the symbolizer describing the symbolizer on the default category. Gets or sets the polygon scheme that symbolically breaks down the drawing into symbol categories. IPointScheme Gets the list of scheme categories belonging to this scheme. IPolygonSymbolizer Gets the color of the top-most pattern, if it is a simple pattern, or return Color.Empty otherwise Sets the color, forcing a simple pattern if necessary Gets the color of the top-most pattern This gets the largest width of all the strokes of the outlines of all the patterns. Setting this will forceably adjust the width of all the strokes of the outlines of all the patterns. Forces the specified width to be the width of every stroke outlining every pattern. The width to force as the outline width Gets or sets the method for drawing the lines that make up the borders of this polygon gets or sets the list of patterns to use for filling polygons. An interface for a symbolizer specific to polygons. Gets or sets the border symbolizer Gets or sets a boolean that determines whether or not the polygon border should be drawn. GradientPattern The pattern can act as both the base class for specific types of pattern as well as a wrapper class that allows for an enumerated constructor that makes it easier to figure out what kinds of patterns can be created. IPattern Copies the properties defining the outline from the specified source onto this pattern. The source pattern to copy outline properties from. Fills the specified graphics path with the pattern specified by this object The Graphics device to draw to The GraphicsPath that describes the closed shape to fill Draws the borders for this graphics path by sequentially drawing all the strokes in the border symbolizer The Graphics device to draw to The GraphicsPath that describes the outline to draw The scaleWidth to use for scaling the line width Gets a color that can be used to represent this pattern. In some cases, a color is not possible, in which case, this returns Gray. A single System.Color that can be used to represent this pattern. Sets the color that will attempt to be applied to the top pattern. If the pattern is not colorable, this does nothing. Gets or sets the rectangular bounds. This controls how the gradient is drawn, and should be set to the envelope of the entire layer being drawn Gets or sets the line symbolizer that is the outline for this pattern. Gets the pattern type of this pattern. Gets or sets a boolean indicating whether or not the pattern should use the outline symbolizer. Creates a new instance of Pattern Creates a new pattern with the specified type The subclass of pattern to use as the internal pattern Gets a color that can be used to represent this pattern. In some cases, a color is not possible, in which case, this returns Gray. A single System.Color that can be used to represent this pattern. Sets the color that will attempt to be applied to the top pattern. If the pattern is not colorable, this does nothing. Copies the properties defining the outline from the specified source onto this pattern. The source pattern to copy outline properties from. Fills the specified graphics path with the pattern specified by this object The Graphics device to draw to The GraphicsPath that describes the closed shape to fill Draws the borders for this graphics path by sequentially drawing all the strokes in the border symbolizer The Graphics device to draw to The GraphicsPath that describes the outline to draw The scaleWidth to use for scaling the line width Occurs when the item is changed This is not currently used, but technically should cause the list of patterns to remove this pattern. Fires the item changed event Not Used Gets or sets the rectangular bounds. This controls how the gradient is drawn, and should be set to the envelope of the entire layer being drawn Gets or sets the ILineSymbolizer that describes the outline symbology for this pattern. [TypeConverter(typeof(GeneralTypeConverter))] [Editor(typeof(LineSymbolizerEditor), typeof(UITypeEditor))] Gets or sets the pattern type. Setting this Gets or sets a boolean indicating whether or not the pattern should use the outline symbolizer. IGradientPath Gets or sets the angle for the gradient pattern. Gets or sets an array of colors that match the corresponding positions. The length of colors and positions should be the same length. The positions as floating point values from 0 to 1 that represent the corresponding location in the gradient brush pattern. Gets or sets the gradient type Creates a new instance of GradientPattern Creates a new instance of a Gradient Pattern using the specified colors Creates a new instance of a Gradient Pattern using the specified colors and angle The start color The end color The direction of the gradient, measured in degrees clockwise from the x-axis Creates a new instance of a Gradient Pattern using the specified colors and angle The start color The end color The direction of the gradient, measured in degrees clockwise from the x-axis Controls how the gradient is drawn Gets a color that can be used to represent this pattern. In some cases, a color is not possible, in which case, this returns Gray. A single System.Color that can be used to represent this pattern. Sets the fill color, keeping the approximate gradiant RGB changes the same, but adjusting the mean color to the specifeid color. The mean color to apply. Handles the drawing code for linear gradient paths. Gets or sets the angle for the gradient pattern. Gets or sets the end color Gets or sets the start color Gets or sets the gradient type GradientTypes Draws the gradient with the start color for the center of the circle and the end color for the surround color Draws the gradient with the start color for the center of the circle and the end color for the color at the contour. Draws the gradient in a line with a specified direction Draws the gradient in a rectangular path with the start color at the center and the end color for the surround color HatchPattern IHatchPattern Gets or sets the hatch style Gets or sets the fore color of the hatch pattern Sets the opacity of this simple pattern by modifying the alpha channel of the fill color. Gets or sets the background color of the hatch pattern Sets the opacity of this simple pattern by modifying the alpha channel of the fill color. Creates a new instance of HatchPattern Creates a new HatchPattern with the specified image The hatch style to use the forecolor to use the background color to use Instructs the drawing code to fill the specified path with the specified pattern The Graphics device to draw to The GraphicsPath to fill Gets the forecolor Sets the foreColor to the specified color Gets or sets the hatch style Gets or sets the fore color of the hatch pattern Sets the opacity of this simple pattern by modifying the alpha channel of the fill color. Gets or sets the background color of the hatch pattern Sets the opacity of this simple pattern by modifying the alpha channel of the fill color. IPicturePattern Opens the specified image or icon file to a local copy. Icons are converted into bitmaps. The string fileName to open. Gets or sets the angle for the texture in degrees. Gets the string dialog filter that represents the supported picture file formats. Gets or sets the image to use as a repeating texture Gets or sets the picture fileName. Setting this will load the picture. Gets or sets a multiplier that should be multiplied against the width and height of the picture before it is used as a texture in pixel coordinates. Gets or sets the wrap mode. ISimplePattern Gets or sets solid Color used for filling this pattern. Sets the opacity of this simple pattern by modifying the alpha channel of the fill color. PatternTypes A pattern that gradually changes from one color to another A pattern comprised of evenly spaced lines A pattern comprised of point symbolizers A pattern comprised of a tiled texture A pattern comprised strictly of a fill color. PicturePattern Creates a new instance of PicturePattern Creates a new PicturePattern with the specified image The picture to draw The way to wrap the picture The angle to rotate the image Opens the specified image or icon file to a local copy. Icons are converted into bitmaps. The string fileName to open. Disposes the image picture for this PicturePattern. Instructs the drawing code to fill the specified path with the specified image. The Graphics device to draw to The GraphicsPath to fill Gets or sets the angle for the texture in degrees. Gets the string dialog filter that represents the supported picture file formats. Gets or sets the image to use as a repeating texture Gets or sets the picture fileName. Setting this will load the picture. Gets or sets a multiplier that should be multiplied against the width and height of the picture before it is used as a texture in pixel coordinates. Gets or sets the wrap mode. SimplePattern Creates a new instance of SimplePattern Creates a new SimplePattern with the specified fill color The fill color to use for this simple pattern Gets the fill color Sets the fill color Fills the path The Graphics device to draw to The GraphicsPath to fill using this pattern Gets or sets solid Color used for filling this pattern. Sets the opacity of this simple pattern by modifying the alpha channel of the fill color. PointSchemeCategory Creates a new instance of PointSchemeCategory Specifies a category that is made up from a simple color. The color to fill the polygons with The border color for the polygons The width of the line drawn on the border Creates a new PolygonCategory with the specified image being tiled within the category. The s The picture to draw The way to wrap the picture The angle to rotate the image Creates a new PolygonCategory with the specified image being tiled within the category. The simple outline characteristics are also defined. The picture to draw The way to wrap the picture The angle to rotate the image The color to use The outline width Creates a new instance of a Gradient Pattern using the specified colors and angle The start color The end color The direction of the gradient The type of gradient to use The color to use for the border symbolizer The width of the line to use for the border symbolizer Creates a new category based on a symbolizer, and uses the same symbolizer, but with a fill and border color of light cyan for the selection symbolizer The symbolizer to use in order to create a category This gets a single color that attempts to represent the specified category. For polygons, for example, this is the fill color (or central fill color) of the top pattern. If an image is being used, the color will be gray. The System.Color that can be used as an approximation to represent this category. Sets the fill color of the top-most pattern to the specified color, if the pattern can specify a color. Sets the color of the top most pattern for the principal symbolizer. A string representation of this category. String Gets or sets the symbolizer for this category Gets or sets the symbolizer to use to draw selected features from this category. This is simply an alias to make things a tad (though not much) more understandable Initializes a new PolygonCategoryCollection instance with the supplied scheme. Initializes a new PolygonCategoryCollection instance with the supplied scheme. The scheme to use ofr this collection. Instructs the parent layer to select features matching the specified expression. The object sender where features were selected. The event args describing the expression used for selection. Instructs the parent layer to select features matching the specified expression. The object sender where features were selected. The event args describing which expression was used. Ensures that newly added categories can navigate to higher legend items. The newly added legend item. Overrides the copy behavior to remove the now unnecessary SelecTFeatures event handler. Changes the parent item of the specified category Gets or sets the parent scheme for this collection Occurs when a category indicates that its filter expression should be used to select its members. Occurs when the deselect features context menu is clicked. PolygonFeatureTypeException Creates a new instance of PolygonFeatureTypeException Creates a new instance of PolygonFeatureTypeException The custom error message to use for this exception A layer with drawing characteristics for LineStrings Constructor A featureset that contains polygons Thrown if a non-polygon featureset is supplied. Constructor that also shows progress A featureset that contains polygons An IProgressHandler to receive progress messages Thrown if a non-polygon featureset is supplied. Initializes a new instance of the PolygonLayer class. A featureset that contains polygons. A Container to store the newly created layer in. An IProgressHandler to receive progress messages. Thrown if a non-polygon featureset is supplied. Draws some section of the extent to the specified graphics object. The graphics object to draw to. The projection interface that specifies how to transform geographic coordinates to an image. Gets or sets the symbolic characteristics for the members of this symbol class that have been selected. [TypeConverter(typeof(GeneralTypeConverter))] [Editor(typeof(PolygonSymbolizerEditor), typeof(UITypeEditor))] Gets or sets the default Polygon Symbolizer to use with all the lines on this layer. Setting this will not clear the existing individually specified Symbolizers, only the default symbolizer. [TypeConverter(typeof(GeneralTypeConverter))] [Editor(typeof(PolygonSymbolizerEditor), typeof(UITypeEditor))] Gets or sets the polygon scheme that symbolically breaks down the drawing into symbol categories. [TypeConverter(typeof(GeneralTypeConverter))] [Editor(typeof(PolygonSchemePropertyGridEditor), typeof(UITypeEditor))] PointScheme Creates a new instance of PointScheme with no categories added to the list yet. Initializes a new instance of the PolygonScheme class. THe featureset with the data Table definition to use for symbolizing. The string name of the field to use when calculating separate color codes. Unique entries will be assigned a random color. Calculates the unique colors as a scheme. The featureset with the data Table definition. The unique field. Draws the regular symbolizer for the specified cateogry to the specified graphics surface in the specified bounding rectangle. The integer index of the feature to draw. The Graphics object to draw to The rectangular bounds to draw in Adds a new scheme, assuming that the new scheme is the correct type. The category to add Reduces the index value of the specified category by 1 by exchaning it with the category before it. If there is no category before it, then this does nothing. The category to decrease the index of Re-orders the specified member by attempting to exchange it with the next higher index category. If there is no higher index, this does nothing. The category to increase the index of Inserts the category at the specified index The integer index where the category should be inserted The category to insert Removes the specified category The category to remove Suspends the category events Resumes the category events Clears the categories If possible, use the template to control the colors. Otherwise, just use the default settings for creating "unbounded" colors. The integer count. The List of colors Gets teh categories as an IEnumerable of type IFeatureCategory Creates the category using a random fill color The base color to use for creating the category This is ignored for polygons A new polygon category Uses the settings on this scheme to create a random category. A new IFeatureCategory Handle the event un-wiring and scheme update for the old categories The category collection to update. Handle the event wiring and scheme update for the new categories. The category collection to update Gets or sets the symbolic categories as a valid IPointSchemeCategoryCollection. Gets the number of categories in this scheme PolygonSymbolizer Creates a new instance of PolygonSymbolizer Creates a new instance of a polygon symbolizer The fill color to use for the polygons The border color to use for the polygons Creates a new instance of a solid colored polygon symbolizer The fill color to use for the polygons The border color to use for the polygons The width of the outline to use fo Creates a new instance of a Gradient Pattern using the specified colors and angle The start color The end color The direction of the gradient, measured in degrees clockwise from the x-axis Controls how the gradient is drawn Creates a new instance of a Gradient Pattern using the specified colors and angle The start color The end color The direction of the gradient, measured in degrees clockwise from the x-axis The type of gradient to use The color to use for the border symbolizer The width of the line to use for the border symbolizer Creates a new PicturePattern with the specified image The picture to draw The way to wrap the picture The angle to rotate the image Creates a new PicturePattern with the specified image The picture to draw The way to wrap the picture The angle to rotate the image The color to use for the border symbolizer The width of the line to use for the border symbolizer Creates a new symbolizer, using the patterns specified by the list or array of patterns. The patterns to add to this symbolizer. Specifies a polygon symbolizer with a specific fill color. The color to use as a fill color. Creates a new instance of PolygonSymbolizer Boolean, true if this should use selection symbology Sets the outline, assuming that the symbolizer either supports outlines, or else by using a second symbol layer. The color of the outline The width of the outline in pixels This gets the largest width of all the strokes of the outlines of all the patterns. Setting this will forceably adjust the width of all the strokes of the outlines of all the patterns. Forces the specified width to be the width of every stroke outlining every pattern. The width to force as the outline width Gets the fill color of the top-most pattern. Sets the fill color of the top-most pattern. If the pattern is not a simple pattern, a simple pattern will be forced. The Color structure Draws the polygon symbology The graphics device to draw to The target rectangle to draw symbology content to Occurs after the pattern list is set so that we can listen for when the outline symbolizer gets updated. Occurs before the pattern list is set so that we can stop listening for messages from the old outline. Gets or sets the Symbolizer for the borders of this polygon as they appear on the top-most pattern. gets or sets the list of patterns to use for filling polygons. PolygonSymbolizerEventArgs Creates a new instance of PolygonSymbolizerEventArgs Gets or sets the Symbolizer, casting it to an IPolygonSymbolizer A class that specifically controls the drawing for Polygons Constructor Gets or sets the polygon symbolizer Boolean, true if this should use a standard selection symbology of light cyan coloring Creates a new polygon symbolizer based on the specified parameters. The IEnvelope representing the base geometric size of the layer. This helps to estimate a useful geographic line width Boolean, true if this should use a standard selection symbology of light cyan coloring Replaces the drawing code so that the polygon characteristics are more evident. Gets or sets the border symbolizer Gets or sets a boolean that determines whether or not the polygon border should be drawn. QuickSchemeTypes Box-plot: Tukey 1977 Basically it is like subdividing the data into 4 quartiles, denoted like Q1, Q2, Q3, Q4. ------- Low Outlier (less than the Quartile - 3/2 Interquartile range) Q1 (Q1 - 3/2 the Interquartile range to Q1 Q2 (Quartile 1 to Median) Q3 (Median to Quartile 3) Q4 (Q3 to Q3 + 3/2 the Interquartile range High Outlier (Greater than Q3 plus the interquartile range The interval size is defined, rather than the number of subdivisions Symbolize so that the total range of values for a specific field are subdivided into a number of breaks where all the breaks cover the same difference in values. Intervals are selected so that the number of observations in each successive interval increases or decreases exponentially The Jenks natural breaks algorithm strives for variance minimization within a classification. Percentile subdivides into the following six categories: less than 1%, 1% to just less than 10%, 10% to just less than 50% 50% to just less than 90% 90% to just less than 99% greater than or equal to 99% The number of members found in each cateogry is the same, but the range might be widely different for datasets that don't have equally distributed values. The mean and standard deviation of the attribute values are calculated, and values are classified according to their deviation from the mean (z-transform) The transformed values are mapped, usually at intervales of 1.0 or .5 standard deviations. This often results in no central class. Symbolize so that each separate entry will have a separate category for that entry. Creates a new instance of Selection SelectionEM Inverts the selection based on the current SelectionMode The ISelection to invert The geographic region to reverse the selected state SelectionModes The vertices of the feature are all inside (and not touching the boundary of) the region. Use ContainsExtent for faster selections. *Faster, the item to be selected must be completely contained by the extent The entire region is inside the feature and not touching the border. The feature is completely inside the region, but touching the edges is ok (unlike Contains). For this to be true the feature must be a point or a curve and must cross the specified The interiors and boundaries don't intersect, touch, or overlap, so they are completely separate. *Faster, the item will be selected if any part of that item is visible in the extent The most inclusive possible. If any element is touching or overlapping the region in any way, then this will be true. Like intersects, specifically requires that part of the feature is inside and part of the feature is outside of the region. The feature has borders or edges in common, but otherwise does not fall inside the region. The region is found completely inside the specified region to the extent that no borders come in contact with the outside edge of the region. Statistics resets all statistics to 0. Calculates the statistics for the specified values Calculates the statistics for the specified values Gets the integer count of the values Gets the highest value Gets the average value Gets the middle value, or the average of the two middle values Gets the minimum value Gets the standard deviation Gets the sum of the values.