ThinkGeo.MapSuite
This class is the base class for all types of Layers.
The Layer class is where all other types of layers are inherited from. It
provides the base set of functionality. Though all Layers inherit from this class, we
strongly suggest if you decide to create your own layer type that you consider
inheriting from the higher level RasterLayer for image-based layers and FeatureLayer for
feature-based layers. They provide a rich set of default operations for the various
types of layers and are simple to inherit from.
As it is abstract, there are a number of methods you need to implement. The first is
DrawCore. In this method, you are responsible for drawing the layer's representation.
The other two required methods are OpenCore and CloseCore. These open and close the Layer. In
the Open, you are responsible for getting the layer ready for drawing. You should open
any file references, etc. In the Close, you need to clean up all file handles, close
other objects etc. It is important that the Close puts the class in a state where it can
be re-opened in the future. It is different than Dispose, as closed Layers will still
exist and can be re-opened later in the mapping life cycle. Many methods (in the layer
and in higher level objects) will require that the Layer be open before these methods
are called, otherwise they will throw an exception.
This is the default constructor for the Layer.
None
None
This property returns true if the Layer is open and false if it is not.
This property returns true if the Layer is open and false if it is not.
This method is the concrete wrapper for the abstract method IsOpenCore. Various
methods on the Layer require that it be in an open state. If one of those methods is
called when the state is not open, then the method will throw an exception. To enter the
open state, you must call the Layer Open method. The method will raise an exception if
the current Layer is already open.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This property indicates whether a Layer has a BoundingBox or not. If it has no
BoundingBox, it will throw an exception when you call the GetBoundingBox() and
GetFullExtent() APIs.
The default value is false.
This property returns true if the Layer is open and false if it is not.
This property returns true if the Layer is open and false if it is not.
Various methods on the Layer require that it be in an open state. If one of those
methods is called when the state is not open, then the method will throw an exception.
To enter the open state, you must call the Layer Open method. The method will raise an
exception if the current Layer is already open.
This property gets the last drawing time for the layer.
This property gets the last drawing time for the layer.
We track the drawing time for the layer and report it back in this method. This
is useful for determining the speed of various layers.
This property gets and sets the name for the layer.
This property gets the name for the layer.
The name is user defined. It is useful to set, as it may be used for higher level
components such as legends, etc.
This property gets and set the visible state of the layer.
This property gets the visible state of the layer.
If this property is set to false, the layer will not draw. We ensure this in the
Draw method. This is useful for legends and other controls that control the visibility
of layers.
This property gets and sets the amount of transparency to apply to the
image.
This property gets the amount of transparency to apply to the image.
None
This property gets and sets the amount of blue to apply to the image.
This property gets the amount of blue to apply to the image.
None
This property gets and sets the amount of red to apply to the image.
This property gets the amount of red to apply to the image.
None
This property gets and sets the amount of green to apply to the image.
This property gets the amount of green to apply to the image.
None
Gets a value represents a collection of key colors. If HasKeyColor property is false, it will throw exception when you use KeyColors.
It will make these colors transparent when draw image.
This property gets and sets whether the image should be converted to negative (inverse colors).
This property gets and sets whether the image should be converted to negative (inverse colors).
None
This property gets and sets if the image should be converted to grayscale.
This property gets and sets if the image should be converted to grayscale.
None
ColorMapping
Gets or sets the DrawExcpetionMode when exception happens.
Create a copy of Layer using the deep clone process.
A cloned Layer.
The difference between deep clone and shallow clone is as follows: In shallow cloning,
only the object is copied; the objects within it are not. By contrast, deep cloning
copies the cloned object as well as all the objects within.
Create a copy of Layer using the deep clone process. The default implemenation uses serialization.
A cloned Layer.
The difference between deep clone and shallow clone is as follows: In shallow cloning,
only the object is copied; the objects within it are not. By contrast, deep cloning
copies the cloned object as well as all the objects within.
This method opens the Layer so that it is initialized and ready to use.
None
This method is the concrete wrapper for the abstract method OpenCore. The
open method plays an important role, as it is responsible for initializing the Layer.
Most methods on the Layer will throw an exception if the state of the Layer is not
opened. When the map draws each layer, the layer will be opened as one of its first steps;
then, after it is finished drawing with that layer, it will close it. In this way, we
are sure to release all resources used by the Layer.
When implementing the abstract method, consider opening the FeatureSource or
RasterSource. You will get a chance to close these in the Close method of the
Layer.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a Layer which has already been opened, it will throw an InvalidOperationException.
This method opens the Layer so that it is initialized and ready to use.
This abstract method is called from the concrete public method Open. The
open method plays an important role, as it is responsible for initializing the Layer.
Most methods on the Layer will throw an exception if the state of the Layer is not
opened. When the map draws each layer, the layer will be opened as one of its first steps;
then, after it is finished drawing with that layer, it will close it. In this way, we
are sure to release all resources used by the Layer.
When implementing the abstract method, consider opening the FeatureSource or
RasterSource. You will get a chance to close these in the Close method of the
Layer.
None
This method is the concrete wrapper for the abstract method CloseCore. The close
method plays an important role in the life cycle of the Layer. It may be called after
drawing to release any memory and other resources that were allocated since the Open
method was called.
If you override this method, it is recommended that you take the following things
into account: This method may be called multiple times, so we suggest you write the method so
that that a call to a closed Layer is ignored and does not generate an error.
We also suggest that in the Close you free all resources that have been opened.
Remember that the object will not be destroyed, but will be re-opened possibly in the
near future.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method closes the Layer and releases any resources it was using.
None
This method closes the Layer and releases any resources it was
using.
None
This abstract method is called from the concrete public method Close. The close
method plays an important role in the life cycle of the Layer. It may be called after
drawing to release any memory and other resources that were allocated since the Open
method was called.
If you override this method, it is recommended that you take the following things
into account: This method may be called multiple times, so we suggest you write the method so
that that a call to a closed Layer is ignored and does not generate an error.
We also suggest that in the Close you free all resources that have been opened.
Remember that the object will not be destroyed, but will be re-opened possibly in the
near future.
This method returns the bounding box of the Layer.
This method returns the bounding box of the Layer.
This method is the concrete wrapper for the abstract method GetBoundingBoxCore.
This method returns the bounding box of the RasterLayer.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a layer which has not been opened, it will throw an InvalidOperationException.
This method returns the bounding box of the Layer.
This method returns the bounding box of the Layer.
This method returns the bounding box of the Layer.
This method draws the Layer.
None
This method is the concrete wrapper for the abstract method DrawCore. This
method draws the representation of the layer based on the extent you provided.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
If you pass a null as the worldExtent, we will throw an ArgumentNullException.
If you pass a null as the geoImageOrNativeImage, we will throw an ArgumentNullException.
If you pass a null as the labeledInLayers, we will throw an ArgumentNullException.
If you pass in a mapUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the canvas object or a GeoImage to draw on.
This parameter represents the labels used for collision detection and duplication
checking.
This method will draw on the canvas when the layer.Draw throw exception and
the DrawExceptionMode is set to DrawException instead of ThrowException.
The target canvas to draw the layer.
The exception thrown when layer.Draw().
This method can be overriden its logic by rewrite the DrawExceptionCore.
This method will draw on the canvas when the layer.Draw throw exception and
the DrawExceptionMode is set to DrawException instead of ThrowException.
The target canvas to draw the layer.
The exception thrown when layer.Draw().
This method draws the Layer.
This method is the concrete wrapper for the abstract method DrawCore. This
method draws the representation of the layer based on the extent you provided.
When implementing this abstract method, consider each feature and its column data
values. You can use the full power of the GeoCanvas to do the drawing. If you need
column data for a feature, be sure to override the GetRequiredColumnNamesCore and add
the columns you need to the collection. In many of the styles, we add properties that
allow the user to specify which field they need; then, in the GetRequiredColumnNamesCore,
we read that property and add it to the collection.
None
This parameter is the canvas object or a GeoImage to draw on.
This parameter represents the labels used for collision detection and duplication
checking.
This method returns the BitmapTile corresponding to passed in row and column.
The target row for the tile to fetch.
The target column for the tile to fetch.
Returns the BitmapTile corresponding to the passed in row and column.
This method returns all the BitmapTiles within the passed in world extent, some of which may not has bitmap.
The target worldExtent will be used to fetch all the BufferTile from.
Returns a collection of BufferTile within the passed in worldExtent.
In the event you attempt to call this method on a shape is not a valid rectangle, it will throw an InvalidOperationException.
This abstract method returns the BufferTile corresponding to passed in row and column.
Each concrete TileCache need to implement this logic to get tile from a row and column.
The target row for the tile to fetch.
The target column for the tile to fetch.
Returns the BufferTile corresponding to the passed in row and column.
This class is a concrete class inherits from BitmapTileCache.
In this class, the tiles will be saved in memory and it provides
some properties to control it very easily.
This is the default constructor.
If you use this constructor, you have to set the properties manually.
This property gets or sets the maximum tiles count, if it exceed,it will delete the old first cached tiles.
This property gets the Cached tiles,each item is a Dictionary with scale as its key.
This method returns the BitmapTile corresponding to passed in row and column.
The target row for the tile to fetch.
The target column for the tile to fetch.
Returns the BitmapTile corresponding to the passed in row and column.
This method will save the target tile passed in.
The target tile to be saved.
This method will not take effect when the Read is set to true.
This method will delete the target tile passed in.
The target tile to be deleted.
This method will not take effect when the Read is set to true.
This method will clear all the tiles in the tileCache.
This method will not take effect when the Read is set to true.
This method overrides the logic in its base class BitmapTileCache.
This method will return the HigherScale BitmapTile which is always used for preview
effects when ZoomIn or ZoomOut.
The parameter specifies the current tile bounding box.
This parameter specifies the current tile scale.
Returns the higher scale(higher zoomLevel) bitmap tile.
This is the base class for BitmapTileCache system which inherits from TileCache class.
TileCahce system is very efficient in improving the performance of
application, especially when large data or remote server images are included.
This is the constructor of the class.
This is the cache identifier which marks its difference with other TileCache.
This is the imageFormate showing what kind of image we are trying to save.
This is the tile matrix system which is used for caculating tiles.
This property returns back a preset image showing the tile data is missing.
This property returns back a preset image showing the Tile is loading.
Gets or sets the tile image format.
Gets or sets the Jpeg quality , this property only take effects when setting
the ImageFormat to Jpeg.
This method will save the bitmap with its extent attached into tiles.
The target bitmap to be saved into tiles.
The target extent for the bitmap.
If you pass a null as the target bitmap, we will throw an ArgumentNullException.
This method returns the BitmapTile corresponding to the tile bounding box passed in.
The target boundingBox for the tile to fetch.
Returns the BitmapTile corresponding to the passed in boundingBox.
In the event you attempt to call this method on a shape is not a valid rectangle, it will throw an InvalidOperationException.
This method returns the BitmapTile corresponding to passed in row and column.
The target row for the tile to fetch.
The target column for the tile to fetch.
Returns the BitmapTile corresponding to the passed in row and column.
This method returns all the BitmapTiles within the passed in world extent, some of which may not has bitmap.
The target worldExtent will be used to fetch all the BitmapTiles from.
Returns a collection of BitmapTiles within the passed in worldExtent.
In the event you attempt to call this method on a shape is not a valid rectangle, it will throw an InvalidOperationException.
This abstract method returns the BitmapTile corresponding to passed in row and column.
Each concrete TileCache need to implement this logic to get tile from a row and column.
The target row for the tile to fetch.
The target column for the tile to fetch.
Returns the BitmapTile corresponding to the passed in row and column.
This method will return the HigherScale BitmapTile which is always used for preview
effects when ZoomIn or ZoomOut.
The parameter specifies the current tile bounding box.
This parameter specifies the current tile scale.
Returns the higher scale(higher zoomLevel) bitmap tile.
This method is virtual and can be overriden by its sub classes.
This method will return the HigherScale BitmapTile which is always used for preview
effects when ZoomIn or ZoomOut.
The parameter specifies the current tile bounding box.
This parameter specifies the current tile scale.
Returns the higher scale(higher zoomLevel) bitmap tile.
This method will merege the passed in bitmap tiles into a larege bitmap tile.
The collection of tiles to be mereged.
The target scale for result mereged bitmap tile.
Returns a merged bitmap tile.
The abstract class from which all feature sources inherit. Feature
sources represent feature data that can be integrated into Map Suite.
This class is key, as it is the abstract class from which all other feature
sources are derived. In this sense it encapsulates much of the logic for handling
transactions and ensuring the data is consistent regardless of any projections
applied.
This is the default constructor for the abstract FeatureSource class.
None
As this method is protected, you may only add code to this method if you override
it from an inheriting class.
This event is raised when fields are requested in a feature source method that do
not exist in the feature source. It allows you to supplement the data from any outside
source you have.
This event is raised when fields are requested in a feature source method that do
not exist in the feature source. It allows you to supplement the data from any outside
source you have.
It is used primarily when you have data relating to a particular feature or set of
features that is not within source of the data. For example, you may have a shape file
of the world whose .dbf component describes the area and population of each country.
Additionally, in an outside SQL Server table, you may also have data about the countries,
and it is this data that you wish to use for determining how you want to color
each country.
To integrate this SQL data, you simply create a file name that does not exist in the
.dbf file. Whenever Map Suite is queried to return records that specifically require
this field, the FeatureSource will raise this event and allow you the developer to
supply the data. In this way, you can query the SQL table and store the
data in some sort of collection, and then when the event is raised, simply supply that
data.
As this is an event, it will raise for each feature and field combination requested.
This means that the event can be raised quite often, and we suggest that you cache the
data you wish to supply in memory. We recommend against sending out a new SQL query
each time this event is raised. Image that you are supplementing two columns and your query
returns 2,000 rows. This means that if you requested those fields, the event would be raised
4,000 times.
This event is raised after the CommitTransaction method is called, but before the
CommitTransactionCore is called. This allows you access to the TransactionBuffer before the
transaction is committed. It also allows you to cancel the pending commit of the
transaction.
This event is raised before the CommitTransactionCore is called and allows you
access to the TransactionBuffer before the transaction is committed. It also allows you
to cancel the pending transaction. The TransactionBuffer is the object that stores all
of the pending transactions and is accessible through this event to allow you to either
add, remove or modify transactions.
In the event that you cancel the CommitTransaction method, the transaction remains intact and
you will still be editing. This makes it a nice place to possibly check for
connectivity before the TransactionCore code is run, which is where the records are
actually committed. Calling the RollBackTransaction method is the only way to
permanently cancel a pending transaction without committing it.
This event is raised after the CommitTransaction and the CommitTransactionCore
are called and allows you access to the TransactionBuffer and the TransactionResults
object before CommitTransaction method is returned.
This event is raised after the CommitTransactionCore is called and allows you
access to the TransactionBuffer and the TransactionResults object before
CommitTransaction method is returned.
With this event, you can analyse the results of the transaction and do any cleanup
code necessary. In the event some of the records did not commit, you can handle
those items here. The TransactionResults object is passed out of the
CommitTransaction method so you could analyze it then; however, this is the only
place where you have access to both the TransactionResults object and the
TransactionBuffer object at the same time. These are useful together to try and
determine what went wrong and possibly try and re-commit them.
At the time of this event you will technically be out of the current
transaction.
This event is called before the opening of the FeatureSource.
This event is called before the opening of the FeatureSource. Technically, this
event is called after the calling of the Open method on the FeatureSource, but before
the protected OpenCore method.
It is typical that the FeatureSource may be opened and closed may times during the life
cycle of your application. The type of control the MapEngine is embedded in will dictate
how often this happens. For example, in the case of the Web Edition, each time
a FeatureSource is in the Ajax or Post Back part of the page cycle, it will close the
FeatureSource before returning back to the client. This is to conserve resources, as
the web is a connection-less environment. In the case of the Desktop Edition, we can
keep the FeaureSources open, knowing that we can maintain a persistent connection.
This event is called after the opening of the FeatureSource.
This event is called after the opening of the FeatureSource. Technically, this
event is called after the calling of the Open method on the FeatureSource and after the
protected OpenCore method is called.
It is typical that the FeatureSource may be opened and closed may times during the life
cycle of your application. The type of control the MapEngine is embedded in will dictate
how often this happens. For example, in the case of the Web Edition, each time
a FeatureSource is in the Ajax or Post Back part of the page cycle, it will close the
FeatureSource before returning back to the client. This is to conserve resources, as
the web is a connection-less environment. In the case of the Desktop Edition, we can
keep the FeaureSources open, knowing that we can maintain a persistent connection.
This event is called before the closing of the FeatureSource.
This event is called before the closing of the FeatureSource. Technically, this
event is called after the calling of the Close method on the FeatureSource, but before
the protected CloseCore method.
It is typical that the FeatureSource may be opened and closed may times during the life
cycle of your application. The type of control the MapEngine is embedded in will dictate
how often this happens. For example, in the case of the Web Edition, each time
a FeatureSource is in the Ajax or Post Back part of the page cycle, it will close the
FeatureSource before returning back to the client. This is to conserve resources, as
the web is a connection-less environment. In the case of the Desktop Edition, we can
keep the FeaureSources open, knowing that we can maintain a persistent connection.
This event is called after the closing of the FeatureSource.
This event is called after the closing of the FeatureSource. Technically, this
event is called after the calling of the Close method on the FeatureSource and after
the protected CloseCore method.
It is typical that the FeatureSource may be opened and closed may times during the life
cycle of your application. The type of control the MapEngine is embedded in will dictate
how often this happens. For example, in the case of the Web Edition, each time
a FeatureSource is in the Ajax or Post Back part of the page cycle, it will close the
FeatureSource before returning back to the client. This is to conserve resources, as
the web is a connection-less environment. In the case of the Desktop Edition, we can
keep the FeaureSources open, knowing that we can maintain a persistent connection.
This method allows you to raise the CustomColumnFetch event from a derived
class.
None
You can call this method from a derived class to enable it to raise the
CustomColumnFetch event. This may be useful if you plan to extend the FeatureSource and
you need access to user-definable field data.
Details on the event:
This event is raised when fields are requested in a feature source method that do not
exist in the feature source. It allows you supplement the data from any outside source
you may have.
It is used primarily when you have data relating to a particular feature or set of
features that is not within source of the data. For example, you may have a shape file
of the world whose .dbf component describes the area and population of each country.
Additionally, in an outside SQL Server table, you may also have data about the countries,
and it is this data that you wish to use for determining how you want to color
each country.
To integrate this SQL data, you simply create a file name that does not exist in the
.dbf file. Whenever Map Suite is queried to return records that specifically require
this field, the FeatureSource will raise this event and allow you the developer to
supply the data. In this way, you can query the SQL table and store the
data in some sort of collection, and then when the event is raised, simply supply that
data.
As this is an event, it will raise for each feature and field combination requested.
This means that the event can be raised quite often, and we suggest that you cache the
data you wish to supply in memory. We recommend against sending out a new SQL query
each time this event is raised. Image that you are supplementing two columns and your query
returns 2,000 rows. This means that if you requested those fields, the event would be raised
4,000 times.
This parameter is the event arguments which define the parameters passed to the
recipient of the event.
This method allows you to raise the CommittingTransaction event from a derived
class.
None
You can call this method from a derived class to enable it to raise the
CommittingTransaction event. This may be useful if you plan to extend the FeatureSource
and you need access to the event.
Details on the event:
This event is raised before the CommitTransactionCore is called and allows you access
to the TransactionBuffer before the transaction is committed. It also allows you to
cancel the pending transaction. The TransactionBuffer is the object that stores all of
the pending transactions and is accessible through this event to allow you either add,
remove or modify transactions.
In the event that you cancel the CommitTransaction method, the transaction remains intact and
you will still be editing. This makes it a nice place to possibly check for
connectivity before the TransactionCore code is run, which is where the records are
actually committed. Calling the RollBackTransaction method is the only way to
permanently cancel a pending transaction without committing it.
This parameter is the event arguments which define the parameters passed to the
recipient of the event.
None
This method allows you to raise the CommittedTransaction event from a derived
class.
You can call this method from a derived class to enable it to raise the
CommittedTransaction event. This may be useful if you plan to extend the
FeatureSource and you need access to the event.
Details on the event:
This event is raised after the CommitTransactionCore is called and allows you
access to the TransactionBuffer and the TransactionResults object before
CommitTransaction method is returned.
With this event, you can analyze the results of the transaction and do any cleanup
code necessary. In the event some of the records did not commit, you can handle
these items here. The TransactionResults object is passed out of the
CommitTransaction method so you could analyze it then; however, this is the only
place where you have access to both the TransactionResults object and the
TransactionBuffer object at the same time. These are useful together to try and
determine what went wrong and possibly try and re-commit them.
At the time of this event, you will technically be out of the current
transaction.
This parameter is the event arguments which define the parameters passed to the
recipient of the event.
None
This method allows you to raise the OpeningFeatureSource event from a derived
class.
You can call this method from a derived class to enable it to raise the
OpeningFeatureSource event. This may be useful if you plan to extend the FeatureSource
and you need access to the event.
Details on the event:
This event is called before the opening of the FeatureSource. Technically, this event is
called after the calling of the Open method on the FeatureSource, but before the
protected OpenCore method.
It is typical that the FeatureSource may be opened and closed may times during the life
cycle of your application. The type of control the MapEngine is embedded in will dictate
how often this happens. For example, in the case of the Web Edition, each time
a FeatureSource is in the Ajax or Post Back part of the page cycle, it will close the
FeatureSource before returning back to the client. This is to conserve resources, as
the web is a connection-less environment. In the case of the Desktop Edition, we can
keep the FeaureSources open, knowing that we can maintain a persistent connection.
This parameter is the event arguments which define the parameters passed to the
recipient of the event.
None
This method allows you to raise the OpenedFeatureSource event from a derived
class.
You can call this method from a derived class to enable it to raise the
OpenedFeatureSource event. This may be useful if you plan to extend the FeatureSource
and you need access to the event.
Details on the event:
This event is called after the opening of the FeatureSource. Technically, this event is
called after the calling of the Open method on the FeatureSource and after the
protected OpenCore method is called.
It is typical that the FeatureSource may be opened and closed may times during the life
cycle of your application. The type of control the MapEngine is embedded in will dictate
how often this happens. For example, in the case of the Web Edition, each time
a FeatureSource is in the Ajax or Post Back part of the page cycle, it will close the
FeatureSource before returning back to the client. This is to conserve resources, as
the web is a connection-less environment. In the case of the Desktop Edition, we can
keep the FeaureSources open, knowing that we can maintain a persistent connection.
This parameter is the event arguments which define the parameters passed to the
recipient of the event.
None
This method allows you to raise the ClosingFeatureSource event from a derived
class.
You can call this method from a derived class to enable it to raise the
ClosingFeatureSource event. This may be useful if you plan to extend the FeatureSource
and you need access to the event.
Details on the event:
This event is called before the closing of the FeatureSource. Technically, this event is
called after the calling of the Close method on the FeatureSource, but before the
protected CloseCore method.
It is typical that the FeatureSource may be opened and closed may times during the life
cycle of your application. The type of control the MapEngine is embedded in will dictate
how often this happens. For example, in the case of the Web Edition, each time
a FeatureSource is in the Ajax or Post Back part of the page cycle, it will close the
FeatureSource before returning back to the client. This is to conserve resources, as
the web is a connection-less environment. In the case of the Desktop Edition, we can
keep the FeaureSources open, knowing that we can maintain a persistent connection.
This parameter is the event arguments which define the parameters passed to the
recipient of the event.
None
This method allows you to raise the ClosedFeatureSource event from a derived
class.
You can call this method from a derived class to enable it to raise the
ClosedFeatureSource event. This may be useful if you plan to extend the FeatureSource
and you need access to the event.
Details on the event:
This event is called after the closing of the FeatureSource. Technically, this event is
called after the calling of the Close method on the FeatureSource and after the
protected CloseCore method.
It is typical that the FeatureSource may be opened and closed may times during the life
cycle of your application. The type of control the MapEngine is embedded in will dictate
how often this happens. For example, in the case of the Web Edition, each time
a FeatureSource is in the Ajax or Post Back part of the page cycle, it will close the
FeatureSource before returning back to the client. This is to conserve resources, as
the web is a connection-less environment. In the case of the Desktop Edition, we can
keep the FeaureSources open, knowing that we can maintain a persistent connection.
This parameter is the event arguments which define the parameters passed to the
recipient of the event.
This property specifies whether the FeatureSource can excute a SQL query or not.
If it is false, then it will throw exception when these APIs are calleds: ExecuteScalar, ExecuteNonQuery, ExecuteQuery
The default implementation is false.
This property specifies whether the FeatureSource can excute a SQL query or not.
If it is false, then it will throw exception when these APIs are calleds: ExecuteScalar, ExecuteNonQuery, ExecuteQuery
The default implementation is false.
This property returns true if the FeatureSource is open and false if it is
not.
This property returns true if the FeatureSource is open and false if it is
not.
Various methods on the FeatureSource require that it be in an open state. If one
of those methods is called when the state is not open, then the method will throw an
exception. To enter the open state, you must call the FeatureSource's Open method. The
method will raise an exception if the current FeatureSource is already open.
This property returns true if the FeatureSource is open and false if it is
not.
This property returns true if the FeatureSource is open and false if it is
not.
Various methods on the FeatureSource require that it be in an open state. If one
of those methods is called when the state is not open, then the method will throw an
exception. To enter the open state, you must call the FeatureSource's Open method. The
method will raise an exception if the current FeatureSource is already open.
In the event you attempt to call this property on a feature source which has not been opened it will throw an InvalidOperationException.
This property gets the columns of the feature source.
This property gets the columns of the feature source.
None.
This property returns true if the FeatureSource is in a transaction and false if
it is not.
This property returns true if the FeatureSource is in a transaction and false if
it is not.
To enter a transaction, you must first call the BeginTransaction method of the
FeatureSource. It is possible that some FeatureSources are read-only and do not allow
edits. To end a transaction, you must either call CommitTransaction or
RollbackTransaction.
This property returns true if the features currently modified in a transaction
are expected to reflect their state when calling other methods on the FeatureSource,
such as spatial queries.
This property returns true if the features currently modified in a transaction
are expected to reflect their state when calling other methods on the
FeatureSource.
The live transaction concept means that all of the modifications you perform during
a transaction are live from the standpoint of the querying methods on the object.
As an example, imagine that you have a FeatureSource that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureSource reflect the
changes.
This property returns whether the FeatureSource allows edits or is read-only.
This property returns whether the FeatureSource allows edits or is read-only. The
property returns true if the FeatureSource allows edits and false if the FeatureSource
is read-only.
This property is useful to check if a specific FeatureSource accepts editing.
If you call BeginTransaction and this property is false, then an exception will
be raised.
For developers who are creating or extending a FeatureSource, it is expected that
you override this virtual method if the new FeatureSource you are creating allows
edits. By default, the decimalDegreesValue is false, meaning that if you want to allow edits you
must override this method and return true.
This property holds the projection object that is used within the FeatureSource
to ensure that features inside of the FeatureSource are projected.
This property returns the projections selected by the developer.
By default this property is null, meaning that the data being passed back from any
methods on the FeatureSource will be in the coordinate system of the raw data. When you
specify a projection object in the property, all incoming and outgoing method
calls will subject the features to projection.
For example, if the spatial database you are using has all of its data stored in decimal
degrees, but you want to see the data in UTM, you would create a projection object
that goes from decimal degrees to UTM and set that as the projection. With this one
property set, we will ensure that it will seem to you the developer that all of the data
in the FeatureSource is in UTM. That means every spatial query will return UTM projected
shapes. You can even pass in UTM shapes for the parameters. Internally, we will ensure
that the shapes are converted to and from the projection without any intervention
on the developer's part.
In fact, even when you override virtual or abstract core methods in the FeatureSource,
you will not need to know about projections at all. Simply work with the data in its
native coordinate system. We will handle all of the projection at the high level
method.
The cache system.
You must set IsActive to true for the Cache system. The default is not active.
A collection of strings representing record id of features not to get in the Layer.
This string collection is a handy place to specify what records not to get from the source.
Suppose you have a shape file of roads and you want to hide the roads within a particular
rectangle, simply execute GetFeaturesInsideBoundingBox() and add the id of the return
features to the collection and forget about them. Since you can set this by Layer it
makes is easy to determine what to and what not to.
The TransactionBuffer used in the Transaction System.
The Transaction System
The transaction system of a FeatureSource sits on top of the inherited implementation
of any specific source, such as Oracle Spatial or Shape files. In this way, it functions
the same way for every FeatureSource. You start by calling BeginTransaction. This
allocates a collection of in-memory change buffers that are used to store changes until
you commit the transaction. So, for example, when you call the Add, Delete or Update
method, the changes to the feature are stored in memory only. If for any reason you
choose to abandon the transaction, you can call RollbackTransaction at any time and the
in-memory buffer will be deleted and the changes will be lost. When you are ready to
commit the transaction, you call CommitTransaction and the collections of changes
are then passed to the CommitTransactionCore method and the implementer of the specific
FeatureSource is responsible for integrating your changes into the underlying
FeatureSource. By default the IsLiveTransaction property is set to false, which means
that until you commit the changes, the FeatureSource API will not reflect any changes
that are in the temporary editing buffer.
In the case where the IsLiveTransaction is set to true, then things function slightly
differently. The live transaction concept means that all of the modifications you
perform during a transaction are live from the standpoint of the querying methods on
the object.
As an example, imagine that you have a FeatureSource that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureSource reflect the
changes.
Executes a SQL statement against a connection object.
The number of rows affected.
You can use ExecuteNonQuery to perform catalog
operations (for example, querying the structure of a database or creating database
objects such as tables), or to change the data in a database by executing UPDATE,
INSERT, or DELETE statements.
Although ExecuteNonQuery does not return any
rows, any output parameters or return values mapped to parameters are populated
with data.
For UPDATE, INSERT, and DELETE statements, the return value is the number of
rows affected by the command.
The sqlStatement to be excuted.
Executes a SQL statement against a connection object.
The number of rows affected.
You can use ExecuteNonQuery to perform catalog
operations (for example, querying the structure of a database or creating database
objects such as tables), or to change the data in a database by executing UPDATE,
INSERT, or DELETE statements.
Although ExecuteNonQuery does not return any
rows, any output parameters or return values mapped to parameters are populated
with data.
For UPDATE, INSERT, and DELETE statements, the return value is the number of
rows affected by the command.
The sqlStatement to be excuted.
Get all of the features by passing a columnName and a specified columValue.
The returnning features matches the columnValue.
The specified columnName to match the columnValue.
The specified columnValue to match those returning features.
This parameter allows you to select a type from the ReturningColumnsType that you wish to return with each Feature.
Get all of the features by passing a columnName and a specified columValue.
The returnning features matches the columnValue.
The specified columnName to match the columnValue.
The specified columnValue to match those returning features.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
Get all of the features by passing a columnName and a specified columValue.
The returnning features matches the columnValue.
The specified columnName to match the columnValue.
The specified columnValue to match those returning features.
Get all of the features by passing a columnName and a specified columValue.
The returnning features matches the columnValue.
The specified columnName to match the columnValue.
The specified columnValue to match those returning features.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
Executes the query and returns the first column of the first row in the result
set returned by the query. All other columns and rows are ignored.
The first column of the first row in the result set.
Use the ExcuteScalar method to retrieve a single value from the database. This
requires less code than using the ExcuteQuery method and then performing the operations
necessary to generate the single value using the data.
The sqlStatement to be excuted.
Executes the query and returns the first column of the first row in the result
set returned by the query. All other columns and rows are ignored.
The first column of the first row in the result set.
Use the ExcuteScalar method to retrieve a single value from the database. This
requires less code than using the ExcuteQuery method and then performing the operations
necessary to generate the single value using the data.
The sqlStatement to be excuted.
Executes the query and returns the result returned by the query.
The result set in the format of dataTable.
Use the ExcuteScalar method to retrieve a single value from the database. This
requires less code than using the ExcuteQuery method and then performing the operations
necessary to generate the single value using the data.
The sqlStatement to be excuted.
Executes the query and returns the result returned by the query.
The result set in the format of dataTable.
Use the ExcuteScalar method to retrieve a single value from the database. This
requires less code than using the ExcuteQuery method and then performing the operations
necessary to generate the single value using the data.
The sqlStatement to be excuted.
In the event you attempt to call this method on a feature source which has not been opened it will throw an InvalidOperationException.
This method returns the columns available for the FeatureSource and caches
them.
This method returns the columns available for the FeatureSource.
As this is the concrete method wrapping the GetColumnsCore, it is important to
note that this method will cache the results to GetColumnsCore. What this means is that
the first time this method is called it will call GetCollumnsCore, which is protected,
and cache the results. The next time this method is called it will not call
GetColumnsCore again. This was done to increase speed, as this is a critical method that
is used very often in the internal code of the class.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a feature source which has not been opened it will throw an InvalidOperationException.
This method returns the columns available for the FeatureSource.
As this is the virtual core version of the Columns method, it is intended to
be overridden in inherited version of the class. When overriding, you will be
responsible for getting a list of all of the columns supported by the FeatureSource. In
this way, the FeatureSource will know what columns are available and will remove any
extra columns when making calls to other core methods. For example, if you have a
FeatureSource that has three columns of information and the user calls a method that
requests four columns of information (something they can do with custom fields), we will
first compare what they are asking for to the results of the GetColumnsCore. This
way we can strip out custom columns before calling other Core methods, which are only
responsible for returning data in the FeatureSource. For more information on custom
fields, please see the documentation on OnCustomFieldsFetch.
This method returns the columns available for the FeatureSource.
In the event you attempt to call this method on a feature source which has not been opened it will throw an InvalidOperationException.
This method refresh the columns available for the FeatureSource and caches
them.
This method refresh the columns available for the FeatureSource.
None.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns the count of the number of records in this
FeatureSource.
This method returns the count of the number of records in this
FeatureSource.
This method is the concrete wrapper for the virtual method GetCountCore. It will
return whatever is returned by the GetCountCore method, along with any additions
or subtractions made if you are in a transaction and that transaction is configured to
be live. To determine what the default implementation of the abstract GetCountCore
method is, please see the documentation for it.
The default implementation of GetCountCore uses the GetAllRecordsCore method to
calculate how many records there are in the FeatureSource. We strongly recommend that
you provide your own implementation for this method that will be more efficient.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
If the operation is done under source closed state it will throw a InvalidOperationException.
This method returns the count of the number of records in this
FeatureSource.
This method returns the count of the number of records in this
FeatureSource.
This protected virtual method is called from the concrete public method
GetCount. It does not take into account any transaction activity, as this is the
responsibility of the concrete public method GetCount. This way, as a developer,
if you choose to override this method you do not have to consider transactions at
all.
The default implementation of GetCountCore uses the GetAllRecordsCore method to
calculate how many records there are in the FeatureSource. We strongly recommend
that you provide your own implementation for this method that will be more
efficient.
If you do not override this method, it will get the count by calling the
GetAllFeatureCore method and counting each feature. This is a very inefficient way
to get the count in most data sources. It is highly recommended that you override
this method and replace it with a highly optimized version. For example, in a
ShapeFile the record count is in the main header of the file. Similarly, if you are
using Oracle Spatial, you can execute a simple query to get the count of all of the
records without returning them. In these ways you can greatly improve the
performance of this method.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns the bounding box which encompasses all of the features in the
FeatureSource.
This method returns the bounding box which encompasses all of the features in the
FeatureSource.
This method is the concrete wrapper for the virtual method GetBoundingBoxCore. It
will return whatever is returned by the GetBoundingBoxCore method, along with any
additions or subtractions made if you are in a transaction and that transaction is
configured to be live. To determine what the default implementation of the abstract
GetBoundingBoxCore method is, please see the documentation for it.
The default implementation of GetBoundingBoxCore uses the GetAllRecordsCore method to
calculate the bounding box of the FeatureSource. We strongly recommend that you provide
your own implementation for this method that will be more efficient.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
If the operation is done under source closed state, it will throw a InvalidOperationException.
This protected virtual method is called from the concrete public method
GetBoundingBox. It does not take into account any transaction activity, as this is
the responsibility of the concrete public method GetBoundingBox. In this way, as a
developer, if you choose to override this method you do not have to consider
transactions at all.
The default implementation of GetBoundingBoxCore uses the GetAllRecordsCore method
to calculate the bounding box of the FeatureSource. We strongly recommend that you
provide your own implementation for this method that will be more efficient.
If you do not override this method, it will get the BoundingBox by calling
the GetAllFeatureCore method and deriving it from each feature. This is a very
inefficient way to get the BoundingBox in most data sources. It is highly
recommended that you override this method and replace it with a highly optimized
version. For example, in a ShapeFile the BoundingBox is in the main header of the
file. Similarly, if you are using Oracle Spatial, you can execute a simple query to
get the BoundingBox of all the records without returning them. In these ways you
can greatly improve the performance of this method.
This method returns the bounding box which encompasses all of the features in the
FeatureSource.
This method returns the bounding box which encompasses all of the features in the
FeatureSource.
Create a copy of a FeatureSource using the deep clone process.
A cloned FeatureSource.
The difference between deep clone and shallow clone is as follows: In shallow cloning,
only the object is copied; the objects within it are not. By contrast, deep cloning
copies the cloned object as well as all the objects within.
Create a copy of a FeatureSource using the deep clone process. The default implementation uses serialization.
A cloned FeatureSource.
The difference between deep clone and shallow clone is as follows: In shallow cloning,
only the object is copied; the objects within it are not. By contrast, deep cloning
copies the cloned object as well as all the objects within.
This method opens the FeatureSource so that it is initialized and ready to
use.
None
This method is the concrete wrapper for the abstract method OpenCore. The
Open method plays an important role, as it is responsible for initializing the
FeatureSource. Most methods on the FeatureSource will throw an exception if the
state of the FeatureSource is not opened. When the map draws each layer, it will
open the FeatureSource as one of its first steps, then after it is finished drawing
with that layer it will close it. In this way we are sure to release all resources
used by the FeatureSource.
When implementing the abstract method, consider opening files for file-based sources,
connecting to databases in the database-based sources and so on. You will get a
chance to close these in the Close method of the FeatureSource.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a feature source which has already been opened, it will throw an InvalidOperationException.
This method opens the FeatureSource so that it is initialized and ready to
use.
This protected virtual method is called from the concrete public method Open.
The Open method plays an important role, as it is responsible for initializing the
FeatureSource. Most methods on the FeatureSource will throw an exception if the state
of the FeatureSource is not opened. When the map draws each layer, it will open the
FeatureSource as one of its first steps, then after it is finished drawing with that
layer it will close it. In this way we are sure to release all resources used by the
FeatureSource.
When implementing this virtual method ,consider opening files for file-based sources,
connecting to databases in the database-based sources and so on. You will get a chance
to close these in the Close method of the FeatureSource.
None
This method is the concrete wrapper for the abstract method CloseCore. The Close
method plays an important role in the life cycle of the FeatureSource. It may be called
after drawing to release any memory and other resources that were allocated since the
Open method was called.
If you override the Core version of this method, it is recommended that you take
the following things into account: This method may be called multiple times, so we
suggest you write the method so that that a call to a closed FeatureSource is ignored and does
not generate an error. We also suggest that in the Close you free all resources that
have been opened. Remember that the object will not be destroyed, but will be re-opened
possibly in the near future.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method closes the FeatureSource and releases any resources it was using.
None
This method closes the FeatureSource and releases any resources it was
using.
None
This protected virtual method is called from the concrete public method Close.
The close method plays an important role in the life cycle of the FeatureSource. It may
be called after drawing to release any memory and other resources that were allocated
since the Open method was called.
If you override this method, it is recommended that you take the following things
into account: This method may be called multiple times, so we suggest you write the method so
that that a call to a closed FeatureSource is ignored and does not generate an error.
We also suggest that in the Close you free all resources that have been opened.
Remember that the object will not be destroyed, but will be re-opened possibly in the
near future.
In the event you attempt to call this method on a feature source which is in transaction, it will throw an InvalidOperationException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
In the event you attempt to call this method on a feature source which is not editable, it will throw an InvalidOperationException.
This method starts a new transaction if the FeasuteSource allows editing
None
This method is used to start a transaction, assuming that the FeatureSource allows
editing. There are some additional prerequisites to beginning a transaction, such as ensuring
that a transaction is not already in progress. You must also be sure that the FeatureSource has
been opened.
The Transaction System
The transaction system of a FeatureSource sits on top of the inherited implementation
of any specific source, such as Oracle Spatial or Shape files. In this way, it functions
the same way for every FeatureSource. You start by calling BeginTransaction. This
allocates a collection of in-memory change buffers that are used to store changes until
you commit the transaction. So, for example, when you call the Add, Delete or Update
method, the changes to the feature are stored in memory only. If for any reason you
choose to abandon the transaction, you can call RollbackTransaction at any time and the
in-memory buffer will be deleted and the changes will be lost. When you are ready to
commit the transaction, you call CommitTransaction and the collections of changes
are then passed to the CommitTransactionCore method and the implementer of the specific
FeatureSource is responsible for integrating your changes into the underlying
FeatureSource. By default the IsLiveTransaction property is set to false, which means
that until you commit the changes, the FeatureSource API will not reflect any changes
that are in the temporary editing buffer.
In the case where the IsLiveTransaction is set to true, then things function slightly
differently. The live transaction concept means that all of the modifications you
perform during a transaction are live from the standpoint of the querying methods on
the object.
As an example, imagine that you have a FeatureSource that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureSource reflect the
changes.
In the event you attempt to call this method on a feature source which is not in transaction it will throw an InvalidOperationException.
This method adds a new Feature to an existing transaction.
This method adds a new Feature to an existing transaction. You will need to
ensure that you have started a transaction by calling BeginTransaction.
The Transaction System
The transaction system of a FeatureSource sits on top of the inherited implementation
of any specific source, such as Oracle Spatial or Shape files. In this way, it functions
the same way for every FeatureSource. You start by calling BeginTransaction. This
allocates a collection of in-memory change buffers that are used to store changes until
you commit the transaction. So, for example, when you call the Add, Delete or Update
method, the changes to the feature are stored in memory only. If for any reason you
choose to abandon the transaction, you can call RollbackTransaction at any time and the
in-memory buffer will be deleted and the changes will be lost. When you are ready to
commit the transaction, you call CommitTransaction and the collections of changes
are then passed to the CommitTransactionCore method and the implementer of the specific
FeatureSource is responsible for integrating your changes into the underlying
FeatureSource. By default the IsLiveTransaction property is set to false, which means
that until you commit the changes, the FeatureSource API will not reflect any changes
that are in the temporary editing buffer.
In the case where the IsLiveTransaction is set to true, then things function slightly
differently. The live transaction concept means that all of the modifications you
perform during a transaction are live from the standpoint of the querying methods on
the object.
As an example, imagine that you have a FeatureSource that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureSource reflect the
changes.
This string is the ID that will uniquely identify this Feature while it is in a
transaction.
This parameter represents the new Feature that will be added to the
transaction.
In the event you attempt to call this method on a feature source which is not in transaction, it will throw an InvalidOperationException.
This method adds a new Feature (composed of the passed-in BaseShape) to an existing transaction.
This method adds a new Feature (composed of the passed-in BaseShape) to an existing transaction. You will need to
ensure that you have started a transaction by calling BeginTransaction.
The Transaction System
The transaction system of a FeatureSource sits on top of the inherited implementation
of any specific source, such as Oracle Spatial or Shape files. In this way, it functions
the same way for every FeatureSource. You start by calling BeginTransaction. This
allocates a collection of in-memory change buffers that are used to store changes until
you commit the transaction. So, for example, when you call the Add, Delete or Update
method, the changes to the feature are stored in memory only. If for any reason you
choose to abandon the transaction, you can call RollbackTransaction at any time and the
in-memory buffer will be deleted and the changes will be lost. When you are ready to
commit the transaction, you call CommitTransaction and the collections of changes
are then passed to the CommitTransactionCore method and the implementer of the specific
FeatureSource is responsible for integrating your changes into the underlying
FeatureSource. By default the IsLiveTransaction property is set to false, which means
that until you commit the changes, the FeatureSource API will not reflect any changes
that are in the temporary editing buffer.
In the case where the IsLiveTransaction is set to true, then things function slightly
differently. The live transaction concept means that all of the modifications you
perform during a transaction are live from the standpoint of the querying methods on
the object.
As an example, imagine that you have a FeatureSource that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureSource reflect the
changes.
This string is the ID that will uniquely identify this Feature while it is in a
transaction.
This parameter represents the BaseShape that will be used to make the new Feature that will be added to the
transaction.
In the event you attempt to call this method on a feature source which is not in transaction, it will throw an InvalidOperationException.
This method adds a new Feature composes of the passed in BaseShape to an existing transaction.
This method adds a new Feature (composed of the passed-in BaseShape) to an existing transaction. You will need to
ensure that you have started a transaction by calling the BeginTransaction.
The Transaction System
The transaction system of a FeatureSource sits on top of the inherited implementation
of any specific source, such as Oracle Spatial or Shape files. In this way, it functions
the same way for every FeatureSource. You start by calling BeginTransaction. This
allocates a collection of in-memory change buffers that are used to store changes until
you commit the transaction. So, for example, when you call the Add, Delete or Update
method, the changes to the feature are stored in memory only. If for any reason you
choose to abandon the transaction, you can call RollbackTransaction at any time and the
in-memory buffer will be deleted and the changes will be lost. When you are ready to
commit the transaction, you call CommitTransaction and the collections of changes
are then passed to the CommitTransactionCore method and the implementer of the specific
FeatureSource is responsible for integrating your changes into the underlying
FeatureSource. By default the IsLiveTransaction property is set to false, which means
that until you commit the changes, the FeatureSource API will not reflect any changes
that are in the temporary editing buffer.
In the case where the IsLiveTransaction is set to true, then things function slightly
differently. The live transaction concept means that all of the modifications you
perform during a transaction are live from the standpoint of the querying methods on
the object.
As an example, imagine that you have a FeatureSource that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureSource reflect the
changes.
This string is the ID that will uniquely identify this Feature while it is in a
transaction.
This parameter represents the BaseShape that will be used to make new Feature that will be added to the
transaction.
This parameter represents the columnValues for the new features taht will be added to the transaction.
In the event you attempt to call this method on a feature source which is not in transaction, it will throw an InvalidOperationException.
If you pass a null as the id, we will throw an ArgumentNullException.
This method deletes a Feature from an existing transaction. You will need to
ensure that you have started a transaction by calling the BeginTransaction.
The Transaction System
The transaction system of a FeatureSource sits on top of the inherited implementation
of any specific source, such as Oracle Spatial or Shape files. In this way, it functions
the same way for every FeatureSource. You start by calling BeginTransaction. This
allocates a collection of in-memory change buffers that are used to store changes until
you commit the transaction. So, for example, when you call the Add, Delete or Update
method, the changes to the feature are stored in memory only. If for any reason you
choose to abandon the transaction, you can call RollbackTransaction at any time and the
in-memory buffer will be deleted and the changes will be lost. When you are ready to
commit the transaction, you call CommitTransaction and the collections of changes
are then passed to the CommitTransactionCore method and the implementer of the specific
FeatureSource is responsible for integrating your changes into the underlying
FeatureSource. By default the IsLiveTransaction property is set to false, which means
that until you commit the changes, the FeatureSource API will not reflect any changes
that are in the temporary editing buffer.
In the case where the IsLiveTransaction is set to true, then things function slightly
differently. The live transaction concept means that all of the modifications you
perform during a transaction are live from the standpoint of the querying methods on
the object.
As an example, imagine that you have a FeatureSource that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureSource reflect the
changes.
This method deletes a Feature from an existing transaction.
None
This string is the Id of the feature in the FeatureSource you wish to
delete.
In the event you attempt to call this method on a feature source which is not in a transaction, it will throw an InvalidOperationException.
If you pass a null as the feature, we will throw an ArgumentNullException.
None
This method updates a Feature in an existing transaction. You will need to
ensure that you have started a transaction by calling the BeginTransaction.
The Transaction System
The transaction system of a FeatureSource sits on top of the inherited implementation
of any specific source, such as Oracle Spatial or Shape files. In this way, it functions
the same way for every FeatureSource. You start by calling BeginTransaction. This
allocates a collection of in-memory change buffers that are used to store changes until
you commit the transaction. So, for example, when you call the Add, Delete or Update
method, the changes to the feature are stored in memory only. If for any reason you
choose to abandon the transaction, you can call RollbackTransaction at any time and the
in-memory buffer will be deleted and the changes will be lost. When you are ready to
commit the transaction, you call CommitTransaction and the collections of changes
are then passed to the CommitTransactionCore method and the implementer of the specific
FeatureSource is responsible for integrating your changes into the underlying
FeatureSource. By default the IsLiveTransaction property is set to false, which means
that until you commit the changes, the FeatureSource API will not reflect any changes
that are in the temporary editing buffer.
In the case where the IsLiveTransaction is set to true, then things function slightly
differently. The live transaction concept means that all of the modifications you
perform during a transaction are live from the standpoint of the querying methods on
the object.
As an example, imagine that you have a FeatureSource that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureSource reflect the
changes.
This method updates a Feature in an existing transaction.
The Feature you wish to update in the transaction.
In the event you attempt to call this method on a feature source which is not in a transaction, it will throw an InvalidOperationException.
If you pass a null as the feature, we will throw an ArgumentNullException.
None
This method updates a Feature (composed of the passed-in BaseShape) in an existing transaction. You will need to
ensure that you have started a transaction by calling BeginTransaction.
The Transaction System
The transaction system of a FeatureSource sits on top of the inherited implementation
of any specific source, such as Oracle Spatial or Shape files. In this way, it functions
the same way for every FeatureSource. You start by calling BeginTransaction. This
allocates a collection of in-memory change buffers that are used to store changes until
you commit the transaction. So, for example, when you call the Add, Delete or Update
method, the changes to the feature are stored in memory only. If for any reason you
choose to abandon the transaction, you can call RollbackTransaction at any time and the
in-memory buffer will be deleted and the changes will be lost. When you are ready to
commit the transaction, you call CommitTransaction and the collections of changes
are then passed to the CommitTransactionCore method and the implementer of the specific
FeatureSource is responsible for integrating your changes into the underlying
FeatureSource. By default the IsLiveTransaction property is set to false, which means
that until you commit the changes, the FeatureSource API will not reflect any changes
that are in the temporary editing buffer.
In the case where the IsLiveTransaction is set to true, then things function slightly
differently. The live transaction concept means that all of the modifications you
perform during a transaction are live from the standpoint of the querying methods on
the object.
As an example, imagine that you have a FeatureSource that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureSource reflect the
changes.
This method updates a Feature (composed of the passed-in BaseShape) in an existing transaction.
The shape that will be used to make the new Feature that you wish to update in the transaction.
In the event you attempt to call this method on a feature source which is not in a transaction, it will throw an InvalidOperationException.
If you pass a null as the feature, we will throw an ArgumentNullException.
None
This method updates a Feature (composed of the passed in BaseShape) in an existing transaction. You will need to
ensure that you have started a transaction by calling BeginTransaction.
The Transaction System
The transaction system of a FeatureSource sits on top of the inherited implementation
of any specific source, such as Oracle Spatial or Shape files. In this way, it functions
the same way for every FeatureSource. You start by calling BeginTransaction. This
allocates a collection of in-memory change buffers that are used to store changes until
you commit the transaction. So, for example, when you call the Add, Delete or Update
method, the changes to the feature are stored in memory only. If for any reason you
choose to abandon the transaction, you can call RollbackTransaction at any time and the
in-memory buffer will be deleted and the changes will be lost. When you are ready to
commit the transaction, you call CommitTransaction and the collections of changes
are then passed to the CommitTransactionCore method and the implementer of the specific
FeatureSource is responsible for integrating your changes into the underlying
FeatureSource. By default the IsLiveTransaction property is set to false, which means
that until you commit the changes, the FeatureSource API will not reflect any changes
that are in the temporary editing buffer.
In the case where the IsLiveTransaction is set to true, then things function slightly
differently. The live transaction concept means that all of the modifications you
perform during a transaction are live from the standpoint of the querying methods on
the object.
As an example, imagine that you have a FeatureSource that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureSource reflect the
changes.
This method updates a Feature (composed of the passed-in BaseShape) in an existing transaction.
The shape that will be used to make the new Feature that you wish to update in the transaction.
This parameter represents the columnValues for the new features that will be added to the transaction.
In the event you attempt to call this method on a feature source which is not in a transaction, it will throw an InvalidOperationException.
None
This method will cancel an existing transaction. It will free up the internal
memory cache of any InternalFeatures added, updated or deleted. You will need to ensure
that you have started a transaction by calling BeginTransaction.
The Transaction System
The transaction system of a FeatureSource sits on top of the inherited implementation
of any specific source, such as Oracle Spatial or Shape files. In this way, it functions
the same way for every FeatureSource. You start by calling BeginTransaction. This
allocates a collection of in-memory change buffers that are used to store changes until
you commit the transaction. So, for example, when you call the Add, Delete or Update
method, the changes to the feature are stored in memory only. If for any reason you
choose to abandon the transaction, you can call RollbackTransaction at any time and the
in-memory buffer will be deleted and the changes will be lost. When you are ready to
commit the transaction, you call CommitTransaction and the collections of changes
are then passed to the CommitTransactionCore method and the implementer of the specific
FeatureSource is responsible for integrating your changes into the underlying
FeatureSource. By default the IsLiveTransaction property is set to false, which means
that until you commit the changes, the FeatureSource API will not reflect any changes
that are in the temporary editing buffer.
In the case where the IsLiveTransaction is set to true, then things function slightly
differently. The live transaction concept means that all of the modifications you
perform during a transaction are live from the standpoint of the querying methods on
the object.
As an example, imagine that you have a FeatureSource that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureSource reflect the
changes.
This method will cancel an existing transaction. It will free up the internal
memory cache of any InternalFeatures added, updated or deleted.
In the event you attempt to call this method on a feature source which is not in a transaction, it will throw an InvalidOperationException.
The returned decimalDegreesValue of this method is a TransactionResult class, which gives you the
status of the transaction you just committed. It includes how many of the updates,
adds, and deletes were successful and any errors that were encountered during the
committing of the transaction.
This method is the concrete wrapper for the virtual method
CommitTransactionCore. As this is the concrete version, the real work is done in the
Core version of the method. It will commit the existing transaction to its
underlying source of data. It will then pass back the results of the commit, including
any error(s) received. Lastly, it will free up the internal memory cache
of any InternalFeatures added, updated or deleted. You will need to ensure that you have
started a transaction by calling BeginTransaction.
The Transaction System
The transaction system of a FeatureSource sits on top of the inherited implementation
of any specific source, such as Oracle Spatial or Shape files. In this way, it functions
the same way for every FeatureSource. You start by calling BeginTransaction. This
allocates a collection of in-memory change buffers that are used to store changes until
you commit the transaction. So, for example, when you call the Add, Delete or Update
method, the changes to the feature are stored in memory only. If for any reason you
choose to abandon the transaction, you can call RollbackTransaction at any time and the
in-memory buffer will be deleted and the changes will be lost. When you are ready to
commit the transaction, you call CommitTransaction and the collections of changes
are then passed to the CommitTransactionCore method and the implementer of the specific
FeatureSource is responsible for integrating your changes into the underlying
FeatureSource. By default the IsLiveTransaction property is set to false, which means
that until you commit the changes, the FeatureSource API will not reflect any changes
that are in the temporary editing buffer.
In the case where the IsLiveTransaction is set to true, then things function slightly
differently. The live transaction concept means that all of the modifications you
perform during a transaction are live from the standpoint of the querying methods on
the object.
As an example, imagine that you have a FeatureSource that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureSource reflect the
changes.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method will commit the existing transaction to its underlying source of
data.
In the event you attempt to call this method on a feature source which is not in a transaction, it will throw an InvalidOperationException.
This method will commit the existing transaction to its underlying source of
data.
This method will commit the existing transaction to its underlying source of
data. It will then pass back the results of the commit, including any error(s)
received. If you are implementing your own FeatureSource, this is one of the
crucial methods you must create. It should be fairly straightforward that you will
loop through the transaction buffer and add, edit or delete the InternalFeatures in your
underlying data source. Remember to build and pass back the TransactionResult class
so that users of your FeatureSource can respond to failures you may encounter while
committing the InternalFeatures. We will handle the end of the transaction and also the
cleanup of the transaction buffer. Your task will be to commit the records and
produce a TransactionResult return.
The Transaction System
The transaction system of a FeatureSource sits on top of the inherited implementation
of any specific source, such as Oracle Spatial or Shape files. In this way, it functions
the same way for every FeatureSource. You start by calling BeginTransaction. This
allocates a collection of in-memory change buffers that are used to store changes until
you commit the transaction. So, for example, when you call the Add, Delete or Update
method, the changes to the feature are stored in memory only. If for any reason you
choose to abandon the transaction, you can call RollbackTransaction at any time and the
in-memory buffer will be deleted and the changes will be lost. When you are ready to
commit the transaction, you call CommitTransaction and the collections of changes
are then passed to the CommitTransactionCore method and the implementer of the specific
FeatureSource is responsible for integrating your changes into the underlying
FeatureSource. By default the IsLiveTransaction property is set to false, which means
that until you commit the changes, the FeatureSource API will not reflect any changes
that are in the temporary editing buffer.
In the case where the IsLiveTransaction is set to true, then things function slightly
differently. The live transaction concept means that all of the modifications you
perform during a transaction are live from the standpoint of the querying methods on
the object.
As an example, imagine that you have a FeatureSource that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureSource reflect the
changes.
The returned decimalDegreesValue of this method is a TransactionResult class which gives you the
status of the transaction you just committed. It includes how many of the updates,
adds, and deletes were successful, as well as any error(s) that were encountered during the
committing of the transaction.
This parameter encapsulates all of the adds, edits and deletes that make up the
transaction. You will use this data to write the changes to your underlying data
source.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
This method returns all of the InternalFeatures in the FeatureSource. It will return
whatever is returned by the GetAllFeaturesCore method, along with any of the additions or
subtractions made if you are in a transaction and that transaction is configured to be
live.
The main purpose of this method is to be the anchor of all of our default virtual
implementations within this class. We as the framework developers wanted to provide you
the user with as much default virtual implementation as possible. To do this, we needed
a way to get access to all of the features. For example, let's say we want to create a default
implementation for finding all of the InternalFeatures in a bounding box. Because this is an
abstract class, we do not know the specifics of the underlying data or how its spatial
indexes work. What we do know is that if we get all of the records, then we can brute-force
the answer. In this way, if you inherited from this class and only implemented this one
method, we can provide default implementations for virtually every other API.
While this is nice for you the developer if you decide to create your own FeatureSource,
it comes with a price: namely, it is very inefficient. In the example we just
discussed (about finding all of the InternalFeatures in a bounding box), we would not want to look
at every record to fulfil this method. Instead, we would want to override the
GetFeaturesInsideBoundingBoxCore and implement specific code that would be faster. For
example, in Oracle Spatial there is a specific SQL statement to perform this operation very
quickly. The same holds true with other specific FeatureSource examples.
Most default implementations in the FeatureSource call the
GetFeaturesInsideBoundingBoxCore, which by default calls the GetAllFeaturesCore. It is
our advice that if you create your own FeatureSource that you ALWAYS override the
GetFeatureInsideBoundingBox. This will ensure that nearly every other API will operate
efficiently. Please see the specific API to determine what method it uses.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method returns all of the InternalFeatures in the FeatureSource.
The returned decimalDegreesValue is a collection of all of the InternalFeatures in the
FeatureSource.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
This method returns all of the InternalFeatures in the FeatureSource. It will return
whatever is returned by the GetAllFeaturesCore method, along with any of the additions or
subtractions made if you are in a transaction and that transaction is configured to be
live.
The main purpose of this method is to be the anchor of all of our default virtual
implementations within this class. We as the framework developers wanted to provide you
the user with as much default virtual implementation as possible. To do this, we needed
a way to get access to all of the features. For example, let's say we want to create a default
implementation for finding all of the InternalFeatures in a bounding box. Because this is an
abstract class, we do not know the specifics of the underlying data or how its spatial
indexes work. What we do know is that if we get all of the records, then we can brute-force
the answer. In this way, if you inherited from this class and only implemented this one
method, we can provide default implementations for virtually every other API.
While this is nice for you the developer if you decide to create your own FeatureSource,
it comes with a price: namely, it is very inefficient. In the example we just
discussed (about finding all of the InternalFeatures in a bounding box), we would not want to look
at every record to fulfil this method. Instead, we would want to override the
GetFeaturesInsideBoundingBoxCore and implement specific code that would be faster. For
example, in Oracle Spatial there is a specific SQL statement to perform this operation very
quickly. The same holds true with other specific FeatureSource examples.
Most default implementations in the FeatureSource call the
GetFeaturesInsideBoundingBoxCore, which by default calls the GetAllFeaturesCore. It is
our advice that if you create your own FeatureSource that you ALWAYS override the
GetFeatureInsideBoundingBox. This will ensure that nearly every other API will operate
efficiently. Please see the specific API to determine what method it uses.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method returns all of the InternalFeatures in the FeatureSource.
The returned decimalDegreesValue is a collection of all of the InternalFeatures in the
FeatureSource.
This parameter allows you to select a type from the ReturningColumnsType that you wish to return with each Feature.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures in the FeatureSource.
The returned decimalDegreesValue is a collection of all of the InternalFeatures in the
FeatureSource.
This method returns all of the InternalFeatures in the FeatureSource. You will not need
to consider anything about pending transactions, as this will be handled in the non-Core
version of the method.
The main purpose of this method is to be the anchor of all of our default virtual
implementations within this class. We as the framework developers wanted to provide you
the user with as much default virtual implementation as possible. To do this, we needed
a way to get access to all of the features. For example, let's say we want to create a default
implementation for finding all of the InternalFeatures in a bounding box. Because this is an
abstract class, we do not know the specifics of the underlying data or how its spatial
indexes work. What we do know is that if we get all of the records, then we can brute-force
the answer. In this way, if you inherited from this class and only implemented this one
method, we can provide default implementations for virtually every other API.
While this is nice for you the developer if you decide to create your own FeatureSource,
it comes with a price: namely, it is very inefficient. In the example we just
discussed (about finding all of the InternalFeatures in a bounding box), we would not want to look
at every record to fulfil this method. Instead, we would want to override the
GetFeaturesInsideBoundingBoxCore and implement specific code that would be faster. For
example, in Oracle Spatial there is a specific SQL statement to perform this operation very
quickly. The same holds true with other specific FeatureSource examples.
Most default implementations in the FeatureSource call the
GetFeaturesInsideBoundingBoxCore, which by default calls the GetAllFeaturesCore. It is
our advice that if you create your own FeatureSource that you ALWAYS override the
GetFeatureInsideBoundingBox. This will ensure that nearly every other API will operate
efficiently. Please see the specific API to determine what method it uses.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures of this FeatureSource outside of the
specified bounding box. If you are in a transaction and that transaction is live,
this method will also take that into consideration.
The default implementation of GetFeaturesOutsideBoundingBoxCore uses the
GetAllRecordsCore method to determine which InternalFeatures are outside of the bounding
box. We strongly recommend that you provide your own implementation for this method
that will be more efficient.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method returns all of the InternalFeatures of this FeatureSource outside of the
specified bounding box.
This method returns all of the InternalFeatures of this FeatureSource outside of the
specified bounding box.
This parameter represents the bounding box that you wish to find InternalFeatures outside
of.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass a null as the boundingBox, we will throw an ArgumentNullException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures of this FeatureSource outside of the
specified bounding box. If you are in a transaction and that transaction is live,
this method will also take that into consideration.
The default implementation of GetFeaturesOutsideBoundingBoxCore uses the
GetAllRecordsCore method to determine which InternalFeatures are outside of the bounding
box. We strongly recommend that you provide your own implementation for this method
that will be more efficient.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method returns all of the InternalFeatures of this FeatureSource outside of the
specified bounding box.
This method returns all of the InternalFeatures of this FeatureSource outside of the
specified bounding box.
This parameter represents the bounding box that you wish to find InternalFeatures outside
of.
This parameter allows you to select a type from the ReturningColumnsType that you wish to return with each Feature.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass a null as the boundingBox, we will throw an ArgumentNullException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures of this FeatureSource outside of the
specified bounding box.
This method returns all of the InternalFeatures of this FeatureSource outside of the
specified bounding box.
This method returns all of the InternalFeatures of this FeatureSource outside of the
specified bounding box. If you are in a transaction and that transaction is live,
this method will also take that into consideration.
The default implementation of GetFeaturesOutsideBoundingBoxCore uses the
GetAllRecordsCore method to determine which InternalFeatures are outside of the bounding box.
We strongly recommend that you provide your own implementation for this method that
will be more efficient.
This parameter represents the bounding box that you wish to find InternalFeatures outside
of.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass a null as the boundingBox, we will throw an ArgumentNullException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures of this FeatureSource inside of the
specified bounding box.
This method returns all of the InternalFeatures of this FeatureSource inside of the
specified bounding box. If you are in a transaction and that transaction is live,
this method will also take that into consideration.
The default implementation of GetFeaturesInsideBoundingBoxCore uses the
GetAllRecordsCore method to determine which InternalFeatures are inside of the bounding
box. We strongly recommend that you provide your own implementation for this method
that will be more efficient. That is especially important for this method, as many
other default virtual methods use this for their calculations. When you override this
method, we recommend that you use any spatial indexes you have at your disposal
to make this method as fast as possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
The returned decimalDegreesValue is a collection of all of the InternalFeatures that are inside of the
bounding box.
This parameter represents the bounding box that you wish to find InternalFeatures inside
of.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass a null as the boundingBox, we will throw an ArgumentNullException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures of this FeatureSource inside of the
specified bounding box.
This method returns all of the InternalFeatures of this FeatureSource inside of the
specified bounding box. If you are in a transaction and that transaction is live,
this method will also take that into consideration.
The default implementation of GetFeaturesInsideBoundingBoxCore uses the
GetAllRecordsCore method to determine which InternalFeatures are inside of the bounding
box. We strongly recommend that you provide your own implementation for this method
that will be more efficient. That is especially important for this method, as many
other default virtual methods use this for their calculations. When you override this
method, we highly recommend that you use any spatial indexes you have at your disposal
to make this method as fast as possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
The returned decimalDegreesValue is a collection of all of the InternalFeatures that are inside of the
bounding box.
This parameter represents the bounding box that you wish to find InternalFeatures inside
of.
This parameter allows you to select a type from the ReturningColumnsType that you wish to return with each Feature.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass a null as the boundingBox, we will throw an ArgumentNullException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures of this FeatureSource that are inside of the
specified bounding box.
The returned decimalDegreesValue is a collection of all of the InternalFeatures that are inside of the
bounding box.
This method returns all of the InternalFeatures of this FeatureSource that are inside of the
specified bounding box. If you are overriding this method you will not need to consider
anything about transactions, as this is handled by the concrete version of this
method.
The default implementation of GetFeaturesInsideBoundingBoxCore uses the
GetAllRecordsCore method to determine which InternalFeatures are inside of the bounding box. We
strongly recommend that you provide your own implementation for this method that will
be more efficient. That is especially important for this method, as many other default
virtual methods use this for their calculations. When you override this method, we highly recommend
that you use any spatial indexes you have at your disposal to make this
method as fast as possible.
This parameter represents the bounding box that you wish to find InternalFeatures inside
of.
This parameter allows you to select the field names of the column data that you wish
to return with each Feature.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass a null as the boundingBox, we will throw an ArgumentNullException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns the Ids of all of the InternalFeatures of this FeatureSource that are inside of the bounding box.
The Ids of all of the InternalFeatures of this FeatureSource that are inside of the bounding box.
This method returns the Ids of all of the InternalFeatures of this FeatureSource that are inside of the specified bounding box.
If you are overriding this method you will not need to consider
anything about transactions, as this is handled by the concrete version of this
method.
The default implementation of GetFeatureIdsInsideBoundingBoxCore uses the
GetfeaturesInsideBoundingBoxCore method to determine which InternalFeatures are inside of the bounding box. We
strongly recommend that you provide your own implementation for this method that will
be more efficient. That is especially important for this method, as many other default
virtual methods use this for their calculations. When you override this method, we highly recommend
that you use any spatial indexes you have at your disposal to make this
method as fast as possible.
This parameter represents the bounding box that you wish to find InternalFeatureIds inside of
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns the Ids of all of the InternalFeatures of this FeatureSource that are inside of the bounding box.
The Ids of all of the InternalFeatures of this FeatureSource that are inside of the bounding box.
This method returns the Ids of all of the InternalFeatures of this FeatureSource that are inside of the specified bounding box.
If you are overriding this method you will not need to consider
anything about transactions, as this is handled by the concrete version of this
method.
The default implementation of GetFeatureIdsInsideBoundingBoxCore uses the
GetfeaturesInsideBoundingBoxCore method to determine which InternalFeatures are inside of the bounding box. We
strongly recommend that you provide your own implementation for this method that will
be more efficient. That is especially important for this method, as many other default
virtual methods use this for their calculations. When you override this method, we highly recommend
that you use any spatial indexes you have at your disposal to make this
method as fast as possible.
This parameter represents the bounding box that you wish to find InternalFeatureIds inside of
This method returns the InternalFeatures that will be used for drawing.
This method returns the InternalFeatures that will be used for drawing.
This method returns all of the InternalFeatures of this FeatureSource that are inside of the
specified bounding box. If you are in a transaction and that transaction is live,
this method will also take that into consideration.
The default implementation of GetFeaturesForDrawing uses the
GetFeaturesInsodeBoundingBoxCore with some optimizations based on the screen width
and height. For example, we can determine if a feature is going to draw in only one
to four pixels and in that case we may not draw the entire feature but just a
subset of it instead.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter is the bounding box of the InternalFeatures you want to draw.
This parameter is the width of the canvas, in screen pixels, that you will draw on.
This parameter is the height of the canvas, in screen pixels, that you will draw on.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
This method returns the InternalFeatures that will be used for drawing.
This method returns the InternalFeatures that will be used for drawing.
This method returns all of the InternalFeatures of this FeatureSource that are inside of the
specified bounding box. If you are in a transaction and that transaction is live,
this method will also take that into consideration.
The default implementation of GetFeaturesForDrawing uses the
GetFeaturesInsodeBoundingBoxCore with some optimizations based on the screen width
and height. For example, we can determine if a feature is going to draw in only one
to four pixels and in that case we may not draw the entire feature but just a
subset of it instead.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter is the bounding box of the InternalFeatures that you want to draw.
This parameter is the width of the canvas, in screen pixels, that you will draw on.
This parameter is the height of the canvas, in screen pixels, that you will draw on.
This parameter allows you to select a type from the ReturningColumnsType you wish to return with each Feature.
This method returns all of the InternalFeatures of this FeatureSource that are inside of the
specified bounding box. If you are overriding this method you will not need to consider
anything about transactions, as this is handled by the concrete version of this
method.
The default implementation of GetFeaturesForDrawingCore uses the
GetFeaturesInsodeBoundingBoxCore with some optimizations based on the screen width and
height. For example, we can determine if a feature is going to draw in only one
to four pixels and in that case we may not draw the entire feature but just a
subset of it instead.
This method returns the InternalFeatures that will be used for drawing.
This method returns the InternalFeatures that will be used for drawing.
This parameter is the bounding box of the InternalFeatures that you want to draw.
This parameter is the width of the canvas, in screen pixels, that you will draw on.
This parameter is the height of the canvas, in screen pixels, that you will draw on.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures based on the target Feature and the
spatial query type specified.
The returned decimalDegreesValue is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures based on the target Feature and the
spatial query type specified below. If there is a current transaction and it is
marked as live, then the results will include any transaction Feature that
applies.
Spatial Query Types:
Disjoint - This method returns InternalFeatures where the specific Feature
and the targetShape have no points in common.
Intersects - This method returns InternalFeatures where the specific
Feature and the targetShape have at least one point in common.
Touches - This method returns InternalFeatures where the specific Feature
and the targetShape have at least one boundary point in common, but no interior
points.
Crosses - This method returns InternalFeatures where the specific Feature
and the targetShape share some but not all interior points.
Within - This method returns InternalFeatures where the specific Feature
lies within the interior of the targetShape.
Contains - This method returns InternalFeatures where the specific Feature
lies within the interior of the current shape.
Overlaps - This method returns InternalFeatures where the specific Feature
and the targetShape share some but not all points in common.
TopologicalEqual - This method returns InternalFeatures where the specific
Feature and the target Shape are topologically equal.
The default implementation of SpatialQueryCore uses the
GetFeaturesInsideBoundingBoxCore method to pre-filter the spatial query. We
strongly recommend that you provide your own implementation for this method that
will be more efficient. When you override this method, we recommend that you use any
spatial indexes you have at your disposal to make this method as fast as
possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter specifies the target shape used in the spatial query.
This parameter specifies what kind of spatial query you wish to perform.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass in a queryType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures based on the target Feature and the
spatial query type specified.
The return decimalDegreesValue is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures based on the target Feature and the
spatial query type specified below. If there is a current transaction and it is
marked as live, then the results will include any transaction Feature that
applies.
Spatial Query Types:
Disjoint - This method returns InternalFeatures where the specific Feature
and the targetShape have no points in common.
Intersects - This method returns InternalFeatures where the specific
Feature and the targetShape have at least one point in common.
Touches - This method returns InternalFeatures where the specific Feature
and the targetShape have at least one boundary point in common, but no interior
points.
Crosses - This method returns InternalFeatures where the specific Feature
and the targetShape share some but not all interior points.
Within - This method returns InternalFeatures where the specific Feature
lies within the interior of the targetShape.
Contains - This method returns InternalFeatures where the specific Feature
lies within the interior of the current shape.
Overlaps - This method returns InternalFeatures where the specific Feature
and the targetShape share some but not all points in common.
TopologicalEqual - This method returns InternalFeatures where the specific
Feature and the target Shape are topologically equal.
The default implementation of SpatialQueryCore uses the
GetFeaturesInsideBoundingBoxCore method to pre-filter the spatial query. We
strongly recommend that you provide your own implementation for this method that
will be more efficient. When you override this method, we recommend that you use any
spatial indexes you have at your disposal to make this method as fast as
possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter specifies the target shape used in the spatial query.
This parameter specifies what kind of spatial query you wish to perform.
This parameter allows you to select a type from the ReturningColumnsType that you wish to return with each Feature.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass in a queryType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures based on the target Feature and the
spatial query type specified.
The returned decimalDegreesValue is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures based on the target Feature and the
spatial query type specified below. If there is a current transaction and it is
marked as live, then the results will include any transaction Feature that
applies.
Spatial Query Types:
Disjoint - This method returns InternalFeatures where the specific Feature
and the targetShape have no points in common.
Intersects - This method returns InternalFeatures where the specific
Feature and the targetShape have at least one point in common.
Touches - This method returns InternalFeatures where the specific Feature
and the targetShape have at least one boundary point in common, but no interior
points.
Crosses - This method returns InternalFeatures where the specific Feature
and the targetShape share some but not all interior points.
Within - This method returns InternalFeatures where the specific Feature
lies within the interior of the targetShape.
Contains - This method returns InternalFeatures where the specific Feature
lies within the interior of the current shape.
Overlaps - This method returns InternalFeatures where the specific Feature
and the targetShape share some but not all points in common.
TopologicalEqual - This method returns InternalFeatures where the specific
Feature and the target Shape are topologically equal.
The default implementation of SpatialQueryCore uses the
GetFeaturesInsideBoundingBoxCore method to pre-filter the spatial query. We
strongly recommend that you provide your own implementation for this method that
will be more efficient. When you override this method, we recommend that you use any
spatial indexes you have at your disposal to make this method as fast as
possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter specifies the target feature used in the spatial query.
This parameter specifies what kind of spatial query you wish to perform.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass in a queryType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures based on the target Feature and the
spatial query type specified.
The returned decimalDegreesValue is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures based on the target Feature and the
spatial query type specified below. If there is a current transaction and it is
marked as live, then the results will include any transaction Feature that
applies.
Spatial Query Types:
Disjoint - This method returns InternalFeatures where the specific Feature
and the targetShape have no points in common.
Intersects - This method returns InternalFeatures where the specific
Feature and the targetShape have at least one point in common.
Touches - This method returns InternalFeatures where the specific Feature
and the targetShape have at least one boundary point in common, but no interior
points.
Crosses - This method returns InternalFeatures where the specific Feature
and the targetShape share some but not all interior points.
Within - This method returns InternalFeatures where the specific Feature
lies within the interior of the targetShape.
Contains - This method returns InternalFeatures where the specific Feature
lies within the interior of the current shape.
Overlaps - This method returns InternalFeatures where the specific Feature
and the targetShape share some but not all points in common.
TopologicalEqual - This method returns InternalFeatures where the specific
Feature and the target Shape are topologically equal.
The default implementation of SpatialQueryCore uses the
GetFeaturesInsideBoundingBoxCore method to pre-filter the spatial query. We
strongly recommend that you provide your own implementation for this method that
will be more efficient. When you override this method, we recommend that you use any
spatial indexes you have at your disposal to make this method as fast as
possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter specifies the target feature used in the spatial query.
This parameter specifies what kind of spatial query you wish to perform.
This parameter allows you to select a type from the ReturningColumnsType that you wish to return with each Feature.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass in a queryType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures based on the target Feature and the
spatial query type specified below. If you override this method, you do not need to
consider transactions. It is suggested that if you are looking to speed up this method
that you first override the GetFeaturesInsideBoundingBoxCore and then re-test this
method, as it relies heavily on that method internally. See more information
below.
Spatial Query Types:
Disjoint - This method returns InternalFeatures where the specific Feature and
the targetShape have no points in common.
Intersects - This method returns InternalFeatures where the specific Feature
and the targetShape have at least one point in common.
Touches - This method returns InternalFeatures where the specific Feature and
the targetShape have at least one boundary point in common, but no interior
points.
Crosses - This method returns InternalFeatures where the specific Feature and
the targetShape share some but not all interior points.
Within - This method returns InternalFeatures where the specific Feature lies
within the interior of the targetShape.
Contains - This method returns InternalFeatures where the specific Feature
lies within the interior of the current shape.
Overlaps - This method returns InternalFeatures where the specific Feature and
the targetShape share some but not all points in common.
TopologicalEqual - This method returns InternalFeatures where the specific
Feature and the target Shape are topologically equal.
The default implementation of SpatialQueryCore uses the
GetFeaturesInsideBoundingBoxCore method to pre-filter the spatial query. We strongly
recommend that you provide your own implementation for this method that will be more
efficient. When you override this method, we recommend that you use any
spatial indexes you have at your disposal to make this method as fast as
possible.
This method returns all of the InternalFeatures based on the target Feature and the
spatial query type specified.
The return decimalDegreesValue is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This parameter specifies the target shape used in the spatial query.
This parameter specifies what kind of spatial query you wish to perform.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass in a queryType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape. It is important to note that the TargetShape and the FeatureSource must use
the same unit, such as feet or meters. If they do not, then the results will not be
predictable or correct. If there is a current transaction and it is marked as live,
then the results will include any transaction Feature that applies.
The implementation we provided creates a small bounding box around the TargetShape
and then queries the features inside of it. If we reach the number of items to find,
then we measure the returned InternalFeatures to find the nearest. If we do not find enough
records, we scale up the bounding box and try again. As you can see, this is not the
most efficient method. If your underlying data provider exposes a more efficient way,
we recommend you override the Core version of this method and implement it.
The default implementation of GetFeaturesNearestCore uses the
GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you
provide your own implementation for this method that will be more efficient.
When you override GetFeaturesInsideBoundingBoxCore method, we recommend that you use
any spatial indexes you have at your disposal to make this method as fast as
possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter is the shape you want to find InternalFeatures close to.
This parameter is the unit of measurement that the TargetShape and the FeatureSource are in,
such as feet, meters, etc.
This parameter defines how many close InternalFeatures to find around the
TargetShape.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass in a maxItemsToFind that is not greater than 0, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape. It is important to note that the TargetShape and the FeatureSource must use
the same unit, such as feet or meters. If they do not, then the results will not be
predictable or correct. If there is a current transaction and it is marked as live,
then the results will include any transaction Feature that applies.
The implementation we provided creates a small bounding box around the TargetShape
and then queries the features inside of it. If we reach the number of items to find,
then we measure the returned InternalFeatures to find the nearest. If we do not find enough
records, we scale up the bounding box and try again. As you can see, this is not the
most efficient method. If your underlying data provider exposes a more efficient way,
we recommend you override the Core version of this method and implement it.
The default implementation of GetFeaturesNearestCore uses the
GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you
provide your own implementation for this method that will be more efficient.
When you override GetFeaturesInsideBoundingBoxCore method, we recommend that you use
any spatial indexes you have at your disposal to make this method as fast as
possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter is the shape you want to find InternalFeatures close to.
This parameter is the unit of measurement that the TargetShape and the FeatureSource are in,
such as feet, meters, etc.
This parameter defines how many close InternalFeatures to find around the
TargetShape.
This parameter allows you to select a type from the ReturningColumnsType that you wish to return with each Feature.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass in a maxItemsToFind that is not greater than 0, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape. It is important to note that the TargetShape and the FeatureSource must use
the same unit, such as feet or meters. If they do not, then the results will not be
predictable or correct. If there is a current transaction and it is marked as live,
then the results will include any transaction Feature that applies.
The implementation we provided creates a small bounding box around the TargetShape
and then queries the features inside of it. If we reach the number of items to find,
then we measure the returned InternalFeatures to find the nearest. If we do not find enough
records, we scale up the bounding box and try again. As you can see, this is not the
most efficient method. If your underlying data provider exposes a more efficient way,
we recommend you override the Core version of this method and implement it.
The default implementation of GetFeaturesNearestCore uses the
GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you
provide your own implementation for this method that will be more efficient.
When you override GetFeaturesInsideBoundingBoxCore method, we recommend that you use
any spatial indexes you have at your disposal to make this method as fast as
possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter is the feature you want to find InternalFeatures close to.
This parameter is the unit of measurement that the TargetShape and the FeatureSource are in,
such as feet, meters, etc.
This parameter defines how many close InternalFeatures to find around the
TargetShape.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass in a maxItemsToFind that is not greater than 0, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape. It is important to note that the TargetShape and the FeatureSource must use
the same unit, such as feet or meters. If they do not, then the results will not be
predictable or correct. If there is a current transaction and it is marked as live,
then the results will include any transaction Feature that applies.
The implementation we provided creates a small bounding box around the TargetShape
and then queries the features inside of it. If we reach the number of items to find,
then we measure the returned InternalFeatures to find the nearest. If we do not find enough
records, we scale up the bounding box and try again. As you can see, this is not the
most efficient method. If your underlying data provider exposes a more efficient way,
we recommend you override the Core version of this method and implement it.
The default implementation of GetFeaturesNearestCore uses the
GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you
provide your own implementation for this method that will be more efficient.
When you override GetFeaturesInsideBoundingBoxCore method, we recommend that you use
any spatial indexes you have at your disposal to make this method as fast as
possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter is the target feature you want to find InternalFeatures close to.
This parameter is the unit of measurement that the TargetShape and the FeatureSource are in,
such as feet, meters, etc.
This parameter defines how many close InternalFeatures to find around the
TargetShape.
This parameter allows you to select a type from the ReturningColumnsType that you wish to return with each Feature.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass in a maxItemsToFind that is not greater than 0, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape. It is important to note that the TargetShape and the FeatureSource must use
the same unit, such as feet or meters. If they do not, then the results will not be
predictable or correct. If there is a current transaction and it is marked as live,
then the results will include any transaction Feature that applies.
The implementation we provided creates a small bounding box around the TargetShape
and then queries the features inside of it. If we reach the number of items to find,
then we measure the returned InternalFeatures to find the nearest. If we do not find enough
records, we scale up the bounding box and try again. As you can see, this is not the
most efficient method. If your underlying data provider exposes a more efficient way,
we recommend you override the Core version of this method and implement it.
The default implementation of GetFeaturesNearestCore uses the
GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you
provide your own implementation for this method that will be more efficient.
When you override GetFeaturesInsideBoundingBoxCore method, we recommend that you use
any spatial indexes you have at your disposal to make this method as fast as
possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter is the shape you want to find InternalFeatures close to.
This parameter is the unit of measurement that the TargetShape and the FeatureSource are in,
such as feet, meters, etc.
This parameter defines how many close InternalFeatures to find around the
TargetShape.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
Limit the maximize distance proximately to search closest records.
The unit of searchRadius parameter.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass in a maxItemsToFind that is not greater than 0, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape. It is important to note that the TargetShape and the FeatureSource must use
the same unit, such as feet or meters. If they do not, then the results will not be
predictable or correct. If there is a current transaction and it is marked as live,
then the results will include any transaction Feature that applies.
The implementation we provided creates a small bounding box around the TargetShape
and then queries the features inside of it. If we reach the number of items to find,
then we measure the returned InternalFeatures to find the nearest. If we do not find enough
records, we scale up the bounding box and try again. As you can see, this is not the
most efficient method. If your underlying data provider exposes a more efficient way,
we recommend you override the Core version of this method and implement it.
The default implementation of GetFeaturesNearestCore uses the
GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you
provide your own implementation for this method that will be more efficient.
When you override GetFeaturesInsideBoundingBoxCore method, we recommend that you use
any spatial indexes you have at your disposal to make this method as fast as
possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter is feature you want to find InternalFeatures close to.
This parameter is the unit of measurement that the TargetShape and the FeatureSource are in,
such as feet, meters, etc.
This parameter defines how many close InternalFeatures to find around the
TargetShape.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
Limit the maximize distance proximately to search closest records.
The unit of distanceLimits parameter.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass in a maxItemsToFind that is not greater than 0, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape. It is important to note that the TargetShape and the FeatureSource must use
the same unit, such as feet or meters. If they do not, then the results will not be
predictable or correct. If there is a current transaction and it is marked as live,
then the results will include any transaction Feature that applies.
The implementation we provided creates a small bounding box around the TargetShape
and then queries the features inside of it. If we reach the number of items to find,
then we measure the returned InternalFeatures to find the nearest. If we do not find enough
records, we scale up the bounding box and try again. As you can see, this is not the
most efficient method. If your underlying data provider exposes a more efficient way,
we recommend you override the Core version of this method and implement it.
The default implementation of GetFeaturesNearestCore uses the
GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you
provide your own implementation for this method that will be more efficient.
When you override GetFeaturesInsideBoundingBoxCore method, we recommend that you use
any spatial indexes you have at your disposal to make this method as fast as
possible.
This parameter is the shape you want to find InternalFeatures close to.
This parameter is the unit of measurement that the TargetShape and the FeatureSource are in,
such as feet, meters, etc.
This parameter defines how many close InternalFeatures to find around the
TargetShape.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass in a maxItemsToFind that is not greater than 0, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns a collection of InternalFeatures that are within a certain distance
of the TargetShape.
This method returns a collection of InternalFeatures that are within a certain distance
of the TargetShape.
This method returns a collection of InternalFeatures that are within a certain
distance of the TargetShape. It is important to note that the TargetShape and the
FeatureSource must use the same unit, such as feet or meters. If they do not, then the
results will not be predictable or correct. If there is a current transaction and
it is marked as live, then the results will include any transaction Feature that
applies.
The implementation we provided creates a bounding box around the TargetShape using
the distance supplied and then queries the features inside of it. This may not be the
most efficient method for this operation. If your underlying data provider exposes a
more efficient way, we recommend you override the Core version of this method and
implement it.
The default implementation of GetFeaturesWithinDistanceOfCore uses the
GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you
provide your own implementation for this method that will be more efficient. When
you override GetFeaturesInsideBoundingBoxCore method, we recommend that you use
any spatial indexes you have at your disposal to make this method as fast as
possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
The shape you wish to find InternalFeatures within a distance of.
This parameter is the unit of data that the FeatureSource and TargetShape are
in.
This parameter specifies the measurement unit for the distance parameter, such as feet, miles,
kilometers, etc.
This parameter specifies the distance in which to find InternalFeatures around the
TargetShape.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass in a unitOfData that is not defined, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns a collection of InternalFeatures that are within a certain distance
of the TargetShape.
This method returns a collection of InternalFeatures that are within a certain distance
of the TargetShape.
This method returns a collection of InternalFeatures that are within a certain
distance of the TargetShape. It is important to note that the TargetShape and the
FeatureSource must use the same unit, such as feet or meters. If they do not, then the
results will not be predictable or correct. If there is a current transaction and
it is marked as live, then the results will include any transaction Feature that
applies.
The implementation we provided creates a bounding box around the TargetShape using
the distance supplied and then queries the features inside of it. This may not be the
most efficient method for this operation. If your underlying data provider exposes a
more efficient way, we recommend you override the Core version of this method and
implement it.
The default implementation of GetFeaturesWithinDistanceOfCore uses the
GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you
provide your own implementation for this method that will be more efficient. When
you override GetFeaturesInsideBoundingBoxCore method, we recommend that you use
any spatial indexes you have at your disposal to make this method as fast as
possible.
The shape you wish to find InternalFeatures within a distance of.
This parameter is the unit of data that the FeatureSource and TargetShape are
in.
This parameter specifies the measurement unit for the distance parameter, such as feet, miles,
kilometers, etc.
This parameter specifies the distance in which to find InternalFeatures around the
TargetShape.
This parameter allows you to select a type from the ReturningColumnsType that you wish to return with each Feature.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass in a unitOfData that is not defined, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns a collection of InternalFeatures that are within a certain distance
of the TargetShape.
This method returns a collection of InternalFeatures that are within a certain distance
of the TargetShape.
This method returns a collection of InternalFeatures that are within a certain
distance of the TargetShape. It is important to note that the TargetShape and the
FeatureSource must use the same unit, such as feet or meters. If they do not, then the
results will not be predictable or correct. If there is a current transaction and
it is marked as live, then the results will include any transaction Feature that
applies.
The implementation we provided creates a bounding box around the TargetShape using
the distance supplied and then queries the features inside of it. This may not be the
most efficient method for this operation. If your underlying data provider exposes a
more efficient way, we recommend you override the Core version of this method and
implement it.
The default implementation of GetFeaturesWithinDistanceOfCore uses the
GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you
provide your own implementation for this method that will be more efficient. When
you override GetFeaturesInsideBoundingBoxCore method, we recommend that you use
any spatial indexes you have at your disposal to make this method as fast as
possible.
The feature you wish to find InternalFeatures within a distance of.
This parameter is the unit of data that the FeatureSource and TargetShape are
in.
This parameter specifies the measurement unit for the distance parameter, such as feet, miles,
kilometers, etc.
This parameter specifies the distance in which to find InternalFeatures around the
TargetShape.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass in a unitOfData that is not defined, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns a collection of InternalFeatures that are within a certain distance
of the TargetShape.
This method returns a collection of InternalFeatures that are within a certain distance
of the TargetShape.
This method returns a collection of InternalFeatures that are within a certain
distance of the TargetShape. It is important to note that the TargetShape and the
FeatureSource must use the same unit, such as feet or meters. If they do not, then the
results will not be predictable or correct. If there is a current transaction and
it is marked as live, then the results will include any transaction Feature that
applies.
The implementation we provided creates a bounding box around the TargetShape using
the distance supplied and then queries the features inside of it. This may not be the
most efficient method for this operation. If your underlying data provider exposes a
more efficient way, we recommend you override the Core version of this method and
implement it.
The default implementation of GetFeaturesWithinDistanceOfCore uses the
GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you
provide your own implementation for this method that will be more efficient. When
you override GetFeaturesInsideBoundingBoxCore method, we recommend that you use
any spatial indexes you have at your disposal to make this method as fast as
possible.
The feature you wish to find InternalFeatures within a distance of.
This parameter is the unit of data that the FeatureSource and TargetShape are
in.
This parameter specifies the measurement unit for the distance parameter, such as feet, miles,
kilometers, etc.
This parameter specifies the distance in which to find InternalFeatures around the
TargetShape.
This parameter allows you to select a type from the ReturningColumnsType that you wish to return with each Feature.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass in a unitOfData that is not defined, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns a collection of InternalFeatures that are within a certain distance
of the TargetShape.
This method returns a collection of InternalFeatures that are within a certain distance
of the TargetShape.
This method returns a collection of InternalFeatures that are within a certain
distance of the TargetShape. It is important to note that the TargetShape and the
FeatureSource must use the same unit, such as feet or meters. If they do not, then the
results will not be predictable or correct. If there is a current transaction and
it is marked as live, then the results will include any transaction Feature that
applies.
The implementation we provided creates a bounding box around the TargetShape using
the distance supplied and then queries the features inside of it. This may not be the
most efficient method for this operation. If your underlying data provider exposes a
more efficient way, we recommend you override the Core version of this method and
implement it.
The default implementation of GetFeaturesWithinDistanceOfCore uses the
GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you
provide your own implementation for this method that will be more efficient. When
you override GetFeaturesInsideBoundingBoxCore method, we recommend that you use
any spatial indexes you have at your disposal to make this method as fast as
possible.
The shape you wish to find InternalFeatures within a distance of.
This parameter is the unit of data that the FeatureSource and TargetShape are
in.
This parameter specifies the measurement unit for the distance parameter, such as feet, miles,
kilometers, etc.
This parameter specifies the distance in which to find InternalFeatures around the
TargetShape.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
If you pass in a unitOfData that is not defined, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns a Feature by providing its Id in the FeatureSource.
This method returns a Feature by providing its Id in the FeatureSource.
This method returns a collection of InternalFeatures by providing a group of Ids. The
internal implementation calls the GetFeaturesByIdsCore and only passes one Id in the
collection. That method in turn calls the GetAllFeaturesCore. Because of this, if you
want a more efficient version of this method, we highly suggest you override the
GetFeaturesByIdsCore method and provide a fast way to find a group of InternalFeatures by their
Id.
This parameter is the Id which uniquely identifies it in the
FeatureSource.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the id, we will throw an ArgumentNullException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
If you pass a null as the id, we will throw an ArgumentNullException.
This method returns a Feature by providing its Id in the FeatureSource.
This method returns a Feature by providing its Id in the FeatureSource.
This method returns a collection of InternalFeatures by providing a group of Ids. The
internal implementation calls the GetFeaturesByIdsCore and only passes one Id in the
collection. That method in turn calls the GetAllFeaturesCore. Because of this, if you
want a more efficient version of this method, then we highly suggest you override the
GetFeaturesByIdsCore method and provide a fast way to find a group of InternalFeatures by their
Id.
This parameter is the Id which uniquely identifies it in the
FeatureSource.
This parameter allows you to select a type from the ReturningColumnsType that you wish to return with each Feature.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns a collection of InternalFeatures by providing a group of Ids.
This method returns a collection of InternalFeatures by providing a group of Ids.
This method returns a collection of InternalFeatures by providing a group of Ids. The
internal implementation calls the GetFeaturesByIdsCore. That method in turn calls the
GetAllFeaturesCore. Because of this, if you want a more efficient version of this method,
then we highly suggest you override the GetFeaturesByIdsCore method and provide a fast
way to find a group of InternalFeatures by their Id.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter represents the group of Ids which uniquely identifies the InternalFeatures
in the FeatureSource.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the ids, we will throw an ArgumentNullException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns a collection of InternalFeatures by providing a group of Ids.
This method returns a collection of InternalFeatures by providing a group of Ids.
This method returns a collection of InternalFeatures by providing a group of Ids. The
internal implementation calls the GetFeaturesByIdsCore. That method in turn calls the
GetAllFeaturesCore. Because of this, if you want a more efficient version of this method,
then we highly suggest you override the GetFeaturesByIdsCore method and provide a fast
way to find a group of InternalFeatures by their Id.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter represents the group of Ids which uniquely identifies the InternalFeatures
in the FeatureSource.
This parameter allows you to select a type from the ReturningColumnsType that you wish to return with each Feature.
If you pass a null as the ids, we will throw an ArgumentNullException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns a bounding box by providing an Id. The internal
implementation calls the GetFeaturesByIdsCore and only passes one Id in the collection.
That method in turn calls the GetAllFeaturesCore. Because of this, if you want a more
efficient version of this method, then we highly suggest you override the
GetFeaturesByIdsCore method and provide a fast way to find a group of InternalFeatures by their
Id.
This method returns a bounding box based on the InternalFeatures Id specified.
This method returns a bounding box based on the InternalFeatures Id specified.
This parameter represents the Id for the InternalFeatures whose bounding box you
want.
If you pass a null as the id, we will throw an ArgumentNullException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns a collection of bounding boxes based on the Feature Ids
specified.
This method returns a collection of bounding boxes based on the Feature Ids
specified.
This method returns a bounding boxes by providing a goupd of Ids. The internal
implementation calls the GetFeaturesByIdsCore. That method in turn calls the
GetAllFeaturesCore. Because of this, if you want a more efficient version of this method,
then we highly suggest you override the GetFeaturesByIdsCore method and provide a fast
way to find a group of InternalFeatures by their Id.
This parameter represents the group of Ids for the InternalFeatures whose bounding boxes
you want.
If you pass a null as the ids, we will throw an ArgumentNullException.
This is a protected method that is intended to help developers who want to
implement or extend one of our FeatureSources. It is important to note that, as a
general rule, returning column data of a Feature or a set of InternalFeatures happens
inside the non-Core methods and we usually take care of it. However, as a developer,
if you wish to add a new public method, then you will need to handle the projection
yourself.
Let's say, for example, that you want to add a new Find method called FindLargeFeatures.
You pass in a group of columns to return. Most of the time, the requested columns will
actually be in the FeatureSource, but sometimes they will not. The way we allow users to get
data from outside of the Feature Source is by raising an event called
CustomColumnFetch. This way, we allow people to provide data that is outside of the
FeatureSource. Since you will be implementing your own public method, you will want
to support this as all of our other public methods do.
When you first enter the public method, you will want to separate out the fields
that are in the FeatureSource from those that are not. You can call this method and
the GetColumnNamesOutsideFeatureSource. If inside your public method you need to
call any of our Core methods, then you need to make sure that you only pass in the
list of column names that are in the FeatureSource. We assume that Core methods are
simple and they do not handle this complexity.
With the list of non-FeatureSource column names, you simply loop through each column
name for each record and call the OnCustomColumnFetch method while passing in the proper
parameters. This will allow you give the user a chance to provide the values for
the Feature's fields that were not in the FeatureSource. After that, you combine
your results and pass them back out as the return.
public Collection<Feature> FindLargeFeatures(double AreaSize, IEnumerable
<string> columnsToReturn)
{
//Step 1: Separate the columns that are in the FeatureSource from those that
are not.
// Step 2: Call any Core Methods and only pass in the columns that are in the
FeatureSource
//Step3: For Each feature/column name combination, call the OnCustomFiedlFetch
and allow your user to provide the custom data.
// Step4: Integrate the custom data with the result of the Core method plus any
processing you did. Then return the consolidated result.
}
This method returns the field names that are not in the FeatureSource from a list
of provided field names.
This method returns the field names that are not in the FeatureSource from a list
of provided field names.
This parameter is a list of field names, where not every field name may be in the
FeatureSource.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns a collection of bounding boxes based on the Feature Ids
specified.
This method returns a collection of bounding boxes based on the Feature Ids
specified.
This method returns a bounding boxes by providing a goupd of Ids. The internal
implementation calls the GetFeaturesByIdsCore. That method in turn calls the
GetAllFeaturesCore. Because of this, if you want a more efficient version of this method,
then we highly suggest you override the GetFeaturesByIdsCore method and provide a fast
way to find a group of InternalFeatures by their Id.
This parameter represents the group of Ids for the InternalFeatures whose bounding boxes
you want.
If you pass a null as the ids, we will throw an ArgumentNullException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns the well known type that represents the first feature from FeatureSource.
This method returns the well known type that represents the first feature from FeatureSource.
This method is the concrete wrapper for the virtual method GetFirstFeaturesWellKnownTypeCore. It will
return whatever is returned by the GetFirstFeaturesWellKnownTypeCore method, along with any additions
or subtractions made if you are in a transaction and that transaction is configured to
be live. To determine what the default implementation of the abstract GetCountCore
method is, please see the documentation for it.
The default implementation of GetFirstFeaturesWellKnownTypeCore uses the GetAllFeaturesCore method to
get WellKnownType of the first feature from all features. We strongly recommend that
you provide your own implementation for this method that will be more efficient.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns the well known type that represents the first feature from FeatureSource.
This method returns the well known type that represents the first feature from FeatureSource.
This protected virtual method is called from the concrete public method
GetFirstFeaturesWellKnownType. It does not take into account any transaction activity, as this is the
responsibility of the concrete public method GetFirstFeaturesWellKnownType. This way, as a developer,
if you choose to override this method you do not have to consider transactions at
all.
The default implementation of GetCountCore uses the GetAllRFeaturesCore method to
get WellKnownType of the first feature from all features. We strongly recommend
that you provide your own implementation for this method that will be more
efficient.
If you do not override this method, it will get the count by calling the
GetAllFeaturesCore method and get WellKnownType of the first feature from all features. This is a very inefficient way
to get the count in most data sources. It is highly recommended that you override
this method and replace it with a highly optimized version. For example, in a
ShapeFile the record count is in the main header of the file. Similarly, if you are
using Oracle Spatial, you can execute a simple query to get the count of all of the
records without returning them. In these ways you can greatly improve the
performance of this method.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns a collection of InternalFeatures by providing a group of Ids.
This method returns a collection of InternalFeatures by providing a group of Ids.
This method returns a collection of InternalFeatures by providing a group of Ids. The
internal implementation calls the GetAllFeaturesCore. Because of this, if you want a more
efficient version of this method, then we highly suggest you override the
GetFeaturesByIdsCore method and provide a fast way to find a group of InternalFeatures by their
Id.
This parameter represents the group of Ids which uniquely identified the InternalFeatures
in the FeatureSource.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the ids, we will throw an ArgumentNullException.
If you pass a null as the columnNames, we will throw an ArgumentNullException.
This method projects items based on the Projection of the FeatureSource.
This method projects a Feature based on the Projection of the
FeatureSource.
This method projects a Feature based on the Projection of the
FeatureSource.
This is a protected method that is intended to help developers who want to
implement or extend one of our FeatureSources. It is important to note that
projection, as a general rule, happens inside the non-Core methods and we usually
take care of it. However, as a developer, if you wish to add a new public method, then
you will need to handle the projection yourself.
With these projection methods it is very easy to handle the projection and
de-projection. Remember that when adding your own public methods you always
de-project incoming shapes and alway project outgoing shapes. Also remember that the
Core methods do not consider projection, and they assume the data being passed into
them and out of them is the same unit as the underlying data.
Example of a New Public Method:
public Feature ProcessFeature(Feature incomingFeature)
{
//Be sure that you use the FromProjection on the incomingFeatureParameter as the
first thing you do in this method.
// Call a Core Method or do your own processing
//Be sure that you call the ToProjection on the return result of the method before
you pass it out.
}
This parameter represents a group of RectangleShapes that you wish to project.
This method de-projects items based on the Projection of the
FeatureSource.
This method de-projects a BaseShape based on the Projection of the
FeatureSource.
This method de-projects a BaseShape based on the Projection of the
FeatureSource.
This is a protected method that is intended to help developers who want to
implement or extend one of our FeatureSources. It is important to note that
projection, as a general rule, happens inside the non-Core methods and we usually
take care of it. However, as a developer, if you wish to add a new public method, then
you will need to handle the projection yourself.
With these projection methods it is very easy to handle the projection and
de-projection. Remember that when adding your own public methods you always
de-project incoming shapes and alway project outgoing shapes. Also remember that the
Core methods do not consider projection, and they assume the data being passed into
them and out of them is the same unit as the underlying data.
Example of a New Public Method:
public Feature ProcessFeature(Feature incomingFeature)
{
//Be sure that you use the FromProjection on the incomingFeatureParameter as the
first thing you do in this method.
// Call a Core Method or do your own processing
//Be sure that you call the ToProjection on the return result of the method before
you pass it out.
}
This parameter represents a group of RectangleShapes that you wish to de-project.
This method projects items based on the Projection of the FeatureSource.
This method projects a RectangleShape based on the Projection of the
FeatureSource.
This method projects a RectangleShape based on the Projection of the
FeatureSource.
This is a protected method that is intended to help developers who want to
implement or extend one of our FeatureSources. It is important to note that
projection, as a general rule, happens inside the non-Core methods and we usually
take care of it. However, as a developer, if you wish to add a new public method, then
you will need to handle the projection yourself.
With these projection methods it is very easy to handle the projection and
de-projection. Remember that when adding your own public methods you always
de-project incoming shapes and alway project outgoing shapes. Also remember that the
Core methods do not consider projection, and they assume the data being passed into
them and out of them is the same unit as the underlying data.
Example of a New Public Method:
public Feature ProcessFeature(Feature incomingFeature)
{
//Be sure that you use the FromProjection on the incomingFeatureParameter as the
first thing you do in this method.
// Call a Core Method or do your own processing
//Be sure that you call the ToProjection on the return result of the method before
you pass it out.
}
This parameter represents the rectangle you wish to project.
This method de-projects items based on the Projection of the
FeatureSource.
This method de-projects a RectangleShape based on the Projection of the
FeatureSource.
This method de-projects a RectangleShape based on the Projection of the
FeatureSource.
This is a protected method that is intended to help developers who want to
implement or extend one of our FeatureSources. It is important to note that
projection, as a general rule, happens inside the non-Core methods and we usually
take care of it. However, as a developer, if you wish to add a new public method, then
you will need to handle the projection yourself.
With these projection methods it is very easy to handle the projection and
de-projection. Remember that when adding your own public methods you always
de-project incoming shapes and alway project outgoing shapes. Also remember that the
Core methods do not consider projection, and they assume the data being passed into
them and out of them is the same unit as the underlying data.
Example of a New Public Method:
public Feature ProcessFeature(Feature incomingFeature)
{
//Be sure that you use the FromProjection on the incomingFeatureParameter as the
first thing you do in this method.
// Call a Core Method or do your own processing
//Be sure that you call the ToProjection on the return result of the method before
you pass it out.
}
This parameter represents the rectangle you wish to de-project.
This method de-projects items based on the Projection of the
FeatureSource.
This method de-projects a BaseShape based on the Projection of the
FeatureSource.
This method de-projects a BaseShape based on the Projection of the
FeatureSource.
This is a protected method that is intended to help developers who want to
implement or extend one of our FeatureSources. It is important to note that
projection, as a general rule, happens inside the non-Core methods and we usually
take care of it. However, as a developer, if you wish to add a new public method, then
you will need to handle the projection yourself.
With these projection methods it is very easy to handle the projection and
de-projection. Remember that when adding your own public methods you always
de-project incoming shapes and alway project outgoing shapes. Also remember that the
Core methods do not consider projection, and they assume the data being passed into
them and out of them is the same unit as the underlying data.
Example of a New Public Method:
public Feature ProcessFeature(Feature incomingFeature)
{
//Be sure that you use the FromProjection on the incomingFeatureParameter as the
first thing you do in this method.
// Call a Core Method or do your own processing
//Be sure that you call the ToProjection on the return result of the method before
you pass it out.
}
This parameter represents the BaseShape you wish to de-project.
This method projects items based on the Projection of the FeatureSource.
This method projects a Feature based on the Projection of the
FeatureSource.
This method projects a Feature based on the Projection of the
FeatureSource.
This is a protected method that is intended to help developers who want to
implement or extend one of our FeatureSources. It is important to note that
projection, as a general rule, happens inside the non-Core methods and we usually
take care of it. However, as a developer, if you wish to add a new public method, then
you will need to handle the projection yourself.
With these projection methods it is very easy to handle the projection and
de-projection. Remember that when adding your own public methods you always
de-project incoming shapes and alway project outgoing shapes. Also remember that the
Core methods do not consider projection, and they assume the data being passed into
them and out of them is the same unit as the underlying data.
Example of a New Public Method:
public Feature ProcessFeature(Feature incomingFeature)
{
//Be sure that you use the FromProjection on the incomingFeatureParameter as the
first thing you do in this method.
// Call a Core Method or do your own processing
//Be sure that you call the ToProjection on the return result of the method before
you pass it out.
}
This parameter represents a group of Features that you wish to project.
This method de-projects items based on the Projection of the
FeatureSource.
This method de-projects a Feature based on the Projection of the
FeatureSource.
This method de-projects a Feature based on the Projection of the
FeatureSource.
This is a protected method that is intended to help developers who want to
implement or extend one of our FeatureSources. It is important to note that
projection, as a general rule, happens inside the non-Core methods and we usually
take care of it. However, as a developer, if you wish to add a new public method, then
you will need to handle the projection yourself.
With these projection methods it is very easy to handle the projection and
de-projection. Remember that when adding your own public methods you always
de-project incoming shapes and alway project outgoing shapes. Also remember that the
Core methods do not consider projection, and they assume the data being passed into
them and out of them is the same unit as the underlying data.
Example of a New Public Method:
public Feature ProcessFeature(Feature incomingFeature)
{
//Be sure that you use the FromProjection on the incomingFeatureParameter as the
first thing you do in this method.
// Call a Core Method or do your own processing
//Be sure that you call the ToProjection on the return result of the method before
you pass it out.
}
This parameter represents the group of Features that you wish to de-project.
This method projects items based on the Projection of the FeatureSource.
This method projects a Feature based on the Projection of the
FeatureSource.
This method projects a Feature based on the Projection of the
FeatureSource.
This is a protected method that is intended to help developers who want to
implement or extend one of our FeatureSources. It is important to note that
projection, as a general rule, happens inside the non-Core methods and we usually
take care of it. However, as a developer, if you wish to add a new public method, then
you will need to handle the projection yourself.
With these projection methods it is very easy to handle the projection and
de-projection. Remember that when adding your own public methods you always
de-project incoming shapes and alway project outgoing shapes. Also remember that the
Core methods do not consider projection, and they assume the data being passed into
them and out of them is the same unit as the underlying data.
Example of a New Public Method:
public Feature ProcessFeature(Feature incomingFeature)
{
//Be sure that you use the FromProjection on the incomingFeatureParameter as the
first thing you do in this method.
// Call a Core Method or do your own processing
//Be sure that you call the ToProjection on the return result of the method before
you pass it out.
}
This parameter represents the Feature you wish to project.
This method de-projects items based on the Projection of the
FeatureSource.
This method de-projects a Feature based on the Projection of the
FeatureSource.
This method de-projects a Feature based on the Projection of the
FeatureSource.
This is a protected method that is intended to help developers who want to
implement or extend one of our FeatureSources. It is important to note that
projection, as a general rule, happens inside the non-Core methods and we usually
take care of it. However, as a developer, if you wish to add a new public method, then
you will need to handle the projection yourself.
With these projection methods it is very easy to handle the projection and
de-projection. Remember that when adding your own public methods you always
de-project incoming shapes and alway project outgoing shapes. Also remember that the
Core methods do not consider projection, and they assume the data being passed into
them and out of them is the same unit as the underlying data.
Example of a New Public Method:
public Feature ProcessFeature(Feature incomingFeature)
{
//Be sure that you use the FromProjection on the incomingFeatureParameter as the
first thing you do in this method.
// Call a Core Method or do your own processing
//Be sure that you call the ToProjection on the return result of the method before
you pass it out.
}
This parameter represents the Feature you wish to de-project.
This method returns the field names that are in the FeatureSource from a list of
provided field names.
This method returns the field names that are in the FeatureSource from a list of
provided field names.
This is a protected method that is intended to help developers who want to
implement or extend one of our FeatureSources. It is important to note that, as a
general rule, returning column data of a Feature or a set of InternalFeatures happens
inside the non-Core methods and we usually take care of it. However, as a developer,
if you wish to add a new public method, then you will need to handle the projection
yourself.
Let's say, for example, that you want to add a new Find method called FindLargeFeatures.
You pass in a group of columns to return. Most of the time, the requested columns will
actually be in the FeatureSource, but sometimes they will not. The way we allow users to get
data from outside of the Feature Source is by raising an event called
CustomColumnFetch. This way, we allow people to provide data that is outside of the
FeatureSource. Since you will be implementing your own public method, you will want
to support this as all of our other public methods do.
When you first enter the public method, you will want to separate out the fields
that are in the FeatureSource from those that are not. You can call this method and
the GetColumnNamesOutsideFeatureSource. If inside your public method you need to
call any of our Core methods, then you need to make sure that you only pass in the
list of column names that are in the FeatureSource. We assume that Core methods are
simple and they do not handle this complexity.
With the list of non-FeatureSource column names, you simply loop through each column
name for each record and call the OnCustomColumnFetch method while passing in the proper
parameters. This will allow you give the user a chance to provide the values for
the Feature's fields that were not in the FeatureSource. After that, you combine
your results and pass them back out as the return.
public Collection<Feature> FindLargeFeatures(double AreaSize, IEnumerable
<string> columnsToReturn)
{
//Step 1: Separate the columns that are in the FeatureSource from those that
are not.
// Step 2: Call any Core Methods and only pass in the columns that are in the
FeatureSource
//Step3: For Each feature/column name combination, call the OnCustomFiedlFetch
and allow your user to provide the custom data.
// Step4: Integrate the custom data with the result of the Core method plus any
processing you did. Then return the consolidated result.
}
This parameter is a list of column names, where not every field name may be in the
FeatureSource.
Get returning columnNames according to the returningColumnType.
The passed in returningColumnType.
The returning ColumnNames based on the given returningColumnNamesType.
The concreted FeatureSource can override this logic if needed.
This method will split the column names based on our column syntax.
This returns a single list of column names.
This method is meant to be used by advanced users who are creating their own new methods
on the FeatureSource. We have a system where you can concatenate column names you specify
anywhere in the system to create a unique string. For example, let's say you have
a dataset that has the following columns: Name, Grade and Class, and you want to
create a custom label for it. Whenever you specify the column you wanted to use in the
label, you could use a string like this: "[Name] received a [Grade] in [Class]" and
this would be valid. Behind the scenes, this method parses the string and returns the
column names separately. Then, after we have the data, there is another helper
method called CombineFieldValues that will add them back together again.
All of this happens normally in the concrete methods of the FeatureSource and
inheriting classes; however, if you want to extend the classes and create your own
concrete methods, then we suggest you use this to be compliant with the concatenation
system.
This parameter represents the column names you want to split.
This method is a static API to get information about a group of passed-in features with the specified
returningColumns, in the format of a DataTable.
This parameter specifies the target features.
This parameter specifies the returning columnNames for the features.
A DateTable of information about those passed-in features and the returning columnNames.
This method returns the re-combined collection of columns.
This method is meant to be used by advanced users who are creating their own new methods
on the FeatureSource. We have a system where you can concatenate column names you specify
anywhere in the system to create a unique string. For example, let's say you have
a dataset that has the following columns: Name, Grade and Class, and you want to
create a custom label for it. Whenever you specify the column you wanted to use in the
label, you could use a string like this: "[Name] received a [Grade] in [Class]" and
this would be valid. Behind the scenes, this method recombines the strings that were
split in the SplitColumNames method.
All of this happens normally in the concrete methods of the FeatureSource and
inheriting classes; however, if you want to extend the classes and create your own
concrete methods, then we suggest you use this to be compliant with the concatenation
system.
This method returns the re-combined collection of columns.
This parameter represents the split columns and their values.
This parameter is the original list of column names that may be combined.
This class represents a base Matrix which encapsulate the tile caculation logics.
This class is abstract and designed to be inherited to create your own
TileMatrix. The derived TileMatrix classes are typically used on a TileMatrixSet.
This method is the default protected constructor.
None
If you use this constructor, you have to set the properties correctly before use it.
This method is the default protected constructor.
This parameter specified the boundingBox of the Matrix.
This parameter specified the cell height(in DecimalDegrees) of the Matrix.
This parameter specified the cell width(in DecimalDegrees) of the Matrix.
This parameter specified the id of the Matrix.
This parameter specified the cacluation reference corner of the Matrix.
None
None
This method is the default protected constructor.
This parameter specified the cell height(in DecimalDegrees) of the Matrix.
This parameter specified the cell width(in DecimalDegrees) of the Matrix.
This parameter specified the id of the Matrix.
This parameter specified the cacluation reference corner of the Matrix.
This parameter specified the column count of the Matrix.
This parameter specified the row count of the Matrix.
This parameter specified the cacluation reference point of the Matrix.
None
None
This property gets the cell width of the Matrix.
This property gets the cell height of the Matrix.
This property gets or sets the BouningBox of the Matrix.
The bounding box of the Matrix is related with the
referencePoint, cellWidth, cellHeight and the rowCount and columnCount.
This property gets the row count of the Matrix.
This property gets the column count of the Matrix.
This property gets or sets the id of the Matrix.
This method returns all the cells of the TileMatrix.
This method returns a collection of TileMatrixCell.
The InvalidOperationException will be thown if too many cells(greater than maximumCellCount) are need to returned back.
Get the cell by passing a specified row and column.
This parameter specifies the row based on 1.
This parameter specifies the row based on 1.
The returning cell by specified the row and column.
Get the cell by passing a specified point shape location.
The parameter specified the target point location.
The returning cell by specifing the target point location.
Get the row index by passing a specified point shape location.
The parameter specified the target point location.
The returning row index by specifing the target point location.
Get the column index by passing a specified point shape location.
The parameter specified the target point location.
The returning column index by specifing the target point location.
This method returns the intersecting cells of the TileMatrix.
This parameter specifies extent which is used to get the tiles back from.
This method returns a collection of TileMatrixCell which intersecting with the passed in extent.
The InvalidOperationException will be thown if too many cells(greater than maximumCellCount) are need to returned back.
This method returns the contained cells of the TileMatrix.
This parameter specifies extent which is used to get the tiles back from.
This method returns a collection of TileMatrixCell which contained in the passed in extent.
The InvalidOperationException will be thown if too many cells(greater than maximumCellCount) are need to returned back.
This method returns the RowColumnRange of the TileMatrix intersects the passed in extent.
This parameter specifies extent which is used to get the tiles back from.
This method returns the RowColumnRange intersects the passed in extent.
This method returns the RowColumnRange of the TileMatrix contained the passed in extent.
This parameter specifies extent which is used to get the tiles back from.
This method returns the RowColumnRange contained the passed in extent.
This method sets the Matrix system by passing in each variables.
This parameter specifies the id to set the Matrix.
This parameter specifies the cell width(in decimalDegrees) to set the Matrix.
This parameter specifies the cell height(in decimalDegrees) to set the Matrix.
This parameter specifies the boundingBox to set the Matrix.
This parameter specifies the reference corner to set the Matrix.
Accroding to the these given parameters, the referencePoint, rowCount, columnCount can be caculated.
This method sets the Matrix system by passing in each variables.
This parameter specifies the id to set the Matrix.
This parameter specifies the cell width(in decimalDegrees) to set the Matrix.
This parameter specifies the cell height(in decimalDegrees) to set the Matrix.
This parameter specifies the reference Point to set the Matrix.
This parameter specifies the reference corner to set the Matrix.
This parameter specifies the row count to set the Matrix.
This parameter specifies the column count to set the Matrix.
None
This method sets the Matrix system by passing the cellWidth and cellHeight.
This parameter specifies the cell width(in decimalDegrees) to set the Matrix.
This parameter specifies the cell height(in decimalDegrees) to set the Matrix.
None
This is the base class for NativeTileCache system which inherits from TileCache class.
TileCahce system is very efficient in improving the performance of
application, especially when large data or remote server images are included.
This is the constructor of the class.
This is the cache identifier which marks its difference with other TileCache.
This is the imageFormate showing what kind of image we are trying to save.
This is the tile matrix system which is used for caculating tiles.
This method returns the NativeImageTile corresponding to the tile bounding box passed in.
The target boundingBox for the tile to fetch.
Returns the NativeImageTile corresponding to the passed in boundingBox.
In the event you attempt to call this method on a shape is not a valid rectangle, it will throw an InvalidOperationException.
This method returns the NativeImageTile corresponding to passed in row and column.
The target row for the tile to fetch.
The target column for the tile to fetch.
Returns the NativeImageTile corresponding to the passed in row and column.
Gets or sets the tile image format.
This method returns all the NativeImageTiles within the passed in world extent.
The target worldExtent will be used to fetch all the NativeImageTiles from.
Returns a collection of NativeImageTiles within the passed in worldExtent.
In the event you attempt to call this method on a shape is not a valid rectangle, it will throw an InvalidOperationException.
This abstract method returns the NativeImageTile corresponding to passed in row and column.
Each concrete TileCache need to implement this logic to get tile from a row and column.
The target row for the tile to fetch.
The target column for the tile to fetch.
Returns the NativeImageTile corresponding to the passed in row and column.
The abstract class from which all raster sources inherit. Raster sources
represent raster data that can be integrated into Map Suite.
None
This event is called before the opening of the RasterSource.
This event is called before the opening of the RasterSource. Technically, this
event is called after the calling of the Open method on the RasterSource, but before the
protected OpenCore method.
It is typical that the RasterSource may be opened and closed may times during the life
cycle of your application. The type of control the MapEngine is embedded in will dictate
how often this happens. For example, in the case of the Web Edition, each time
a RasterSource is in the Ajax or Post Back part of the page cycle, it will close the
RasterSource before returning back to the client. This is to conserve resources, as
the web is a connection-less environment. In the case of the Desktop Edition, we can
keep the RasterSource open, knowing that we can maintain a persistent connection.
This event is called after the opening of the RasterSource.
This event is called after the opening of the RasterSource. Technically, this event
is called after the calling of the Open method on the RasterSource and after the
protected OpenCore method is called.
It is typical that the RasterSource may be opened and closed may times during the life
cycle of your application. The type of control the MapEngine is embedded in will dictate
how often this happens. For example, in the case of the Web Edition, each time
a RasterSource is in the Ajax or Post Back part of the page cycle, it will close the
RasterSource before returning back to the client. This is to conserve resources, as
the web is a connection-less environment. In the case of the Desktop Edition, we can
keep the RasterSource open, knowing that we can maintain a persistent connection.
This event is called before the closing of the RasterSource.
This event is called before the closing of the RasterSource. Technically, this
event is called after the calling of the Close method on the RasterSource, but before the
protected CloseCore method.
It is typical that the RasterSource may be opened and closed may times during the life
cycle of your application. The type of control the MapEngine is embedded in will dictate
how often this happens. For example, in the case of the Web Edition, each time
a RasterSource is in the Ajax or Post Back part of the page cycle, it will close the
RasterSource before returning back to the client. This is to conserve resources, as
the web is a connection-less environment. In the case of the Desktop Edition, we can
keep the RasterSource open, knowing that we can maintain a persistent connection.
This event is called after the closing of the RasterSource.
This event is called after the closing of the RasterSource. Technically, this event
is called after the calling of the Close method on the RasterSource and after the
protected CloseCore method.
It is typical that the RasterSource may be opened and closed may times during the life
cycle of your application. The type of control the MapEngine is embedded in will dictate
how often this happens. For example, in the case of the Web Edition, each time
a RasterSource is in the Ajax or Post Back part of the page cycle, it will close the
RasterSource before returning back to the client. This is to conserve resources, as
the web is a connection-less environment. In the case of the Desktop Edition, we can
keep the RasterSource open, knowing that we can maintain a persistent connection.
This is the default new constructor for the RasterSource.
None
None
This property gets and sets the amount of transparency to apply to the
image.
This property gets the amount of transparency to apply to the image.
None
This property gets and sets the amount of blue to apply to the image.
This property gets the amount of blue to apply to the image.
None
This property gets and sets the amount of red to apply to the image.
This property gets the amount of red to apply to the image.
None
This property gets and sets the amount of green to apply to the image.
This property gets the amount of green to apply to the image.
None
This property gets and sets whether the image should be converted to negative (inverse colors).
This property gets and sets whether the image should be converted to negative (inverse colors).
None
This property gets and sets if the image should be converted to grayscale.
This property gets and sets if the image should be converted to grayscale.
None
The scale factor when drawing the primitive image. For example I am looking for an image with 100*100px, If the
ScaleFactor is set to 2, it means the component will get the image with 200*200px. We want to keep it as 1 (by default)
for most cases.
None
This method allows you to raise the OpeningRasterSource event from a derived
class.
You can call this method from a derived class to enable it to raise the
OpeningRasterSource event. This may be useful if you plan to extend the RasterSource and
you need access to the event.
Details on the event:
This event is called before the opening of the RasterSource. Technically, this event is
called after the calling of the Open method on the RasterSource, but before the protected
OpenCore method.
It is typical that the RasterSource may be opened and closed may times during the life
cycle of your application. The type of control the MapEngine is embedded in will dictate
how often this happens. For example, in the case of the Web Edition, each time
a RasterSource is in the Ajax or Post Back part of the page cycle, it will close the
RasterSource before returning back to the client. This is to conserve resources, as
the web is a connection-less environment. In the case of the Desktop Edition, we can
keep the RasterSource open, knowing that we can maintain a persistent connection.
This parameter is the event arguments that define the parameters passed to the
recipient of the event.
None
This method allows you to raise the OpenedRasterSource event from a derived
class.
You can call this method from a derived class to enable it to raise the
OpenedRasterSource event. This may be useful if you plan to extend the RasterSource and
you need access to the event.
Details on the event:
This event is called after the opening of the RasterSource. Technically, this event is
called after the calling of the Open method on the RasterSource and after the protected
OpenCore method is called.
It is typical that the RasterSource may be opened and closed may times during the life
cycle of your application. The type of control the MapEngine is embedded in will dictate
how often this happens. For example, in the case of the Web Edition, each time
a RasterSource is in the Ajax or Post Back part of the page cycle, it will close the
RasterSource before returning back to the client. This is to conserve resources, as
the web is a connection-less environment. In the case of the Desktop Edition, we can
keep the RasterSource open, knowing that we can maintain a persistent connection.
This parameter is the event arguments that define the parameters passed to the
recipient of the event.
None
This method allows you to raise the ClosingRasterSource event from a derived
class.
You can call this method from a derived class to enable it to raise the
ClosingRasterSource event. This may be useful if you plan to extend the RasterSource and
you need access to the event.
Details on the event:
This event is called before the closing of the RasterSource. Technically, this event is
called after the calling of the Close method on the RasterSource, but before the
protected CloseCore method.
It is typical that the RasterSource may be opened and closed may times during the life
cycle of your application. The type of control the MapEngine is embedded in will dictate
how often this happens. For example, in the case of the Web Edition, each time
a RasterSource is in the Ajax or Post Back part of the page cycle, it will close the
RasterSource before returning back to the client. This is to conserve resources, as
the web is a connection-less environment. In the case of the Desktop Edition, we can
keep the RasterSource open, knowing that we can maintain a persistent connection.
This parameter is the event arguments that define the parameters passed to the
recipient of the event.
None
This method allows you to raise the ClosedRasterSource event from a derived
class.
You can call this method from a derived class to enable it to raise the
ClosedRasterSource event. This may be useful if you plan to extend the RasterSource and
you need access to the event.
Details on the event:
This event is called after the closing of the RasterSource. Technically, this event is
called after the calling of the Close method on the RasterSource and after the protected
CloseCore method.
It is typical that the RasterSource may be opened and closed may times during the life
cycle of your application. The type of control the MapEngine is embedded in will dictate
how often this happens. For example, in the case of the Web Edition, each time
a RasterSource is in the Ajax or Post Back part of the page cycle, it will close the
RasterSource before returning back to the client. This is to conserve resources, as
the web is a connection-less environment. In the case of the Desktop Edition, we can
keep the RasterSource open, knowing that we can maintain a persistent connection.
This parameter is the event arguments that define the parameters passed to the
recipient of the event.
Create a copy of RasterSource using the deep clone process.
A cloned RasterSource.
The difference between deep clone and shallow clone is: when shallow cloned,
only the object is copied, but the contained objects are not; while in deep clone it
does copy the cloned object as well as all the objects within.
Create a copy of RasterSource using the deep clone process. The default implementation uses serialization.
A cloned RasterSource.
The difference between deep clone and shallow clone is: when shallow cloned,
only the object is copied, but the contained objects are not; while in deep clone it
does copy the cloned object as well as all the objects within.
In the event you attempt to call this method on a image source which has not been opened, it will throw an InvalidOperationException.
This method returns a string that represents the image's world file.
This method returns a string that represents the image's world file.
This method wraps the Core version of this method and returns a string that
represents the image's world file. The world file is a file type that can accompany
image files. It contains information about the image's position, resolution and other
spatial-related items. It is common to have this kind of file associated with generic
image types such as JPG, BMP, and normal TIFF because they do not have a mechanism to
store this data internally. Modern GIS image types such as JPEG2000, ECW, and MrSid
typically have this information stored internally. We provide this method in the event
that you want to create your own world file from any image that either already has one
or has its data stored internally.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
If you pass in a worldExtent that is Null, we will throw an ArgumentNullException.
If you pass in a worldExtent that is invalid, we will throw an ArgumentException.
If you pass in a image width that is smaller than or equal to 0, we will throw an ArgumentOutOfRangeException.
If you pass in a image height that is smaller than or equal to 0, we will throw an ArgumentOutOfRangeException.
This method returns a string that represents the image's world file based on the
parameters passed in.
This method returns a string that represents the image's world file based on the
parameters passed in.
This method returns a string that represents the image's world file. The world file
is a file type that can accompany image files. It contains information about the image's
position, resolution and other spatial-related items. It is common to have this kind of
file associated with generic image types such as JPG, BMP, and normal TIFF because they
do not have a mechanism to store this data internally. Modern GIS image types such as
JPEG2000, ECW, and MrSid typically have this information stored internally. We provide
this method in the event that you want to create your own world file from any image that
either already has one or has its data stored internally.
This parameter represents the worldExtent of the image in world coordinates.
This parameter is the width of the image in screen coordinates.
This parameter is the height of the image in screen coordinates.
In the event you attempt to call this method on a image source which has not been opened, it will throw an InvalidOperationException.
This method returns the width of the image in screen coordinates.
This method returns the width of the image in screen coordinates.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method returns the width of the image in screen coordinates.
In the event you attempt to call this method on a image source which has not been opened, it will throw an InvalidOperationException.
This method returns the width of the image in screen coordinates.
This method returns the width of the image in screen coordinates.
This abstract method is called from the concrete method GetImageWidth.
You need to override it if you inherit from the RasterSource to return the width of your image.
It returns the width of the image in screen coordinates.
In the event you attempt to call this method on a image source which has not been opened, it will throw an InvalidOperationException.
This method returns the height of the image in screen coordinates.
This method returns the height of the image in screen coordinates.
This method returns the height of the image in screen coordinates.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a image source which has not been opened, it will throw an InvalidOperationException.
This method returns the height of the image in screen coordinates.
This method returns the height of the image in screen coordinates.
This abstract method is called from the concrete method GetImageHeight.
You need to override it if you inherit from the RasterSource to return the height of your image.
It returns the height of the image in screen coordinates.
In the event you attempt to call this method on a image source which has not been opened, it will throw an InvalidOperationException.
This method returns the horizontal resolution of the image.
This method returns the horizontal resolution of the image.
This method returns the horizontal resolution of the image.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a image source which has not been opened, it will throw an InvalidOperationException.
This method returns the vertical resolution of the image.
This method returns the vertical resolution of the image.
This method returns the vertical resolution of the image.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a image source which has not been opened, it will throw an InvalidOperationException.
This method returns the bounding box of the RasterSource.
This method returns the bounding box of the RasterSource.
This method returns the bounding box of the RasterSource.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a image source which has not been opened, it will throw an InvalidOperationException.
This method returns the bounding box of the RasterSource.
This method returns the bounding box of the RasterSource.
This method returns the bounding box of the RasterSource.
This property returns true if the RasterSource is open and false if it is
not.
This property returns true if the RasterSource is open and false if it is
not.
Various methods on the RasterSource require that it be in an open state. If one
of those methods is called when the state is not open, the method will throw an
exception. To enter the open state, you must call the RasterSource's Open method. The
method will raise an exception if the current RasterSource is already open.
In the event you attempt to call this method on a RasterSource which is not open, it will throw an InvalidOperationException.
This property returns true if the RasterSource has projection text, false if not.
Before you call GetProjectionText method, you should check this property to
ensure that your RasterSource has projection information. It will throw an exception if
there is no projection information in the RasterSource.
In the event you attempt to call this method on a RasterSource which is not open, it will throw an InvalidOperationException.
This property returns true if the RasterSource has projection text, false if not.
This protected virtual method is called from the concrete public property
HasProjectionText. The default implementation for this method returns false. So if
you inherit RasterSource, please ensure that you override this virtual property to return
the correct projection status of your RasterSource.
We will check the HasProjectionText status before you call the
GetProjectionText method. It will throw an exception if the HasProjectionText
property returns false.
None
This method returns the projection text in proj4 format.
This method returns the projection text in proj4 format.
None
This method returns the projection text in proj4 format.
Projection text string.
This protected virtual method is called from the concrete public method
GetProjectionText.
The default implementation of this core method is to throw an exception. So you
need to overwrite this method to return the RasterSource projection text.
This method opens the RasterSource so that it is initialized and ready to
use.
None
This method is the concrete wrapper for the abstract method OpenCore. The
Open method plays an important role, as it is responsible for initializing the
RasterSource. Most methods on the RasterSource will throw an exception if the state
of the RasterSource is not opened. When the map draws each layer, it will open the
RasterSource as one of its first steps; then, after it is finished drawing with that
layer, it will close it. In this way, we are sure to release all resources used by
the RasterSource.
When implementing the abstract method, consider opening files for file-based sources,
connecting to databases in the database-based sources and so on. You will get a chance
to close these in the Close method of the RasterSource.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method opens the RasterSource so that it is initialized and ready to
use.
This protected virtual method is called from the concrete public method Open.
The Open method plays an important role, as it is responsible for initializing the
RasterSource. Most methods on the RasterSource will throw an exception if the state of
the RasterSource is not opened. When the map draws each layer, it will open the
RasterSource as one of its first steps; then, after it is finished drawing with that
layer, it will close it. In this way, we are sure to release all resources used by the
RasterSource.
When implementing this abstract method, consider opening files for file-based sources,
connecting to databases in the database-based sources and so on. You will get a chance
to close these in the Close method of the RasterSource.
None
In the event you attempt to call this method on a image source which has already been opened, it will throw an InvalidOperationException.
This method is the concrete wrapper for the abstract method CloseCore. The Close
method plays an important role in the life cycle of the RasterSource. It may be called
after drawing to release any memory and other resources that were allocated since the
Open method was called.
If you override the Core version of this method, it is recommended that you take
the following things into account: This method may be called multiple times, so we
suggest you write the method so that that a call to a closed RasterSource is ignored and does
not generate an error. We also suggest that in the Close you free all resources that
have been opened. Remember that the object will not be destroyed, but will be re-opened
possibly in the near future.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method closes the RasterSource and releases any resources it was
using.
None
This method opens the RasterSource so that it is initialized and ready to
use.
None
This protected virtual method is called from the concrete public method Close.
The Close method plays an important role in the life cycle of the RasterSource. It may
be called after drawing to release any memory and other resources that were allocated
since the Open method was called.
If you override this method, it is recommended that you take the following things
into account: This method may be called multiple times, so we suggest you write the method so
that that a call to a closed RasterSource is ignored and does not generate an error.
We also suggest that in the Close you free all resources that have been opened.
Remember that the object will not be destroyed, but will be re-opened possibly in the
near future.
If you pass in a worldExtent that is invalid, we will throw an ArgumentNullException.
If you pass in a worldExtent that is invalid, we will throw an ArgumentException.
If you pass in a image width that is smaller than or equal to 0, we will throw an ArgumentOutOfRangeException.
If you pass in a image height that is smaller than or equal to 0, we will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a image source which has not been opened, it will throw an InvalidOperationException.
This method is responsible for returning the image based on the parameters passed
in. As the core version of this method is abstract, you will need to override it when
creating your own RasterSource.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method returns an image based on the worldExtent and image width and
height.
This method returns an image based on the worldExtent and image width and
height.
This parameter represents the worldExtent you want to draw.
This parameter represents the width of the image you want to draw.
This parameter represents the height of the image you want to draw.
If you pass in a worldExtent that is invalid, we will throw an ArgumentNullException.
If you pass in a worldExtent that is invalid, we will throw an ArgumentException.
If you pass in a image width that is smaller than or equal to 0, we will throw an ArgumentOutOfRangeException.
If you pass in a image height that is smaller than or equal to 0, we will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a image source that has not been opened, it will throw an InvalidOperationException.
This method is responsible for returning the image based on the parameters passed
in. As the core version of this method is abstract, you will need to override it when
creating our own RasterSource.
This method returns an image based on the worldExtent and image width and
height.
This method returns an image based on the worldExtent and image width and
height.
This parameter represents the worldExtent you want to draw.
This parameter represents the width of the image you want to draw.
This parameter represents the height of the image you want to draw.
This is the base class which describle the Tile class. Tile concept is used
as a rectangle image which will be saved in Memory or Hard disk to enhance the
performance.
The Tile cache system is very popular in many GIS products including the
GoogleMaps, VE Maps etc, the Tile can be considered a small subset used in the
TileCache system.
The Tile is the lowest level Tile in the Tile hierarchy. Directly
inherited from Tile are BitmapTile, NativeImageTile. The methods and
properties on Tile are the lowest common denominator for all the various kinds of
Tiles. It marked abstract and is designed only to be inherited from.
This is the default constructor for Tile.
This is the constructor for Tile by passing the boundingBox and scale.
The scale to describe the Tile.
The Bounding box to describe the Tile.
This method shows the way to deep clone a Tile object.
This method returns the cloned Tile object.
As this is a concrete public method that wraps a Core method, In this way, we
leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about
this,please contact our support team as we would be happy to work with you on extending
our framework.
This method shows the way to override deep clone a Tile object.
This method returns the cloned Tile object.
As this is a concrete public method that wraps a Core method, In this way, we
leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about
this,please contact our support team as we would be happy to work with you on extending
our framework.
This enumeration represents how the tileCache should access the tiles.
None
The default mode is ReadAddDelete.
This mode represents the tileCache just can read tiles from it.
This mode represents the tileCache can read tiles from it and add tiles to it, but can not delete tiles.
This mode represents the tileCache is no limited that can read, add, delete tiles.
This is the base class for TileCache system.
TileCahce system is very efficient in improving the performance of
application, especially when large data or remote server images are included.
This is the constructor of the class.
This is the cache identifier which marks its difference with other TileCache.
This is the imageFormate showing what kind of image we are trying to save.
This is the tile matrix system which is used for caculating tiles.
Gets or sets the TileMatrix which is used in caculation for tiles.
Gets or sets the Mode for the TileCache access the tiles. The Default value is ReadAddDelete
If you want it to take effect, you need set the Read property false.
Gets or sets the id of the TileCache.
This method will save the target tile passed in.
The target tile to be saved.
This method will not take effect when the Read is set to true.
If you pass a null as the target tile, we will throw an ArgumentNullException.
This method will delete the tiles within the passed in worldExtent.
The target extent to delete all tiles within it.
This method will delete the target tile passed in.
The target tile to be deleted.
This method will not take effect when the Read is set to true.
If you pass a null as the target tile, we will throw an ArgumentNullException.
This method will clear all the tiles in the tileCache.
This method will not take effect when the Read is set to true.
This abstract method will clear all the tiles in the tileCache, for each
sub TileCache class must implement this method.
This method will not take effect when the Read is set to true.
This abstract method will save the target tile passed in, for each
sub TileCache class must implement this method.
The target tile to be saved.
This method will not take effect when the Read is set to true.
This abstract method will delete the target tile passed in, for each
sub TileCache class must implement this method.
The target tile to be deleted.
This method will not take effect when the Read is set to true.
This is the base class inherits from Matrix which describe the Matrix system used
for Tilling system.
This is the commonly used constructor for the class.
This is the constructor for the class.
None]
This parameter specifies the id to set the Matrix.
This parameter specifies the boundingBox Unit to set the Matrix.
This parameter specifies the target scale to set the Matrix.
This parameter specifies the tile height(in decimalDegrees) to set the Matrix.
This parameter specifies the tile width(in decimalDegrees) to set the Matrix.
This parameter specifies the column count to set the Matrix.
This parameter specifies the reference point location to set the Matrix.
This parameter specifies the row count to set the Matrix.
This parameter specifies the reference corner to set the Matrix.
If you use this constructor, all other properties are caculated via these given parameters.
This is the commonly used constructor for the class.
This is the constructor for the class.
None
This parameter specifies the id to set the Matrix.
This parameter specifies the boundingBox Unit to set the Matrix.
This parameter specifies the target scale to set the Matrix.
This parameter specifies the tile height(in decimalDegrees) to set the Matrix.
This parameter specifies the tile width(in decimalDegrees) to set the Matrix.
This parameter specifies the boundingBox to set the Matrix.
This parameter specifies the reference corner to set the Matrix.
If you use this constructor, all other properties are caculated via these given parameters.
This is the commonly used constructor for the class.
This is the constructor for the class.
None
This parameter specifies the id to set the Matrix.
This parameter specifies the boundingBox Unit to set the Matrix.
This parameter specifies the target scale to set the Matrix.
This parameter specifies the tile height(in decimalDegrees) to set the Matrix.
This parameter specifies the tile width(in decimalDegrees) to set the Matrix.
This parameter specifies the reference corner to set the Matrix.
If you use this constructor, all other properties are caculated via these given parameters.
This property gets or sets the Scale for the TileMatrix.
When set a different Scale, it will recaculate the parameters in TileMatrix.
This property gets or sets the TileWidth for the TileMatrix.
When set a different TileWidth, it will recaculate the parameters in TileMatrix.
This property gets or sets the TileHeight for the TileMatrix.
When set a different TileHeight, it will recaculate the parameters in TileMatrix.
This property gets or sets the BoundingBoxUnit for the TileMatrix.
When set a different BoundingBoxUnit, it will recaculate the parameters in TileMatrix. Also,
The default boundingBox value depends on the BoundingBoxUint.
This method will get resolution from scale and can be overridden.
This parameter specifies the target scale to get resolution from.
Returns the resolution corresponding to the passed in scale.
This class represents a NativeImageTile, which is defined as scale, RectangleBox
and a byte array for its tile bitmap.
This is the default constructor without passing any parameters. All its
properties should be set via the properties.
This is the constructor for Tile by passing the boundingBox and scale.
This is the constructor for Tile by passing image bitmap and the boundingBox and scale.
This property is the Bitmap showing the tile image.
This method is the destructorof this class. Destructor cannot be called and only will be invoked automatically.
This method is targeting releasing or resetting unmanaged resources.
This enumeration represents whether an index should be rebuilt or not.
None
Do not rebuild the index if it exists.
Rebuild the index if it exists.
This class represents the parameters passed in through the ClosedFeatureSource
event.
None
This is the default constructor.
None
None
This class represents the parameters passed in through the ClosedRasterSource
event.
None
This is the default constructor.
This class represents the parameters passed in through the ClosingFeatureSource
event.
None
This is the default constructor.
None
None
This class represents the parameters passed in through the ClosingRasterSource
event.
None
This is the default constructor.
None
None
This class represents the parameters passed in through the CommittedTransaction
event.
None
This is the constructor of the event arguments.
This is the constructor that allows you to pass in a transaction buffer.
None
This parameter represents the transaction buffer that has been committed.
This is the constructor of the event arguments.
This is the default constructor.
None
None
This property returns the transaction buffer that has been committed.
This property returns the transaction buffer that has been committed.
None
This class represents the parameters passed in through the CommittingTransaction
event.
This is the constructor that allows you to pass in a transaction buffer.
This is the default constructor for the event.
None
None
This parameter represents the transaction buffer that needs to be
committed.
This is the constructor of the event arguments.
This is the default constructor for the event arguments.
None
None
This property allows you to cancel the transaction.
This property allows you to cancel the transaction.
This property allows you to cancel the transaction.
This property returns the transaction buffer that needs to be committed.
This property returns the transaction buffer that needs to be committed.
None
This class represents the parameters passed in through the CustomFieldFetch event.
CustomColumnFetch Event Background
This event is used primarily when you have data relating to a particular feature or set of
features that is not within source of the data. For example, you may have a shape file
of the world whose .dbf component describes the area and population of each country.
Additionally, in an outside SQL Server table, you may also have data about the countries,
and it is this data that you wish to use for determining how you want to color
each country.
To integrate this SQL data, you simply create a file name that does not exist in the
.dbf file. Whenever Map Suite is queried to return records that specifically require
this field, the FeatureSource will raise this event and allow you the developer to
supply the data. In this way, you can query the SQL table and store the
data in some sort of collection, and then when the event is raised, simply supply that
data.
As this is an event, it will raise for each feature and field combination requested.
This means that the event can be raised quite often, and we suggest that you cache the
data you wish to supply in memory. We recommend against sending out a new SQL query
each time this event is raised. Image that you are supplementing two columns and your query
returns 2,000 rows. This means that if you requested those fields, the event would be raised
4,000 times.
This is the constructor that allows you to create the event arguments.
None
None
The column name you need data for.
The Id of the feature you need data for.
This property returns the column name that you need to return data for.
This property returns the column name that you need to return data for.
You will need to look up the Id in your external data source and find this
column's data.
CustomColumnFetch Event Background
This event is used primarily when you have data relating to a particular feature or set of
features that is not within source of the data. For example, you may have a shape file
of the world whose .dbf component describes the area and population of each country.
Additionally, in an outside SQL Server table, you may also have data about the countries,
and it is this data that you wish to use for determining how you want to color
each country.
To integrate this SQL data, you simply create a file name that does not exist in the
.dbf file. Whenever Map Suite is queried to return records that specifically require
this field, the FeatureSource will raise this event and allow you the developer to
supply the data. In this way, you can query the SQL table and store the
data in some sort of collection, and then when the event is raised, simply supply that
data.
As this is an event, it will raise for each feature and field combination requested.
This means that the event can be raised quite often, and we suggest that you cache the
data you wish to supply in memory. We recommend against sending out a new SQL query
each time this event is raised. Image that you are supplementing two columns and your query
returns 2,000 rows. This means that if you requested those fields, the event would be raised
4,000 times.
This property returns the Id that you need to return data for.
This property returns the Id that you need to return data for.
You will need to look up the Id in your external data source and find this
field's data.
CustomColumnFetch Event Background
It is used primarily when you have data relating to a particular feature or set of
features that is not within source of the data. For example, you may have a shape file
of the world whose .dbf component describes the area and population of each country.
Additionally, in an outside SQL Server table, you may also have data about the countries,
and it is this data that you wish to use for determining how you want to color
each country.
To integrate this SQL data, you simply create a file name that does not exist in the
.dbf file. Whenever Map Suite is queried to return records that specifically require
this field, the FeatureSource will raise this event and allow you the developer to
supply the data. In this way, you can query the SQL table and store the
data in some sort of collection, and then when the event is raised, simply supply that
data.
As this is an event, it will raise for each feature and field combination requested.
This means that the event can be raised quite often, and we suggest that you cache the
data you wish to supply in memory. We recommend against sending out a new SQL query
each time this event is raised. Image that you are supplementing two columns and your query
returns 2,000 rows. This means that if you requested those fields, the event would be raised
4,000 times.
This parameter returns the field decimalDegreesValue that the event is seeking. It is intended
to be set in the event.
This parameter returns the field decimalDegreesValue that the event is seeking. It is intended
to be set in the event.
When you lookup the Id and FieldName, you should set this property with the data
from your external data source.
CustomColumnFetch Event Background
It is used primarily when you have data relating to a particular feature or set of
features that is not within source of the data. For example, you may have a shape file
of the world whose .dbf component describes the area and population of each country.
Additionally, in an outside SQL Server table, you may also have data about the countries,
and it is this data that you wish to use for determining how you want to color
each country.
To integrate this SQL data, you simply create a file name that does not exist in the
.dbf file. Whenever Map Suite is queried to return records that specifically require
this field, the FeatureSource will raise this event and allow you the developer to
supply the data. In this way, you can query the SQL table and store the
data in some sort of collection, and then when the event is raised, simply supply that
data.
As this is an event, it will raise for each feature and field combination requested.
This means that the event can be raised quite often, and we suggest that you cache the
data you wish to supply in memory. We recommend against sending out a new SQL query
each time this event is raised. Image that you are supplementing two columns and your query
returns 2,000 rows. This means that if you requested those fields, the event would be raised
4,000 times.
This is the default constructor.
If you use this constructor, you have to set the properties manually.
This is the overloads constructor.
This parameter specifies the cache directory of the tile cache.
If you use this constructor, the other properties are set with default values.
This is the overloads constructor.
This parameter specifies the cache directory of the tile cache.
This parameter specifies the cache id of the tile cache.
If you use this constructor, the other properties are set with default values.
This is the constructor with all the parameters needed passed in.
This parameter specifies the cache directory of the tile cache.
This parameter specifies the cache id of the tile cache.
This parameter specifies the image format of the tile cahce.
This parameter specifies the tile matrix of the tile cache.
This enumeration represents the type of ExcutingSqlStatement.
This value shows the type of ExcutingSqlStatement is GetFeauturesByIds.
This value shows the type of ExcutingSqlStatement is GetFeaturesByColumnValue.
This value shows the type of ExcutingSqlStatement is GetFeaturesOutsideBoundingBox.
This value shows the type of ExcutingSqlStatement is GetSpatialDataType.
This value shows the type of ExcutingSqlStatement is GetBoundingBox.
This value shows the type of ExcutingSqlStatement is GetAllFeatures.
This value shows the type of ExcutingSqlStatement is GetCount.
This value shows the type of ExcutingSqlStatement is GetColumns.
This value shows the type of ExcutingSqlStatement is BuildIndex.
This value shows the type of ExcutingSqlStatement is ExecuteScalar.
This value shows the type of ExcutingSqlStatement is ExecuteQuery.
This value shows the type of ExcutingSqlStatement is ExecuteNonQuery.
This value shows the type of ExcutingSqlStatement is GetFirstGeometryType.
This value shows the type of ExcutingSqlStatement is MakeAllGeometriesValid.
This value shows the type of ExcutingSqlStatement is Validate.
This value shows the type of ExcutingSqlStatement is CommitTransaction.
This value shows the type of ExcutingSqlStatement is GetFeaturesInsideBoundingBox.
Default value of this enumation, it has no idea of what type of ExcutingSqlStatement is for now.
This value shows the type of ExcutingSqlStatement is ExecuteSpatialQuery.
This value shows the type of ExcutingSqlStatement is GetFeatureIds.
FeatureCache is a cache system used in FeatureSource to speed up the fetching
data system.
The FeatureCache system uses the BoundingBox as the "Key" to cache the features.
For example, if I first get data for a BoundingBox(BoundingBox1) and cache the
features within the BoundingBox, in the future if I want to get the features within
another BoundingBox(BoundingBox2) which is within BoundingBox1, I will get the
features directly from the FeatureCache instead of from FileSystem or DBSystem.
This is the default constructor that will create a new instance of the
FeatureCache.
None
The cache system is not used by default. If you want to use it, you must set
the IsActive property to true.
This boolean property sepcifies whether cache system is active or not.
In the event you attempt to call this method by passing a null, it will throw an ArgumentNullException.
This method returns a Collection of Features cached in the FeatureCache system. All of the returning features
are within the BoundingBox and were fetched from FileSystem or DBSystem in a previous operation.
This method returns a Collection of Features cached in the FeatureCache system.
This method is the concrete wrapper for the virtual method GetFeaturesCore. It
will return whatever is returned by the GetBoundingBoxCore method.
To determine what the default implementation of the abstract
GetBoundingBoxCore method is, please see the documentation for it.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method by passing a null, it will throw an ArgumentNullException.
This method returns a Collection of Features cached in the FeatureCache system. All of the returning features
are within the BoundingBox and were fetched from FileSystem or DBSystem in a previous operation.
This method returns a Collection of Features cached in the FeatureCache system.
This method is the concrete wrapper for the virtual method GetFeaturesCore. It
will return whatever is returned by the GetBoundingBoxCore method.
To determine what the default implementation of the abstract
GetBoundingBoxCore method is, please see the documentation for it.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method clears all of the CachedItems in this FeatureCache.
In the event you attempt to call this method by passing a null for the WorldExtent, it will throw an ArgumentNullException.
In the event you attempt to call this method by passing a Invalid RectangleShape for the WorldExtent, it will throw an InvalidOperationException.
In the event you attempt to call this method by passing a null for the Collection of features, it will throw an ArgumentNullException.
This method will add an item to the FeatureCache system by passing a WorldExtent as "Key"
and a collection of features as its corresponding cached features.
None.
This method is the concrete wrapper for the virtual method AddCore. It
will return whatever is returned by the AddCore method.
To determine what the default implementation of the abstract
AddCore method is, please see the documentation for it.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method by passing a null for the WorldExtent, it will throw an ArgumentNullException.
In the event you attempt to call this method by passing a Invalid RectangleShape for the WorldExtent, it will throw an InvalidOperationException.
In the event you attempt to call this method by passing a null for the Collection of features, it will throw an ArgumentNullException.
This method will add an item to the FeatureCache system by passing a WorldExtent as "Key"
and a collection of features as its corresponding cached features.
None.
This method is the concrete wrapper for the virtual method AddCore. It
will return whatever is returned by the AddCore method.
To determine what the default implementation of the abstract
AddCore method is, please see the documentation for it.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
The default implementation is to do nothing.
None.
This method is the concrete wrapper for the virtual method OpenCore. It
will return whatever is returned by the OpenCore method.
To determine what the default implementation of the abstract
OpenCore method is, please see the documentation for it.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
The default implementation is to do nothing.
None.
This method is the concrete wrapper for the virtual method OpenCore. It
will return whatever is returned by the OpenCore method.
To determine what the default implementation of the abstract
OpenCore method is, please see the documentation for it.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
The default implementation is to do nothing.
None.
This method is the concrete wrapper for the virtual method CloseCore. It
will return whatever is returned by the CloseCore method.
To determine what the default implementation of the abstract
CloseCore method is, please see the documentation for it.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
The default implementation is to do nothing.
None.
This method is the concrete wrapper for the virtual method CloseCore. It
will return whatever is returned by the CloseCore method.
To determine what the default implementation of the abstract
CloseCore method is, please see the documentation for it.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method determines whether the WorldExtent is already cached in the FeatureCache System.
The target WorldExtent which will be determined as already cached or not.
True if the specified WorldExtent is already cached. Otherwise, returns false.
This class represents a column contained within a FeatureSource.
A FeatureSource is typically represented by a number of InternalFeatures and their column
data. This column represents the characteristics of that data.
This is the constructor to create a FeatureSourceColumn.
This overload creates a FeatureSourceColumn that is empty.
None
This constructor is the default, but should not be used.
This is the constructor to create a FeatureSourceColumn.
This overload creates a FeatureSourceColumn by specifying the column's name only.
None
This is the constructor that should be used.
This parameter represents the name of the column.
This is the constructor to create a FeatureSourceColumn.
This overload creates a FeatureSourceColumn by specifying the column's name, type
and max length.
None
This is the constructor that should be used.
This parameter represents the name of the column.
This parameter represents the type name of the column.
This parameter represents the maximum length of the column.
This property returns the name of the column.
This property returns the name of the column.
None
This property returns the type name of the column.
This property returns the type name of the column.
This property is freeform and the type name is not tied to anything. It is wise
to try and use familiar type names such as string, integer, date, etc., although it may
not fit every different type of FeatureSource. We suggest thar you avoid using this property
unless you know the types beforehand or simply want them for display purposes.
This property returns the maximum length of the column.
This property returns the maximum length of the column.
The maximum length is user defined and not in any way enforced in our default
FeatureSource implementation. It is mainly for display purposes or when dealing with a
known Feature Source type.
Returns column name of FeatureSourceColumn
Returns column name of FeatureSourceColumn
This class is a concrete class inherits from BitmapTileCache.
In this class, the tiles will be saved in disk and can be viewed very
conveniently.
This is the default constructor.
If you use this constructor, you have to set the properties manually.
This is the overloads constructor.
This parameter specifies the cache directory of the tile cache.
If you use this constructor, the other properties are set with default values.
This is the overloads constructor.
This parameter specifies the cache directory of the tile cache.
This parameter specifies the cache id of the tile cache.
If you use this constructor, the other properties are set with default values.
This is the constructor with all the parameters needed passed in.
This parameter specifies the cache directory of the tile cache.
This parameter specifies the cache id of the tile cache.
This parameter specifies the image format of the tile cahce.
This parameter specifies the tile matrix of the tile cache.
Gets or sets the cache direcory.
This method returns the BitmapTile corresponding to passed in row and column.
The target row for the tile to fetch.
The target column for the tile to fetch.
Returns the BitmapTile corresponding to the passed in row and column.
This method will save the target tile passed in, you could override this API to create your own logic.
The target tile to be saved.
This method will delete the target tile passed in.
The target tile to be deleted.
This method will not take effect when the Read is set to true.
This method will clear all the tiles in the tileCache.
This method will not take effect when the Read is set to true.
This method overrides the logic in its base class BitmapTileCache.
This method will return the HigherScale BitmapTile which is always used for preview
effects when ZoomIn or ZoomOut.
The parameter specifies the current tile bounding box.
This parameter specifies the current tile scale.
Returns the higher scale(higher zoomLevel) bitmap tile.
This class is a concrete class inherits from NativeImageTileCache.
In this class, the tiles will be saved in disk and can be viewed very
conveniently.
This is the default constructor.
If you use this constructor, you have to set the properties manually.
This is the constructor with all the parameters needed passed in.
This parameter specifies the cache directory of the tile cache.
This parameter specifies the cache id of the tile cache.
This parameter specifies the image format of the tile cahce.
This parameter specifies the tile matrix of the tile cache.
Gets or sets the cache direcory.
This method returns the NativeImageTile corresponding to passed in row and column.
The target row for the tile to fetch.
The target column for the tile to fetch.
Returns the NativeImageTile corresponding to the passed in row and column.
This method will save the target tile passed in, you could override this API to create your own logic.
The target tile to be saved.
This method will delete the target tile passed in.
The target tile to be deleted.
This method will not take effect when the Read is set to true.
This method will clear all the tiles in the tileCache.
This method will not take effect when the Read is set to true.
This enumeration represents whether a record ID should be rebuilt or not.
None
Do not rebuild the record ID if it exists.
Rebuild the record ID if it exists.
This class represents the column information specific to a DBF column.
This method is the constructor for the DbfColumn.
This is the default constructor.
None
None
This method is the constructor for the DbfColumn.
This constructor is intended to be used to create the object.
None
None
This parameter represents the name of the column in the DBF.
This parameter represents the type of the column in the DBF.
This parameter represents the length of the column in the DBF.
This parameter represents the number of decimal places the column has, if it is a
numeric type.
This property returns the type of the column in the DBF.
This property returns the type of the column in the DBF.
None
This property returns the length of the column in the DBF.
This property returns the length of the column in the DBF.
None
This property returns the decimal length of the column in the DBF.
This property returns the decimal length of the column in the DBF.
This is the number of decimal places the number represents. This is only
applicable if the column type is numeric.
This enumeration represents the column type in the DBF.
None
Null
1 byte to include:
? - Default
Y,y - Yes
N,n - No
F,f - False
T,t - True
10 digit pointer to memo file.
Date in format - YYYYMMDD
Chronological data consisting of month, day, year, hours, minutes, and seconds
4 byte numeric type.
8 byte numeric type.
8 byte numeric type.
8 byte numeric type.
This method is an override of the + functionality.
None
This method is an override of the == functionality.
None
This method is an override of the != functionality.
None
Open the DBF file
the file name
the access mode
Create a DBF File
the name of the new dbf file
the access mode
Generate DBT file if memo fields exist in dbf
Initialize the File Header Info by the first 32 bytes data
the first 32 bytes data
The dbfFile to be initialized
Initialize the Fields Header Info by the header data
the file header data
The DBF File to be initialized
Get the Native attribute in string
the Record Index
the Field Index
the corresponding attribute in string
Get Valid Length of the Input Bytes, Remove the End '\0'
the input byte array
the Valid Sub String
Get Valid Length of the Input Bytes, Remove the End '\0'
the input byte array
the length of the bytes to be converted
the start index of the bytes to be converted
the Valid Sub String
Get the Native attribute in string
the Record Index
the Field Index
the corresponding attribute in bytes
Get the Native attribute in string, For UnEncrypted File
the Record Index
the Field Index
the corresponding attribute in bytes
Get the Native attribute in byte[]
the Record Index
the corresponding attribute in bytep[]
Get the Native attribute in byte[], for UnEncrypted file
the Record Index
the corresponding attribute in bytep[]
Get the Record in DBT file accoring to the block index
the block index
the record in string
Get the Record in DBT file accoring to the block index
the block index
the record in string
Flush the Current Record to disk
Add Blank Bytes to a bytes array
the bytes array to Write
the start Pos of the valid SubArray
the written bytes in the Valid SubArray
the size of the Valid SubArray
the content for blank
Write an object to Current Record
the field the object belong to, Start With 0
the object to be added to
Write the Value to DBT file
the Value to write
the number of the Original Block
Switch CurrentRecord to the input Record
the Index of the Record, which will be the Current Record
Write out the header and field descriptions before writing any
actral data records.
the HaveMemoField remark
Update the Header
Update the Fields
Get the corresponding dbt file
the dbf file
the corresponding dbt file
Move DBF/DBT files after the Field operations
the source dbf, which is a tmp file during the operation
the dest dbf, which is the original file
Get tmp DBF File
The tmp DBF File
Add a new Field to this existed dbf file
The new Field's Name
The new Field's Type
The new Field's Width
The new Fields's Decimal Count
the new Field Index
Add a new Field to this blank dbf file
The new Field's Name
The new Field's Type
The new Field's Width
The new Fields's Decimal Count
the new Field Index
Delete all the "Deleted" records , and Open the new Stream
The deleted Array, which is useful during pack
Pack the DBT File
the index of every deleted elements
the index of every memo fields
Pack the Data for DBF file
The Destination FileStream
The Deleted Array
Pack the Data for DBT file
The Destination FileStream
The Memo Array
Update the MemoRecord pointer in DBF after DBT file was flushed
the memo Fields index Array
Move the data between iStart and iEnd, to the stream start with iWriteTo, for DBF
The Original filestream
Start Record Index in _fsFile
End Record Index in _fsFile
The Destination filestream
the begin Index to be written in fsDest
Move the data between iStart and iEnd, to the stream start with iWriteTo, for DBT
The Original filestream
Start Record Index in _fsFile
End Record Index in _fsFile
The Destination filestream
the Record Index to be written in fsDest
Update the DBT Header
the DBT File
the Deleted Blocks
Get the new Value according to the original decimalDegreesValue
the original decimalDegreesValue
the new decimalDegreesValue
Make the 2 Contrast Arrays, used for updating the memo fields in new dbf
the original block index arraylist
the new block index arraylist
Start index for a copy
End index for a copy
WriteTo index for a copy
Get the Deleted Blocks Array
the index of every deleted elements
the index of every memo fields
the Deleted Blocks Array
Get the Deleted ArrayListAdapter
Read MAX_RECORDS_ONCE_READ Records each time to balance mem and efficiency
Update the Deleted Array, make mark
Get the Block Count transferred
the start index
the end index
the block count between them
Get the Record Length starts at a Block
the DBT filestream
the block index
the Record Length
Get Header in Bytes
The Header in Bytes
Get whether the fields are valid
the fields info
whether the fields are valid
Check the Encrypted Flag
the Encrypted Flag
Check whether the File is in Create Mode
the ErrorMsg to be thrown in Create Mode
Get Field info according to the input
The Field Decimal Count
The Field Width
The Field Type
The Field Information packed in the DbfFieldInfo struct
Get the new Header Array according to the new Field infomation
the new Field info
the new Field Name
the new Header Array
Get the string from the input object and type
get the decimal size from iField
The Value of an attribute boxed in object
the type of the field
the string format of the input Value according to the field type
Get Double string according to the input object and Decimal Size
the Value boxed in Object
the decimal Size
the Double String
Get Input Error Message according the input
the Field Name
The Field type
The Width of the Field
The Decimal Count of the Field
The Error Message of the Input
Simulate the atoi function in c++
the Num string
the Converted int number
Simulate the atoi function in c++
the Num string
the Converted string according with the format of int
Write an Int Value to Bytes Array
the bytes Array to be written
the start index in bytes when Writing
the intValue to write
Read the Int Value from Bytes Array
the bytes array to read
the start index in bytes when reading
the int decimalDegreesValue read from the bytes
Get the Time Record in File Header
the Header bytes
Copy the Header bytes in dbfFile to fsDest
The Source DBaseFile
The Destination FileStream
Copy the Header bytes in dbtFile to fsDest
The Source FileStream
The Destination FileStream
Whether the filestream has been detached
This class defines the TileMatrix system used in MapSuite component.
This MapSuite Tile Matrix system is the TileMatrix system designed for use
both in Desktop Edition and Web Edition.
This is the constructor by passing the scale.
This parameter specifies the target scale to set the Matrix.
If you use this constructor, all other properties are used their default values.
This is the commonly used constructor for the class.
This is the constructor for the class.
None
This parameter specifies the boundingBox Unit to set the Matrix.
This parameter specifies the target scale to set the Matrix.
This parameter specifies the tile height(in decimalDegrees) to set the Matrix.
This parameter specifies the tile width(in decimalDegrees) to set the Matrix.
If you use this constructor, all other properties are used their default values.
This is the commonly used constructor for the class.
This is the constructor for the class.
None
This parameter specifies the boundingBox Unit to set the Matrix.
This parameter specifies the target scale to set the Matrix.
This parameter specifies the tile height(in decimalDegrees) to set the Matrix.
This parameter specifies the tile width(in decimalDegrees) to set the Matrix.
This parameter specifies the bounding box to set the Matrix.
If you use this constructor, all other properties are used their default values.
This is the commonly used constructor for the class.
This is the constructor for the class.
None
This parameter specifies the boundingBox Unit to set the Matrix.
This parameter specifies the target scale to set the Matrix.
This parameter specifies the tile height(in decimalDegrees) to set the Matrix.
This parameter specifies the tile width(in decimalDegrees) to set the Matrix.
This parameter specifies the column count to set the Matrix.
This parameter specifies the reference point location to set the Matrix.
This parameter specifies the row count to set the Matrix.
If you use this constructor, all other properties are used their default values.
This is the commonly used constructor for the class.
This is the constructor for the class.
None
This parameter specifies the id to set the Matrix.
This parameter specifies the boundingBox Unit to set the Matrix.
This parameter specifies the target scale to set the Matrix.
This parameter specifies the tile height(in decimalDegrees) to set the Matrix.
This parameter specifies the tile width(in decimalDegrees) to set the Matrix.
If you use this constructor, all other properties are used their default values.
This parameter specifies the bounding box to set the Matrix.
This is the commonly used constructor for the class.
This is the constructor for the class.
None
This parameter specifies the id to set the Matrix.
This parameter specifies the boundingBox Unit to set the Matrix.
This parameter specifies the target scale to set the Matrix.
This parameter specifies the tile height(in decimalDegrees) to set the Matrix.
This parameter specifies the tile width(in decimalDegrees) to set the Matrix.
This parameter specifies the column count to set the Matrix.
This parameter specifies the reference point location to set the Matrix.
This parameter specifies the row count to set the Matrix.
If you use this constructor, all other properties are used their default values.
This method will get resolution from scale and can be overridden.
This parameter specifies the target scale to get resolution from.
Returns the resolution corresponding to the passed in scale.
This enum specifies the Reference corner when caculating the Matrix from Matrix boundingBox.
This items specifies the reference corner should be the UpperLeft of the Matrix boundingBox.
This items specifies the reference corner should be the UpperRight of the Matrix boundingBox.
This items specifies the reference corner should be the LowerLeft of the Matrix boundingBox.
This items specifies the reference corner should be the LowerRight of the Matrix boundingBox.
This class represents a NativeImageTile, which is defined as scale, RectangleBox
and a byte array for its tile bitmap.
This is the default constructor without passing any parameters. All its
properties should be set via the properties.
This is the constructor for Tile by passing the boundingBox and scale.
This is the constructor for Tile by passing image bitmap array and the boundingBox and scale.
This property is the byte arry showing the image of the tile.
This class represents the parameters passed in the OpenedFeatureSource
event.
None
This is the default constructor.
None
None
This class represents the parameters passed in the OpenedRasterSource
event.
None
This is the default constructor.
None
None
This class represents the parameters passed in the OpeningFeatureSource
event.
None
This is the default constructor.
None
None
This class represents the parameters passed in the OpeningRasterSource
event.
None
This is the default constructor.
None
None
This enumeration represents whether a file should be overwrite or not if the file
exists.
Over write the file if the file exits.
Do not over write the file if the file exits.
This enumeration specifies the ways you can execute a spatial query against a
FeatureSource.
This enumeration is used on the FeatureSource for the SpatialQuery method and
reflects all the ways you can compare geometries.
The current shape and the targetShape have no points in common.
The current shape and the targetShape have at least one point in common.
The current shape and the targetShape have at least one boundary point in common,
but no interior points.
The current shape and the targetShape share some but not all interior
points.
The current shape lies within the interior of the targetShape.
The targetShape lies within the interior of the current shape.
The current shape and the targetShape share some but not all points in
common.
The current shape and the target Shape are topologically equal.
This projection allows you to rotate the map image base don an angle.
This can be usefully when you are working with directional maps such as driving
maps where you want the upper center of the map to be in line with the direction of the
vehicle heading.
This is a constructor for the class.
This is the default constructor and will set the angle to 0 whick is north being
up.
None
This is the default constructor and will set the angle to 0 whick is north being
up.
This is a constructor for the class.
This constructor allows you to pass in an angle to change the rotation of the
map.
None
This constructor allows you to pass in an angle to change the rotation of the
map.
This parameter is the angle you want to map to rotate to.
This property sets the angle of rotation.
This method returns an adjusted extend based on the angle of rotation.
This method returns an adjusted extend based on the angle of rotation.
This method returns an adjusted extend based on the angle of rotation. It is
important that you update your current extent every time you adjust the angle of the
projection. This will ensure the rotaion is performed properly.
This parameter is the world extent before the rotation.
This method returns a projected vertices based on the coordinates passed
in.
This method returns a projected vertices based on the coordinates passed
in.
This method returns a projected vertex based on the coordinates passed in. You
will need to override this method for the Projection class. Typically you can call the
projection utility library that has interfaces for dozens of different types of
projections.
This parameter is the X values of the points that will be projected.
This parameter is the Y values of the points that will be projected.
This method returns a de-projected vertices based on the coordinates passed
in.
This method returns a de-projected vertices based on the coordinates passed
in.
This method returns a de-projected vertex based on the coordinates passed in. You
will need to override this method for the Projection class. Typically you can call the
projection utility library that has interfaces for dozens of different types of
projections. The de-projection is important because inside of the FeatureSource you
will in many cases to to and from various projections.
This parameter is the X values of the points that will be de-projected.
This parameter is the Y values of the points that will be de-projected.
This structure is used to describe a range of tiles for a given extent.
Basiclly, 4 values exists : the Row range is from MinColumnIndex to MaxColumnIndex,
the Column range is from the MinRowIndex to MaxRowIndex.
Contructor of the structure to instance a RowColumnRange.
Min Row Index which stands for the up boundary.
Max Row Index which stands for the lower boundary.
Min Column Index which stands for the left boundary.
Max Column Index which stands for the right boundary.
Gets or sets the Min Row Index which stands for the up boundary.
Gets or sets the Max Row Index which stands for the lower boundary.
Gets or sets the Min Column Index which stands for the left boundary.
Gets or sets the Max Column Index which stands for the right boundary.
This method is an override of the GetHashCode functionality.
None
This method is an override of the Equals functionality.
None
This method is an override of the == functionality.
None
This parameter represents the first rowColumnRange to compare.
This parameter represents the second rowColumnRange to compare.
This method is an override of the != functionality.
None
This parameter represents the first rowColumnRange to compare.
This parameter represents the second rowColumnRange to compare.
Internal node of the Rtree. Used to access Leaf nodes, where real data lies.
Constructor
ChildPage object
Split Child
Leaf array that contains two child objects.
ChildPage is a block of data in memory that represents a ChildPage.
Constructor
RtreeFile object
Page No.
File type Id
Constructor for new page
RtreeFile object
File type Id
Override function for creating Entry object
Entry object
Override method for getting max record count
Max record count
Update the current node's entry after its leaf has been split.
Entry object
Entry's index
True for success
False for failure
DataPage is a base class of LeafPage and ChildPage.
Insert record for override
Record object for insertion.
False
Delete a record according to its index for override.
Index of the record.
Override method for writing contents to disk.
true for success
false for failure
Constructor for existing page in file.
FileStream object
Page No.
File type Id
Constructor for new page
FileStream object
File type Id
Property PageHeader
Get the level of this page.
Set the level for this page.
level
Set the page number for this page.
page no.
Initialize for an empty page, write the page header and the page end.
Get the record count of this page.
record count
Read page header.
true for success
false for failure
Write page header.
true for success
false for failure
Read RecordSetHeader from memory stream.
true for success
false for failure
Write RecordSetHeader to memory stream.
true for success
false for failure
Get the first record for override.
Get the next record for overrride.
Check if cursor has reached the end of this page.
true for yes
false for otherwise
Get record according to index for override.
Record index
Record object
Get max record count for override.
Dump the current page.
true
Virtual funtion for getting min boundary box.
RECTANGLE_D object
Get free page No.
free page No.
Update entry after splitting for override.
The entry to update.
Index of entry.
false
Entry contains rectangle information and manipulation used by ChildPage.
DefauLb constructor.
For debug.
Entry's content
Get Entry's size.
Entry's size
Constructor
RECORD_HEADER object
RECTANGLE_D object
Read one Entry.
BinaryReader object
true for success
false for failure
Write one Entry.
BinaryWriter object
true for success
false for failure
Rtree is a facade class of MapSuiteRtree.
DefauLb constructor.
This method is targeting releasing or resetting unmanaged resources.
Static method for getting the best page size according to the record count of a ShapeFile.
Record count of ShapeFile.
best page size
Property PageSize.
Get the root node.
root node
Create an index file whose type is rectangle.
Index file name
Indicates whether it is float or not
true for success
false for failure
Check to ensure RtreeIndex is valid.
true for success
false for failure
Open an existing index file as read only.
Index file name
true for read only
false for read and write
true for success
false for failure
Close a previously opened index file.
true for success
false for failure
Write memory to disk if modified.
true for success
false for failure
Insert a point.
x coordinate
y coordiante
Index of record
true for success
false for failure
Delete a point.
x coordinate
y coordinate
true for success
false for failure
Insert a rectangle into index file.
First point's x coordinate
First point's y coordinate
Second point's x coordinate
Second point's y coordinate
Record index
true for success
false for failure
Delete a rectangle record from index file.
First point's x coordinate
First point's y coordinate
Second point's x coordinate
Second point's y coordinate
true for success
false for failure
Query for shape that contains a specific rectangle.
The minimum decimalDegreesValue of the x coords of specific rectangle.
The minimum decimalDegreesValue of the y coords of specific rectangle.
The maximum decimalDegreesValue of the x coords of specific rectangle.
The maximum decimalDegreesValue of the y coords of specific rectangle.
Index Array of int
Query for shape that is contained by a specific rectangle.
The minimum decimalDegreesValue of the x coords of specific rectangle.
The minimum decimalDegreesValue of the y coords of specific rectangle.
The maximum decimalDegreesValue of the x coords of specific rectangle.
The maximum decimalDegreesValue of the y coords of specific rectangle.
Index Array of int
Query for shape that is overlapped by a specific rectangle.
The minimum decimalDegreesValue of the x coords of specific rectangle.
The minimum decimalDegreesValue of the y coords of specific rectangle.
The maximum decimalDegreesValue of the x coords of specific rectangle.
The maximum decimalDegreesValue of the y coords of specific rectangle.
Index Array of int
Get records nearest to a specific point, up to the returningRecordCount.
x coordinate
y coordinate
Maximum number of records to return
index Array of int
Query for the [MaxNum] closest shapes to a specific point.
x coordinate
y coordinate
Maximum number to return
index Array of int
Get the count of all records in all leaf nodes.
record count
Dump all nodes for debugging.
dumped contents
Index file header.
It is stored in page 0.
Init struct
Read contents from BinaryReader object.
BinaryReader object
true for success
false for failure
Write contents into BinaryWriter object.
BinaryWriter object
true for success
false for failure
For debug
dumped string
File type Id
HeaderPage is the page header in memory.
Property FileHeader
Constructor for existing page.
Constructor for new page.
page No.
file type Id
Read FILE_HEADER
true for success
false for failure
Write FILE_HEADER
true for success
false for failure
Dump file header.
dumped string
Read the int value from a bytes array.
The bytes array to read from.
The start index (in bytes) to use when reading.
The int decimalDegreesValue read from the bytes array.
A Leaf node. Contains pointers to the real data.
Constructor
LeafPage object
Override method for getting record ID Set in this node.
Return records count, add records ID to arraylist object.
Array list for records' IDs
Records' count
Return the count of records that contains a specific area.
RECTANGLE_D to test
Array list for records' IDs
Count of records
Return the count of records contained in RECTANGLE_D.
RECTANGLE_D to test
Array list for records' IDs
Count of records
Return the number of records that overlap with RECTANGLE_D.
RECTANGLE_D to test
Array list for records' IDs
Count of record
Insert a record.
Record object
true for success
false for failure
Override FindLeaf, which finds the leaf node containing a given Record.
Record for deletion
If FindLeaf, represents the return index of the record for deletion
Leaf node from which to delete the record
true for found
false for otherwise
LeafPage is a block of data in memeory that represents the class Leaf.
Constructor for new page.
Create a record object according to type for override.
Record object
Get a record according its index.
record index
Record object
Get the first record.
Record object.
Get the next record.
Record object. If the end of the page is reached, returns null.
Insert one record in this page; this page may be deleted
Record object.
true for success
false for failure
Compress the current page to free deleted space.
Gets all records in this page and re-inserts them from the header of the data area.
true for success
false for otherwise
Insert one record into this page.
Record object
true for success
false for failure
Override function for deleting a record according to its index.
Index of the record to be deleted.
Get max record count.
max record count
Get the minimum boundary box of all the records in this page.
RECTANGLE_D object
Dump the current page for debugging.
string containing page contents
Node is an abstract class that implements all common functions in Leaf and Child.
Create a node by page type.
DataPage object
Node object
Constructor.
DataPage object
Get file type.
file type Id
Check the integrity of the node.
true for OK
false for corrupt file
Get the index Entry's sub node.
index
child node
Get the level of node.
level
Set the level for this node.
level
Get the page no. of this node.
Set the page no. for this node.
Get the first record of the current node.
Record object
Get the next record.
Record object
Test if the cursor has reached the end of the node.
true for end
false for otherwise
Return the record count in this node.
record count
Get the total count of records in the current node and its sub nodes,
if they are leaf nodes.
record count
Get the minimum boundary box of this node.
Min boundary RECTANGLE_D object
Test if the node contains the specified RECTANGLE_D.
RECTANGLE_D to test
true for contains
false for not
Test if the node is contained by the specified RECTANGLE_D.
RECTANGLE_D to test
true for contained
false for not
Test if the node overlaps with a specific RECTANGLE_D.
RECTANGLE_D to test
true for overlap
false for not
Get the record ID Set in this node, including sub nodes if they are leaf nodes.
Returns records count, add records id to arraylist object.
Array list for records' IDs
Records' count
Get nMax nearest record
Query point
Root node
The record count you want
Record list
Get nMax nearnest record
Current node
Query Point
Current mindistance
The point number you want
Nodelist needed to search
Candidate record list
Hold resuLb
Add the current node's subnodes to NodeStack.
Nodelist need to search
Current node
Query point
Add record to resuLbStack by nearest.
Candidate record list
resuLb list
The point number want to search
Current mindistance
Add a Leaf node's record to candidateStack and sort them.
Leaf node
Query point
candidateStack
Return the count of records that contains the specific RECTANGLE_D.
RECTANGLE_D to test
Arraylist for records' ids
Count of record
Return the count of records contained in RECTANGLE_D.
RECTANGLE_D to test
array list for records' ids
Count of record
Return the number of records that overlap with RECTANGLE_D.
RECTANGLE_D to test
arraylist for records' ids
Count of record
Dump this node's contents for debugging.
node's contents
Get record according its index.
record index
record object
Test if Node is root node.
true for yes
false for otherwise
Test if Node is leaf node.
true for yes
false for otherwise
Test if node is child node.
true for yes
false for otherwise
Quadratic algorithm for spliting a node.
ArrayListAdapter of RECTANGLE_D for splitting
two groups index
Select one remaining entry for classification as a group
RECTANGLE_D[] array for splitting
Resting index of RECTANGLE_D
Index of left group
Index of right group
MBB of left group
MBB of right group
Add the rest index of RECTANGLE_D to a specific group.
Resting index of RECTANGLE_D
Index of left or right group
Select two records to be the first elements of the pages.
int array contains two record index
Called by insert to adjust the parents of the node that
was modified by the insertion.
Stops when it reaches the root.
The child node that caused the need for adjustment.
For adjusting entry's index
true for split, false for otherwise
Update the specified node's entry.
Node object
Entry object
index
true for sucess
false for failure
Find the least enlargement entry to contain the specified RECTANGLE_D.
RECTANGLE_D object
Entry's index
Insert record for recursive calling.
Record object
Node array
true for success
false for failure
Insert a record into current node.
Record object
Node array
true for success
flase for failure
Get free page number.
page No.
Create a new root according to two nodes.
Node array that contains two nodes
true for success
false for failure
Move a node to the end of file.
Node to be moved
Delete a Record.
The record to be deleted.
true for deletion
false for otherwise
Find a leaf node whose type is point.
Record object to delete
Index of record to delete
Leaf node in which to delete the record
Node object
true for find
flase for otherwise
Find leaf node whose type is rectangle.
Record object to delete
Index of record to delete
Leaf node in which to delete the record
Node object
true for find
flase for otherwise
Delete a Record by index
Structure that holds NodeElement.
Page header.
Its size must be 16 bytes.
Init PAGE_HEADER
Read contents from BinaryReader r.
BinaryReader object
true for success
false for failure
Write contents to BinaryWriter w.
BinaryWriter object
true for success
false for failure
For debugging.
dumped string
PointRecord contains point information and manipulation.
DefauLb constructor
Constructor
RECORD_HEADER object
POINT object
index of the current record
For debug
contents of pointrecord
Property point
Get point object.
Read one PointRecord.
This parameter specifies whether the rTree is using float or double.
BinaryReader object
true for success
false for failure
Write one PointRecord.
BinaryWriter object
This parameter specifies whether the rTree is using float or double.
true for success
false for failure
Test if the record is contained by the specified rectangle.
RECTANGLE_D object
true for yes
false for otherwise
Test if the record contains the specified rectangle.
RECTANGLE_D object
false
Test if the record overlaps with the specified rectangle.
RECTANGLE_D object
false
Get the size of PointRecord.
Size of PointRecord
Get the area of PointRecord.
0
Record is an abstract class.
Create a record object according to file type.
file ext Id
record object
Property of RecordHeader
Property of Data
Get child page number.
Return the rectangle of this record.
Get point object for override.
null
Structure that holds RecordElement.
Record header; must be 8 bytes.
Return the size of this struct.
Size of RECORD_HEADER
Read contents from BinaryReader object.
BinaryReader object
true for success
false for failure
Write contents into BinaryWriter object.
BinaryWriter object
true for success
false for failure
For debugging.
dumped string
RecordSet header; must be 8 bytes.
Read contents from BinaryReader object.
BinaryReader object
true for success
false for failure
Write contents into BinaryWriter object.
BinaryWriter object
true for success
false for failure
For debugging.
dumped string
RectangleRecrod contains rectangle information and manipulation.
DefauLb constructor
Constructor
RECORD_HEADER object
RECTANGLE_D object
Index of record
Read one RectangleRecord.
BinaryReader object
Indicitates that it is float.
true for success
false for failure
Write one RectangleRecord.
BinaryWriter object
Marks the point value as float.
true for success
false for failure
Test if the record is contained by the specified rectangle.
RECTANGLE_D object
true for yes
false for otherwise
Test if the record contains the specified rectangle.
RECTANGLE_D object
true for yes
false for otherwise
Test if the record overlaps with the specified rectangle.
RECTANGLE_D object
true for yes
false for otherwise
Get size of RectangleRecord.
Size of RectangleRecord
Get area of the rectangle.
For debugging.
contents of record
RECTANGLE_D stores a rectangle and independent functions.
Constructor for constructing based on coordinates.
First point's x coordinate
First point's y coordinate
Second point's x coordinate
Second point's y coordinate
GetMinDist
Query point
Min distance
Normalize the data to RECTANGLE_D coordinates.
Return the size of this struct.
Size of RECTANGLE_D
Read contents from BinaryReader object.
BinaryReader object
true for success
false for failure
Write contents into BinaryWriter object.
BinaryWriter object
true for success
false for failure
Test if this RECTANGLE_D contains testRect.
RECTANGLE_D object
true for yes
false for otherwise
Test if this RECTANGLE_D contains testPoint.
POINT object
true for yes
false for otherwise
Test if this RECTANGLE_D is contained by testRect.
RECTANGLE_D object
true for yes
false for otherwise
Test if this RECTANGLE_D overlaps with testRect.
RECTANGLE_D object
true for yes
false for otherwise
Get the rectangle's width.
rectangle's width
Get the rectangle's height.
rectangle's height
Get the rectangle's area.
Test if the current rectangle is equal to testRt.
Rectangle to test
true for yes
false for otherwise
Get rectangle object.
rectangle object
Return a new RECTANGLE_D representing the mbb of the union of this RECTANGLE_D and rt.
Specific RECTANGLE_D
new RECTANGLE_D representing the mbb of their union
Return a new RECTANGLE_D representing the mbb of the union of this RECTANGLE_D and rt.
Specific RECTANGLE_D
new RECTANGLE_D representing the mbb of their union
For debugging.
dumped string
RTPage is a abstract class.
Write contents of memory to disk, if modified.
true for success
false for failure
Constructor for new page.
RtreeFile object
page No.
Constructor for existing page.
RtreeFile object
page No.
file type Id
Constructor for existing page.
RtreeFile object
page No.
Constructor for open header page .
RtreeFile object
Initialize page.
Property page number.
Set modified flag.
Get file stream.
filestream object
Get file type .
gistExtId
Get RTFile object.
RTFile object
The RtreeFile class handles all file read and write operations of Rtree.
Each file has a file header and one or more pages.
DefauLb constructor
Create point type index file.
Index file name
File type id
The delegate to open the stream.
True to mark it as single or float.
true for success
false for failure
Init file header according to extId.
File type Id
True to mark it as float or single.
Open an index file.
Index file name
If file is open as read only
The openstream to open the current RTree.
true for success
false for failure
Close a previously opened index file.
true for opened
false for otherwise
Flush contents to disk.
true for succeed
false for failure
Test if file is read only.
true for yes
false for otherwise
Read the file header from the file.
true for success
false for failure
Write the file header to the file.
true for success
false for failure
Get current file stream.
FileStream object
Get file type.
file type Id
Get root node's page (its page number is 1).
DataPage object
Get the page count of this file.
page count
Point struct.
Constructor.
x coordinate
y coordinate
Test if current point is equal to pt.
Point to test
true for yes
false for otherwise
Return the size of the this struct.
Size of POINT
Read contents from BinaryReader object.
BinaryReader object
True to mark it as float or single.
true for success
false for failure
Write contents into BinaryWriter object.
BinaryWriter object
True if we want to save it as float or single.
true for success
false for failure
For debugging.
dumped string
Contains a record's offset and length.
It is stored in the end area of the page.
Its size must be 4 bytes.
Read contents from BinaryReader object.
BinaryReader object
true for success
false for failure
Write contents to BinaryWriter object.
BinaryWriter object
true for success
false for failure
For debugging.
dumped string
This class represents the event arguments for the StreamLoading event.
Alternate Streams
Where possible we allow you to use stream in place of concreate files on the file
system. This gives you the flexibility to retrieve data from isolated storage,
encrypted files, compressed files, fast memory streams or any other stream origin. This
is typically available where you would pass in a path and file name. Streams can be
substituted in a number of places such as images, shape files etc. Below describes how
the system works though specific places may have slightly different variations.
You will create the object that will use the stream normally such as a
ShapeFielFeatureSource and then subscribe to the StreamLoading event. For these classes
you typically need to supply a path and file name, while this is still required you can
pass in a valid path that does not exist such as "Z:\ShapeFile1.shp". When we need the
stream from you we will give you this string so you can find the associated stream. In
essence you can use the path and file name as a key to kink to the source of your
stream.
When we need the file we will raise the StreamLoading event and allow you to pass an
alternate stream. In the StreamLoading event we provide you with the path and file name
you used and we expect for you to create the stream and set it as the AlternatStream
property along with setting the FileMode and File access appropriate to the stream.
This helps us know our limits with the stream.
This is the constructor for the class.
This is the default constructor taking no arguments which is typically not
used.
None
This is the default constructor taking no arguments which is typically not
used.
Alternate Streams
Where possible we allow you to use stream in place of concreate files on the file
system. This gives you the flexibility to retrieve data from isolated storage,
encrypted files, compressed files, fast memory streams or any other stream origin. This
is typically available where you would pass in a path and file name. Streams can be
substituted in a number of places such as images, shape files etc. Below describes how
the system works though specific places may have slightly different variations.
You will create the object that will use the stream normally such as a
ShapeFielFeatureSource and then subscribe to the StreamLoading event. For these classes
you typically need to supply a path and file name, while this is still required you can
pass in a valid path that does not exist such as "Z:\ShapeFile1.shp". When we need the
stream from you we will give you this string so you can find the associated stream. In
essence you can use the path and file name as a key to kink to the source of your
stream.
When we need the file we will raise the StreamLoading event and allow you to pass an
alternate stream. In the StreamLoading event we provide you with the path and file name
you used and we expect for you to create the stream and set it as the AlternatStream
property along with setting the FileMode and File access appropriate to the stream.
This helps us know our limits with the stream.
This is the constructor for the class.
This is the default constructor taking no arguments which is typically not
used.
None
This is the default constructor taking no arguments which is typically not
used.
Alternate Streams
Where possible we allow you to use stream in place of concreate files on the file
system. This gives you the flexibility to retrieve data from isolated storage,
encrypted files, compressed files, fast memory streams or any other stream origin. This
is typically available where you would pass in a path and file name. Streams can be
substituted in a number of places such as images, shape files etc. Below describes how
the system works though specific places may have slightly different variations.
You will create the object that will use the stream normally such as a
ShapeFielFeatureSource and then subscribe to the StreamLoading event. For these classes
you typically need to supply a path and file name, while this is still required you can
pass in a valid path that does not exist such as "Z:\ShapeFile1.shp". When we need the
stream from you we will give you this string so you can find the associated stream. In
essence you can use the path and file name as a key to kink to the source of your
stream.
When we need the file we will raise the StreamLoading event and allow you to pass an
alternate stream. In the StreamLoading event we provide you with the path and file name
you used and we expect for you to create the stream and set it as the AlternatStream
property along with setting the FileMode and File access appropriate to the stream.
This helps us know our limits with the stream.
This parameter represents the key string you will use to find the stream on the
client end.
This parameter represents the stream type string you will use to find the stream on the
client end.
This is the constructor for the class.
This is the constructor we suggest you you when creating this class.
This is the constructor we suggest you you when creating this class.
Alternate Streams
Where possible we allow you to use stream in place of concreate files on the file
system. This gives you the flexibility to retrieve data from isolated storage,
encrypted files, compressed files, fast memory streams or any other stream origin. This
is typically available where you would pass in a path and file name. Streams can be
substituted in a number of places such as images, shape files etc. Below describes how
the system works though specific places may have slightly different variations.
You will create the object that will use the stream normally such as a
ShapeFielFeatureSource and then subscribe to the StreamLoading event. For these classes
you typically need to supply a path and file name, while this is still required you can
pass in a valid path that does not exist such as "Z:\ShapeFile1.shp". When we need the
stream from you we will give you this string so you can find the associated stream. In
essence you can use the path and file name as a key to kink to the source of your
stream.
When we need the file we will raise the StreamLoading event and allow you to pass an
alternate stream. In the StreamLoading event we provide you with the path and file name
you used and we expect for you to create the stream and set it as the AlternatStream
property along with setting the FileMode and File access appropriate to the stream.
This helps us know our limits with the stream.
None
This parameter represents the key string you will use to find the stream on the
client end.
This parameter should be set in the event by the user to represent the alternate
stream.
This parameter should be set in the event by the user to represent the file mode
that the alternate stream need to function as.
This parameter should be set in the event by the user to represent the file
access that the alternate stream need to function as.
This property gets or sets the source of the stream you wish the user to pass
you.
This is always set by the person who created the event arguments and should
not be changed by the user.
The streamSource name just needs to be some unique string that will let the user
know which file or stream you want. For example you could have a streamSourceName
of "Z:\test.shp" and though the Z drive might not exist it might be a cue for you
to load "test.shp" from isolated storage. We suggest you use a string that is in
the file format of "?:\????.???" as this allows is to validate it though we do not
check if it exists.
Alternate Streams
Where possible we allow you to use stream in place of concreate files on the file
system. This gives you the flexibility to retrieve data from isolated storage,
encrypted files, compressed files, fast memory streams or any other stream origin.
This is typically available where you would pass in a path and file name. Streams
can be substituted in a number of places such as images, shape files etc. Below
describes how the system works though specific places may have slightly different
variations.
You will create the object that will use the stream normally such as a
ShapeFielFeatureSource and then subscribe to the StreamLoading event. For these
classes you typically need to supply a path and file name, while this is still
required you can pass in a valid path that does not exist such as
"Z:\ShapeFile1.shp". When we need the stream from you we will give you this string
so you can find the associated stream. In essence you can use the path and file
name as a key to kink to the source of your stream.
When we need the file we will raise the StreamLoading event and allow you to pass
an alternate stream. In the StreamLoading event we provide you with the path and
file name you used and we expect for you to create the stream and set it as the
AlternatStream property along with setting the FileMode and File access appropriate
to the stream. This helps us know our limits with the stream.
This property gets source of the stream you wish the user to pass you as a
string.
This property gets and sets the alternate stream you want to use.
This property gets the alternate stream you want to use.
When the event is raised the user should be responsible for either ignoring this
property or setting it. It should default to null and if the user wishes to use an
alternate stream instead of a file from the disk then they should replace it
here.
Alternate Streams
Where possible we allow you to use stream in place of concreate files on the file
system. This gives you the flexibility to retrieve data from isolated storage,
encrypted files, compressed files, fast memory streams or any other stream origin. This
is typically available where you would pass in a path and file name. Streams can be
substituted in a number of places such as images, shape files etc. Below describes how
the system works though specific places may have slightly different variations.
You will create the object that will use the stream normally such as a
ShapeFielFeatureSource and then subscribe to the StreamLoading event. For these classes
you typically need to supply a path and file name, while this is still required you can
pass in a valid path that does not exist such as "Z:\ShapeFile1.shp". When we need the
stream from you we will give you this string so you can find the associated stream. In
essence you can use the path and file name as a key to kink to the source of your
stream.
When we need the file we will raise the StreamLoading event and allow you to pass an
alternate stream. In the StreamLoading event we provide you with the path and file name
you used and we expect for you to create the stream and set it as the AlternatStream
property along with setting the FileMode and File access appropriate to the stream.
This helps us know our limits with the stream.
This property gets and sets the file mode that the alternate stream need to
function as.
This property gets the file mode that the alternate stream need to function
as.
You should set the file mode to the mode that best describes the limitations
inherent to your alternate stream.
Alternate Streams
Where possible we allow you to use stream in place of concreate files on the file
system. This gives you the flexibility to retrieve data from isolated storage,
encrypted files, compressed files, fast memory streams or any other stream origin. This
is typically available where you would pass in a path and file name. Streams can be
substituted in a number of places such as images, shape files etc. Below describes how
the system works though specific places may have slightly different variations.
You will create the object that will use the stream normally such as a
ShapeFielFeatureSource and then subscribe to the StreamLoading event. For these classes
you typically need to supply a path and file name, while this is still required you can
pass in a valid path that does not exist such as "Z:\ShapeFile1.shp". When we need the
stream from you we will give you this string so you can find the associated stream. In
essence you can use the path and file name as a key to kink to the source of your
stream.
When we need the file we will raise the StreamLoading event and allow you to pass an
alternate stream. In the StreamLoading event we provide you with the path and file name
you used and we expect for you to create the stream and set it as the AlternatStream
property along with setting the FileMode and File access appropriate to the stream.
This helps us know our limits with the stream.
You should set the file access to the mode that best describes the limitations
inherent to your alternate stream.
Alternate Streams
Where possible we allow you to use stream in place of concreate files on the file
system. This gives you the flexibility to retrieve data from isolated storage,
encrypted files, compressed files, fast memory streams or any other stream origin. This
is typically available where you would pass in a path and file name. Streams can be
substituted in a number of places such as images, shape files etc. Below describes how
the system works though specific places may have slightly different variations.
You will create the object that will use the stream normally such as a
ShapeFielFeatureSource and then subscribe to the StreamLoading event. For these classes
you typically need to supply a path and file name, while this is still required you can
pass in a valid path that does not exist such as "Z:\ShapeFile1.shp". When we need the
stream from you we will give you this string so you can find the associated stream. In
essence you can use the path and file name as a key to kink to the source of your
stream.
When we need the file we will raise the StreamLoading event and allow you to pass an
alternate stream. In the StreamLoading event we provide you with the path and file name
you used and we expect for you to create the stream and set it as the AlternatStream
property along with setting the FileMode and File access appropriate to the stream.
This helps us know our limits with the stream.
This property gets and sets the file access that the alternate stream need to
function as.
This property gets the file access that the alternate stream need to function
as.
This property gets the the stream type you wish the user to pass
you. The value represents corresponding stream type:
If it is "Image File": it represents you need to pass in a stream represents image file, such as .bmp file stream.
If it is "World File": it represents you need to pass in a stream represents world file, such as .bpw file stream.
If it is "SHP File": it represents you need to pass in a stream represents .shp file.
If it is "SHX File": it represents you need to pass in a stream represents .shx file.
If it is "DBF File": it represents you need to pass in a stream represents .dbf file.
If it is "DBT File": it represents you need to pass in a stream represents .dbt file.
If it is "IDX File": it represents you need to pass in a stream represents .idx file.
If it is "IDS File": it represents you need to pass in a stream represents .ids file.
If it is "GeoImage": it represents you need to pass in a stream represents GeoImage.
This is always set by the person who created the event arguments and should
not be changed by the user.
The streamSource name just needs to be some unique string that will let the user
know which file or stream you want. For example you could have a streamSourceName
of "Z:\test.shp" and though the Z drive might not exist it might be a cue for you
to load "test.shp" from isolated storage. We suggest you use a string that is in
the file format of "?:\????.???" as this allows is to validate it though we do not
check if it exists.
Alternate Streams
Where possible we allow you to use stream in place of concreate files on the file
system. This gives you the flexibility to retrieve data from isolated storage,
encrypted files, compressed files, fast memory streams or any other stream origin.
This is typically available where you would pass in a path and file name. Streams
can be substituted in a number of places such as images, shape files etc. Below
describes how the system works though specific places may have slightly different
variations.
You will create the object that will use the stream normally such as a
ShapeFielFeatureSource and then subscribe to the StreamLoading event. For these
classes you typically need to supply a path and file name, while this is still
required you can pass in a valid path that does not exist such as
"Z:\ShapeFile1.shp". When we need the stream from you we will give you this string
so you can find the associated stream. In essence you can use the path and file
name as a key to kink to the source of your stream.
When we need the file we will raise the StreamLoading event and allow you to pass
an alternate stream. In the StreamLoading event we provide you with the path and
file name you used and we expect for you to create the stream and set it as the
AlternatStream property along with setting the FileMode and File access appropriate
to the stream. This helps us know our limits with the stream.
This property gets the stream type you wish the user to pass you as a
string.
Specifies the format of the map image.
If the image is overlaid atop other images, use the PNG image format (which can use
a transparent background). If you have a low bandwidth network, use the JPEG image format.
You can reduce the quality of the JPEG image and make its size smaller.
Specifies the image is in the W3C Portable Network NativeGraphics (PNG) image
format.
Specifies the image is in the Joint Photographic Experts Group (JPEG) image
format.
This structure represents the TileMatrixCell which will be used in the TileMatrix system.
This is the constructor used to create a TileMatrixCell.
None
This parameter represents the row number of the TileMatrixCell.
This parameter represents the column number of the TileMatrixCell.
This parameter represents the boundingBox of the TileMatrixCell.
This property gets or sets the Row number of the stucture.
This property gets or sets the Column number of the stucture.
This property gets or sets the BoundingBox of the stucture.
This method is an override of the ToString functionality.
None
This method is an override of the GetHashCode functionality.
None
This method is an override of the Equals functionality.
None
This method is an override of the == functionality.
None
This parameter represents the first TileMatrixCell to compare.
This parameter represents the second TileMatrixCell to compare.
This method is an override of the != functionality.
None
This parameter represents the first TileMatrixCell to compare.
This parameter represents the second TileMatrixCell to compare.
This class represents the holding place for transactions that have not yet been
committed.
This is the class constructor.
This is the default constructor and is typically not used.
This is the default constructor and is typically not used.
None
This is the class constructor.
This is the constructor for this class allows you pass in the necessary
properties in the class.
None
None.
This method will clear all the items in AddBuffer, EditBuffer and
DeleteBuffer.
None.
This method will clear all the items in AddBuffer, EditBuffer and
DeleteBuffer.
This property gets the dictionary buffer that holds InternalFeatures to be added.
This property gets the dictionary buffer that holds InternalFeatures to be added.
It is recommended that you use this dictionary for reviewing and not for adding
new items. The reason is that the Add, Delete and Edit methods to various validation
checks. For example if you call the DeleteFeature twice it will handle the case that
you really only want to delete the record once. Another example is if you edit a record
twice it will replace the existing edit with the new one.
This property gets the dictionary buffer that holds InternalFeatures to be
deleted.
This property gets the dictionary buffer that holds InternalFeatures to be
deleted.
It is recommended that you use this dictionary for reviewing and not for adding
new items. The reason is that the Add, Delete and Edit methods to various validation
checks. For example if you call the DeleteFeature twice it will handle the case that
you really only want to delete the record once. Another example is if you edit a record
twice it will replace the existing edit with the new one.
This property gets the dictionary buffer that holds InternalFeatures to be
updated.
This property gets the dictionary buffer that holds InternalFeatures to be
updated.
It is recommended that you use this dictionary for reviewing and not for adding
new items. The reason is that the Add, Delete and Edit methods to various validation
checks. For example if you call the DeleteFeature twice it will handle the case that
you really only want to delete the record once. Another example is if you edit a record
twice it will replace the existing edit with the new one.
This method allows you to add InternalFeatures to the transaction buffer.
None
None
This parameter represents the Feature you are adding to the transaction
buffer.
This method allows you to add a shape into the buffer.
None
None
This parameter represents the shape to be added.
This method allows you to add a shape into the buffer.
None
None
This parameter represents the shape to be added.
This parameter represents the feature value to be added.
This method allows you to add a placeholder to represent a Feature to be
deleted.
None
This does not remove a feature from the TransactionBuffer but rather it add a "to
be deleted record". In this way when the TransactionBuffer if processed we know what
records need to be deleted.
This parameter represents the unique Id for the specific Feature being passed
in.
This method allows you to add a Feature to be updated.
None
None
This parameter represents the Feature to be updated.
This method allows you to add a shape to be updated.
None
None
This parameter represents the shape to be updated.
The shape ID should be the same as the feature you are going to update.
This method allows you to add a shape to be updated.
None
None
This parameter represents the shape to be updated.
The shape ID should be the same as the feature you are going to update.
This parameter represents the feature value to be updated.
The shape ID should be the same as the feature you are going to update.
This class represents the results of a transaction that was processed.
This class holds the results of a transaction. It can tell the users the number
of succeeded record and the number of failed records. It also has a dictionary that
holds the individual reasons that certain records fails by FeatureId. If you are
implementing this class it is important that you provide as much information about the
transaction results to your users.
This is the class constructor.
This is the default constructor and is typically not used.
None
This is the default constructor and is typically not used.
This is the class constructor.
This is the constructor for this class allows you pass in the necessary
properties in the class.
None
None.
This property gets and sets the total number of records that we committed
successfully.
This property gets the total number of records that we committed
successfully.
None
This property gets and sets the total number of records that we committed
unsuccessfully.
This property gets the total number of records that we committed
unsuccessfully.
None
This property gets and sets the result status of the transaction.
This property gets the result status of the transaction.
This property returns the results of the transaction. If all of the records
committed fine then you get a success status. If any of the records fail then you get a
failure status though some of the records may have committed.
This property gets and sets the dictionary that contains the reasons for
failure.
This property gets the dictionary that contains the reasons for failure.
If there are failing records we suggest you add the failure reasons to this
dictionary. It is also suggested that you use the FeatureId as the key of the
Dictionary.
This enumeration represents the results from a FeatureSource transaction.
None
This means that each item in the transaction buffer succeeded.
This means that at least one of the items in the transaction buffer failed. It
may mean that other record did succeed. This depends on the implementation of the
specific FeatureSource.
This means that the transaction was canceled.
This class represents the values of a world file.
A world file is an attribute file that is associated with a corresponding image file.
Typically, the world file consists of 6 lines of numbers.
This is the default constructor for the WorldFile class.
None
None
This is the constructor that passes the worldFile text.
The worldFileText is typically read from a world file.
The world file text containing the world file attribute information.
This is the constructor that passes the WorldExtent of the image, the height of
the image, and the width of the image.
This parameter specifies the World Coordinate Extent for the image.
This parameter specifies the image width for the image.
This parameter specifies the image height for the image.
This is a constructor that passes 6 attributes in double associated with the corresponding
image file.
None
This parameter specifies the size of pixels in the x direction.
This parameter specifies the rotation term for row.
This parameter specifes the rotation term for column.
This parameter specifies the size of pixels in the y direction.
This parameter represents the x coordinate of the center of the upper-leftmost pixel in map units.
This parameter represents the y coordinate of the center of the upper-leftmost pixel in map units.
This is a constructor that passes 6 attributes in float associated with the corresponding
image file.
None
This parameter specifies the size of pixels in the x direction.
This parameter specifies the rotation term for row.
This parameter specifes the rotation term for column.
This parameter specifies the size of pixels in the y direction.
This parameter represents the x coordinate of the center of the upper-leftmost pixel in map units.
This parameter represents the y coordinate of the center of the upper-leftmost pixel in map units.
This property gets the horizontal resolution from the world file.
This property gets the horizontal resolution from the world file.
None
This property gets the rotation in row from the world file.
This property gets the rotation in row from the world file.
None
This property gets the rotation in column from the world file.
This property gets the rotation in column from the world file.
None
This property gets the vertical resolution from the world file.
This property gets the vertical resolution from the world file.
None
This property gets the upper left Y coordinate from the world file.
This property gets the upper left Y coordinate from the world file.
None
This property gets the upper left X coordinate from the world file.
This property gets the upper left X coordinate from the world file.
None
This is the event arguments class for the AdornmentLayerDrawing event. It
is raised before the AdornmentLayer is drawn.
This is the event arguments class for the AdornmentLayerDrawing event. It
is raised before the AdornmentLayer is drawn. This event allows you to manipulate the
AdornmentLayer, or draw something with the canvas before the AdornmentLayer draws.
This is the default constructor for the class.
This is the default constructor. If you use this constructor, then you need to set
the required properties manually.
None
This is the default constructor. If you use this constructor, then you need to set
the required properties manually.
This is a constructor for the class.
None
None
This parameter is the AdornmentLayer that will be drawn.
This property gets and sets the AdornmentLayer that will be drawn.
None
This is the event arguments class for the AdornmentLayerDrawn event. It is raised
after the AdornmentLayer is drawn.
This is the event arguments class for the AdornmentLayerDrawn event. It is raised
after the AdornmentLayer is drawn. This event allows you to manipulate the AdornmentLayer,
or draw something with the canvas after the AdornmentLayer has been drawn.
This is the default constructor for the class.
This is the default constructor. If you use this constructor, then you need to set
the required properties manually.
None
This is the default constructor. If you use this constructor, then you need to set
the required properties manually.
This is a constructor for the class.
None
None
This parameter is the AdornmentLayer that has been drawn.
This property gets and sets the AdornmentLayer that has been drawn.
None
This is the event arguments class for the AdornmentLayersDrawing event. It is raised
before any of the AdornmentLayers are drawn.
This is the event arguments class for the AdornmentLayersDrawing event. It is raised
before any of the AdornmentLayers are drawn. This event allows you to manipulate the
AdornmentLayers, or draw something with the canvas before any of the AdornmentLayers
are drawn.
This is the default constructor for the class.
This is the default constructor. If you use this constructor, then you need to set
the required properties manually.
None
This is the default constructor. If you use this constructor, then you need to set
the required properties manually.
This is a constructor for the class.
None
None
This parameter is the AdornmentLayers that will be drawn.
This property gets and sets the AdornmentLayers that will be drawn.
None
This is the event arguments class for the AdornmentLayersDrawn event. It is raised
after all of the AdornmentLayers have been drawn.
This is the event arguments class for the AdornmentLayersDrawn event. It is raised
after all of the AdornmentLayers have been drawn. This event allows you to manipulate the
AdornmentLayers, or draw something with the canvas after all of the AdornmentLayers
have been drawn.
This is the default constructor for the class.
This is the default constructor. If you use this constructor, then you need to set
the required properties manually.
None
This is the default constructor. If you use this constructor, then you need to set
the required properties manually.
This is a constructor for the class.
None
None
This parameter is the AdornmentLayers that have been drawn.
This property gets and sets the AdornmentLayers that have been drawn.
None
None
This method makes the GetDrawingLocation function calculate the drawing location by
XOffset and YOffset from the upper left point.
This method makes the GetDrawingLocation function calculate the drawing location by
XOffset and YOffset from the upper left point.
This method makes the GetDrawingLocation function calculate the drawing location by
XOffset and YOffset from the upper center point.
This method makes the GetDrawingLocation function calculate the drawing location by
XOffset and YOffset from the upper right point.
This method makes the GetDrawingLocation function calculate the drawing location by
XOffset and YOffset from the center left point.
This method makes the GetDrawingLocation function calculate the drawing location by
XOffset and YOffset from the center point.
This method makes the GetDrawingLocation function calculate the drawing location by
XOffset and YOffset from the center right point.
This method makes the GetDrawingLocation function calculate the drawing location by
XOffset and YOffset from the lower left point.
This method makes the GetDrawingLocation function calculate the drawing location by
XOffset and YOffset from the lower center point.
This method makes the GetDrawingLocation function calculate the drawing location by
XOffset and YOffset from the lower right point.
This is the base class of AdornmentLayers. The AdornmentLayer is
used to place adornments on the map. Two types of AdornmentLayers are provided:
ScaleLineAdornmentLayer and
ScaleBarAdornmentLayer.
This method is the default constructor for the AdornmentLayer.
None
This property gets and sets the drawing location of the AdornmentLayer.
This property gets and sets the X pixel offset for the AdornmentLayer.
This property allows you to specify an X offset. It is useful, when combined with
a Y offset, to do things like modify the location of the
adornment.
This property gets and sets the Y pixel offset for the AdornmentLayer.
This property allows you to specify a Y offset. It is useful, when combined with
an X offset, to do things like modify the location of the
adornment.
This method draws the AdornmentLayer.
This virtual method is called from the concrete public method Draw. This method
draws the representation of the layer based on the extent you provided.
You can use the full power of the GeoCanvas to do the drawing.
None
If you pass a null as the geoCanvas, we will throw an ArgumentNullException.
If you pass a null as the labelsInAllLayers, we will throw an ArgumentNullException.
This parameter represents the labels used for collision detection and duplication checking.
This parameter is the canvas object (or a GeoImage) to draw on.
This method returns the drawing location of the AdornmentLayer.
It returns the upper left screen point of where the AdornmentLayer will be
drawn.
This parameter is the canvas used in drawing.
This parameter is the width of the adornment.
This parameter is the height of the adornment
This class is a wrapper class for the FeatureLayer that isolates only the editing
methods to make them easily accessible to the programmer.
This class is a wrapper class for the FeatureLayer that isolates only the editing
methods to make them easily accessible to the programmer.
This is a constructor for the class.
This is the default constructor. It is protected and not meant to be used.
None
This is the default constructor. It is protected and not meant to be used.
This is a constructor for the class.
This constructor allows you to pass in the FeatureSource.
None
None
This parameter is the FeatureSource that the edit operations will pass through
to.
This property returns true if the FeatureLayer is in a transaction and false if it
is not.
This property returns true if the FeatureLayer is in a transaction and false if it
is not.
To enter a transaction, you must first call the BeginTransaction method of the
FeatureLayer. It is possible that some FeatureLayers are read only and do not allow
edits. To end a transaction, you must either call CommitTransaction or
RollbackTransaction.
This property returns true if the features currently modified in a transaction
are expected to reflect their state when calling other methods on the FeatureLayer,
such as spatial queries.
This property returns true if the features currently modified in a transaction
are expected to reflect their state when calling other methods on the
FeatureLayer.
The live transaction concept means that all of the modifications you perform during
a transaction are live from the standpoint of the querying methods on the object.
As an example, imagine that you have a FeatureLayer that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureLayer reflect the
changes.
This property returns whether the FeatureLayer allows edits or is read only.
This property returns whether the FeatureLayer allows edits or is read only. The
property returns true if the FeatureLayer allows edits and false if the FeatureLayer is
read only.
This property is useful to check if a specific FeatureLayer accepts editing.
If you call BeginTransaction and this property is false, then an exception will
be raised.
This property allows you get and set the transaction buffer.
None
In the event you attempt to call this method on a FeatureLayer which is in a transaction, it will throw an InvalidOperationException.
In the event you attempt to call this method on a FeatureLayer which has not been opened, it will throw an InvalidOperationException.
In the event you attempt to call this method on a FeatureLayer which is not editable, it will throw an InvalidOperationException.
This method starts a new transaction if the FeatureLayer allows editing.
None
This method is used to start a transaction, assuming that the FeatureLayer allows
editing. There are some additional prerequisites to beginning a transaction, such as ensuring
that a transaction is not already in progress. You must also be sure that the FeatureSource has
been opened.
The Transaction System
The transaction system of a FeatureLayer sits on top of the inherited implementation
of any specific source, such as Oracle Spatial or Shape files. In this way, it functions
the same way for every FeatureLayer. You start by calling BeginTransaction. This
allocates a collection of in-memory change buffers that are used to store changes until
you commit the transaction. So, for example, when you call the Add, Delete or Update
method, the changes to the feature are stored in memory only. If for any reason you
choose to abandon the transaction, you can call RollbackTransaction at any time and the
in-memory buffer will be deleted and the changes will be lost. When you are ready to
commit the transaction, you call CommitTransaction and the collections of changes
are then passed to the CommitTransactionCore method and the implementer of the specific
FeatureLayer is responsible for integrating your changes into the underlying
FeatureLayer. By default the IsLiveTransaction property is set to false, which means
that until you commit the changes, the FeatureLayer API will not reflect any changes
that are in the temporary editing buffer.
In the case where the IsLiveTransaction is set to true, then things function slightly
differently. The live transaction concept means that all of the modifications you
perform during a transaction are live from the standpoint of the querying methods on
the object.
As an example, imagine that you have a FeatureLayer that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureLayer reflect the
changes.
In the event you attempt to call this method on a FeatureLayer which is not in a transaction, it will throw an InvalidOperationException.
This method adds a new Feature to an existing transaction.
This method adds a new Feature to an existing transaction. You will need to
ensure that you have started a transaction by calling BeginTransaction.
The Transaction System
The transaction system of a FeatureLayer sits on top of the inherited implementation
of any specific source, such as Oracle Spatial or Shape files. In this way, it functions
the same way for every FeatureLayer. You start by calling BeginTransaction. This
allocates a collection of in-memory change buffers that are used to store changes until
you commit the transaction. So, for example, when you call the Add, Delete or Update
method, the changes to the feature are stored in memory only. If for any reason you
choose to abandon the transaction, you can call RollbackTransaction at any time and the
in-memory buffer will be deleted and the changes will be lost. When you are ready to
commit the transaction, you call CommitTransaction and the collections of changes
are then passed to the CommitTransactionCore method and the implementer of the specific
FeatureLayer is responsible for integrating your changes into the underlying
FeatureLayer. By default the IsLiveTransaction property is set to false, which means
that until you commit the changes, the FeatureLayer API will not reflect any changes
that are in the temporary editing buffer.
In the case where the IsLiveTransaction is set to true, then things function slightly
differently. The live transaction concept means that all of the modifications you
perform during a transaction are live from the standpoint of the querying methods on
the object.
As an example, imagine that you have a FeatureLayer that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureLayer reflect the
changes.
This string is the ID that will uniquely identify this Feature while it is in a
transaction.
This overload allows you to pass in a shape.
This parameter represents the new shape that will be added to the
transaction.
In the event you attempt to call this method on a FeatureLayer which is not in a transaction, it will throw an InvalidOperationException.
This method adds a new Feature to an existing transaction.
This method adds a new Feature to an existing transaction. You will need to
ensure that you have started a transaction by calling BeginTransaction.
The Transaction System
The transaction system of a FeatureLayer sits on top of the inherited implementation
of any specific source, such as Oracle Spatial or Shape files. In this way, it functions
the same way for every FeatureLayer. You start by calling BeginTransaction. This
allocates a collection of in-memory change buffers that are used to store changes until
you commit the transaction. So, for example, when you call the Add, Delete or Update
method, the changes to the feature are stored in memory only. If for any reason you
choose to abandon the transaction, you can call RollbackTransaction at any time and the
in-memory buffer will be deleted and the changes will be lost. When you are ready to
commit the transaction, you call CommitTransaction and the collections of changes
are then passed to the CommitTransactionCore method and the implementer of the specific
FeatureLayer is responsible for integrating your changes into the underlying
FeatureLayer. By default the IsLiveTransaction property is set to false, which means
that until you commit the changes, the FeatureLayer API will not reflect any changes
that are in the temporary editing buffer.
In the case where the IsLiveTransaction is set to true, then things function slightly
differently. The live transaction concept means that all of the modifications you
perform during a transaction are live from the standpoint of the querying methods on
the object.
As an example, imagine that you have a FeatureLayer that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureLayer reflect the
changes.
This string is the ID that will uniquely identify this Feature while it is in a
transaction.
This overload allows you pass in a Feature.
This parameter represents the new Feature that will be added to the
transaction.
This overload allows you pass in a Feature.
This overload allows you pass in a Feature.
This method adds a new Feature to an existing transaction. You will need to
ensure that you have started a transaction by calling BeginTransaction.
The Transaction System
The transaction system of a FeatureLayer sits on top of the inherited implementation
of any specific source, such as Oracle Spatial or Shape files. In this way, it functions
the same way for every FeatureLayer. You start by calling BeginTransaction. This
allocates a collection of in-memory change buffers that are used to store changes until
you commit the transaction. So, for example, when you call the Add, Delete or Update
method, the changes to the feature are stored in memory only. If for any reason you
choose to abandon the transaction, you can call RollbackTransaction at any time and the
in-memory buffer will be deleted and the changes will be lost. When you are ready to
commit the transaction, you call CommitTransaction and the collections of changes
are then passed to the CommitTransactionCore method and the implementer of the specific
FeatureLayer is responsible for integrating your changes into the underlying
FeatureLayer. By default the IsLiveTransaction property is set to false, which means
that until you commit the changes, the FeatureLayer API will not reflect any changes
that are in the temporary editing buffer.
In the case where the IsLiveTransaction is set to true, then things function slightly
differently. The live transaction concept means that all of the modifications you
perform during a transaction are live from the standpoint of the querying methods on
the object.
As an example, imagine that you have a FeatureLayer that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureLayer reflect the
changes.
This parameter represents the new BaseShape that will be added to the
transaction.
This parameter represents DBF information of the new BaseShape.
This string is the ID that will uniquely identify this BaseShape while it is in a
transaction.
In the event you attempt to call this method on a FeatureLayer which is not in a transaction, it will throw an InvalidOperationException.
If you pass a null as the shape, we will throw an ArgumentNullException.
If you pass a null as the columnValues, we will throw an ArgumentNullException.
This method increases the size of the feature by the percentage given in the
percentage parameter.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage that is less than 0 will throw an ArgumentOutOfRangeException.
This method is a helpful function that allows you to easily edit InternalFeatures directly
in the FeatureSource without having to retrieve them, convert them to a shape,
manipulate them and put them back into the FeatureSource.
This method is useful when you would like to increase the size of the Feature. Note
that a larger percentage will scale the shape up faster as you apply the operation
multiple times. There is also a ScaleDown method that will shrink the shape as
well.
Passing an invalid percentage that is not between 0 and 100 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a FeatureLayer which is not in a transaction, it will throw an InvalidOperationException.
This parameter is the Id of the Feature you want to scale.
This is the percentage by which to increase the Feature's size.
This method decreases the size of the feature by the percentage given in the
percentage parameter.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage that is less than 0 will throw an ArgumentOutOfRangeException.
This method is a helpful function that allows you to easily edit InternalFeatures directly
in the FeatureSource without having to retrieve them, convert them to a shape,
manipulate them and put them back into the FeatureSource.
This method is useful when you would like to decrease the size of the Feature. Note
that a larger percentage will scale the shape down faster as you apply the operation
multiple times. There is also a ScaleUp method that will expand the shape as
well.
Passing an invalid percentage that is not between 0 and 100 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a FeatureLayer which is not in a transaction, it will throw an InvalidOperationException.
This parameter is the Id of the Feature you want to scale.
This is the percentage by which to decrease the Feature's size.
This method moves the Feature from one location to another based on a distance
and a direction in degrees.
In this overload, the distance unit is based on a DistanceUnit you specify in the
distanceUnit parameter, regardless of the shape's GeographicUnit.
This method is a helpful function that allows you to easily edit InternalFeatures
directly in the FeatureSource without having to retrieve them, convert them to a
shape, manipulate them and put them back into the FeatureSource.
This method moves the Feature from one location to another based on angleInDegrees
and the distance parameter. With this overload, it is important to note that the
distance units are based on the specified distanceUnit parameter. For example, if your
Feature is in decimal degrees and you call this method with a specified distanceUnit of
miles, you're going to move this shape a number of miles based on the distance and
angleInDegrees. In this way, you could easily move a shape in decimal degrees five
miles to the north.
If you pass a distance of 0, the operation is ignored.
Passing an invalid angleInDegrees that is not between 0 and 360 will throw an ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid distance that is not greater than or equal to 0 will throw an ArgumentOutOfRangeException.
None
This parameter is the Feature you want to move.
The distance is the number of units to move the shape using the angle specified.
The distance unit will be the DistanceUnit specified in the distanceUnit parameter. The
distance must be greater than or equal to 0.
A number between 0 and 360 degrees that represents the direction you wish to
move the shape, with zero being up.
This is the GeographicUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the measure of the translate.
For example, if you select miles as your distanceUnit, then the distance will be
calculated in miles.
This method moves the Feature from one location to another based on a X and Y
offset distance.
In this overload, the X and Y offset are based on a DistanceUnit you specify,
regardless of the shape's GeographicUnit.
This method is a helpful function that allows you to easily edit InternalFeatures
directly in the FeatureSource without having to retrieve them, convert them to a
shape, manipulate them and put them back into the FeatureSource.
This method moves the Feature from one location to another based on an X and Y
offset distance. With this overload, it is important to note that the
distance units are based on the specified distanceUnit parameter. For example, if your
Feature is in decimal degrees and you call this method with an X offset of 1 and a Y
offset of 1, you're going to move this Feature one unit of the distanceUnit in the
horizontal direction and one unit of the distanceUnit in the vertical direction.
In this way, you could easily move a Feature in decimal degrees five miles on the X
axis and 3 miles on the Y axis.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape that has no points, it will throw an InvalidOperationException.
None
This parameter is the Feature you want to move.
This is the number of horizontal units of movement in the DistanceUnit specified in
the distanceUnit parameter.
This is the number of horizontal units of movement in the DistanceUnit specified in
the distanceUnit parameter.
This is the GeographicUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the measure of the
translate. For example, if you select miles as your distanceUnit, then the xOffsetDistance
and yOffsetDistance will be calculated in miles.
This method rotates the Feature any number of degrees based on a pivot
point.
This method is a helpful function that allows you to easily edit InternalFeatures
directly in the FeatureSource without having to retrieve them, convert them to a
shape, manipulate them and put them back into the FeatureSource.
This method rotates the Feature based on a pivot point by a number of degrees. By
placing the pivot point in the center of the Feature, you can achieve in-place
rotation. By moving the pivot point outside of the center of the Feature, you can
translate the shape in a circular motion. Moving the pivot point further outside of
the center will make the circular area larger.
If you pass a null as the pivotPoint, we will throw an ArgumentNullException.
Passing an invalid degreeAngle which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape that is not valid, it will throw an InvalidOperationException.
In the event you attempt to call this method and the CanRotate property returns false, it will throw a NotImplementedException.
None
This parameter is the Feature you want to rotate.
The pivotPoint represents the center of rotation.
The number of degrees of rotation, from 0 to 360.
This method returns the union of the Feature and the target shapes, which are defined as the
set of all points in the Feature or the target shape.
None
This method is a helpful function that allows you to easily edit InternalFeatures directly
in the FeatureSource without having to retrieve them, convert them to a shape,
manipulate them and put them back into the FeatureSource.
This is useful for adding area shapes together to form a larger area shape.
If you pass in a targetShape that does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape that has no points, it will throw an InvalidOperationException.
This overload allows you pass in an AreaBaseShape.
This parameter is the Feature you want to add the new area to.
The shape you are trying to find the union with.
This method returns the union of the Feature and the target features, which are defined as the
set of all points in the Feature or the target shape.
None
This method is a helpful function that allows you to easily edit InternalFeatures directly
in the FeatureSource without having to retrieve them, convert them to a shape,
manipulate them and put them back into the FeatureSource.
This is useful for adding area shapes together to form a larger area shape.
If you pass a null featureId, we will throw an ArgumentNullException.
This overload allows you pass in a Feature.
This parameter is the Feature you want to add the new area to.
The feature you are trying to find the union with.
This method returns the difference between two shapes, which are defined as the set of all
points that lie in the Feature but not in the targetShape.
If you pass in a targetShape that does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape that has no points, it will throw an InvalidOperationException.
This method is a helpful function that allows you to easily edit InternalFeatures directly
in the FeatureSource without having to retrieve them, convert them to a shape,
manipulate them and put them back into the FeatureSource.
None
This is the Feature you want to remove area from.
The shape you are trying to find the difference with.
This method returns the difference between two features, which are defined as the set of all
points which lie in the Feature but not in the targetFeature.
None
This is the Feature you want to remove area from.
The feature you are trying to find the difference with.
In the event you attempt to call this method on a FeatureLayer which is not in a transaction, it will throw an InvalidOperationException.
This method deletes a Feature from an existing transaction. You will need to
ensure that you have started a transaction by calling BeginTransaction.
The Transaction System
The transaction system of a FeatureLayer sits on top of the inherited implementation
of any specific source, such as Oracle Spatial or Shape files. In this way, it functions
the same way for every FeatureLayer. You start by calling BeginTransaction. This
allocates a collection of in-memory change buffers that are used to store changes until
you commit the transaction. So, for example, when you call the Add, Delete or Update
method, the changes to the feature are stored in memory only. If for any reason you
choose to abandon the transaction, you can call RollbackTransaction at any time and the
in-memory buffer will be deleted and the changes will be lost. When you are ready to
commit the transaction, you call CommitTransaction and the collections of changes
are then passed to the CommitTransactionCore method and the implementer of the specific
FeatureLayer is responsible for integrating your changes into the underlying
FeatureLayer. By default the IsLiveTransaction property is set to false, which means
that until you commit the changes, the FeatureLayer API will not reflect any changes
that are in the temporary editing buffer.
In the case where the IsLiveTransaction is set to true, then things function slightly
differently. The live transaction concept means that all of the modifications you
perform during a transaction are live from the standpoint of the querying methods on
the object.
As an example, imagine that you have a FeatureLayer that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureLayer reflect the
changes.
This method deletes a Feature from an existing transaction.
None
This string is the Id of the feature in the FeatureLayer that you wish to
delete.
In the event you attempt to call this method on a FeatureLayer which is not in a transaction, it will throw an InvalidOperationException.
None
This method updates a Feature in an existing transaction. You will need to
ensure that you have started a transaction by calling BeginTransaction.
The Transaction System
The transaction system of a FeatureLayer sits on top of the inherited implementation
of any specific source, such as Oracle Spatial or Shape files. In this way, it functions
the same way for every FeatureLayer. You start by calling BeginTransaction. This
allocates a collection of in-memory change buffers that are used to store changes until
you commit the transaction. So, for example, when you call the Add, Delete or Update
method, the changes to the feature are stored in memory only. If for any reason you
choose to abandon the transaction, you can call RollbackTransaction at any time and the
in-memory buffer will be deleted and the changes will be lost. When you are ready to
commit the transaction, you call CommitTransaction and the collections of changes
are then passed to the CommitTransactionCore method and the implementer of the specific
FeatureLayer is responsible for integrating your changes into the underlying
FeatureLayer. By default the IsLiveTransaction property is set to false, which means
that until you commit the changes, the FeatureLayer API will not reflect any changes
that are in the temporary editing buffer.
In the case where the IsLiveTransaction is set to true, then things function slightly
differently. The live transaction concept means that all of the modifications you
perform during a transaction are live from the standpoint of the querying methods on
the object.
As an example, imagine that you have a FeatureLayer that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureLayer reflect the
changes.
This method updates a Feature in an existing transaction.
This overload allows you to pass in a shape and the Id to the Feature it will
update.
The shape you wish to update in the transaction. The Id of the Shape should be the feature Id which you wish to update.
In the event you attempt to call this method on a FeatureLayer which is not in a transaction, it will throw an InvalidOperationException.
None
This method updates a Feature in an existing transaction. You will need to
ensure that you have started a transaction by calling BeginTransaction.
The Transaction System
The transaction system of a FeatureLayer sits on top of the inherited implementation
of any specific source, such as Oracle Spatial or Shape files. In this way, it functions
the same way for every FeatureLayer. You start by calling BeginTransaction. This
allocates a collection of in-memory change buffers that are used to store changes until
you commit the transaction. So, for example, when you call the Add, Delete or Update
method, the changes to the feature are stored in memory only. If for any reason you
choose to abandon the transaction, you can call RollbackTransaction at any time and the
in-memory buffer will be deleted and the changes will be lost. When you are ready to
commit the transaction, you call CommitTransaction and the collections of changes
are then passed to the CommitTransactionCore method and the implementer of the specific
FeatureLayer is responsible for integrating your changes into the underlying
FeatureLayer. By default the IsLiveTransaction property is set to false, which means
that until you commit the changes, the FeatureLayer API will not reflect any changes
that are in the temporary editing buffer.
In the case where the IsLiveTransaction is set to true, then things function slightly
differently. The live transaction concept means that all of the modifications you
perform during a transaction are live from the standpoint of the querying methods on
the object.
As an example, imagine that you have a FeatureLayer that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureLayer reflect the
changes.
This method updates a Feature in an existing transaction.
This overload allows you pass in a Feature.
The Feature you wish to update in the transaction.
In the event you attempt to call this method on a FeatureLayer which is not in a transaction, it will throw an InvalidOperationException.
None
This method updates a Feature in an existing transaction. You will need to
ensure that you have started a transaction by calling BeginTransaction.
The Transaction System
The transaction system of a FeatureLayer sits on top of the inherited implementation
of any specific source, such as Oracle Spatial or Shape files. In this way, it functions
the same way for every FeatureLayer. You start by calling BeginTransaction. This
allocates a collection of in-memory change buffers that are used to store changes until
you commit the transaction. So, for example, when you call the Add, Delete or Update
method, the changes to the feature are stored in memory only. If for any reason you
choose to abandon the transaction, you can call RollbackTransaction at any time and the
in-memory buffer will be deleted and the changes will be lost. When you are ready to
commit the transaction, you call CommitTransaction and the collections of changes
are then passed to the CommitTransactionCore method and the implementer of the specific
FeatureLayer is responsible for integrating your changes into the underlying
FeatureLayer. By default the IsLiveTransaction property is set to false, which means
that until you commit the changes, the FeatureLayer API will not reflect any changes
that are in the temporary editing buffer.
In the case where the IsLiveTransaction is set to true, then things function slightly
differently. The live transaction concept means that all of the modifications you
perform during a transaction are live from the standpoint of the querying methods on
the object.
As an example, imagine that you have a FeatureLayer that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureLayer reflect the
changes.
This method updates a Feature in an existing transaction.
This overload allows you to pass in a shape and the columnValues to the Feature it will
update.
The shape you wish to update in the transaction. The Id of the Shape should be the feature id which you wish to update.
The column values you wish to update in the transaction.
In the event you attempt to call this method on a FeatureLayer which is not in a transaction, it will throw an InvalidOperationException.
None
This method will cancel an existing transaction. It will free up the internal
memory cache of any InternalFeatures added, updated or deleted. You will need to ensure
that you have started a transaction by calling BeginTransaction.
The Transaction System
The transaction system of a FeatureLayer sits on top of the inherited implementation
of any specific source, such as Oracle Spatial or Shape files. In this way, it functions
the same way for every FeatureLayer. You start by calling BeginTransaction. This
allocates a collection of in-memory change buffers that are used to store changes until
you commit the transaction. So, for example, when you call the Add, Delete or Update
method, the changes to the feature are stored in memory only. If for any reason you
choose to abandon the transaction, you can call RollbackTransaction at any time and the
in-memory buffer will be deleted and the changes will be lost. When you are ready to
commit the transaction, you call CommitTransaction and the collections of changes
are then passed to the CommitTransactionCore method and the implementer of the specific
FeatureLayer is responsible for integrating your changes into the underlying
FeatureLayer. By default the IsLiveTransaction property is set to false, which means
that until you commit the changes, the FeatureLayer API will not reflect any changes
that are in the temporary editing buffer.
In the case where the IsLiveTransaction is set to true, then things function slightly
differently. The live transaction concept means that all of the modifications you
perform during a transaction are live from the standpoint of the querying methods on
the object.
As an example, imagine that you have a FeatureLayer that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureLayer reflect the
changes.
This method will cancel an existing transaction. It will free up the internal
memory cache of any InternalFeatures added, updated or deleted.
In the event you attempt to call this method on a FeatureLayer which is not in a transaction, it will throw an InvalidOperationException.
The returned decimalDegreesValue of this method is a TransactionResult class, which gives you the
status of the transaction you just committed. It includes how many of the updates,
adds, and deletes were successful and any errors that were encountered during the
committing of the transaction.
This method will commit the existing transaction to its underlying source of data. It
will then pass back the results of the commit, including any error(s) received. Finally,
it will free up the internal memory cache of any InternalFeatures added, updated
or deleted. You will need to ensure that you have started a transaction by calling
BeginTransaction.
The Transaction System
The transaction system of a FeatureLayer sits on top of the inherited implementation
of any specific source, such as Oracle Spatial or Shape files. In this way, it functions
the same way for every FeatureLayer. You start by calling BeginTransaction. This
allocates a collection of in-memory change buffers that are used to store changes until
you commit the transaction. So, for example, when you call the Add, Delete or Update
method, the changes to the feature are stored in memory only. If for any reason you
choose to abandon the transaction, you can call RollbackTransaction at any time and the
in-memory buffer will be deleted and the changes will be lost. When you are ready to
commit the transaction, you call CommitTransaction and the collections of changes
are then passed to the CommitTransactionCore method and the implementer of the specific
FeatureLayer is responsible for integrating your changes into the underlying
FeatureLayer. By default the IsLiveTransaction property is set to false, which means
that until you commit the changes, the FeatureLayer API will not reflect any changes
that are in the temporary editing buffer.
In the case where the IsLiveTransaction is set to true, then things function slightly
differently. The live transaction concept means that all of the modifications you
perform during a transaction are live from the standpoint of the querying methods on
the object.
As an example, imagine that you have a FeatureLayer that has 10 records in it.
Next, you begin a transaction and then call GetAllFeatures. The result would be 10
records. After that, you call a delete on one of the records and call the GetAllFeatures
again. This time you only get nine records, even though the
transaction has not yet been committed. In the same sense, you could have added a new
record or modified an existing one and those changes would be considered live, though not
committed.
In the case where you modify records -- such as expanding the size of a polygon -- those
changes are reflected as well. For example, you expand a polygon by doubling its size
and then do a spatial query that would not normally return the smaller record, but instead
would return the larger records. In this case, the larger records are returned. You can set this
property to be false, as well; in which case, all of the spatially related methods would
ignore anything that is currently in the transaction buffer waiting to be committed. In
such a case, only after committing the transaction would the FeatureLayer reflect the
changes.
This method will commit the existing transaction to its underlying source of
data.
This class represents a layer that is comprised of feature data.
This abstract class is the basis for all feature-based layers in the system. Its
methods and properties deal with feature data manipulation. Some of the classes that
currently inherit from this are ShapeFileFeatureLayer, OracleFeatureLayer and so on.
When creating your own FeatureLayer, you need only to set a FeatureSource and create a
useful constructor; the class will take care of the rest. There are no required
abstract members. It may be helpful for you to add additional properties specific to
your FeatureSource.
This event is raised when features are about to be drawn in the layer.
This event is raised when features are about to be drawn in the layer. In the event
arguments, there is a collection of features to be drawn. You can easily add or remove
items from this collection so that extra items will draw or not draw.
This is a constructor for this class.
None
This is a constructor for this class.
This method raises the DrawingFeatures event.
None
- You can call this method from a derived class to enable it to raise the
event. This may be useful if you plan to extend the FeatureLayer and you need
access to the event.
This event is meant to allow you to add or remove the features to be drawn.
This parameter represents the event arguments for the event.
Thie property gets or sets whether allow wrap date line.
This property gets the EditTools that allow you to easily edit InternalFeatures in the
Feature Layer.
This property gets the EditTools that allow you to easily edit InternalFeatures in the
Feature Layer.
The EditTools are supplied as an easily accessible wrapper for the editing
methods of the FeatureSource.
A collection of strings representing record id of features not to get in the Layer.
This string collection is a handy place to specify what records not to get from the source.
Suppose you have a shape file of roads and you want to hide the roads within a particular
rectangle, simply execute GetFeaturesInsideBoundingBox() and add the id of the return
features to the collection and forget about them. Since you can set this by Layer it
makes is easy to determine what to and what not to.
This property gets the QueryTools that allow you to easily query Features from the
Feature Layer.
This property gets the QueryTools that allow you to easily query Features from the
Feature Layer.
This property gets the QueryTools that allow you to easily query Features from the
Feature Layer. The QueryTools are supplied as an easily accessible wrapper for the
query methods of the FeatureSource.
This property gets the FeatureSource for the FeatureLayer.
This property gets the FeatureSource for the FeatureLayer.
The FeatureSource is the provider of data to the FeatureLayer. There are different
FeatureSource classes to match the various ways that feature data is stored. It is
important that, when you inherit from the FeatureLayer, in the constructor you set
the FeatureSource you want to use.
This property gets and sets the general drawing quality for the FeatureLayer's
canvas.
This property gets the general drawing quality for the FeatureLayer's
canvas.
The DrawingQuality enumeration allows you to control, in a macro sense, the drawing
quality that will be used in the GeoCanvas. Each GeoCanvas, which is responsible for
drawing of the features, may have its own specialized drawing quality properties. What the
DrawingQuality enumeration does is define some general guidelines for each GeoCanvas.
For example, if you set the DrawingQuality to HighSpeed, then inside of the
PlatformGeoCanvas there is a profile for HighSpeed. This profile sets specific
properties, such as the smoothing mode and composing drawing mode of the
PlatformGeoCanvas. As each GeoCanvas may have different drawing quality properties, this
offers a general way to control drawing quality and speed.
If you need complete control over how a specific GeoCanvas will draw, then you can
set the DrawingQuality to Custom. This will tell the specific GeoCanvas to use the
properties on its own object instead of one of the pre-defined profiles. If one of the
profiles -- such as HighSpeed or HighQuality -- is set, then the specific GeoCanvas ignores its
own properties for drawing quality.
This property gets and sets the ZoomLevelSet, which contains the specific zoom
levels for the FeatureLayer.
This property gets the ZoomLevelSet, which contains the specific zoom levels for
the FeatureLayer.
The ZoomLevelSet is a class that contains all of the ZoomLevels for the
FeatureLayer. Each ZoomLevel contains the styles that are used to determine how to draw the
InternalFeatures.
This property returns true if the FeatureLayer is open and false if it is
not.
This property returns true if the FeatureLayer is open and false if it is
not.
Various methods on the FeatureLayer require that it be in an open state. If one of
those methods is called when the state is not open, then the method will throw an
exception. To enter the open state, you must call the FeatureLayer Open method. The
method will raise an exception if the current FeatureLayer is already open.
This method will draw the FeatureLayer source based on the parameters
provided.
None
The DrawCore will be called when the layer is being drawn. It will check if the InternalFeatures are
within the extent and whether it is within a defined zoom level. If these parameters
are met, then it will apply the styles of the proper zoom level to the InternalFeatures for
drawing. Lastly, it will draw InternalFeatures on the GeoImage or native image passed in to the
method.
In the event you attempt to call this method on a FeatureLayer is not opened, it will throw an InvalidOperationException.
If you pass a null as the labeledInLayers, we will throw an ArgumentNullException.
If you pass a null as the worldExtent, we will throw an ArgumentNullException.
If you pass a null as the image, we will throw an ArgumentNullException.
This parameter is the GeoCanvas used to Draw the layer.
This parameter is not used for ImageLayers.
This method is the concrete wrapper for the abstract method SetupToolsCore.
The SetupTools method allows you to create the QueryTool, EditTools and other tools
you may need on your object. We created this method so that if you want to extend
one of the tool classes, you can override the SetupToolsCore and create any class you
want.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method sets up the EditTools and QueryTools objects.
None
This method is the concrete wrapper for the abstract method SetupTools.
The SetupTools method allows you to create the QueryTool, EditTools and other tools
you may need on your object. We created this method so that if you want to extend
one of the tool classes, you can override the SetupToolsCore and create any class you
want.
This method sets up the EditTools and QueryTools objects.
None
In the event you attempt to call this method on a FeatureLayer which has already been opened, it will throw an InvalidOperationException.
This method opens the FeatureLayer so that it is initialized and ready to
use.
This abstract method is called from the concrete public method Open. The Open
method plays an important role, as it is responsible for initializing the FeatureLayer.
Most methods on the FeatureLayer will throw an exception if the state of the FeatureLayer
is not opened. When the map draws each FeatureLayer, it will open the layer as one of its first
steps, then after it is finished drawing with that FeatureLayer it will close it. In
this way we are sure to release all resources used by the FeatureLayer.
None
This method closes the FeatureSource and releases any resources it was
using.
None
This protected virtual method is called from the concrete public method Close.
The close method plays an important role in the life cycle of the FeatureLayer. It may
be called after drawing to release any memory and other resources that were allocated
since the Open method was called.
If you override this method, it is recommended that you take the following things
into account: This method may be called multiple times, so we suggest you write the method so
that that a call to a closed FeatureLayer is ignored and does not generate an error.
We also suggest that in the Close you free all resources that have been opened.
Remember that the object will not be destroyed, but will be re-opened possibly in the
near future.
In the event you attempt to call this method on a FeatureLayer which has not been opened, it will throw an InvalidOperationException.
This method returns the bounding box of the FeatureLayer.
This method returns the bounding box of the FeatureLayer.
This method is called from the concrete public method GetBoundingBox. It returns
the bounding box of the FeatureLayer.
This is a helper class that allows you to execute various queries.
This is a helper class that allows you to execute various queries. It wraps
the query functionality of the FeatureSource and provides a simpler and more focused
set of APIs.
This is a constructor for the class.
This is the default constructor, though it is typically not intended to be
used.
This is the default constructor, though it is typically not intended to be
used.
None
This is a constructor for the class.
This constructor allows you to provide a FeatureSouce that will provide the
functionality for this class's methods.
Each of the calls in this class thunk through to the FeatureSource passed
in.
None
This parameter is the FeatureSource that will provide the functionality for this
class's methods.
Get all of the features by passing a columnName and a specified columValue.
The returnning features matches the columnValue.
The specified columnName to match the columnValue.
The specified columnValue to match those returning features.
This parameter specifies the columns contained in the return features.
Get all of the features by passing a columnName and a specified columValue.
The returnning features matches the columnValue.
The specified columnName to match the columnValue.
The specified columnValue to match those returning features.
This parameter specifies the columns contained in the return features.
Get all of the features by passing a columnName and a specified columValue.
The returnning features matches the columnValue.
The specified columnName to match the columnValue.
The specified columnValue to match those returning features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures that contain the target shape.
The return value is a collection of InternalFeatures that contain the TargetShape you passed in.
This method returns all of the InternalFeatures that contain the specified target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
This method returns all of the features that contain the target shape.
This parameter specifies the target shape used in the spatial query.
This parameter specifies the columns contained in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures based on the target Feature and
the spatial query type specified.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that contain the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
ReturningColumnsType:
NoColumns - This method ensures that the returning features contain no
column values.
AllColumns - This method ensures that the returning features contain all
column values.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass in a ReturningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns all of the features that contain the target shape.
This parameter specifies the target shape used in the spatial query.
This parameter specifies the columns contained in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures based on the target Feature and
the spatial query type specified.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that contain the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
ReturningColumnsType:
NoColumns - This method ensures that the returning features contain no
column values.
AllColumns - This method ensures that the returning features contain all
column values.
If you pass in a ReturningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns all of the features that contain the target shape.
This parameter specifies the target feature used in the spatial query.
This parameter specifies the columns contained in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures based on the target Feature and
the spatial query type specified.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetFeature.
This method returns all of the InternalFeatures that contain the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
ReturningColumnsType:
NoColumns - This method ensures that the returning features contain no
column values.
AllColumns - This method ensures that the returning features contain all
column values.
If you pass in a ReturningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns all of the features that contain the target feature.
This parameter specifies the target feature used in the spatial query.
This parameter specifies the columns contained in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures that cross the target shape.
The return value is a collection of InternalFeatures that cross the TargetShape you passed in.
This method returns all of the InternalFeatures that cross the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
Crossing - The Geometries share some but not all interior points, and the
dimension of the intersection is less than that of at least one of the Geometries.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
This method returns all of the features that cross the target shape.
This parameter specifies the target shape used in the spatial query.
This parameter specifies the columns contained in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures that cross the target shape.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that cross the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
ReturningColumnsType:
NoColumns - This method ensures that the returning features contain no
column values.
AllColumns - This method ensures that the returning features contain all
column values.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass in a ReturningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns all of the features which crosses the target shape.
This parameter specifies the target shape used in the spatial query.
This parameter specifies the columns contained in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures that cross the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the Internalfeatures that cross the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
ReturningColumnsType:
NoColumns - This method ensures that the returning features contain no
column values.
AllColumns - This method ensures that the returning features contain all
column values.
If you pass in a ReturningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns all of the features that cross the target shape.
This parameter specifies the target feature used in the spatial query.
This parameter specifies the columns contained in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures that cross the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the Internalfeatures that cross the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
ReturningColumnsType:
NoColumns - This method ensures that the returning features contain no
column values.
AllColumns - This method ensures that the returning features contain all
column values.
If you pass in a ReturningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns all of the features that cross the target shape.
This parameter specifies the target feature used in the spatial query.
This parameter specifies the columns contained in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures that disjoint the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that disjoint the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
Disjoint - The Geometries have no point in common.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
This method returns all of the features that cross the target shape.
This parameter specifies the target shape used in the spatial query.
This parameter specifies the columns contained in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures that disjoint the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that disjoint the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
Disjoint - The Geometries have no point in common.
ReturningColumnsType:
NoColumns - This method ensures that the returning features contain no
column values.
AllColumns - This method ensures that the returning features contain all
column values.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass in a ReturningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns all of the features that disjoint the target shape.
This parameter specifies the target shape used in the spatial query.
This parameter specifies the columns contained in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures that disjoint the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that disjoint the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
Disjoint - The Geometries have no point in common.
If you pass in a ReturningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns all of the features that disjoint the target shape.
This parameter specifies the target feature used in the spatial query.
This parameter specifies the columns contained in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures that disjoint the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that disjoint the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
Disjoint - The Geometries have no point in common.
If you pass in a ReturningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns all of the features that disjoint the target shape.
This parameter specifies the target feature used in the spatial query.
This parameter specifies the columns contained in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures that intersect the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that intersect the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
Intersecting - The Geometries have at least one point in common (the inverse of Disjoint).
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
This method returns all of the features that intersect the target shape.
This parameter specifies the target shape used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures that intersect the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that intersect the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
Intersecting - The Geometries have at least one point in common (the inverse of Disjoint).
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass in a ReturningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns all of the features that intersect the target shape.
This parameter specifies the target shape used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures that intersect the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that intersect the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
Intersecting - The Geometries have at least one point in common (the inverse of Disjoint).
If you pass in a ReturningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns all of the features that intersect the target shape.
This parameter specifies the target shape used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures that intersect the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that intersect the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
Intersecting - The Geometries have at least one point in common (the inverse of Disjoint).
If you pass in a ReturningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns all of the features that intersect the target shape.
This parameter specifies the target feature used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures that overlap the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that overlap the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
Overlapping - The Geometries share some but not all points in common, and the intersection has the same dimension as the Geometries themselves.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
This method returns all of the features that overlap the target shape.
This parameter specifies the target shape used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures that overlap the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that overlap the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
Overlapping - The Geometries share some but not all points in common, and the intersection has the same dimension as the Geometries themselves.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass in a ReturningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns all of the features that overlap the target shape.
This parameter specifies the target shape used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures that overlap the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that overlap the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
Overlapping - The Geometries share some but not all points in common, and the intersection has the same dimension as the Geometries themselves.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
This method returns all of the features that overlap the target shape.
This parameter specifies the target feature used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures that overlap the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that overlap the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
Overlapping - The Geometries share some but not all points in common, and the intersection has the same dimension as the Geometries themselves.
If you pass in a ReturningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns all of the features that overlap the target shape.
This parameter specifies the target shape used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the features that topologicalEqual the target shape.
This method returns all of the InternalFeatures that topologicalEqual the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that topologicalEqual the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
This parameter specifies the target shape used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the features that topologicalEqual the target shape.
This method returns all of the InternalFeatures that topologicalEqual the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that topologicalEqual the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass in a ReturningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter specifies the target shape used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the features that topologicalEqual the target shape.
This method returns all of the InternalFeatures that topologicalEqual the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that topologicalEqual the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
This parameter specifies the target shape used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the features that topologicalEqual the target shape.
This method returns all of the InternalFeatures that topologicalEqual the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that topologicalEqual the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
If you pass in a ReturningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter specifies the target shape used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the features that touch the target shape.
This method returns all of the InternalFeatures that touch the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that touch the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
This parameter specifies the target shape used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the features that touch the target shape.
This method returns all of the InternalFeatures that touch the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that touch the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass in a ReturningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter specifies the target shape used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the features that touch the target shape.
This method returns all of the InternalFeatures that touch the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that touch the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
This parameter specifies the target feature used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the features that touch the target shape.
This method returns all of the InternalFeatures that touch the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that touch the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
If you pass in a ReturningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter specifies the target feature used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the features that are within the target shape.
This method returns all of the InternalFeatures that are within the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that are within the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
This parameter specifies the target shape used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the features that are within the target shape.
This method returns all of the InternalFeatures that are within the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that are within the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass in a ReturningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter specifies the target shape used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the features that are within the target shape.
This method returns all of the InternalFeatures that are within the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that are within the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
This parameter specifies the target feature used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the features that are within the target shape.
This method returns all of the InternalFeatures that are within the target Feature.
The return value is a collection of InternalFeatures that match the spatial query you
executed based on the TargetShape.
This method returns all of the InternalFeatures that are within the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
If you pass in a ReturningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter specifies the target feature used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the features that are outside of the target rectangle shape.
This method returns all of the InternalFeatures that are outside of the boundingBox.
The return value is a collection of InternalFeatures that are outside of the target rectangle shape.
This method returns all of the InternalFeatures that are outside of the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
If you pass a null as the boundingBox, we will throw an ArgumentNullException.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
This parameter specifies the target boundingBox used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the features that are outside of the target rectangle shape.
This method returns all of the InternalFeatures that are outside of the boundingBox.
The return value is a collection of InternalFeatures that are outside of the target rectangle shape.
This method returns all of the InternalFeatures that are outside of the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
If you pass a null as the boundingBox, we will throw an ArgumentNullException.
If you pass in a ReturningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter specifies the target boundingBox used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the features that are inside of the target rectangle shape.
This method returns all of the InternalFeatures that are inside of the boundingBox.
The return value is a collection of InternalFeatures that are inside of the target rectangle shape.
This method returns all of the InternalFeatures that are inside of the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
If you pass a null as the boundingBox, we will throw an ArgumentNullException.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
This parameter specifies the target boundingBox used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns all of the features that are inside of the target rectangle shape.
This method returns all of the InternalFeatures that are inside of the boundingBox.
The return value is a collection of InternalFeatures that are inside of the target rectangle shape.
This method returns all of the InternalFeatures that are inside of the target
shape. If there is a current transaction and it is marked as live, then the results
will include any transaction Feature that applies.
If you pass a null as the boundingBox, we will throw an ArgumentNullException.
If you pass in a ReturningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter specifies the target boundingBox used in the spatial query.
This parameter specifies the column values in the return features.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape. It is important to note that the TargetShape and the FeatureSource
must use the same unit, such as feet or meters. If they do not, then the results will not be
predictable or correct. If there is a current transaction and it is marked as live, then
the results will include any transaction Feature that applies.
The implementation we provided create a small bounding box around the TargetShape
and then queries the features inside of it. If we reach the number of items to find,
then we measure the returned InternalFeatures to find the nearest. If we do not find enough
records, we scale up the bounding box and try again. As you can see, this is not the
most efficient method. If your underlying data provider exposes a more efficient way,
we recommend you override the Core version of this method and implement it.
The default implementation of GetFeaturesNearestCore uses the
GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you
provide your own implementation for this method that will be more efficient. When you
override the GetFeaturesInsideBoundingBoxCore method, we recommend that you use
any spatial indexes you have at your disposal to make this method as fast as
possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter is the shape you want to find close InternalFeatures to.
This parameter is the unit of data that the TargetShape and the FeatureSource are in,
such as feet, meters, etc.
This parameter defines how many close InternalFeatures to find around the
TargetShape.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
If you pass in a maxItemsToFind that is not greater than 0, it will throw an ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape. It is important to note that the TargetShape and the FeatureSource
must use the same unit, such as feet or meters. If they do not, then the results will not be
predictable or correct. If there is a current transaction and it is marked as live, then
the results will include any transaction Feature that applies.
The implementation we provided create a small bounding box around the TargetShape
and then queries the features inside of it. If we reach the number of items to find,
then we measure the returned InternalFeatures to find the nearest. If we do not find enough
records, we scale up the bounding box and try again. As you can see, this is not the
most efficient method. If your underlying data provider exposes a more efficient way,
we recommend you override the Core version of this method and implement it.
The default implementation of GetFeaturesNearestCore uses the
GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you
provide your own implementation for this method that will be more efficient. When you
override the GetFeaturesInsideBoundingBoxCore method, we recommend that you use
any spatial indexes you have at your disposal to make this method as fast as
possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter is the shape you want to find close InternalFeatures to.
This parameter is the unit of data that the TargetShape and the FeatureSource are in,
such as feet, meters, etc.
This parameter defines how many close InternalFeatures to find around the
TargetShape.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass in a returningColumnsType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a maxItemsToFind that is not greater than 0, it will throw an ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns a user defined number of InternalFeatures that are closest to the
TargetFeature.
This method returns a user defined number of InternalFeatures that are closest to the
TargetFeature.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape. It is important to note that the TargetShape and the FeatureSource
must use the same unit, such as feet or meters. If they do not, then the results will not be
predictable or correct. If there is a current transaction and it is marked as live, then
the results will include any transaction Feature that applies.
The implementation we provided create a small bounding box around the TargetShape
and then queries the features inside of it. If we reach the number of items to find,
then we measure the returned InternalFeatures to find the nearest. If we do not find enough
records, we scale up the bounding box and try again. As you can see, this is not the
most efficient method. If your underlying data provider exposes a more efficient way,
we recommend you override the Core version of this method and implement it.
The default implementation of GetFeaturesNearestCore uses the
GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you
provide your own implementation for this method that will be more efficient. When you
override the GetFeaturesInsideBoundingBoxCore method, we recommend that you use
any spatial indexes you have at your disposal to make this method as fast as
possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter is the feature you want to find close InternalFeatures to.
This parameter is the unit of data that the TargetShape and the FeatureSource are in,
such as feet, meters, etc.
This parameter defines how many close InternalFeatures to find around the
feature.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
If you pass in a maxItemsToFind that is not greater than 0, it will throw an ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns a user defined number of InternalFeatures that are closest to the
TargetFeature.
This method returns a user defined number of InternalFeatures that are closest to the
TargetFeature.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape. It is important to note that the TargetShape and the FeatureSource
must use the same unit, such as feet or meters. If they do not, then the results will not be
predictable or correct. If there is a current transaction and it is marked as live, then
the results will include any transaction Feature that applies.
The implementation we provided create a small bounding box around the TargetShape
and then queries the features inside of it. If we reach the number of items to find,
then we measure the returned InternalFeatures to find the nearest. If we do not find enough
records, we scale up the bounding box and try again. As you can see, this is not the
most efficient method. If your underlying data provider exposes a more efficient way,
we recommend you override the Core version of this method and implement it.
The default implementation of GetFeaturesNearestCore uses the
GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you
provide your own implementation for this method that will be more efficient. When you
override the GetFeaturesInsideBoundingBoxCore method, we recommend that you use
any spatial indexes you have at your disposal to make this method as fast as
possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter is the feature you want to find close InternalFeatures to.
This parameter is the unit of data that the TargetShape and the FeatureSource are in,
such as feet, meters, etc.
This parameter defines how many close InternalFeatures to find around the
feature.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
If you pass in a maxItemsToFind that is not greater than 0, it will throw an ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape. It is important to note that the TargetShape and the FeatureSource must use
the same unit, such as feet or meters. If they do not, then the results will not be
predictable or correct. If there is a current transaction and it is marked as live,
then the results will include any transaction Feature that applies.
The implementation we provided creates a small bounding box around the TargetShape
and then queries the features inside of it. If we reach the number of items to find,
then we measure the returned InternalFeatures to find the nearest. If we do not find enough
records, we scale up the bounding box and try again. As you can see, this is not the
most efficient method. If your underlying data provider exposes a more efficient way,
we recommend you override the Core version of this method and implement it.
The default implementation of GetFeaturesNearestCore uses the
GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you
provide your own implementation for this method that will be more efficient.
When you override GetFeaturesInsideBoundingBoxCore method, we recommend that you use
any spatial indexes you have at your disposal to make this method as fast as
possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter is feature you want to find InternalFeatures close to.
This parameter is the unit of measurement that the TargetShape and the FeatureSource are in,
such as feet, meters, etc.
This parameter defines how many close InternalFeatures to find around the
TargetShape.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
Limit the maximize distance proximately to search closest records.
The unit of searchRadius parameter.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
If you pass in a maxItemsToFind that is not greater than 0, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape.
This method returns a user defined number of InternalFeatures that are closest to the
TargetShape. It is important to note that the TargetShape and the FeatureSource must use
the same unit, such as feet or meters. If they do not, then the results will not be
predictable or correct. If there is a current transaction and it is marked as live,
then the results will include any transaction Feature that applies.
The implementation we provided creates a small bounding box around the TargetShape
and then queries the features inside of it. If we reach the number of items to find,
then we measure the returned InternalFeatures to find the nearest. If we do not find enough
records, we scale up the bounding box and try again. As you can see, this is not the
most efficient method. If your underlying data provider exposes a more efficient way,
we recommend you override the Core version of this method and implement it.
The default implementation of GetFeaturesNearestCore uses the
GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you
provide your own implementation for this method that will be more efficient.
When you override GetFeaturesInsideBoundingBoxCore method, we recommend that you use
any spatial indexes you have at your disposal to make this method as fast as
possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter is the shape you want to find InternalFeatures close to.
This parameter is the unit of measurement that the TargetShape and the FeatureSource are in,
such as feet, meters, etc.
This parameter defines how many close InternalFeatures to find around the
TargetShape.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
Limit the maximize distance proximately to search closest records.
The unit of searchRadius parameter.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
If you pass in a maxItemsToFind that is not greater than 0, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns a collection of InternalFeatures that are within a certain distance
of the TargetShape.
This method returns a collection of InternalFeatures that are within a certain distance
of the TargetShape.
This method returns a collection of InternalFeatures that are within a certain
distance of the TargetShape. It is important to note that the TargetShape and the
FeatureSource must use the same unit, such as feet or meters. If they do not, then the
results will not be predictable or correct. If there is a current transaction and
it is marked as live, then the results will include any transaction Feature that
applies.
The implementation we provided creates a bounding box around the TargetShape using
the distance supplied and then queries the features inside of it. This may not be the
most efficient method for this operation. If your underlying data provider exposes a
more efficient way, we recommend you override the Core version of this method and
implement it.
The default implementation of GetFeaturesWithinDistanceOfCore uses the
GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you
provide your own implementation for this method that will be more efficient. When you
override the GetFeaturesInsideBoundingBoxCore method, we recommend that you use
any spatial indexes you have at your disposal to make this method as fast as
possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
The shape you wish to find InternalFeatures within a distance of.
This parameter is the unit of data that the FeatureSource and TargetShape are
in.
This parameter specifies the unit of the distance parameter, such as feet, miles,
kilometers, etc.
This parameter specifies the distance in which to find InternalFeatures around the
TargetShape.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
If you pass in a unitOfData that is not defined, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns a collection of InternalFeatures that are within a certain distance
of the TargetShape.
This method returns a collection of InternalFeatures that are within a certain distance
of the TargetShape.
This method returns a collection of InternalFeatures that are within a certain
distance of the TargetShape. It is important to note that the TargetShape and the
FeatureSource must use the same unit, such as feet or meters. If they do not, then the
results will not be predictable or correct. If there is a current transaction and
it is marked as live, then the results will include any transaction Feature that
applies.
The implementation we provided creates a bounding box around the TargetShape using
the distance supplied and then queries the features inside of it. This may not be the
most efficient method for this operation. If your underlying data provider exposes a
more efficient way, we recommend you override the Core version of this method and
implement it.
The default implementation of GetFeaturesWithinDistanceOfCore uses the
GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you
provide your own implementation for this method that will be more efficient. When you
override the GetFeaturesInsideBoundingBoxCore method, we recommend that you use
any spatial indexes you have at your disposal to make this method as fast as
possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
The shape you wish to find InternalFeatures within a distance of.
This parameter is the unit of data that the FeatureSource and TargetShape are
in.
This parameter specifies the unit of the distance parameter, such as feet, miles,
kilometers, etc.
This parameter specifies the distance in which to find InternalFeatures around the
TargetShape.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the returningColumnNamesType, we will throw an ArgumentNullException.
If you pass in a unitOfData that is not defined, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns a collection of InternalFeatures that are within a certain distance
of the TargetFeature.
This method returns a collection of InternalFeatures that are within a certain distance
of the TargetFeature.
This method returns a collection of InternalFeatures that are within a certain
distance of the TargetShape. It is important to note that the TargetShape and the
FeatureSource must use the same unit, such as feet or meters. If they do not, then the
results will not be predictable or correct. If there is a current transaction and
it is marked as live, then the results will include any transaction Feature that
applies.
The implementation we provided creates a bounding box around the TargetShape using
the distance supplied and then queries the features inside of it. This may not be the
most efficient method for this operation. If your underlying data provider exposes a
more efficient way, we recommend you override the Core version of this method and
implement it.
The default implementation of GetFeaturesWithinDistanceOfCore uses the
GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you
provide your own implementation for this method that will be more efficient. When you
override the GetFeaturesInsideBoundingBoxCore method, we recommend that you use
any spatial indexes you have at your disposal to make this method as fast as
possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
The feature you wish to find InternalFeatures within a distance of.
This parameter is the unit of data that the FeatureSource and TargetShape are
in.
This parameter specifies the unit of the distance parameter, such as feet, miles,
kilometers, etc.
This parameter specifies the distance in which to find InternalFeatures around the
TargetShape.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
If you pass in a unitOfData that is not defined, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns a collection of InternalFeatures that are within a certain distance
of the TargetFeature.
This method returns a collection of InternalFeatures that are within a certain distance
of the TargetFeature.
This method returns a collection of InternalFeatures that are within a certain
distance of the TargetShape. It is important to note that the TargetShape and the
FeatureSource must use the same unit, such as feet or meters. If they do not, then the
results will not be predictable or correct. If there is a current transaction and
it is marked as live, then the results will include any transaction Feature that
applies.
The implementation we provided creates a bounding box around the TargetShape using
the distance supplied and then queries the features inside of it. This may not be the
most efficient method for this operation. If your underlying data provider exposes a
more efficient way, we recommend you override the Core version of this method and
implement it.
The default implementation of GetFeaturesWithinDistanceOfCore uses the
GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you
provide your own implementation for this method that will be more efficient. When you
override the GetFeaturesInsideBoundingBoxCore method, we recommend that you use
any spatial indexes you have at your disposal to make this method as fast as
possible.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
The feature you wish to find InternalFeatures within a distance of.
This parameter is the unit of data that the FeatureSource and TargetShape are
in.
This parameter specifies the unit of the distance parameter, such as feet, miles,
kilometers, etc..
This parameter specifies the distance in which to find InternalFeatures around the
TargetShape.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass a null as the returningColumnNamesType, we will throw an ArgumentNullException.
If you pass in a unitOfData that is not defined, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined, it will throw a ArgumentOutOfRangeException.
If you pass in a targetShape that is invalid, we will throw an ArgumentException.
This method returns an InternalFeature based on an Id provided.
This method returns an InternalFeature based on an Id provided.
This method returns an InternalFeature based on an Id provided.
This parameter is the unique Id for the feature you want to find.
This parameter is a list of column names you want returned with the
Feature.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
This method returns an InternalFeature based on an Id provided.
This method returns an InternalFeature based on an Id provided.
This method returns an InternalFeature based on an Id provided.
This parameter is the unique Id for the feature you want to find.
This parameter is a list of column names you want returned with the
Feature.
If you pass a null as the id, we will throw an ArgumentNullException.
If you pass a null as the id, we will throw an ArgumentNullException.
If you pass a null as the returningColumnNamesType, we will throw an ArgumentNullException.
This method returns a collection of InternalFeatures based on the collection of Ids
provided.
This method returns a collection of InternalFeatures based on the collection of Ids
provided.
This method returns a collection of InternalFeatures based on the collection of Ids
provided.
This parameter is the collection of Ids you want to find.
This parameter is a list of column names you want returned with the
Features.
This method returns a collection of InternalFeatures based on the collection of Ids
provided.
This method returns a collection of InternalFeatures based on the collection of Ids
provided.
This method returns a collection of InternalFeatures based on the collection of Ids
provided.
This parameter is the collection of Ids you want to find.
This parameter is a list of column names you want returned with the
Features.
This method returns the bounding box for the Id specified.
This method returns the bounding box for the Id specified.
This method returns the bounding box for the Id specified.
This parameter is the unique Id of the feature for which you want to find the bounding
box.
This method returns a collection of bounding boxes based on the collection of Ids
provided.
This method returns a collection of bounding boxes based on the collection of Ids
provided.
This method returns a collection of bounding boxes based on the collection of Ids
provided.
This parameter is the collection of Ids you want to find.
This method returns the collection of columns for this FeatureSource.
This method returns the collection of columns for this FeatureSource.
This method returns the collection of columns for this FeatureSource.
This method returns the count of all of the InternalFeatures in the FeatureSource.
This method returns the count of all of the InternalFeatures in the FeatureSource.
This method returns the count of all of the InternalFeatures in the FeatureSource.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
This method returns all of the InternalFeatures in the FeatureSource. It will return
whatever is returned by the GetAllFeaturesCore method, along with any of the additions or
subtractions made if you are in a transaction and that transaction is configured to be
live.
The main purpose of this method is to be the anchor of all of our default virtual
implementations within this class. We as the framework developers wanted to provide you
the user with as much default virtual implementation as possible. To do this, we needed
a way to get access to all of the features. For example, let's say we want to create a default
implementation for finding all of the InternalFeatures in a bounding box. Because this is an
abstract class, we do not know the specifics of the underlying data or how its spatial
indexes work. What we do know is that if we get all of the records, then we can brute-force
the answer. In this way, if you inherited from this class and only implemented this one
method, we can provide default implementations for virtually every other API.
While this is nice for you the developer if you decide to create your own FeatureSource,
it comes with a price: namely, it is very inefficient. In the example we just
discussed (about finding all of the InternalFeatures in a bounding box), we would not want to look
at every record to fulfil this method. Instead, we would want to override the
GetFeaturesInsideBoundingBoxCore and implement specific code that would be faster. For
example, in Oracle Spatial there is a specific SQL statement to perform this operation very
quickly. The same holds true with other specific FeatureSource examples.
Most default implementations in the FeatureSource call the
GetFeaturesInsideBoundingBoxCore, which by default calls the GetAllFeaturesCore. It is
our advice that if you create your own FeatureSource that you ALWAYS override the
GetFeatureInsideBoundingBox. This will ensure that nearly every other API will operate
efficiently. Please see the specific API to determine what method it uses.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method returns all of the InternalFeatures in the FeatureSource.
The return value is a collection of all of the InternalFeatures in the
FeatureSource.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
In the event you attempt to call this method on a FeatureSource which has not been opened, it will throw an InvalidOperationException.
If you pass a null as the returningColumnNamesType, we will throw an ArgumentNullException.
This method returns all of the InternalFeatures in the FeatureSource. It will return
whatever is returned by the GetAllFeaturesCore method, along with any of the additions or
subtractions made if you are in a transaction and that transaction is configured to be
live.
The main purpose of this method is to be the anchor of all of our default virtual
implementations within this class. We as the framework developers wanted to provide you
the user with as much default virtual implementation as possible. To do this, we needed
a way to get access to all of the features. For example, let's say we want to create a default
implementation for finding all of the InternalFeatures in a bounding box. Because this is an
abstract class, we do not know the specifics of the underlying data or how its spatial
indexes work. What we do know is that if we get all of the records, then we can brute-force
the answer. In this way, if you inherited from this class and only implemented this one
method, we can provide default implementations for virtually every other API.
While this is nice for you the developer if you decide to create your own FeatureSource,
it comes with a price: namely, it is very inefficient. In the example we just
discussed (about finding all of the InternalFeatures in a bounding box), we would not want to look
at every record to fulfil this method. Instead, we would want to override the
GetFeaturesInsideBoundingBoxCore and implement specific code that would be faster. For
example, in Oracle Spatial there is a specific SQL statement to perform this operation very
quickly. The same holds true with other specific FeatureSource examples.
Most default implementations in the FeatureSource call the
GetFeaturesInsideBoundingBoxCore, which by default calls the GetAllFeaturesCore. It is
our advice that if you create your own FeatureSource that you ALWAYS override the
GetFeatureInsideBoundingBox. This will ensure that nearly every other API will operate
efficiently. Please see the specific API to determine what method it uses.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method returns all of the InternalFeatures in the FeatureSource.
The return value is a collection of all of the InternalFeatures in the
FeatureSource.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
This property specifies whether FeatureSource can excute a SQL query or not.
If it is false, then it will throw an exception when the following APIs are called: ExecuteScalar, ExecuteNonQuery, ExecuteQuery
The default implementation is false.
Executes a SQL statement against a connection object.
The number of rows affected.
You can use ExecuteNonQuery to perform catalog
operations (for example, querying the structure of a database or creating database
objects such as tables), or to change the data in a database by executing UPDATE,
INSERT, or DELETE statements.
Although ExecuteNonQuery does not return any
rows, any output parameters or return values mapped to parameters are populated
with data.
For UPDATE, INSERT, and DELETE statements, the return value is the number of
rows affected by the command.
The sqlStatement to be excuted.
Executes the query and returns the first column of the first row in the result
set returned by the query. All other columns and rows are ignored.
The first column of the first row in the result set.
Use the ExcuteScalar method to retrieve a single value from the database. This
requires less code than use the ExcuteQuery method and then performing the operations
necessary to generate the single value using the data.
The SQL statement to be excuted.
Executes the query and returns the result returned by the query.
The result set in the format of dataTable.
Use the ExcuteScalar method to retrieve a single value from the database. This
requires less code than use the ExcuteQuery method and then performing the operations
necessary to generate the single value using the data.
The SQL statement to be excuted.
This abstract class is the basis for all image-based layers in the system.
This abstract class is the basis for all image-based layers in the system. Its
methods and properties deal with image manipulation. Currently, some classes that
inherit from this are EcwRasterLayer, MrSidRasterLayer, GridRasterLayer and so on.
When creating your own RasterLayer, you need only to set a RasterSource and create a
useful constructor; the class will take care of the rest. There are no required
abstract members. It may be helpful for you to add additional properties specific to
your ImageSource.
This is a constructor for the class. If you use this constructor, you should set
the properties you need manually.
None
If you use this constructor, you should set the properties you need
manually.
This property gets and sets the ImageSource used by the RasterLayer.
This property gets the ImageSource used by the RasterLayer.
The set for this property is protected and only intended to be used by developers
who are creating their own ImageSources. This is the main property to set for developers who are creating
their own RasterLayer derivatives.
This property gets and sets the upper threshold in the scale at which to display the
image.
This property gets the upper threshold in the scale at which to display the image.
Above the upper threshold in scale, the image will not be displayed. This, in
conjunction with the LowerThreshold property, allows you to create a band in which it is
suitable to display the image source. By default, the upper threshold is double.max and
lower threshold is double.min. This means the image should always display.
Below the lower threshold in scale, the image will not be displayed. This, in
conjunction with the UpperThreshold property, allows you to create a band in which it is
suitable to display the image source. By default, the upper threshold is double.max and
lower threshold is double.min. This means the image should always display.
This property gets and sets the lower threshold in the scale at which to display the
image.
This property gets the lower threshold in the scale at which to display the image.
This property returns true if the RasterLayer contains projection parameters and false if
it does not contain any projection parameters.
This property returns true if the RasterLayer contains projection parameters and false if
it does not contain any projection parameters.
The scale factor when drawing the primitive image. For example I am looking for an image with 100*100px, If the
ScaleFactor is set to 2, it means the component will get the image with 200*200px. We want to keep it as 1 (by default)
for most cases.
This method returns the projection parameters of the current layer.
This method returns the projection parameters of the current layer.
This method returns the projection parameters of the current layer.
This property returns true if the RasterLayer is open and false if it is
not.
This property returns true if the RasterLayer is open and false if it is
not.
Various methods on the RasterLayer require that it be in an open state. If one
of those methods is called when the state is not open, then the method will throw an
exception. To enter the open state, you must call the RasterLayer's Open method. The
method will raise an exception if the current RasterLayer is already open.
In the event you attempt to call this method on a image layer which has not been opened, it will throw an InvalidOperationException.
This method returns the horizontal resolution of the image.
This method returns the horizontal resolution of the image.
This method returns the horizontal resolution of the image.
In the event you attempt to call this method on a image layer which has not been opened, it will throw an InvalidOperationException.
This method returns the vertical resolution of the image.
This method returns the vertical resolution of the image.
This method returns the vertical resolution of the image.
In the event you attempt to call this method on a image layer which has not been opened, it will throw an InvalidOperationException.
This method returns the bounding box of the RasterLayer.
This method returns the bounding box of the RasterLayer.
This method returns the bounding box of the RasterLayer.
This method opens the RasterLayer so that it is initialized and ready to
use.
The open method plays an important rol,e as it is responsible for initializing the
RasterLayer. Most methods on the RasterLayer will throw an exception if the state of
the RasterLayer is not opened. When the map draws each layer, it will open the
RasterLayer as one of its first steps; then, after it is finished drawing with that
layer, it will close it. In this way, we are sure to release all resources used by the
RasterLayer.
None
In the event you attempt to call this method on a image source which has already been opened, it will throw an InvalidOperationException.
This method opens the RasterLayer so that it is initialized and ready to
use.
None
The close method plays an important role in the life cycle of the RasterLayer. It may
be called after drawing to release any memory and other resources that were allocated
since the Open method was called.
If you override this method, it is recommended that you take the following things
into account: This method may be called multiple times, so we suggest you write the method so
that that a call to a closed RasterLayer is ignored and does not generate an error.
We also suggest that in the Close you free all resources that have been opened.
Remember that the object will not be destroyed, but will be re-opened possibly in the
near future.
This method will draw the image from the GeoImage source based on the parameters
provided.
None
The DrawCore method will be called when the layer is being drawn. It will determine if
the image is within the extent and the threshold defined. If these
parameters are met, it will query the RasterSource for an image and then apply
the other various properties (such as transparency, etc.) on the image. Lastly, it will draw
the image on the GeoImage or native image passed into the method.
This parameter is the GeoCanvas used to Draw the RasterLayer.
This parameter is not used for ImageLayers.
This method returns whether the current extent is within the upper and lower threshold
properties.
This method returns whether the current extent is within the upper and lower threshold
properties.
This method is used to determine whether the RasterLayer needs to draw based on the
current extent and the the threshold parameters provided.
This parameter is the current extent that you want determine is within the thresholds
defined.
This parameter is the upper threshold used to test the extent.
This parameter is the lower threshold used to test the extent.
This parameter is the width of the canvas.
This parameter is the unit of the map.
This method returns whether the current extent is within the upper and lower threshold
properties.
This method returns whether the current extent is within the upper and lower threshold
properties.
This method is used to determine whether the RasterLayer needs to draw based on the
current extent and the the threshold parameters provided.
This parameter is the current extent that you want determine is within the thresholds
defined.
This parameter is the upper threshold used to test the extent.
This parameter is the lower threshold used to test the extent.
This parameter is the width of the canvas.
This parameter is the unit of the map.
This parameter is the dpi of the current extent.
This enumeration is used on a ZoomLevel to allow its styles to be applied to
other zoom levels.
This enumeration is used on a ZoomLevel to allow its styles to be applied to
other zoom levels.
Default; the apply-until-zoom-level feature will not be enabled.
The zoom level's styles will be applied to zoom level 1.
The zoom level's styles will be applied to zoom level 2.
The zoom level's styles will be applied to zoom level 3.
The zoom level's styles will be applied to zoom level 4.
The zoom level's styles will be applied to zoom level 5.
The zoom level's styles will be applied to zoom level 6.
The zoom level's styles will be applied to zoom level 7.
The zoom level's styles will be applied to zoom level 8.
The zoom level's styles will be applied to zoom level 9.
The zoom level's styles will be applied to zoom level 10.
The zoom level's styles will be applied to zoom level 11.
The zoom level's styles will be applied to zoom level 12.
The zoom level's styles will be applied to zoom level 13.
The zoom level's styles will be applied to zoom level 14.
The zoom level's styles will be applied to zoom level 15.
The zoom level's styles will be applied to zoom level 16.
The zoom level's styles will be applied to zoom level 17.
The zoom level's styles will be applied to zoom level 18.
The zoom level's styles will be applied to zoom level 19.
The zoom level's styles will be applied to zoom level 20.
This property gets and sets a value that determines whether you want to cancel the Overlay from
drawing.
This property gets a value that determines whether you want to cancel the Overlay from drawing.
None
This property gets and sets the GeoCanvas we are drawing
on.
This property gets the GeoCanvas we are drawing on.
None
This is the event arguments class for the DrawingFeatures event of the
FeatureLayer.
This is the event arguments class for the DrawingFeatures event of the
FeatureLayer. You can use the FeaturesToDraw property to add and remove features to draw
before the FeatureLayer actually draws them.
This is a constructor for the class.
This is the default constructor.
None
None
This is a constructor for the class.
None
None
This parameter represents the faatures that will be drawn.
This property gets the collection of InternalFeatures that will draw.
This property gets the collection of InternalFeatures that will draw.
This property gets the collection of InternalFeatures that will draw. You can add, remove
or edit items in this collection and they will be considered for drawing in the
FeatureLayer.
This is the event arguments class for the DrawingFeatures event of the
FeatureLayer.
This is the event arguments class for the DrawingFeatures event of the
FeatureLayer. You can use the FeaturesToDraw property to add and remove features to draw
before the FeatureLayer actually draws them.
This is a constructor for the class.
This is the default constructor.
None
None
This is a constructor for the class.
None
None
This parameter represents the faatures that will be drawn.
This property gets the collection of InternalFeatures that will draw.
This property gets the collection of InternalFeatures that will draw.
This property gets the collection of InternalFeatures that will draw. You can add, remove
or edit items in this collection and they will be considered for drawing in the
FeatureLayer.
This property gets and sets the GeoCanvas we are drawing
on.
This property gets the GeoCanvas we are drawing on.
None
This is the event arguments class for the LayerDrawing event on the MapEngine class. It
is raised before the layer is drawn.
This is the event arguments class for the LayerDrawing event on the MapEngine class. It
is raised before the layer is drawn. This event allows you to cancel, manipulate the
Layer, or draw something with the canvas before the Layer draws.
This is a constructor for the class.
This is the default constructor. If you use this constructor, then you need to set
the required properties manually.
None
This is the default constructor. If you use this constructor, then you need to set
the required properties manually.
This is a constructor for the class.
This constructor allows you to set the Layer to be drawn, the world extent, and
the image you are drawing on.
None
None
This parameter is the layer you will be drawing.
This parameter is the world extent you are drawing.
This parameter is the GeoImage or native map image.
This property gets and sets the value that indicates you want to cancel the layer from
drawing.
This property gets the value that indicates you want to cancel the layer from drawing.
None
This property gets and sets current layer that will be drawn.
This property gets current layer that will be drawn.
None
This property gets and sets the world extent that will be drawn.
This property gets the world extent that will be drawn.
None
This property gets and sets the GeoImage or native image that we are drawing
on.
This property gets the GeoImage or native image that we are drawing on.
None
This is the event arguments class for the LayerDrawn event on the MapEngine class. It
is raised after a layer is drawn.
This is the event arguments class for the LayerDrawn event on the MapEngine class. It
is raised after the layer is drawn. This event allows you to manipulate the
Layer, or draw something with the canvas after the Layer draws.
This is a constructor for the class.
This is the default constructor. If you use this constructor, then you need to set
the required properties manually.
None
This is the default constructor. If you use this constructor, then you need to set
the required properties manually.
This is a constructor for the class.
This constructor allows you to set the Layer to be drawn, the world extent, and
the image you are drawing on.
None
None
This parameter is the layer that has drawn.
This parameter is the world extent that has drawn.
This parameter is the GeoImage or native map image.
This property gets and sets layer that has drawn.
This property gets current layer that has drawn.
None
This property gets and sets the world extent to draw.
This property gets the world extent to draw.
None
This property gets and sets the GeoImage or native image that we are drawing
on.
This property gets the GeoImage or native image that we are drawing on.
None
This is the event arguments class for the LayersDrawing event on the MapEngine class. It
is raised before any of the layers are drawn.
This is the event arguments class for the LayersDrawing event on the MapEngine class. It
is raised before any of the layers are drawn. This event allows you to cancel, manipulate the
Layer, or draw something with the canvas before the Layer draws.
This is a constructor for the class.
This is the default constructor. If you use this constructor, then you need to set
the required properties manually.
None
This is the default constructor. If you use this constructor, then you need to set
the required properties manually.
This is a constructor for the class.
This constructor allows you to set the layers to be drawn, the world extent, and
the image you are drawing on.
None
None
This parameter is the layers that will be drawn.
This parameter is the world extent you are drawing.
This parameter is the GeoImage or native map image.
This property gets and sets the value that indicates you want to cancel all of the layers from
drawing.
This property gets the value that indicates you want to cancel all of the layers from drawing.
None
This property gets and sets the world extent that will be drawn.
This property gets the world extent that will be drawn.
None
This property gets and sets the GeoImage or native image that we are drawing
on.
This property gets the GeoImage or native image that we are drawing on.
None
This property gets and sets the layers you will be drawing.
This property gets the layers you will be drawing.
None
This is the event arguments class for the LayersDrawn event on the MapEngine class. It
is raised after all of the layers are drawn.
This is the event arguments class for the LayersDrawn event on the MapEngine class. It
is raised after the layers are drawn. This event allows you to draw something
with the canvas after all of the Layers are drawn.
This is a constructor for the class.
This is the default constructor. If you use this constructor, then you need to set
the required properties manually.
None
This is the default constructor. If you use this constructor, then you need to set
the required properties manually.
This is a constructor for the class.
This constructor allows you to set the layers that were drawn, the world extent, and
the image you are drawing on.
None
None
This parameter is the layers that were drawn.
This parameter is the world extent you are drawing.
This parameter is the GeoImage or native map image.
This property gets and sets the world extent to draw.
This property gets the world extent to draw.
None
This property gets and sets the GeoImage or native image we are drawing
on.
This property gets the GeoImage or native image we are drawing on.
None
This property gets and sets the layers that have been drawn.
This property gets the layers that have been drawn.
None
Overlay will not wraps at the date line.
Overlay wraps at the date line.
This class defines how InternalFeatures will be drawn based on their scale.
This class defines how InternalFeatures will be drawn based on their scale. Inside of the
ZoomLevelSet there are a number of zoom levels. We will determine which ZoomLevel to
use based on which one has the Scale property closest to the current scale. The
matching one will define the styles that will be used to draw the InternalFeatures on the map.
This is a constructor for the class.
This is the default constructor. If you use this constructor, you should set the
require properties on the class manually.
This is the default constructor. If you use this constructor, you should set the
require properties on the class manually.
None
This is a constructor for the class.
This constructor allows you to provide the scale for this ZoomLevel.
None
This constructor allows you to provide the scale for this ZoomLevel.
This paramter is the scale for the ZoomLevel.
This property gets and sets whether the ZoomLevel is active and should draw.
This property gets whether the ZoomLevel is active and should draw.
Setting the value to false means that this zoom level will not be considered
in the ZoomLevelSet and thus will not draw.
This property gets and sets the scale for the ZoomLevel.
This property gets and sets the scale for the ZoomLevel.
The scale
The scale is the ratio of a single unit of distance on the map to the equivalent
distance on the ground. For example, a scale of 1:1 means that one foot on the ground
would be displayed as one foot on the screen. A scale of 1:1,000 means that one foot on
the screen is equal to 1,000 feet on the ground.
This property gets and sets the default AreaStyle used to draw.
This property gets the default AreaStyle used to draw.
If you set this style, then it will be used for drawing.
If you use the default styles, you should only use one. The one you use should
match your feature data. For example, if your features are lines, then you should use the
DefaultLineStyle.
This property gets and sets the default LineStyle used to draw.
This property gets the default LineStyle used to draw.
If you set this style, then it will be used for drawing.
If you use the default styles, you should only use one. The one you use should
match your feature data. For example, if your features are lines, then you should use the
DefaultLineStyle.
This property gets and sets the default PointStyle used to draw.
This property gets the default PointStyle used to draw.
If you set this style, then it will be used for drawing.
If you use the default styles, you should only use one. The one you use should
match your feature data. For example, if your features are lines, then you should use the
DefaultLineStyle.
This property gets and sets the default TextStyle used to draw.
This property gets the default TextStyle used to draw.
If you set this style, then it will be used for drawing.
If you use the default styles, you should only use one. The one you use should
match your feature data. For example, if your features are lines, then you should use the
DefaultLineStyle.
This property gets and sets the zoom to which we will use this zoom level's
styles.
This property gets the zoom to which we will use this zoom level's styles.
This property allows you to apply the current ZoomLevel's styles across many
ZoomLevels. For example, you may want to display roads as a thin line from
ZoomLevel10 through ZoomLevel15. To accomplish this easily, you can set the correct styles
on ZoomLevel10 and then set its ApplyUntilZoomLevel property to Level15. This will mean
that Level10's style will be used until Level15. There is no need to set Level11,
Level12, Level13 and so on.
This property gets and sets the name for the ZoomLevel.
This property gets the name for the ZoomLevel.
The name is user defined. It is useful to set, as it may be used for higher level
components such as legends, etc.
This property gets a collection of custom styles used to draw.
This property gets a collection of custom styles used to draw.
This is a collection of styles to draw. If you only need to draw one style, then
we suggest you do not use this collection and instead use one of the default styles, such as
DefaultAreaStyle, DefaultLineStyle, DefaultTextStyle, etc.
In this method, we return the column names that are required for the styles to
draw the feature properly. For example, if you have a style that colors areas blue when
a certain column value is over 100, then you need to be sure you include the column
name. This will ensure that the column data is returned to you in the feature when it
is ready to draw.
In many of the styles, we add properties to allow the user to specify which field they
need; then, in the GetRequiredColumnNamesCore, we read that property and add it to the
collection.
This method returns the column data for each feature that is required for the
styles to properly draw.
This method returns a collection containing the required column names.
This method draws the ZoomLevel.
None
This method is the concrete wrapper for the abstract method DrawCore. This
method draws the representation of the Layer based on the extent you provided.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
If you pass a null as the features, we will throw an ArgumentNullException.
If you pass a null as the canvas, we will throw an ArgumentNullException.
This parameter is the Canvas used to draw the InternalFeatures.
This parameter is the collection of features that we will draw.
This parameter is the collection of labels in the current layer.
This parameter is the collection of labels in all layers.
This method draws the ZoomLevel.
None
This method is the concrete wrapper for the abstract method DrawCore. This
method draws the representation of the Layer based on the extent you provided.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
If you pass a null as the features, we will throw an ArgumentNullException.
If you pass a null as the canvas, we will throw an ArgumentNullException.
This parameter is the Canvas used to draw the InternalFeatures.
This parameter is the collection of shapes that we will draw.
This parameter is the collection of labels in the current layer.
This parameter is the collection of labels in all layers.
This method draws the ZoomLevel.
None
This method draws the representation of the Layer based on the extent you
provided.
This parameter is the Canvas used to draw the InternalFeatures.
This parameter is the collection of feature that we will draw.
This parameter is the collection of labels in the current layer.
This parameter is the collection of labels in all layers.
This class represents a collection of ZoomLevels.
This class represents a collection of ZoomLevels. Each ZoomLevel has a different
scale and can store Styles that determine how InternalFeatures draw.
This is the default constructor.
None
This constructor is where we set the default scales for each ZoomLevel. If you
inherit from this class to create your own custom ZoomSet, then you should not call the
base constructor if you want to supply your own custom ZoomLevels.
This property gets and sets the name for the ZoomSet.
This property gets the name for the ZoomSet.
The name is user defined. It is useful to set, as it may be used for higher level
components such as legends, etc.
This property gets the custom zoom levels from the zoomLevelSet.
None
This property gets the custom zoom levels from the zoomLevelSet.
This property gets the ZoomLevel for Level01.
This property gets the ZoomLevel for Level01.
None
This property gets the ZoomLevel for Level02.
This property gets the ZoomLevel for Level02.
None
This property gets the ZoomLevel for Level03.
This property gets the ZoomLevel for Level03.
None
This property gets the ZoomLevel for Level04.
This property gets the ZoomLevel for Level04.
None
This property gets the ZoomLevel for Level05.
This property gets the ZoomLevel for Level05.
None
This property gets the ZoomLevel for Level06.
This property gets the ZoomLevel for Level06.
None
This property gets the ZoomLevel for Level07.
This property gets the ZoomLevel for Level07.
None
This property gets the ZoomLevel for Level08.
This property gets the ZoomLevel for Level08.
None
This property gets the ZoomLevel for Level09.
This property gets the ZoomLevel for Level09.
None
This property gets the ZoomLevel for Level10.
This property gets the ZoomLevel for Level10.
None
This property gets the ZoomLevel for Level11.
This property gets the ZoomLevel for Level11.
None
This property gets the ZoomLevel for Level12.
This property gets the ZoomLevel for Level12.
None
This property gets the ZoomLevel for Level13.
This property gets the ZoomLevel for Level13.
None
This property gets the ZoomLevel for Level14.
This property gets the ZoomLevel for Level14.
None
This property gets the ZoomLevel for Level15.
This property gets the ZoomLevel for Level15.
None
This property gets the ZoomLevel for Level16.
This property gets the ZoomLevel for Level16.
None
This property gets the ZoomLevel for Level17.
This property gets the ZoomLevel for Level17.
None
This property gets the ZoomLevel for Level18.
This property gets the ZoomLevel for Level18.
None
This property gets the ZoomLevel for Level19.
This property gets the ZoomLevel for Level19.
None
This property gets the ZoomLevel for Level20.
This property gets the ZoomLevel for Level20.
None
This method returns the active ZoomLevel based on an extent, a map unit and a screen
width.
This method returns the active ZoomLevel based on an extent, a map unit and a screen
width.
This parameter is a world extent.
This parameter is the width of the map in pixels.
This parameter is the unit of the map.
This method returns the active ZoomLevel based on an extent, a map unit and a screen
width.
This method returns the active ZoomLevel based on an extent, a map unit and a screen
width.
This parameter is a world extent.
This parameter is the width of the map in pixels.
This parameter is the unit of the map.
This parameter is the dpi of the extent.
This method returns the active ZoomLevel based on an extent, a map unit and a canvas
width.
This method returns the active ZoomLevel based on an extent, map unit and a canvas
width.
This parameter is a world extent.
This parameter is the width of the canvas in pixels.
This parameter is the unit of the map.
This parameter is the dpi of the extent.
This method returns the active ZoomLevel based on an extent, a map unit and a canvas
width.
This method returns the active ZoomLevel based on an extent, map unit and a canvas
width.
This parameter is a world extent.
This parameter is the width of the canvas in pixels.
This parameter is the unit of the map.
This method return all of the zoomLevels in the zoomLevelSet.
This method return all of the zoomlevels in the zoomLevelSet.
None.
ZoomToScale in, the result is less than input
ZoomToScale out, the result is greater than input
This layer is backed by memory and is typically used for temporary
features.
This layer is backed by memory and is typically used for temporary features. You
can use the MapShapes layer for user-drawn InternalFeatures, InternalFeatures that come from an
external device such as a GPS unit, or any InternalFeatures that are not saved to disk or
a database.
This is a constructor for the class.
This is the default constructor. If you use this constructor, then you need to
specify the FeatureSource column manually.
None
If you use this constructor, then you need to specify the FeatureSource column
manually.
This is a constructor for the class.
This constructor allows you to provide the FeatureSource columns and features for the layer.
None
This constructor gets the layer ready to use.
This parameter is the FeatureSourceColumn in this class that you want to use.
This parameter represents the features in this class that you want to use.
This is a constructor for the class.
This constructor allows you to provide the FeatureSource columns and shapes for the layer.
None
This constructor gets the layer ready to use.
This parameter is the in this class that you want to use.
This parameter represents the shapes in this class that you want to use.
This property gets the columns of data for the InternalFeatures in this
Layer.
This property gets the columns of data for the InternalFeatures in this Layer.
You should set the column names for the data that the InternalFeatures will hold. For
example, if you have some features that represent road signs, then one column you may
want to add is "Sign Type". Then, for every Feature you add to the layer, you need to add
the "Sign Type" and a value to the InternalFeatures' ColumnValues dictionary. If you provide
this information, then you can use things like ValueStyles, Labeling, etc. based on the
columns you have defined.
This property gets the dictionary that holds your InternalFeatures.
This property gets the dictionary that holds your InternalFeatures.
The dictionary is a quick way to access your InternalFeatures. You can easily add,
remove or edit features in this dictionary and they instantly take effect in the layer.
You can always use the EditTools to do the same thing, but this is a shortcut, as
the data is backed in memory so it is very pliable.
This property checks to see if a Layer has a BoundingBox or not. If it has no
BoundingBox, it will throw an exception when you call the GetBoundingBox() and
GetFullExtent() APIs. In InMemoryFeatureLayer, we override this API and mark it as true.
The default implementation in the base class returns false.
This method returns the columns of data for the InternalFeatures in this
Layer.
This method returns the columns of data for the InternalFeatures in this Layer.
You should set the column names for the data that the InternalFeatures will hold. For
example, if you have some features that represent road signs, then one column you may
want to add is "Sign Type". Then, for every Feature you add to the layer, you need to add
the "Sign Type" and a value to the InternalFeatures' ColumnValues dictionary. If you provide
this information, then you can use things like ValueStyles, Labeling, etc. based on the
columns you have defined.
In the event you attempt to call this method on a Layer which has already been opened, it will throw an InvalidOperationException.
This method opens the Layer so that it is initialized and ready to use.
This abstract method is called from the concrete public method Open. The open
method plays an important role, as it is responsible for initializing the Layer. Most
methods on the Layer will throw an exception if the state of the Layer is not opened.
When the map draws each layer, the layer will be opened as one of its first steps; then, after it
is finished drawing with that layer, it will close it. In this way, we are sure to
release all resources used by the Layer.
When implementing the abstract method, consider opening the FeatureSource or
RasterSource. You will get a chance to close these in the Close method of the
Layer.
None
This method build a spatial index for a passed group of featurs which increases access speed.
If you attempt to call this method on a feature source which is in a transaction, it will throw an InvalidOperationException.
If you attempt to call this method on a feature source which is not opened, it will throw an InvalidOperationException.
This method will clear all the features included in the feature source.
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.
Looks up a localized string similar to The add transaction failed for an unknown reason..
Looks up a localized string similar to The delete transaction failed for an unknown reason..
Looks up a localized string similar to The update transaction failed for an unknown reason..
This class represents a FeatureSource backed by memory, more specifically an in
memory collection InternalFeatures.
You can use this kind of FeatureSource when your InternalFeatures come from an external
source which there is no FeatureSource specifically designed for it. An exmaple may be
real time GPS locations. Another example might be location that a user selected by
clicking on the screen.
Create a new instance of the InMemoryFeatureSource class.
By calling this API to create a new instance of InMemoryFeatureSource, there will
have no features in the created featureSource. After this, you can added the feature to the
instance , and another even better opion is call another overloads constructor by passing
the features too.
The featuresSourceColumns to instance the InMemoryFeatureSource.
Create a new instance of the InMemoryFeatureSource class by passing a featureSourceColumns and an initial features.
The featuresSourceColumns to instance the InMemoryFeatureSource.
The features to instance the InMemoryFeatureSource.
Create a new instance of the InMemoryFeatureSource class by passing a featureSourceColumns and an initial shapes to construct the shapes.
The featuresSourceColumns to instance the InMemoryFeatureSource.
The shapes to contruct the features used to instance the InMemoryFeatureSource.
This property gets the columns of data for the InternalFeatures in this
Layer.
This property gets the columns of data for the InternalFeatures in this Layer.
You should set the column names for the data that the InternalFeatures will hold. For
example, if you have some features that represent road signs, then one column you may
want to add is "Sign Type". Then, for every Feature you add to the layer, you need to add
the "Sign Type" and a value to the InternalFeatures' ColumnValues dictionary. If you provide
this information, then you can use things like ValueStyles, Labeling, etc. based on the
columns you have defined.
This property returns the underlying InternalFeatures stored in memory.
This property returns the underlying InternalFeatures stored in memory.
This property allows you to modify and inspect the InternalFeatures held by this
FeatureSource in memory. You can use this as a quick way to add, update or remove
InternalFeatures.
This property returns if the FeatureSource allows edits or is read only.
This property returns if the FeatureSource allows edits or is read only. The
property returns true if the FeatureSource allows edits and false if the FeatureSource
is read only.
This property is useful to check if a specific FeatureSource accepts editing.
If you call the BeginTransaction and this property is false then an exception will
be raised.
For developers who are creating or extending a FeatureSource it is expected that
you override this virtual method if the new FeatureSource you are creating allows
edits. By default the decimalDegreesValue if false meaning that if you want to allow edits you
must override this method and return true.
This method build a spatial index for a passed group of featurs which increases access speed.
If you attempt to call this method on a feature source which is in a transaction, it will throw an InvalidOperationException.
If you attempt to call this method on a feature source which is not opened, it will throw an InvalidOperationException.
This method will clear all the features included in the feature source.
If the operation is done under source closed state it will throw a InvalidOperationException.
This method returns the count of the number of records in this
FeatureSource.
This method returns the count of the number of records in this
FeatureSource.
This protected virtual method is called from the concreate public method
GetCount. It does not take into account any transaction activity as this is the
responsibility of the concreate public method GetCount. In this way as a developer
if you choose to override this method you do not have to consider transaction at
all.
The default implementation of GetCountCore uses the GetAllRecordsCore method to
calculate how many records there are in the FeatureSource. We strongly recommend
that you provide your own implementation for this method that will be more
efficient
If you do not override this method the means it gets the count is by calling the
GetAllFeatureCore method and counting each feature. This is a very inefficient way
to get the count in most data sources. It is highly recommended that you override
this method and replace it with a highly optimized version. For example in a
ShapeFile the record count is in the main header of the file. Similarly if you are
using Oracle Spatial you can execute a simple query to get the count of all of the
record without returning them. In these ways you can greatly improve the
performance of this method.
In the event you attempt to call this method on a feature source which is not in transaction it will throw an InvalidOperationException.
This method will commit the existing transaction to its underlying source of
data.
This method will commit the existing transaction to its underlying source of
data. It will pass back the results of how the commit went to include any error
received. If you are implementing your own FeatureSource then this is one of the
crucial methods you must create. It should be fairly straight forward that you will
loop through the transaction buffer and add, edit or delete the InternalFeatures in your
underlying data source. Remember to build and pass back the TransactionResult class
so that users of your FeatureSource can respond to failures you may encounter
committing the InternalFeatures. We will handle the end of the transaction and also the
cleanup of the transaction buffer. Your task will be to commit the records and
produce a TransactionResult return.
The Transaction System
The transaction system of a FeatureSource sits on top of the inherited
implementation of any specific source such as Oracle Spatial or Shape files. In
this way it functions the same way for every FeatureSource. You start by calling
the BeginTransaction. This allocates a collection of in memory change buffers that
are used to store changes until you commit the transaction. So for example when you
call the Add, Delete or Update method the changes to the feature are stored in
memory only. If for any reason you choose to abandon the transaction you can call
RollbackTransaction at any time and the in memory buffer will be deleted and the
changes will be lost. When you are ready to commit the transaction you call the
CommitTransaction and the collections of changes are then passed to the
CommitTransactionCore method and the implementer of the specific FeatureSource is
responsible for integrating your changes into the underlying FeatureSource. By
default the IsLiveTransaction property is set to false which means that until you
commit the changes the FeatureSource API will not reflect any changes that are in
the temporary editing buffer.
In the case where the IsLiveTransaction is set to true then things function
slightly differently. The live transaction concept means that all of the
modification you perform during a transaction are live from the standpoint of the
querying methods on the object.
To setup an example imagine that you have a FeatureSource that has 10 records
in it. Next you begin a transaction and then call GetAllFeatures, the result would
be 10 records. After that you call a delete on one of the records and call the
GetAllFeatures again, this time you only get nine records. You receive nine records
even though the transaction has not yet been committed. In the same sense you could
have added a new record or modified an existing one and those changes are
considered live though not committed.
In the case where you modify records such as expanding the size of a polygon
those changes as well are reflected. So for example you expand a polygon by
doubling its size and then do a spatial query that would not normally return the
smaller record but would return the larger records, in this case the larger record
is returned. You can set this property to be false as well in which case all of the
spatial related methods would ignore anything that is currently in the transaction
buffer waiting to be committed. In this case only after committing the transaction
would the FeatureSource reflect the changes.
The return decimalDegreesValue of this method is a TransactionResult class which gives you the
status of the transaction you just committed. It includes how many of the updates,
adds, and deletes were successful and any error that were encountered during the
committing of the transaction.
This parameter encapsulates all of the adds, edits and deleted that make up the
transaction. You will use this data to write the changes to your underlying data
source.
In the event you attempt to call this method on a feature source which has not been opened it will throw an InvalidOperationException.
This method returns all of the InternalFeatures in the FeatureSource.
The return decimalDegreesValue is a collection of all of the InternalFeatures in the
FeatureSource.
This method returns all of the InternalFeatures in the FeatureSource. You will not need
to consider anything about pending transactions as this will be handled in the non Core
version of the method.
The main purpose of this method is to be the anchor of all of our default virtual
implementations within this class. We wanted as the framework developers to provide you
the user with as much default virtual implementation as possible. To do this we needed
a way to get access to all of the features. For example, we want to create a default
implementation for finding all of the InternalFeatures in a bounding box. Because this is an
abstract class we do not know the specifics of the underlying data or how its spatial
indexes work. What we do know is that if we get all the records then we can brute force
the answer. In this way if you inherited form this class and only implemented this one
method we can provide default implementations for virtually every other API.
While this is nice for you the developer if you decide to create your own FeatureSource
it comes with a price. The price is that it is very inefficient. In the case we just
discussed about finding all of the InternalFeatures in a bounding box we would not want to look
at every record to fulfil this method. Instead we would want to override the
GetFeaturesInsideBoundingBoxCore and implement specific code that would be fast. For
example in Oracle Spatial there is a specific SQL statement to do this operation very
quickly. The same holds true with other specific FeatureSource examples.
Most default implementations in the FeatureSource call the
GetFeaturesInsideBoundingBoxCore which by default calls the GetAllFeaturesCore. It is
our advice that if you create your own FeatureSource that you ALWAYS override the
GetFeatureInsideBoundingBox. It will ensure that nearly every other API will operate
efficiently. Please see the specific API to determine what method it uses.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures of this FeatureSource that are inside of the
specified bounding box.
The returned decimalDegreesValue is a collection of all of the InternalFeatures that are inside of the
bounding box.
This method returns all of the InternalFeatures of this FeatureSource that are inside of the
specified bounding box. If you are overriding this method you will not need to consider
anything about transactions, as this is handled by the concrete version of this
method.
The default implementation of GetFeaturesInsideBoundingBoxCore uses the
GetAllRecordsCore method to determine which InternalFeatures are inside of the bounding box. We
strongly recommend that you provide your own implementation for this method that will
be more efficient. That is especially important for this method, as many other default
virtual methods use this for their calculations. When you override this method, we highly recommend
that you use any spatial indexes you have at your disposal to make this
method as fast as possible.
This parameter represents the bounding box that you wish to find InternalFeatures inside
of.
This parameter allows you to select the field names of the column data that you wish
to return with each Feature.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
If you pass a null as the boundingBox, we will throw an ArgumentNullException.
In the event you attempt to call this method on a feature source which has not been opened, it will throw an InvalidOperationException.
This method returns all of the InternalFeatures of this FeatureSource outside of the
specified bounding box.
This method returns all of the InternalFeatures of this FeatureSource outside of the
specified bounding box.
This method returns all of the InternalFeatures of this FeatureSource outside of the
specified bounding box. If you are in a transaction and that transaction is live,
this method will also take that into consideration.
The default implementation of GetFeaturesOutsideBoundingBoxCore uses the
GetAllRecordsCore method to determine which InternalFeatures are outside of the bounding box.
We strongly recommend that you provide your own implementation for this method that
will be more efficient.
This parameter represents the bounding box that you wish to find InternalFeatures outside
of.
This parameter allows you to select the field names of the column data you wish
to return with each Feature.
If you pass a null as the returningColumnNames, we will throw an ArgumentNullException.
If you pass a null as the boundingBox, we will throw an ArgumentNullException.
In the event you attempt to call this method on a feature source which has not been opened it will throw an InvalidOperationException.
This method returns the columns available for the FeatureSource.
When overriding you will be responsible for getting a list of all of the columns
supported by the FeatureSource. In this way the FeatureSource will know what columns
are available and will remove any extra columns when making calls to other core
methods. For example if you have a FeatureSource that has three columns of information
and the user calls a method and requests four columns of information, something they
can do with custom fields, we will first compare what they are asking for to the
results of the GetColumnsCore. In this way we can strip out custom columns before
calling other Core methods which are only responsible for returning data in the
FeatureSource. For more information on custom fields you can see the documentation on
the OnCustomFieldsFetch.
This method returns the columns available for the FeatureSource.
This class represents a canvas that is used to draw geographic shapes. It is
intended to be inherited for the implementation of different drawing systems.
Initializes a new instance of the class.
None
Gets or sets a value indicating whether this instance is drawing level enabled.
true if this instance is drawing level enabled; otherwise, false.
This method begins the act of drawing on the GeoCanvas.
This parameter represents the image you want the GeoCanvas to draw on.
This parameter is the world extent of the canvasImage.
This parameter is the map unit of the canvasImage.
This is the first method that needs to be called before any drawing takes place.
Calling this method will set the IsDrawing property to true. When you finish drawing,
you must call EndDrawing to commit the changes to the image.
This method clears the current GeoCanvas using the color specified.
This parameter specifies the the brush that will be used to clear the GeoCanvas.
Use this method to clear the GeoCanvas.
This method is designed to be overridden by the deriving class.
This method draws an area on the GeoCanvas.
This parameter is the AreaShape in well-known binary format.
This parameter describes the outline GeoPen that will be used to draw the
AreaShape.
This parameter describes the fill GeoBrush that will be used to draw the
AreaShape.
This parameter determines the DrawingLevel that the GeoPen will draw on.
This parameter determines the X offset for the feature to be drawn.
This parameter determines the Y offset for the feature to be drawn.
This parameter determines the PenBrushDrawingOrder used when drawing the area type feature.
This method is used to draw on the GeoCanvas. It provides you with a number of
overloads that allow you to control how things are drawn. Specify the GeoBrush to
fill in an area. Specify the GeoPen to outline an area using that
GeoPen. You can also call an overload that will allow you to specify both a GeoPen
and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when you are
drawing multiple areas. This is very useful when you want to draw a drop shadow, for
example. In that case, you could draw the black backdrop on the lowest level with an offset, then
draw the normal shape on a higher level without an offset.
This method is used to draw on the GeoCanvas. It provides you with a number of
overloads that allow you to control how things are drawn. Specify the GeoBrush to
fill in an area. Specify the GeoPen to outline an area using that
GeoPen. You can also call an overload that will allow you to specify both a GeoPen
and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when you are
drawing multiple areas. This is very useful when you want to draw a drop shadow, for
example. In that case, you could draw the black backdrop on the lowest level with an offset, then
draw the normal shape on a higher level without an offset.
Draws the LineShape on the GeoCanvas.
This parameter is the LineShape in well-known binary format.
This parameter describes the GeoPen that will be used to draw the
LineShape.
This parameter determines the DrawingLevel that the GeoPen will draw on.
This parameter determines the X offset for the feature to be drawn.
This parameter determines the Y offset for the feature to be drawn.
This method is used to draw a line on the GeoCanvas using the specified GeoPen.
The DrawingLevel allows you to specify the level you will draw on when
drawing multiple lines. This is very useful when you want to draw a road, for example. You can
draw the black background on the lowest level, then draw a slightly thinner white line on a higher
level. This will result in a great effect for a road.
Draws a point on the GeoCanvas.
This parameter is the center point in well-known binary format.
This parameter describes the width of the ellipse to be drawn.
This parameter describes the height of the ellipse to be drawn.
This parameter describes the outline GeoPen that will be used to draw the
point.
This parameter describes the fill GeoBrush that will be used to draw the
point.
This parameter determines the DrawingLevel that the GeoPen or GeoBrush will draw
on.
This parameter determines the X offset for the screenPoint to be drawn.
This parameter determines the Y offset for the screenPoint to be drawn.
This parameter determines the PenBrushDrawingOrder used when drawing the ellipse.
This method is used to draw a point on the GeoCanvas. It provides you with a number of
overloads that allow you to control how it is drawn. Specify the GeoBrush to fill in the
area of the point. Specify the GeoPen to outline the point using that GeoPen.
You can also call a overload that will allow you to specify
both a GeoPen and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when
drawing many points.
Draws an unscaled image on the GeoCanvas.
The image you want to draw unscaled.
The X coordinate of the center point (in screen coordinates) of where you want to draw the image.
The Y coordinate of the center point (in screen coordinates) of where you want to draw the image.
This parameter determines the DrawingLevel the image will draw on.
This parameter determines the X offset for the image to be drawn.
This parameter determines the Y offset for the image to be drawn.
This parameter determines the rotation angle for the image to be drawn.
Drawing an image unscaled is faster than using the API that scales it.
Draws a scaled image on the GeoCanvas.
The image you want to draw.
The X coordinate of the center point (in screen coordinates) of where you want to draw the image.
The Y coordinate of the center point (in screen coordinates) of where you want to draw the image.
The width you want to scale the image to. This is the width of the image that will be
drawn.
The height you want to scale the image to. This is the height of the image that will be
drawn.
This parameter determines the DrawingLevel the image will draw on.
This parameter determines the X offset for the image to be drawn.
This parameter determines the Y offset for the image to be drawn.
This parameter determines the rotation angle for the image to be drawn.
Drawing an image scaled is slower than using the API that draws it
unscaled.
This method allows you to draw text at the specified location, using the
specified brush and font parameters.
This parameter specifies the text you wish to draw.
This parameter represents the font you wish to use to draw the text.
This parameter specifies the kind of fill you want to use to draw the text.
This parameter specifies the HaloPen that will be used to draw the text, when the HaloPen effect is needed.
This parameter specifies the path on which to draw the text.
This parameter specifies the drawing level you wish to draw the text on. Higher
levels overwrite lower levels.
This parameter determines the X offset for the text to be drawn.
This parameter determines the Y offset for the text to be drawn.
This parameter determines the rotation angle for the text to be drawn.
This method is used to draw text on the GeoCanvas.
The DrawingLevel allows you to specify the level you will draw on when
drawing multiple text items. This is very useful when you want to draw a drop shadow,
for example. You can draw the black backdrop on the lowest level with an offset, then
draw the normal text on a higher level without an offset.
This method returns the rectangle that contains the specified text, when that text is drawn
with the specified font.
This parameter represents the text you want to measure.
This parameter represents the font of the text you want to measure.
This method returns the rectangle that contains the specified text, when that text is drawn
with the specified font.
This method is typically used for labeling, to determine whether labels overlap.
This method converts a GeoImage to a commonly-used object. In GdiPlus, this object is often a NativeImage.
The target geoImage to convert.
The returning object containing the same information as the passed-in geoImage.
This method is a BaseClass API and will be used in its sub-concrete classes.
This method converts an oboject to a GeoImage. In GdiPlus, this object is often a NativeImage.
The target object to be converted.
The returning GeoImage containing the same information as the passed-in nativeImage.
This method is a BaseClass API and will be implemented and used in its sub-concrete classes.
This method gets the canvas width of the passed-in native image object.
The native image that will be used to get the image width.
The returning canvas width.
This method is a BaseClass API and will be implemented and used in its sub-concrete classes.
This method gets the canvas height of the passed-in native image object.
The native image will be used to get the image height.
The returning canvas height.
This method is a BaseClass API and will be implemented and used in its sub-concrete classes.
Get the stream from the passed-in GeoImage. This API is an abstract API and will be implemented in each concrete sub-class.
The parameter specifies the image to get the stream from.
The returning stream retrieved from the passed-in image.
This method flush drawing and commits the drawing on the GeoCanvas.
This method should be called when you are finished drawing. It will commit the
image changes to the image you passed in on BeginDrawing. It will also set
IsDrawing to false. After you call this method it will put the GeoCanvas into an
invalid state, so if you then call any drawing methods it will raise an
exception.
This method ends drawing and commits the drawing on the GeoCanvas.
This methods should be called when you are finished drawing. It will commit the
image changes to the image you passed in on BeginDrawing. It will also set
IsDrawing to false. After you call this method it will put the GeoCanvas into an
invalid state, so if you then call any drawing methods it will raise an
exception.
Defines objects used to fill the interiors of AreaBaseShapes, such as
MultiPolygonShape, PolygonShape, EllipseShape, and other AreaBaseShapes.
This is an abstract base class and cannot be instantiated. To create a
GeoBrush object, use classes derived from GeoBrush, such as GeoSolidBrush.
This is the constructor for the GeoBrush
None
The id of the GeoBrush. This is always used as a key when in the cached brushes.
Create a copy of GeoBrush using the deep clone process.
A cloned GeoBrush.
The difference between deep clone and shallow clone is as follows: In shallow cloning,
only the object is copied; the objects within it are not. By contrast, deep cloning
copies the cloned object as well as all the objects within.
Create a copy of GeoBrush using the deep clone process. The default implementation uses serialization.
A cloned GeoBrush.
The difference between deep clone and shallow clone is as follows: In shallow cloning,
only the object is copied; the objects within it are not. By contrast, deep cloning
copies the cloned object as well as all the objects within.
This class represents a canvas that is used to draw geographic shapes. It is
intended to be inherited for the implementation of different drawing systems, such as GDI+ or
WPF.
This class allows you to implement different drawing systems, such as GDI+,
GDI, or WPF. It can also be used for other systems, such as PDF.
The basic flow of the use of the class is to first call BeginDrawing and pass
in an image along with its world extent.
This method is the default constructor for the GeoCanvas.
None
This property gets the current scale of the canvas.
In the event you attempt to call this property when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Create a copy of GeoCanvas using the deep clone process.
A cloned GeoCanvas.
The difference between deep clone and shallow clone is as follows: In shallow cloning,
only the object is copied; the objects within it are not. By contrast, deep cloning
copies the cloned object as well as all the objects within.
Create a copy of GeoCanvas using the deep clone process. The default implementation uses serialization.
A cloned GeoCanvas.
The difference between deep clone and shallow clone is as follows: In shallow cloning,
only the object is copied; the objects within it are not. By contrast, deep cloning
copies the cloned object as well as all the objects within.
This method clears the current GeoCanvas using the color specified.
Use this method to clear the GeoCanvas.
This method clears the current GeoCanvas using the color specified.
Use this method to clear the GeoCanvas.
This method is designed to be overridden by the deriving class.
This parameter specifies the the brush that will be used to clear the GeoCanvas.
This method draws an area on the GeoCanvas.
This overload allows you to pass in the GeoPen and the DrawingLevel you want to
draw on.
This method is used to draw on the GeoCanvas. It provides you with a number of
overloads that allow you to control how things are drawn. Specify the GeoBrush to
fill in an area. Specify the GeoPen to outline an area using that
GeoPen. You can also call an overload that will allow you to specify both a GeoPen
and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when you are
drawing multiple areas. This is very useful when you want to draw a drop shadow, for
example. In that case, you could draw the black backdrop on the lowest level with an offset, then
draw the normal shape on a higher level without an offset.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the areaShapeWkb parameter will throw an ArgumentException.
If you pass a null as the areaShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the outlinePen, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the area feature.
This parameter describes the outline GeoPen that will be used to draw the
area.
This parameter determines the DrawingLevel that the GeoPen will draw on.
This method draws an area on the GeoCanvas.
This overload allows you to pass in the GeoPen and the DrawingLevel you want to
draw on.
This method is used to draw on the GeoCanvas. It provides you with a number of
overloads that allow you to control how things are drawn. Specify the GeoBrush to
fill in an area. Specify the GeoPen to outline an area using that
GeoPen. You can also call an overload that will allow you to specify both a GeoPen
and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when you are
drawing multiple areas. This is very useful when you want to draw a drop shadow, for
example. In that case, you could draw the black backdrop on the lowest level with an offset, then
draw the normal shape on a higher level without an offset.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the areaShapeWkb parameter will throw an ArgumentException.
If you pass a null as the areaShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the outlinePen, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the area shape.
This parameter describes the outline GeoPen that will be used to draw the
area.
This parameter determines the DrawingLevel that the GeoPen will draw on.
This method draws an area on the GeoCanvas.
This overload allows you to pass in the GeoBrush and the DrawingLevel you want to
draw on.
This method is used to draw on the GeoCanvas. It provides you with a number of
overloads that allow you to control how things are drawn. Specify the GeoBrush to
fill in an area. Specify the GeoPen to outline an area using that
GeoPen. You can also call an overload that will allow you to specify both a GeoPen
and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when you are
drawing multiple areas. This is very useful when you want to draw a drop shadow, for
example. In that case, you could draw the black backdrop on the lowest level with an offset, then
draw the normal shape on a higher level without an offset.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the areaShapeWkb parameter will throw an ArgumentException.
If you pass a null as the areaShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the fillBrush, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method is used to draw on the GeoCanvas. It provides you with a number of
overloads that allow you to control how things are drawn. Specify the GeoBrush to
fill in an area. Specify the GeoPen to outline an area using that
GeoPen. You can also call an overload that will allow you to specify both a GeoPen
and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when you are
drawing multiple areas. This is very useful when you want to draw a drop shadow, for
example. In that case, you could draw the black backdrop on the lowest level with an offset, then
draw the normal shape on a higher level without an offset.
This parameter is the AreaShape in well-known binary format.
This parameter describes the fill GeoBrush that will be used to draw the
AreaShape.
This parameter determines the DrawingLevel that the GeoPen will draw on.
This method draws an area on the GeoCanvas.
This overload allows you to pass in the GeoBrush, GeoPen, and the DrawingLevel
you want to draw on.
This method is used to draw on the GeoCanvas. It provides you with a number of
overloads that allow you to control how things are drawn. Specify the GeoBrush to
fill in an area. Specify the GeoPen to outline an area using that
GeoPen. You can also call an overload that will allow you to specify both a GeoPen
and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when you are
drawing multiple areas. This is very useful when you want to draw a drop shadow, for
example. In that case, you could draw the black backdrop on the lowest level with an offset, then
draw the normal shape on a higher level without an offset.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the areaShapeWkb parameter will throw an ArgumentException.
If you pass a null as the areaShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the outlinePen, we will throw an ArgumentNullException.
If you pass a null as the fillBrush, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method is used to draw on the GeoCanvas. It provides you with a number of
overloads that allow you to control how things are drawn. Specify the GeoBrush to
fill in an area. Specify the GeoPen to outline an area using that
GeoPen. You can also call an overload that will allow you to specify both a GeoPen
and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when you are
drawing multiple areas. This is very useful when you want to draw a drop shadow, for
example. In that case, you could draw the black backdrop on the lowest level with an offset, then
draw the normal shape on a higher level without an offset.
This parameter is the area shape to be drawn.
This parameter describes the fill Brush that will be used to draw the
AreaShape.
This parameter determines the DrawingLevel that the GeoPen will draw on.
This method draws an area on the GeoCanvas.
This overload allows you to pass in the GeoBrush, GeoPen, and the DrawingLevel
you want to draw on.
This method is used to draw on the GeoCanvas. It provides you with a number of
overloads that allow you to control how things are drawn. Specify the GeoBrush to
fill in an area. Specify the GeoPen to outline an area using that
GeoPen. You can also call an overload that will allow you to specify both a GeoPen
and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when you are
drawing multiple areas. This is very useful when you want to draw a drop shadow, for
example. In that case, you could draw the black backdrop on the lowest level with an offset, then
draw the normal shape on a higher level without an offset.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the areaShapeWkb parameter will throw an ArgumentException.
If you pass a null as the areaShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the outlinePen, we will throw an ArgumentNullException.
If you pass a null as the fillBrush, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method is used to draw on the GeoCanvas. It provides you with a number of
overloads that allow you to control how things are drawn. Specify the GeoBrush to
fill in an area. Specify the GeoPen to outline an area using that
GeoPen. You can also call an overload that will allow you to specify both a GeoPen
and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when you are
drawing multiple areas. This is very useful when you want to draw a drop shadow, for
example. In that case, you could draw the black backdrop on the lowest level with an offset, then
draw the normal shape on a higher level without an offset.
This parameter is the AreaFeature to be drawn.
This parameter describes the outline GeoPen that will be used to draw the
AreaShape.
This parameter describes the fill GeoBrush that will be used to draw the
AreaShape.
This parameter determines the DrawingLevel that the GeoPen will draw on.
This method draws an area on the GeoCanvas.
This overload allows you to pass in the GeoBrush, GeoPen, and the DrawingLevel
you want to draw on.
This method is used to draw on the GeoCanvas. It provides you with a number of
overloads that allow you to control how things are drawn. Specify the GeoBrush to
fill in an area. Specify the GeoPen to outline an area using that
GeoPen. You can also call an overload that will allow you to specify both a GeoPen
and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when you are
drawing multiple areas. This is very useful when you want to draw a drop shadow, for
example. In that case, you could draw the black backdrop on the lowest level with an offset, then
draw the normal shape on a higher level without an offset.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the areaShapeWkb parameter will throw an ArgumentException.
If you pass a null as the areaShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the outlinePen, we will throw an ArgumentNullException.
If you pass a null as the fillBrush, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method is used to draw on the GeoCanvas. It provides you with a number of
overloads that allow you to control how things are drawn. Specify the GeoBrush to
fill in an area. Specify the GeoPen to outline an area using that
GeoPen. You can also call an overload that will allow you to specify both a GeoPen
and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when you are
drawing multiple areas. This is very useful when you want to draw a drop shadow, for
example. In that case, you could draw the black backdrop on the lowest level with an offset, then
draw the normal shape on a higher level without an offset.
This parameter is the area shape to be drawn.
This parameter describes the outline pen that will be used to draw the AreaShape.
This parameter describes the fill Brush that will be used to draw the
AreaShape.
This parameter determines the DrawingLevel that the GeoPen will draw on.
This method draws an area on the GeoCanvas.
This overload allows you to pass in the GeoBrush, GeoPen, and the DrawingLevel
you want to draw on.
This method is used to draw on the GeoCanvas. It provides you with a number of
overloads that allow you to control how things are drawn. Specify the GeoBrush to
fill in an area. Specify the GeoPen to outline an area using that
GeoPen. You can also call an overload that will allow you to specify both a GeoPen
and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when you are
drawing multiple areas. This is very useful when you want to draw a drop shadow, for
example. In that case, you could draw the black backdrop on the lowest level with an offset, then
draw the normal shape on a higher level without an offset.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the areaShapeWkb parameter will throw an ArgumentException.
If you pass a null as the areaShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the outlinePen, we will throw an ArgumentNullException.
If you pass a null as the fillBrush, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method is used to draw on the GeoCanvas. It provides you with a number of
overloads that allow you to control how things are drawn. Specify the GeoBrush to
fill in an area. Specify the GeoPen to outline an area using that
GeoPen. You can also call an overload that will allow you to specify both a GeoPen
and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when you are
drawing multiple areas. This is very useful when you want to draw a drop shadow, for
example. In that case, you could draw the black backdrop on the lowest level with an offset, then
draw the normal shape on a higher level without an offset.
This parameter is the AreaFeature to be drawn.
This parameter describes the outline GeoPen that will be used to draw the
AreaShape.
This parameter describes the fill GeoBrush that will be used to draw the
AreaShape.
This parameter determines the DrawingLevel that the GeoPen will draw on.
This parameter determines the X offset for the feature that will be drawn.
This parameter determines the Y offset for the feature that will be drawn.
This parameter determines the PenBrushingDrawingOrder used when drawing the area type feature.
This method draws an area on the GeoCanvas.
This overload allows you to pass in the GeoBrush, GeoPen, and the DrawingLevel
you want to draw on.
This method is used to draw on the GeoCanvas. It provides you with a number of
overloads that allow you to control how things are drawn. Specify the GeoBrush to
fill in an area. Specify the GeoPen to outline an area using that
GeoPen. You can also call an overload that will allow you to specify both a GeoPen
and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when you are
drawing multiple areas. This is very useful when you want to draw a drop shadow, for
example. In that case, you could draw the black backdrop on the lowest level with an offset, then
draw the normal shape on a higher level without an offset.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the areaShapeWkb parameter will throw an ArgumentException.
If you pass a null as the areaShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the outlinePen, we will throw an ArgumentNullException.
If you pass a null as the fillBrush, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method is used to draw on the GeoCanvas. It provides you with a number of
overloads that allow you to control how things are drawn. Specify the GeoBrush to
fill in an area. Specify the GeoPen to outline an area using that
GeoPen. You can also call an overload that will allow you to specify both a GeoPen
and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when you are
drawing multiple areas. This is very useful when you want to draw a drop shadow, for
example. In that case, you could draw the black backdrop on the lowest level with an offset, then
draw the normal shape on a higher level without an offset.
This parameter is the area shape to be drawn.
This parameter describes the outline GeoPen that will be used to draw the
AreaShape.
This parameter describes the fill GeoBrush that will be used to draw the
AreaShape.
This parameter determines the DrawingLevel that the GeoPen will draw on.
This parameter determines the X offset for the feature to be drawn.
This parameter determines the Y offset for the feature to be drawn.
This parameter determines the PenBrushDrawingOrder used when drawing the area type feature.
This method draws an area on the GeoCanvas.
This method is used to draw on the GeoCanvas. It provides you with a number of
overloads that allow you to control how things are drawn. Specify the GeoBrush to
fill in an area. Specify the GeoPen to outline an area using that
GeoPen. You can also call an overload that will allow you to specify both a GeoPen
and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when you are
drawing multiple areas. This is very useful when you want to draw a drop shadow, for
example. In that case, you could draw the black backdrop on the lowest level with an offset, then
draw the normal shape on a higher level without an offset.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the areaShapeWkb parameter will throw an ArgumentException.
If you pass a null as the areaShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the outlinePen, we will throw an ArgumentNullException.
If you pass a null as the fillBrush, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method is used to draw on the GeoCanvas. It provides you with a number of
overloads that allow you to control how things are drawn. Specify the GeoBrush to
fill in an area. Specify the GeoPen to outline an area using that
GeoPen. You can also call an overload that will allow you to specify both a GeoPen
and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when you are
drawing multiple areas. This is very useful when you want to draw a drop shadow, for
example. In that case, you could draw the black backdrop on the lowest level with an offset, then
draw the normal shape on a higher level without an offset.
This parameter is the AreaShape in well-known binary format.
This parameter describes the outline GeoPen that will be used to draw the
AreaShape.
This parameter describes the fill GeoBrush that will be used to draw the
AreaShape.
This parameter determines the DrawingLevel that the GeoPen will draw on.
This parameter determines the X offset for the feature to be drawn.
This parameter determines the Y offset for the feature to be drawn.
This parameter determines the PenBrushDrawingOrder used when drawing the area type feature.
This method draws an area on the GeoCanvas.
This method is used to draw on the GeoCanvas. It provides you with a number of
overloads that allow you to control how things are drawn. Specify the GeoBrush to
fill in an area. Specify the GeoPen to outline an area using that
GeoPen. You can also call an overload that will allow you to specify both a GeoPen
and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when you are
drawing multiple areas. This is very useful when you want to draw a drop shadow, for
example. In that case, you could draw the black backdrop on the lowest level with an offset, then
draw the normal shape on a higher level without an offset.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the areaShapeWkb parameter will throw an ArgumentException.
If you pass a null as the areaShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the outlinePen, we will throw an ArgumentNullException.
If you pass a null as the fillBrush, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method is used to draw on the GeoCanvas. It provides you with a number of
overloads that allow you to control how things are drawn. Specify the GeoBrush to
fill in an area. Specify the GeoPen to outline an area using that
GeoPen. You can also call an overload that will allow you to specify both a GeoPen
and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when you are
drawing multiple areas. This is very useful when you want to draw a drop shadow, for
example. In that case, you could draw the black backdrop on the lowest level with an offset, then
draw the normal shape on a higher level without an offset.
This parameter is the AreaShape in well-known binary format.
This parameter describes the outline GeoPen that will be used to draw the
AreaShape.
This parameter describes the fill GeoBrush that will be used to draw the
AreaShape.
This parameter determines the DrawingLevel that the GeoPen will draw on.
This parameter determines the X offset for the feature to be drawn.
This parameter determines the Y offset for the feature to be drawn.
This parameter determines the PenBrushDrawingOrder used when drawing the area type feature.
Draws a line on the GeoCanvas.
This method is used to draw a line on the GeoCanvas using the specified GeoPen.
The DrawingLevel allows you to specify the level you will draw on when
drawing multiple lines. This is very useful when you want to draw a road, for example. You can
draw the black background on the lowest level, then draw a slightly thinner white line on a higher
level. This will result in a great effect for a road.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the lineShapeWkb parameter will throw an ArgumentException.
If you pass a null as the lineShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the linePen, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the line feature.
This parameter describes the GeoPen that will be used to draw the line.
This parameter determines the DrawingLevel that the GeoPen will draw on.
Draws a line on the GeoCanvas.
This method is used to draw a line on the GeoCanvas using the specified GeoPen.
The DrawingLevel allows you to specify the level you will draw on when
drawing multiple lines. This is very useful when you want to draw a road, for example. You can
draw the black background on the lowest level, then draw a slightly thinner white line on a higher
level. This will result in a great effect for a road.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the lineShapeWkb parameter will throw an ArgumentException.
If you pass a null as the lineShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the linePen, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the line shape to be drawn by GeoCannvas.
This parameter describes the GeoPen that will be used to draw the line.
This parameter determines the DrawingLevel that the GeoPen will draw on.
Draws a line on the GeoCanvas.
This method is used to draw a line on the GeoCanvas using the specified GeoPen.
The DrawingLevel allows you to specify the level you will draw on when
drawing multiple lines. This is very useful when you want to draw a road, for example. You can
draw the black background on the lowest level, then draw a slightly thinner white line on a higher
level. This will result in a great effect for a road.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the lineShapeWkb parameter will throw an ArgumentException.
If you pass a null as the lineShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the linePen, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the line feature to be drawn by GeoCannvas.
This parameter describes the GeoPen that will be used to draw the line.
This parameter determines the DrawingLevel that the GeoPen will draw on.
This parameter determines the X offset for the feature to be drawn.
This parameter determines the Y offset for the feature to be drawn.
Draws a line on the GeoCanvas.
This method is used to draw a line on the GeoCanvas using the specified GeoPen.
The DrawingLevel allows you to specify the level you will draw on when
drawing multiple lines. This is very useful when you want to draw a road, for example. You can
draw the black background on the lowest level, then draw a slightly thinner white line on a higher
level. This will result in a great effect for a road.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the lineShapeWkb parameter will throw an ArgumentException.
If you pass a null as the lineShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the linePen, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the line shape to be drawn by GeoCannvas.
This parameter describes the GeoPen that will be used to draw the line.
This parameter determines the DrawingLevel that the GeoPen will draw on.
This parameter determines the X offset for the feature to be drawn.
This parameter determines the Y offset for the feature to be drawn.
This method is used to draw a line on the GeoCanvas using the specified GeoPen.
The DrawingLevel allows you to specify the level you will draw on when
drawing multiple lines. This is very useful when you want to draw a road, for example. You can
draw the black background on the lowest level, then draw a slightly thinner white line on a higher
level. This will result in a great effect for a road.
Draws the LineShape on the GeoCanvas.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the lineShapeWkb parameter will throw an ArgumentException.
If you pass a null as the lineShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the linePen, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the LineShape in well-known binary format.
This parameter describes the GeoPen that will be used to draw the
LineShape.
This parameter determines the DrawingLevel that the GeoPen will draw on.
This parameter determines the X offset for the feature to be drawn.
This parameter determines the Y offset for the feature to be drawn.
This method is used to draw a line on the GeoCanvas using the specified GeoPen.
The DrawingLevel allows you to specify the level you will draw on when
drawing multiple lines. This is very useful when you want to draw a road, for example. You can
draw the black background on the lowest level, then draw a slightly thinner white line on a higher
level. This will result in a great effect for a road.
Draws the LineShape on the GeoCanvas.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the lineShapeWkb parameter will throw an ArgumentException.
If you pass a null as the lineShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the linePen, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the LineShape in well-known binary format.
This parameter describes the GeoPen that will be used to draw the
LineShape.
This parameter determines the DrawingLevel that the GeoPen will draw on.
This parameter determines the X offset for the feature to be drawn.
This parameter determines the Y offset for the feature to be drawn.
Draws a point on the GeoCanvas.
This overload allows you to pass in the GeoPen and the DrawingLevel you want to
draw on.
This method is used to draw a point on the GeoCanvas. It provides you with a number of
overloads that allow you to control how it is drawn. Specify the GeoBrush to fill in the
area of the point. Specify the GeoPen to outline the point using that GeoPen.
You can also call a overload that will allow you to specify
both a GeoPen and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when
drawing many points.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the pointShapeWkb parameter will throw an ArgumentException.
If you pass a null as the pointShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the outlinePen, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the center point feature.
This parameter describes the width of the ellipse to be drawn.
This parameter describes the height of the ellipse to be drawn.
This parameter describes the outline GeoPen that will be used to draw the
point.
This parameter determines the DrawingLevel that the GeoPen will draw on.
Draws a point on the GeoCanvas.
This overload allows you to pass in the GeoPen and the DrawingLevel you want to
draw on.
This method is used to draw a point on the GeoCanvas. It provides you with a number of
overloads that allow you to control how it is drawn. Specify the GeoBrush to fill in the
area of the point. Specify the GeoPen to outline the point using that GeoPen.
You can also call a overload that will allow you to specify
both a GeoPen and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when
drawing many points.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the pointShapeWkb parameter will throw an ArgumentException.
If you pass a null as the pointShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the outlinePen, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the center point shape.
This parameter describes the width of the ellipse to be drawn.
This parameter describes the height of the ellipse to be drawn.
This parameter describes the outline GeoPen that will be used to draw the
point.
This parameter determines the DrawingLevel that the GeoPen will draw on.
This overload allows you to pass in the GeoBrush and the DrawingLevel you want to
draw on.
Draws a point on the GeoCanvas.
This method is used to draw a point on the GeoCanvas. It provides you with a number of
overloads that allow you to control how it is drawn. Specify the GeoBrush to fill in the
area of the point. Specify the GeoPen to outline the point using that GeoPen.
You can also call a overload that will allow you to specify
both a GeoPen and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when
drawing many points.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the pointShapeWkb parameter will throw an ArgumentException.
If you pass a null as the pointShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the fillBrush, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the center point feature.
This parameter describes the width of the ellipse to be drawn.
This parameter describes the height of the ellipse to be drawn.
This parameter describes the fill GeoBrush that will be used to draw the
point.
This parameter determines the DrawingLevel the the GeoBrush will draw on.
This overload allows you to pass in the GeoBrush and the DrawingLevel you want to
draw on.
Draws a point on the GeoCanvas.
This method is used to draw a point on the GeoCanvas. It provides you with a number of
overloads that allow you to control how it is drawn. Specify the GeoBrush to fill in the
area of the point. Specify the GeoPen to outline the point using that GeoPen.
You can also call a overload that will allow you to specify
both a GeoPen and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when
drawing many points.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the pointShapeWkb parameter will throw an ArgumentException.
If you pass a null as the pointShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the fillBrush, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the center point shape.
This parameter describes the width of the ellipse to be drawn.
This parameter describes the height of the ellipse to be drawn.
This parameter describes the fill GeoBrush that will be used to draw the
point.
This parameter determines the DrawingLevel the the GeoBrush will draw on.
This overload allows you to pass in the GeoBrush, GeoPen, and the DrawingLevel
you want to draw on.
Draws a point on the GeoCanvas.
This method is used to draw a point on the GeoCanvas. It provides you with a number of
overloads that allow you to control how it is drawn. Specify the GeoBrush to fill in the
area of the point. Specify the GeoPen to outline the point using that GeoPen.
You can also call a overload that will allow you to specify
both a GeoPen and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when
drawing many points.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the pointShapeWkb parameter will throw an ArgumentException.
If you pass a null as the pointShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the outlinePen and a null as the fillBrush, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the center point feature.
This parameter describes the width of the ellipse to be drawn.
This parameter describes the height of the ellipse to be drawn.
This parameter describes the outline GeoPen that will be used to draw the
point.
This parameter describes the fill GeoBrush that will be used to draw the
point.
This parameter determines the DrawingLevel that the GeoPen or GeoBrush will draw
on.
This overload allows you to pass in the GeoBrush and the DrawingLevel you want to
draw on.
Draws a point on the GeoCanvas.
This method is used to draw a point on the GeoCanvas. It provides you with a number of
overloads that allow you to control how it is drawn. Specify the GeoBrush to fill in the
area of the point. Specify the GeoPen to outline the point using that GeoPen.
You can also call a overload that will allow you to specify
both a GeoPen and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when
drawing many points.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the pointShapeWkb parameter will throw an ArgumentException.
If you pass a null as the pointShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the fillBrush, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the center point shape.
This parameter describes the width of the ellipse to be drawn.
This parameter describes the height of the ellipse to be drawn.
This parameter describes the outline GeoPen that will be used to draw the
point.
This parameter describes the fill GeoBrush that will be used to draw the
point.
This parameter determines the DrawingLevel that the GeoPen or GeoBrush will draw
on.
This overload allows you to pass in the GeoBrush and the DrawingLevel you want to
draw on.
Draws a point on the GeoCanvas.
This method is used to draw a point on the GeoCanvas. It provides you with a number of
overloads that allow you to control how it is drawn. Specify the GeoBrush to fill in the
area of the point. Specify the GeoPen to outline the point using that GeoPen.
You can also call a overload that will allow you to specify
both a GeoPen and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when
drawing many points.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the pointShapeWkb parameter will throw an ArgumentException.
If you pass a null as the pointShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the fillBrush, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the center point feature.
This parameter describes the width of the ellipse to be drawn.
This parameter describes the height of the ellipse to be drawn.
This parameter describes the outline GeoPen that will be used to draw the
point.
This parameter describes the fill GeoBrush that will be used to draw the
point.
This parameter determines the DrawingLevel that the GeoPen or GeoBrush will draw
on.
This parameter determines the X offset for the ellipse to be drawn.
This parameter determines the Y offset for the ellipse to be drawn.
This parameter determines the PenBrushDrawingOrder used when drawing the ellipse.
This overload allows you to pass in the GeoBrush and the DrawingLevel you want to
draw on.
Draws a point on the GeoCanvas.
This method is used to draw a point on the GeoCanvas. It provides you with a number of
overloads that allow you to control how it is drawn. Specify the GeoBrush to fill in the
area of the point. Specify the GeoPen to outline the point using that GeoPen.
You can also call a overload that will allow you to specify
both a GeoPen and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when
drawing many points.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the pointShapeWkb parameter will throw an ArgumentException.
If you pass a null as the pointShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the fillBrush, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the center point shape.
This parameter describes the width of the ellipse to be drawn.
This parameter describes the height of the ellipse to be drawn.
This parameter describes the outline GeoPen that will be used to draw the
point.
This parameter describes the fill GeoBrush that will be used to draw the
point.
This parameter determines the DrawingLevel that the GeoPen or GeoBrush will draw
on.
This parameter determines the X offset for the ellipse to be drawn.
This parameter determines the Y offset for the ellipse to be drawn.
This parameter determines the PenBrushDrawingOrder used when drawing the ellipse.
This overload allows you to pass in the GeoBrush and the DrawingLevel you want to
draw on.
Draws a point on the GeoCanvas.
This method is used to draw a point on the GeoCanvas. It provides you with a number of
overloads that allow you to control how it is drawn. Specify the GeoBrush to fill in the
area of the point. Specify the GeoPen to outline the point using that GeoPen.
You can also call a overload that will allow you to specify
both a GeoPen and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when
drawing many points.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the pointShapeWkb parameter will throw an ArgumentException.
If you pass a null as the pointShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the fillBrush, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the center point in screen coordinate.
This parameter describes the width of the ellipse to be drawn.
This parameter describes the height of the ellipse to be drawn.
This parameter describes the outline GeoPen that will be used to draw the
point.
This parameter describes the fill GeoBrush that will be used to draw the
point.
This parameter determines the DrawingLevel that the GeoPen or GeoBrush will draw
on.
This parameter determines the X offset for the ellipse to be drawn.
This parameter determines the Y offset for the ellipse to be drawn.
Draws a point on the GeoCanvas.
This method is used to draw a point on the GeoCanvas. It provides you with a number of
overloads that allow you to control how it is drawn. Specify the GeoBrush to fill in the
area of the point. Specify the GeoPen to outline the point using that GeoPen.
You can also call a overload that will allow you to specify
both a GeoPen and a GeoBrush.
The DrawingLevel allows you to specify the level you will draw on when
drawing many points.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
Passing invalid well-known binary in the pointShapeWkb parameter will throw an ArgumentException.
If you pass a null as the pointShapeWkb, we will throw an ArgumentNullException.
If you pass a null as the outlinePen and a null as the fillBrush, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the center point in well-known binary format.
This parameter describes the outline GeoPen that will be used to draw the
point.
This parameter describes the width of the ellipse to be drawn.
This parameter describes the height of the ellipse to be drawn.
This parameter describes the fill GeoBrush that will be used to draw the
point.
This parameter determines the DrawingLevel that the GeoPen or GeoBrush will draw
on.
This parameter determines the X offset for the screenPoint to be drawn.
This parameter determines the Y offset for the screenPoint to be drawn.
This parameter determines the PenBrushDrawingOrder used when drawing the ellipse.
Draws an unscaled image on the GeoCanvas.
Drawing an image unscaled is faster than using the API that scales it.
The X & Y in work coordinates is where the center of the image will be
drawn.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
If you pass a null as the image, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing an invalid image parameter will throw an ArgumentException.
The image you want to draw unscaled.
The X coordinate of the center point of where you want to draw the image.
The Y coordinate of the center point of where you want to draw the image.
This parameter determines the DrawingLevel the image will draw on.
Draws an unscaled image on the GeoCanvas.
Drawing an image unscaled is faster than using the API that scales it.
The X & Y in work coordinates is where the center of the image will be
drawn.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
If you pass a null as the image, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing an invalid image parameter will throw an ArgumentException.
The image you want to draw unscaled.
The X coordinate of the center point (in world coordinates) of where you want to draw the image.
The Y coordinate of the center point (in world coordinates) of where you want to draw the image.
This parameter determines the DrawingLevel the image will draw on.
This parameter determines the X offset for the image to be drawn.
This parameter determines the Y offset for the image to be drawn.
This parameter determines the rotation angle for the image to be drawn.
Draws an unscaled image on the GeoCanvas.
Drawing an image unscaled is faster than using the API that scales it.
The X & Y in work coordinates is where the center of the image will be
drawn.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
If you pass a null as the image, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing an invalid image parameter will throw an ArgumentException.
The image you want to draw unscaled.
The X coordinate of the center point (in screen coordinates) of where you want to draw the image.
The Y coordinate of the center point (in screen coordinates) of where you want to draw the image.
This parameter determines the DrawingLevel the image will draw on.
This parameter determines the X offset for the image to be drawn.
This parameter determines the Y offset for the image to be drawn.
This parameter determines the rotation angle for the image to be drawn.
Draws an unscaled image on the GeoCanvas.
Drawing an image unscaled is faster than using the API that scales it.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
If you pass a null as the image, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing an invalid image parameter will throw an ArgumentException.
The image you want to draw unscaled.
The X coordinate of the center point (in screen coordinates) of where you want to draw the image.
The Y coordinate of the center point (in screen coordinates) of where you want to draw the image.
This parameter determines the DrawingLevel the image will draw on.
This parameter determines the X offset for the image to be drawn.
This parameter determines the Y offset for the image to be drawn.
This parameter determines the rotation angle for the image to be drawn.
Draws a scaled image on the GeoCanvas.
Drawing an image scaled is slower than using the API that draws it
unscaled.
The image you want to draw.
The X coordinate of the center point of where you want to draw the image.
The Y coordinate of the center point of where you want to draw the image.
The width you want to scale the image to. This is the width of the image that will be
drawn.
The height you want to scale the image to. This is the height of the image that will be
drawn.
This parameter determines the DrawingLevel the image will draw on.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
If you pass a null as the image, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a widthInScreen that is not greater than 0, it will throw a ArgumentOutOfRangeException.
If you pass in a heightInScreen that is not greater than 0, it will throw a ArgumentOutOfRangeException.
Draws a world image on the GeoCanvas.
Drawing an image scaled is slower than using the API that draws it
unscaled.
The image you want to draw.
The X coordinate of the center point of where you want to draw the image.
The Y coordinate of the center point of where you want to draw the image.
The scale at which you want to draw the image. The final width and height will be caculated based on the scale.
This parameter determines the DrawingLevel the image will draw on.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
If you pass a null as the image, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a widthInScreen that is not greater than 0, it will throw a ArgumentOutOfRangeException.
If you pass in a heightInScreen that is not greater than 0, it will throw a ArgumentOutOfRangeException.
This parameter determines the X offset for the image to be drawn.
This parameter determines the Y offset for the image to be drawn.
This parameter determines the rotation angle for the image to be drawn.
Draws a world image on the GeoCanvas.
Drawing an image scaled is slower than using the API that draws it
unscaled.
The image you want to draw.
The X coordinate of the center point of where you want to draw the image.
The Y coordinate of the center point of where you want to draw the image.
The width you want to scale the image to. This is the width of the image that will be drawn.
The height you want to scale the image to. This is the height of the image that will be drawn.
This parameter determines the DrawingLevel the image will draw on.
This parameter determines the X offset for the image to be drawn.
This parameter determines the Y offset for the image to be drawn.
This parameter determines the rotation angle for the image to be drawn.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
If you pass a null as the image, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a widthInScreen that is not greater than 0, it will throw a ArgumentOutOfRangeException.
If you pass in a heightInScreen that is not greater than 0, it will throw a ArgumentOutOfRangeException.
Draws a screen image on the GeoCanvas.
Drawing an image scaled is slower than using the API that draws it
unscaled.
The image you want to draw.
The X coordinate of the center point (in screen coordinates) of where you want to draw the image.
The Y coordinate of the center point (in screen coordinates) of where you want to draw the image.
The width you want to scale the image to. This is the width of the image that will be
drawn.
The height you want to scale the image to. This is the height of the image that will be
drawn.
This parameter determines the DrawingLevel the image will draw on.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
If you pass a null as the image, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a widthInScreen that is not greater than 0, it will throw a ArgumentOutOfRangeException.
If you pass in a heightInScreen that is not greater than 0, it will throw a ArgumentOutOfRangeException.
This parameter determines the X offset for the image to be drawn.
This parameter determines the Y offset for the image to be drawn.
This parameter determines the rotation angle for the image to be drawn.
Draws a scaled image on the GeoCanvas.
Drawing an image scaled is slower than using the API that draws it
unscaled.
The image you want to draw.
The X coordinate of the center point (in screen coordinates) of where you want to draw the image.
The Y coordinate of the center point (in screen coordinates) of where you want to draw the image.
The width you want to scale the image to. This is the width of the image that will be
drawn.
The height you want to scale the image to. This is the height of the image that will be
drawn.
This parameter determines the DrawingLevel the image will draw on.
This parameter determines the X offset for the image to be drawn.
This parameter determines the Y offset for the image to be drawn.
This parameter determines the rotation angle for the image to be drawn.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
If you pass a null as the image, we will throw an ArgumentNullException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a widthInScreen that is not greater than 0, it will throw a ArgumentOutOfRangeException.
If you pass in a heightInScreen that is not greater than 0, it will throw a ArgumentOutOfRangeException.
This method allows you to draw text at the specified location, using the
specified brush and font parameters.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass a null as the fillBrush, we will throw an ArgumentNullException.
If you pass a null as the text, we will throw an ArgumentNullException.
If you pass a null as the font, we will throw an ArgumentNullException.
If you pass a blank string in the text parameter, we will throw an ArgumentException.
This overload allows you to specify the location in screen coordinates.
This method is used to draw text on the GeoCanvas at specific screen coordinates. It
provides you with a number of overloads that allow you to control how the text is drawn. This is
useful especially when adding things such as legends, titles, etc.
The DrawingLevel allows you to specify the level you will draw on when
drawing multiple text items. This is very useful when you want to draw a drop shadow,
for example. You can draw the black backdrop on the lowest level with an offset, then
draw the normal text on a higher level without an offset.
This parameter specifies the text you wish to draw.
This parameter represents the font you wish to use to draw the text.
This parameter specifies the kind of fill you want to use to draw the
text.
This parameter is the upper left horizontal point in screen coordinates of where
you want to start drawing the text from.
This parameter is the upper left vertical point in screen coordinates of where
you want to start drawing the text from.
This parameter specifies the drawing level you wish to draw the text on. Higher
levels overwrite lower levels.
This method allows you to draw text at the specified location, using the
specified brush and font parameters.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass a null as the fillBrush, we will throw an ArgumentNullException.
If you pass a null as the text, we will throw an ArgumentNullException.
If you pass a null as the font, we will throw an ArgumentNullException.
If you pass a blank string in the text parameter, we will throw an ArgumentException.
This overload allows you to specify the location in world coordinates.
This method is used to draw text on the GeoCanvas at specific screen coordinates. It
provides you with a number of overloads that allow you to control how the text is drawn. This is
useful especially when adding things such as legends, titles, etc.
The DrawingLevel allows you to specify the level you will draw on when
drawing multiple text items. This is very useful when you want to draw a drop shadow,
for example. You can draw the black backdrop on the lowest level with an offset, then
draw the normal text on a higher level without an offset.
This parameter specifies the text you wish to draw.
This parameter represents the font you wish to use to draw the text.
This parameter specifies the kind of fill you want to use to draw the
text.
This parameter is the upper left horizontal point in world coordinates of where
you want to start drawing the text from.
This parameter is the upper left horizontal point in world coordinates of where
you want to start drawing the text from.
This parameter specifies the drawing level you wish to draw the text on. Higher
levels overwrite lower levels.
This method allows you to draw text at the specified location, using the
specified brush and font parameters.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass a null as the fillBrush, we will throw an ArgumentNullException.
If you pass a null as the text, we will throw an ArgumentNullException.
If you pass a null as the font, we will throw an ArgumentNullException.
If you pass a blank string in the text parameter, we will throw an ArgumentException.
This parameter specifies the text you wish to draw.
This parameter represents the font you wish to use to draw the text.
This parameter specifies the kind of fill you want to use to draw the
text.
This parameter specifies the path on which to draw the text.
This parameter specifies the drawing level you wish to draw the text on. Higher
levels overwrite lower levels.
This method allows you to draw text at the specified location, using the
specified brush and font parameters.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass a null as the fillBrush, we will throw an ArgumentNullException.
If you pass a null as the text, we will throw an ArgumentNullException.
If you pass a null as the font, we will throw an ArgumentNullException.
If you pass a blank string in the text parameter, we will throw an ArgumentException.
This parameter specifies the text you wish to draw.
This parameter represents the font you wish to use to draw the text.
This parameter specifies the kind of fill you want to use to draw the
text.
This parameter specifies the HaloPen that will be used to draw the text, when the HaloPen effect is needed.
This parameter specifies the path on which to draw the text.
This parameter specifies the drawing level you wish to draw the text on. Higher
levels overwrite lower levels.
This parameter determines the X offset for the text to be drawn.
This parameter determines the Y offset for the text to be drawn.
This parameter determines the rotation angle for the text to be drawn.
This method allows you to draw text at the specified location, using the
specified brush and font parameters.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
If you pass in a drawingLevel that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass a null as the fillBrush, we will throw an ArgumentNullException.
If you pass a null as the text, we will throw an ArgumentNullException.
If you pass a null as the font, we will throw an ArgumentNullException.
If you pass a blank string in the text parameter, we will throw an ArgumentException.
This method is used to draw text on the GeoCanvas.
The DrawingLevel allows you to specify the level you will draw on when
drawing multiple text items. This is very useful when you want to draw a drop shadow,
for example. You can draw the black backdrop on the lowest level with an offset, then
draw the normal text on a higher level without an offset.
This parameter specifies the text you wish to draw.
This parameter represents the font you wish to use to draw the text.
This parameter specifies the kind of fill you want to use to draw the text.
This parameter specifies the HaloPen that will be used to draw the text, when the HaloPen effect is needed.
This parameter specifies the path on which to draw the text.
This parameter specifies the drawing level you wish to draw the text on. Higher
levels overwrite lower levels.
This parameter determines the X offset for the text to be drawn.
This parameter determines the Y offset for the text to be drawn.
This parameter determines the rotation angle for the text to be drawn.
This method returns the rectangle that contains the specified text, when that text is drawn
with the specified font.
This method returns the rectangle that contains the specified text, when that text is drawn
with the specified font.
This method is typically used for labeling, to determine whether labels overlap.
This parameter represents the text you want to measure.
This parameter represents the font of the text you want to measure.
If you pass a null as the text, we will throw an ArgumentNullException.
If you pass a null as the font, we will throw an ArgumentNullException.
If you pass a blank string in the text parameter, we will throw an ArgumentException.
This method returns the rectangle that contains the specified text, when that text is drawn
with the specified font.
This method is typically used for labeling, to determine whether labels overlap.
This method returns the rectangle that contains the specified text, when that text is drawn
with the specified font.
This parameter represents the text you want to measure.
This parameter represents the font of the text you want to measure.
If you pass a null as the text, we will throw an ArgumentNullException.
If you pass a null as the font, we will throw an ArgumentNullException.
If you pass a blank string in the text parameter, we will throw an ArgumentException.
This method begins the act of drawing on the GeoCanvas.
This is the first method that needs to be called before any drawing takes place.
Calling this method will set the IsDrawing property to true. When you finish drawing,
you must call EndDrawing to commit the changes to the image.
This parameter represents the image you want the GeoCanvas to draw on.
This parameter is the world extent of the canvasImage.
This parameter is the map unit of the canvasImage.
This is the first method that needs to be called before any drawing takes place.
Calling this method will set the IsDrawing property to true. When you finish drawing,
you must call EndDrawing to commit the changes to the image.
This method begins the act of drawing on the GeoCanvas.
This parameter represents the image you want the GeoCanvas to draw on.
This parameter is the world extent of the canvasImage.
This parameter is the map unit of the canvasImage.
This method converts a GeoImage to a commonly-used object. In GdiPlus, this object is often a Bitmap.
This method is a BaseClass API and will be implemented and used in its sub-concrete classes.
The target geoImage to convert.
The returning object containing the same information as the passed-in geoImage.
This method converts a GeoImage to a commonly-used object. In GdiPlus, this object is often a Bitmap.
This method is a BaseClass API and will be used in its sub-concrete classes.
The target geoImage to convert.
The returning object containing the same information as the passed-in geoImage.
This method converts an oboject to a GeoImage. In GdiPlus, this object is often a Bitmap.
This method is a BaseClass API and will be implemented and used in its sub-concrete classes.
The target object to be converted.
The returning GeoImage containing the same information as the passed-in nativeImage.
This method converts an oboject to a GeoImage. In GdiPlus, this object is often a Bitmap.
This method is a BaseClass API and will be implemented and used in its sub-concrete classes.
The target object to be converted.
The returning GeoImage containing the same information as the passed-in nativeImage.
This method ends drawing and commits the drawing on the GeoCanvas.
This method should be called when you are finished drawing. It will commit the
image changes to the image you passed in on BeginDrawing. It will also set
IsDrawing to false. After you call this method it will put the GeoCanvas into an
invalid state, so if you then call any drawing methods it will raise an
exception.
This method gets the canvas width of the passed-in native image object.
This method is a BaseClass API and will be implemented and used in its sub-concrete classes.
The native image that will be used to get the image width.
The returning canvas width.
This method gets the canvas width of the passed-in native image object.
This method is a BaseClass API and will be implemented and used in its sub-concrete classes.
The native image that will be used to get the image width.
The returning canvas width.
This method gets the canvas height of the passed-in native image object.
This method is a BaseClass API and will be implemented and used in its sub-concrete classes.
The native image that will be used to get the image height.
The returning canvas height.
This method gets the canvas height of the passed-in native image object.
This method is a BaseClass API and will be implemented and used in its sub-concrete classes.
The native image will be used to get the image height.
The returning canvas height.
This method ends drawing and commits the drawing on the GeoCanvas.
This methods should be called when you are finished drawing. It will commit the
image changes to the image you passed in on BeginDrawing. It will also set
IsDrawing to false. After you call this method it will put the GeoCanvas into an
invalid state, so if you then call any drawing methods it will raise an
exception.
Get the stream from the passed-in GeoImage. This API is an abstract API and will be implemented in each concrete sub-class.
The parameter specifies the image to get the stream from.
The returning stream retrieved from the passed-in image.
This property returns the drawing quality when rendering on the GeoCanvas.
The DrawingQuality specifies whether BaseLineShapes, BasePointShapes, and
BaseAreaShapes use anti-aliasing methods or other techniques that control the quality. In
some cases you may want a higher quality rendering, and in other cases higher speed is
more desirable. It is up to the implementer of the derived GeoCanvas class to control
exactly what this setting means.
This property returns the drawing quality that will be used when rendering on the GeoCanvas.
This property returns the MapUnit passed in on the BeginDrawingAPI in the GeoCanvas.
This property gets the width of the canvas.
This property gets the width of the canvas.
This property reflects the width of the canvas image that was passed in on
BeginDrawing.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
This property gets the height of the canvas.
This property gets the height of the canvas.
This property reflects the height of the canvas image that was passed in on
BeginDrawing.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
This property gets the adjusted current extent based on what was set when
BeginDrawing was called.
The extent that gets passed in on BeginDrawing is adjusted for the height and
width of the physical media being drawn on. For example if the current extent is wider
than taller but the bitmap being drawn on is square then the current extent needs to be
adjusted. The extent will be adjusted larger so that we ensure that the entire original
extent will still be represented.
This property gets the adjusted current extent based on what was set when
BeginDrawing was called.
In the event you attempt to call this method when the GeoCanvas' IsDrawing mode is false, it will throw an InvalidOperationException.
This property indicates whether a GeoCanvas has the KeyColor or not. If it has no
KeyColor, it will throw an exception when you get or set the value of KeyColors property.
The default value is false.
Gets a value represents a collection of key colors. If HasKeyColor property is false, it will throw exception when you use KeyColors.
It will make these colors transparent when draw image.
The same reference to the parameter 'nativeImage' in BeginDrawing function.
This property gets the drawing status of the GeoCanvas.
This property gets the drawing status of the GeoCanvas.
This property is set to true when the BeginDrawing method is called, and
false after the EndDrawing method is called.
The DPI value for the final drawing result, only valid when HasDpi set to true.
This method flush drawing and commits the drawing on the GeoCanvas.
This method should be called when you are finished drawing. It will commit the
image changes to the image you passed in on BeginDrawing. It will also set
IsDrawing to false. After you call this method it will put the GeoCanvas into an
invalid state, so if you then call any drawing methods it will raise an
exception.
This method flush drawing and commits the drawing on the GeoCanvas.
This method should be called when you are finished drawing. It will commit the
image changes to the image you passed in on BeginDrawing. It will also set
IsDrawing to false. After you call this method it will put the GeoCanvas into an
invalid state, so if you then call any drawing methods it will raise an
exception.
This class represents a font that is used to label features on a
GeoCanvas.
None
This overload creates the GeoFont using its default property values.
None
This constructor creates a GeoFont to be used for labeling features on a
GeoCanvas.
This constructor creates a GeoFont to be used for labeling features on a
GeoCanvas.
This overload creates the GeoFont by specifying the font name and font
size.
None
This parameter represents the name of the font to be used.
This parameter represents the size of the font to be used.
If you pass a null or empty string as the fontName, we will throw an ArgumentNullException.
If you pass in a size value that is not greater than zero, it will throw a ArgumentOutOfRangeException.
This constructor creates a GeoFont to be used for labeling features on a
GeoCanvas.
This overload creates the GeoFont by specifying the font name, font size and font
style.
None
This parameter represents the name of the font to be used.
This parameter represents the size of the font to be used.
This parameter represents the style of the font to be used.
If you pass a null or empty string as the fontName, we will throw an ArgumentNullException.
If you pass in a size value that is not greater than zero, it will throw a ArgumentOutOfRangeException.
If you pass in a style that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This property gets the bold property of the font.
This property gets the bold property of the font.
None
This property gets the strikeout property of the font.
This property gets the strikeout property of the font.
None
This property gets the italic property of the font.
This property gets the italic property of the font.
None
This property gets the underline property of the font.
This property gets the underline property of the font.
None
This property gets the font name property of the font.
This property gets the font name property of the font.
None
If you pass a null or empty string as the FontName, we will throw an ArgumentNullException.
This property gets the font size property of the font.
This property gets the font size property of the font.
None
If you pass in a size value that is not greater than zero, it will throw a ArgumentOutOfRangeException.
This property gets the font style property of the font.
This property gets the font style property of the font.
None
If you pass in a Style that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This class represents a GeoPen, which is used to draw lines on a GeoCanvas.
None
This constructor creates a GeoPen.
This overload creates a GeoPen with its default values.
This constructor creates a GeoPen.
This overload creates a GeoPen by specifying a GeoBrush.
None
This parameter represents the brush that will be used to draw the line.
If you pass a null value as the brush, we will throw an ArgumentNullException.
This constructor creates a GeoPen.
This overload creates a GeoPen by specifying a GeoColor.
None
This parameter represents the color that will be used to draw the line.
If you pass a null value as the color, we will throw an ArgumentNullException.
This constructor creates a GeoPen.
This overload creates a GeoPen by specifying a GeoColor and a line width.
None
This parameter represents the color that will be used to draw the line.
This parameter represents the width of the line.
If you pass in a width value that is not greater than zero, it will throw a ArgumentOutOfRangeException.
This constructor creates a GeoPen.
This overload creates a GeoPen by specifying a GeoBrush and a line width.
None
This parameter represents the brush that will be used to draw the line.
This parameter represents the width of the line.
If you pass a null value as the brush, we will throw an ArgumentNullException.
If you pass in a width value that is not greater than zero, it will throw a ArgumentOutOfRangeException.
This method allows you to set the start, end and dash caps at one time.
None
This parameter specifies the start cap to be used.
This parameter specifies the end cap to be used.
This parameter specifies the dash cap to be used.
If you pass in a startCap that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a endCap that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a dashCap that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This property gets and sets the brush for this GeoPen.
This property gets the brush for this GeoPen.
None
If you pass a null value as the brush, we will throw an ArgumentNullException.
This property gets and sets the GeoColor for this GeoPen.
This property gets the GeoColor for this GeoPen.
This property gets and sets the dash cap for this GeoPen.
This property gets the dash cap for this GeoPen.
None
If you pass in a DashCap that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This property gets the dash pattern for this GeoPen.
This property gets the dash pattern for this GeoPen.
Assigning a value other than null (Nothing in Visual Basic) to this property will set the DashStyle property for this GeoPen to Custom.
The elements in the dashArray array set the length of each dash and space in the dash pattern. The first element sets the length of a dash, the second element sets the length of a space, the third element sets the length of a dash, and so on.
The length of each dash and space in the dash pattern is the product of the element value in the array and the width of the GeoPen.
If you pass a null value as the DashPattern, we will throw an ArgumentNullException.
This property gets and sets the dash style for this GeoPen.
This property gets the dash style for this GeoPen.
None
If you pass in a DashStyle that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This property gets and sets the end cap for this GeoPen.
This property gets the end cap for this GeoPen.
None
If you pass in a EndCap that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This property gets and sets the line join for this GeoPen.
This property gets the line join for this GeoPen.
None
If you pass in a LineJoin that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This property gets and sets the miter limit for this GeoPen.
This property gets set the miter limit for this GeoPen.
None
This property gets and sets the start cap for this GeoPen.
This property gets the start cap for this GeoPen.
None
If you pass in a StartCap that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This property gets and sets the width for this GeoPen.
This property gets the width for this GeoPen.
None
If you pass in a width value that is not greater than zero, it will throw a ArgumentOutOfRangeException.
The id of the GeoBrush. This is always used as a key when in the cached brushes.
Create a copy of GeoPen using the deep clone process.
A cloned GeoPen.
The difference between deep clone and shallow clone is as follows: In shallow cloning,
only the object is copied; the objects within it are not. By contrast, deep cloning
copies the cloned object as well as all the objects within.
Create a copy of GeoPen using the deep clone process. The default implementation uses serialization.
A cloned GeoPen.
The difference between deep clone and shallow clone is as follows: In shallow cloning,
only the object is copied; the objects within it are not. By contrast, deep cloning
copies the cloned object as well as all the objects within.
This enumeration specifies the type of font style for drawing text.
None
This member represents standard text.
This member represents bold text.
This member represents italic text.
This member represents underlined text.
This member represents strikeout text.
This enumeration represents the graphics unit.
None
This represents pixels.
This represents inches.
This enumeration represents the drawing level used in the GeoCanvas.
This enumeration is used to control the drawing level. If you draw an item on the first
level and another item on the second level, the second level item will occlude the first. In this way,
you can layer various drawing symbols to get unique effects. For example, you can create
a road by first drawing a wide black line on level one, followed by a thinner white line on
level two. The white line will draw on top of the black line and create the illusion
of an outlined road. Adding a centered dashed line on level three will create a
centerline.
The first drawing level.
The second drawing level.
The third drawing level.
The fourth drawing level.
The level for label drawing
This enumeration represents the available cap styles with which a GeoPen
object can end a line.
None
This member specifies a round line cap.
This member specifies a mask used to check whether a line cap is an anchor
cap.
This member specifies an arrow-shaped anchor cap.
This member specifies a custom line cap.
This member specifies a diamond anchor cap.
This member specifies a flat line cap.
This member specifies no anchor.
This member specifies a round anchor cap.
This member specifies a square line cap.
This member specifies a square anchor line cap.
This member specifies a triangular line cap.
None
This enumeration specifies how to join consecutive line or curve
segments.
Specifies a beveled join. This produces a diagonal corner.
Specifies a mitered join. This produces a sharp corner or a clipped corner,
depending on whether the length of the miter exceeds the miter limit.
Specifies a mitered join. This produces a sharp corner or a beveled corner,
depending on whether the length of the miter exceeds the miter limit.
Specifies a circular join. This produces a smooth, circular arc between the
lines.
Specifies the alignment of a GeoPen object in relation to the theoretical,
zero-width line.
None
Specifies that the GeoPen object is centered over the theoretical line.
Specifies that the GeoPen is positioned on the inside of the theoretical
line.
Specifies the GeoPen is positioned to the left of the theoretical line.
Specifies the GeoPen is positioned on the outside of the theoretical line.
Specifies the GeoPen is positioned to the right of the theoretical line.
This enumeration specifies the drawing quality of the GeoCanvas.
This enumeration does not specifically utilize high speed or high quality
drawing. Those factors are determined by the implementor of the GeoCanvas. Each GeoCanvas can
accomplish these various items in different ways.
The default drawing quality, balanced between speed and quality.
The high quality (but low speed) drawing quality.
The low quality (but high speed) drawing quality.
This option indicates that you will change the settings directly on the
canvas.
Provides a collection of predefined GeoBrushes
This structure represents a color for drawing on a GeoCanvas.
This constructor creates a new color.
This constructor allows you to specify the red, green, and blue component.
None
If you pass in a red value which is not between 0 and 255, it will throw a ArgumentOutOfRangeException.
If you pass in a green value which is not between 0 and 255, it will throw a ArgumentOutOfRangeException.
If you pass in a blue value which is not between 0 and 255, it will throw a ArgumentOutOfRangeException.
This parameter specifies the red component of the color.
This parameter specifies the green component of the color.
This parameter specifies the blue component of the color.
This constructor creates a new color.
This constructor allows you to specify the red, green, blue, and alpha
component.
None
If you pass in a red value which is not between 0 and 255, it will throw a ArgumentOutOfRangeException.
If you pass in a blue value which is not between 0 and 255, it will throw a ArgumentOutOfRangeException.
If you pass in a green value which is not between 0 and 255, it will throw a ArgumentOutOfRangeException.
If you pass in a alpha value which is not between 0 and 255, it will throw a ArgumentOutOfRangeException.
This parameter specifies the alpha, or transparent, component of the
color.
This parameter specifies the red component of the color.
This parameter specifies the green component of the color.
This parameter specifies the blue component of the color.
This overload creates a transparent version of another color.
This constructor creates a new color.
None
You can use this overload to create a transparent version of another
color.
This parameter specifies the alpha component. An alpha of 0 is totally
transparent.
This parameter specifies the base color.
Verify if the GeoColor is transparent, it is considered to be transparent if the Alpha Value is 0.
This property returns the alpha component of the GeoColor.
This property returns the alpha component of the GeoColor.
None
This property returns the red component of the GeoColor.
This property returns the red component of the GeoColor.
None
This property returns the green component of the GeoColor.
This property returns the green component of the GeoColor.
None
This property returns the blue component of the GeoColor.
This property returns the blue component of the GeoColor.
None
This property returns the hue component of the GeoColor.
This property returns the hue component of the GeoColor.
None
This property returns the saturation component of the GeoColor.
This property returns the saturation component of the GeoColor.
None
This property returns the luminance component of the GeoColor.
This property returns the luminance component of the GeoColor.
None
This method returns a list of commonly-used predefined geographic colors.
This method returns a list of commonly-used predefined geographic colors.
You can use these as colors to represent many different types of geographic
features.
This method returns a list of commonly-used predefined colors.
This method returns a list of commonly-used predefined colors.
None
This method returns a list of simple predefined colors.
This method returns a list of simple predefined colors.
None
This method returns a collection of GeoColors based on the same hue that is
passed in.
This method is useful when you want to get a number of colors that have the same
hue. For example, you can use this in maps that represent class breaks. If you passed in a red hue,
then the method would return variations such as light red, dark red, pastel red, etc.
This method returns a collection of GeoColors based on the same hue that is
passed in.
This parameter is the color on which you want to base the color collection.
This parameter represents the number of colors you want returned from the
method.
If you pass in a numberOfColors value that is not between 1 and 255, it will throw a ArgumentOutOfRangeException.
This method returns a collection of GeoColors based on the same quality (luminosity and saturation) that is
passed in.
This method returns a collection of GeoColors based on the same quality (luminosity and saturation) that is
passed in.
This method is useful when you want to get a number of different colors that have the same
quality. For example, you can use this in maps that represent countries or connected places. If you
passed in bright red, then the method would return variants such as bright blue, bright green,
etc. If you passed in dark red, you would get dark blue, dark green, etc.
This parameter is the color on which you want to base the color collection.
This parameter represents the number of colors you want returned from the
method.
If you pass in a numberOfColors value that is not between 1 and 255, it will throw a ArgumentOutOfRangeException.
This method returns a GeoColor based on the Alpha, Red, Green, and Blue
components.
This method returns a GeoColor based on the Alpha, Red, Green, and Blue
components.
None
If you pass in a alpha value which is not between 0 and 255, it will throw a ArgumentOutOfRangeException.
If you pass in a red value which is not between 0 and 255, it will throw a ArgumentOutOfRangeException.
If you pass in a green value which is not between 0 and 255, it will throw a ArgumentOutOfRangeException.
If you pass in a blue value which is not between 0 and 255, it will throw a ArgumentOutOfRangeException.
This overload lets you specify each component.
This parameter specifies the alpha, or transparent, component of the
color.
This parameter specifies the red component of the color.
This parameter specifies the green component of the color.
This parameter specifies the blue component of the color.
This method returns a GeoColor based on the Alpha, Red, Green, and Blue
components.
This method creates a transparent version of another color.
You can use this overload to create a transparent version of another
color.
This parameter determines how transparent the color is. An alpha of 0 means it is
totally transparent.
This parameter is the color you want to apply the transparency to.
This parameter specifies the red component of the color. This method returns a
GeoColor based on the Alpha, Hue, Saturation, and Luminosity components.
None
This parameter specifies the alpha, or transparent, component of the
color.
This parameter specifies the hue component of the color.
This parameter specifies the saturation component of the color.
This parameter specifies the luminance component of the color.
If you pass in a alpha value which is not between 0 and 255, it will throw a ArgumentOutOfRangeException.
If you pass in a hue value which is not between 0 and 360, it will throw a ArgumentOutOfRangeException.
If you pass in a saturation value which is not between 0 and 100, it will throw a ArgumentOutOfRangeException.
If you pass in a luminance value which is not between 0 and 100, it will throw a ArgumentOutOfRangeException.
This method returns a GeoColor from an OLE color.
This method returns a GeoColor from an OLE color.
None
This parameter represents the OLE color you want to convert.
This method returns a GeoColor from an HTML color (either in hexadecimal or a named color).
This method returns a GeoColor from an HTML color (either in hexadecimal or a named color).
None
This parameter represents the HTML color that you want to convert.
If you pass in a htmlColor value which is not valid, it will throw a ArgumentOutOfRangeException.
Creates a random GeoColor structure based on the specific
ColorType
Creates a GeoColor structure with random color
A ColorType defines types of color.
A GeoColor structure the method created.
Creates a random GeoColor structure
Creates a GeoColor structure with random color
A GeoColor structure the method created.
The alpha component. Valid values are 0 through
255.
A ColorType defines types of color.
This method returns a GeoColor from a Win32 color.
This method returns a GeoColor from a Win32 color.
None
This parameter represents the Win32 color you want to convert.
This method returns an OLE color from a GeoColor.
None
This method returns an OLE color from a GeoColor.
This parameter represents the GeoColor you want to convert.
If you pass a null as the drawingColor, we will throw an ArgumentNullException.
None
This method returns an HTML color from a GeoColor.
This method returns an HTML color from a GeoColor.
This parameter represents the GeoColor you want to convert.
If you pass a null as the drawingColor, we will throw an ArgumentNullException.
None
This method returns a Win32 color from a GeoColor.
This method returns a Win32 color from a GeoColor.
This parameter represents the GeoColor you want to convert.
If you pass a null as the drawingColor, we will throw an ArgumentNullException.
This method is an override of the == functionality.
None
This method returns the equality of the two instances.
This parameter represents the first GeoColor to compare.
This parameter represents the second GeoColor to compare.
If you pass a null as the targetGeoColor, we will throw an ArgumentNullException.
If you pass a null as the sourceGeoColor, we will throw an ArgumentNullException.
This method is an override of the != functionality.
None
This method returns the inequality of the two instances.
This parameter represents the first GeoColor to compare.
This parameter represents the second GeoColor to compare.
If you pass a null as the targetGeoColor, we will throw an ArgumentNullException.
If you pass a null as the sourceGeoColor, we will throw an ArgumentNullException.
This method is an override of the Equals functionality.
This method returns the Equals functionality.
None
This parameter is the object you want to check to see if it is equal to the current
instance.
If you pass a null as the obj, we will throw an ArgumentNullException.
This method is an override of the GetHashCode functionality.
This method returns the hash code.
None
This class is a collection of predefined colors
None
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
None
This property returns a DarkYellow GeoColor.
This property returns a DarkYellow GeoColor.
None
This property returns a LightRed GeoColor.
This property returns a LightRed GeoColor.
None
This property returns a transparent GeoColor.
This property returns a transparent GeoColor.
None
This property returns a PaleRed GeoColor.
This property returns a PaleRed GeoColor.
None
This property returns a PaleBlue GeoColor.
This property returns a PaleBlue GeoColor.
None
This property returns a PaleYellow GeoColor.
This property returns a PaleYellow GeoColor.
None
This property returns a PaleOrange GeoColor.
This property returns a PaleOrange GeoColor.
None
This property returns a BrightRed GeoColor.
This property returns a BrightRed GeoColor.
None
This property returns a BrightBlue GeoColor.
This property returns a BrightBlue GeoColor.
None
This property returns a BrightYellow GeoColor.
This property returns a BrightYellow GeoColor.
None
This property returns a BrightGreen GeoColor.
This property returns a BrightGreen GeoColor.
None
This property returns a BrightOrange GeoColor.
This property returns a BrightOrange GeoColor.
None
This property returns a PastelRed GeoColor.
This property returns a PastelRed GeoColor.
None
This property returns a PastelBlue GeoColor.
This property returns a PastelBlue GeoColor.
None
This property returns a PastelYellow GeoColor.
This property returns a PastelYellow GeoColor.
None
This property returns a PastelGreen GeoColor.
This property returns a PastelGreen GeoColor.
None
This property returns a PastelOrange GeoColor.
This property returns a PastelOrange GeoColor.
None
This property returns a Copper GeoColor.
This property returns a Copper GeoColor.
This enumeration represents the type of graphic shape to use on both ends of
each dash in a dashed line.
None
Specifies a square cap that squares off both ends of each dash.
Specifies a circular cap that rounds off both ends of each dash.
Specifies a triangular cap that points both ends of each dash.
This class is a convenient way to access a predefined set of geographic
colors.
None
This property returns a Sand GeoColor.
None
This property returns a Sand GeoColor.
This property returns a Grass GeoColor.
None
This property returns a Grass GeoColor.
This property returns a Dirt GeoColor.
None
This property returns a Dirt GeoColor.
This property returns a Mountains GeoColor.
None
This property returns a Mountains GeoColor.
This property returns a Lake GeoColor.
None
This property returns a Lake GeoColor.
This property returns a DeepOcean GeoColor.
None
This property returns a DeepOcean GeoColor.
This property returns a ShallowOcean GeoColor.
None
This property returns a ShallowOcean GeoColor.
This property returns a Tundra GeoColor.
None
This property returns a Tundra GeoColor.
This property returns a Forest GeoColor.
None
This property returns a Forest GeoColor.
This property returns a Ice GeoColor.
None
This property returns a Ice GeoColor.
This property returns a Swamp GeoColor.
None
This property returns a Swamp GeoColor.
This property returns a Road GeoColor.
None
This property returns a Road GeoColor.
This property returns a Highway GeoColor.
None
This property returns a Highway GeoColor.
This property returns a Interstate GeoColor.
None
This property returns a Interstate GeoColor.
This property returns a LocalRoad GeoColor.
None
This property returns a LocalRoad GeoColor.
This property returns a MajorRoad GeoColor.
None
This property returns a MajorRoad GeoColor.
This class represents a brush that fills with various patterns.
This class represents a brush that fills with various patterns.
This is the constructor for the class.
This constructor allows you to provide a foreground color for the pattern
fill.
None
You will use this constructor when you want to only specify the foreground color
of the pattern and leave the background transparent.
This property is the hatch pattern you want to use to fill the area.
This property is the foreground color you want to use for the pattern.
This is the constructor for the class.
This constructor allows you to provide a foreground and background color for the
pattern fill.
None
This constructor allows you to choose both the background and foreground color
for the pattern.
This property is the hatch pattern you want to use to fill the area.
This property is the foreground color you want to use for the pattern.
This property is the background color you want to use for the pattern.
This property gets and sets the pattern you want to use for the fill.
This property gets the pattern you want to use for the fill.
None
This property gets and sets the foreground color for the fill pattern.
This property gets the foreground color for the fill pattern.
In this case the background color will be transparent.
This property gets and sets the background color for the fill pattern.
In this case the foreground color will be transparent.
This property gets the background color for the fill pattern.
This enumeration defines the various kinds of hatch patterns that can be used to
fill areas using the GeoHatchBrush.
A Horizontal pattern fill.
A Vertical pattern fill.
A Forward Diagonal pattern fill.
A Backward Diagonal pattern fill.
A Large Grid pattern fill.
A Diagonal Cross pattern fill.
A 05 Percent pattern fill.
A 10 Percent pattern fill.
A 20 Percent pattern fill.
A 25 Percent pattern fill.
A 30 Percent pattern fill.
A 40 Percent pattern fill.
A 50 Percent pattern fill.
A 60 Percent pattern fill.
A 70 Percent pattern fill.
A 75 Percent pattern fill.
A 80 Percent pattern fill.
A 90 Percent pattern fill.
A Light Downward Diagonal pattern fill.
A Light Upward Diagonal pattern fill.
A Dark Downward Diagonal pattern fill.
A Dark Upward Diagonal pattern fill.
A Wide Downward Diagonal pattern fill.
A Wide Upward Diagonal pattern fill.
A Light Vertical pattern fill.
A Light Horizontal pattern fill.
A Narrow Vertical pattern fill.
A Narrow Horizontal pattern fill.
A Dark Vertical pattern fill.
A Dark Horizontal pattern fill.
A Dashed Downward Diagonal pattern fill.
A Dashed Upward Diagonal pattern fill.
A Dashed Horizontal pattern fill.
A Dashed Vertical pattern fill.
A Small Confetti pattern fill.
A Large Confetti pattern fill.
A Zig Zag pattern fill.
A Wave pattern fill.
A Diagonal Brick pattern fill.
A Horizontal Brick pattern fill.
A Weave pattern fill.
A Plaid pattern fill.
A Divot pattern fill.
A Dotted Grid pattern fill.
A Dotted Diamond pattern fill.
A Shingle pattern fill.
A Trellis pattern fill.
A Sphere pattern fill.
A Small Grid pattern fill.
A Small Checker Board pattern fill.
A Large Checker Board pattern fill.
A Outlined Diamond pattern fill.
A Solid Diamond pattern fill.
A Min pattern fill.
A Max pattern fill.
A Cross pattern fill.
Encapsulates a GeoBrush with a linear gradient.
This class encapsulates both two-color gradients and custom multicolor
gradients.
All linear gradients are defined along a line specified either by the width
of a rectangle or by two points.
By default, a two-color linear gradient is an even horizontal linear blend
from the starting color to the ending color along the specified line.
Create a new instance of the GeoLinearGradientBrush with default settings.
Create an instance of GeoLinearGradientBrush by passing a gradient start color and
gradient end color followed by the gradient direction enum.
This parameter specifies the starting GeoColor of the
GeoLinearGradientBrush.
This parameter specifies the endding GeoColor of the
GeoLinearGradientBrush.
This parameter specifies the GeoLinearGradientDirection
enumeration of the GeoLinearGradientBrush.
Create an instance of GeoLinearGradientBrush by passing a gradient start color and
gradient end color followed by the gradient direction angle.
This parameter specifies the starting GeoColor of the
GeoLinearGradientBrush.
This parameter specifies the endding GeoColor of the
GeoLinearGradientBrush.
This parameter specifies the direction angle value of the
GeoLinearGradientBrush.
Gets or sets the starting GeoColor of the gradient.
Gets or sets the ending GeoColor of the gradient.
Gets or sets the Direction angle of the
GeoLinearGradientBrush.
Gets or sets a GeoWrapMode enumeration that indicates the wrap
mode for the GeoLinearGradientBrush.
Specifies the direction of a linear gradient.
Specifies the color should change in a horizontal direction from the left of the
display to the right of the display.
Specifies the color should change in a horizontal direction from the right of the
display to the left of the display.
Specifies the color should change in a horizontal direction from the top of the
display to the bottom of the display.
Specifies the color should change in a horizontal direction from the bottom of the
display to the top of the display.
Specifies the color should change in a horizontal direction from the upper left of
the display to the lower right of the display.
Specifies the color should change in a horizontal direction from the lower right of
the display to the upper leftof the display.
Specifies the color should change in a horizontal direction from the lower left of
the display to the upper right of the display.
Specifies the color should change in a horizontal direction from the upper right of
the display to the lower left of the display.
Provides a collection of predefined GeoPens
This class defines a GeoBrush of a single color. Brushes are used to fill
area shapes on a GeoCanvas.
None
This is the constructor used to create a new GeoSolidBrush.
This constructor creates a GeoSolidBrush in the color black.
None
This is the constructor used to create a new GeoSolidBrush.
This constructor creates a GeoSolidBrush by passing in a GeoColor.
None
This parameter represent the color of the GeoSolidBrush.
This property gets or sets the color of the GeoSolidBrush.
This property gets the color of the GeoSolidBrush.
None
This class is used to fill an area with a image texture.
This class is used to fill an area with a image texture. For example, you may have
a small bitmap that looks like marble, which you can then use to fill in an area
feature.
This is a constructor for the class.
This overload allows you to pass in the image for the texture.
None
You will use this constructor when you want to use the Tile wrap mode and you
want the image fill to encompass the entire shape.
This parameter is the image you want to use as the texture.
This is a constructor for the class.
This constructor allows you to pass in the image as well as a screen rectangle that
determines how much of the area is filled.
None
This method allows you to pass in a rectangle in screen coordinates to determine
how much of the area is textured.
This parameter is the image you want to use as the texture.
This parameter is a rectangle (in screen coordinates) that specifies the area you want
to use for the texture.
This is a constructor for the class.
This constructor allows you to pass in the image and the wrap mode.
None
None
This parameter is the image you want to use as the texture.
This parameter determines the way the texture wraps when the area to fill is
larger than the texture.
This is a constructor for the class.
This constructor allows you to pass in the image as well as a screen rectangle that
determines how much of the area is filled along with the wrap mode.
None
None
This parameter is the image you want to use as the texture.
This parameter determines the way the texture wraps when the area to fill is
larger than the texture.
This parameter is a rectangle (in screen coordinates) that specifies the area you want
to use for the texture.
This property gets and sets the GeoImage used for the texture fill.
This property gets the GeoImage used for the texture fill.
None
This property gets and sets the screen rectangle used to fill the texture.
This property gets the screen rectangle used to fill the texture.
None
This property gets and sets the wrap mode that is used to determine how an area
is filled if the area is larger than the texture.
This property gets the wrap mode that is used to determine how an area is filled
if the area is larger than the texture.
This property gets and sets the wrap mode that is used to determine how an area
is filled if the area is larger than the texture.
This enumeration determines how a texture is filled in with a GeoTextureBrush when the
area to be filled is larger than the texture.
This will allow you to achieve a number of different effects. We suggest you try
them out with your own textures and see which one looks best for your image.
The texture is tiled to fill the entire area.
The texture will not be tiled.
Reverse the texture horizontally and then tile the texture.
Reverse the texture vertically and then tile the texture.
Reverse the texture horizontally and vertically and then tile the texture.
This enumeration specifies the style of dashed lines drawn with a GeoPen
object.
None
Specifies a solid line.
Specifies a user-defined custom dash style.
Specifies a line consisting of a repeating pattern of dash-dot.
Specifies a line consisting of a repeating pattern of dash-dot-dot.
Specifies a line consisting of dots.
Specifies a line consisting of dashes.
This enumeration determines whether the brush or the pen draws first.
This controls if the outline pen or the fill brush will draw first. The
difference in drawing is subtle, but noticeable. If you draw the outline first and then the brush, the
brush fill will slightly bleed into the outline and make the outline appear thinner. If you draw
the brush first, then the pen will display its normal outline width.
The fill brush will draw first.
The outline pen will draw first.
Defines values represent which kind of color will use for randomly.
This item represents all random color.
This item represents pastel color.
This item represents bright color.
Default mode used in MapSuite component.
This item means the exception will be throw out and the rest of drawing will be terminated.
This item means that we will catch the exception and draw it to show error happens, while the user
cannot catch it any more.
This class is a convenient way to access a predefined set of simple
colors.
None
This property returns a Transparent GeoColor.
None
This property returns a Transparent GeoColor.
None
This property returns a Black GeoColor.
This property returns a Black GeoColor.
None
This property returns a Red GeoColor.
This property returns a Red GeoColor.
None
This property returns a Blue GeoColor.
This property returns a Blue GeoColor.
None
This property returns a Yellow GeoColor.
This property returns a Yellow GeoColor.
None
This property returns a Green GeoColor.
This property returns a Green GeoColor.
None
This property returns a Orange GeoColor.
This property returns a Orange GeoColor.
None
This property returns a DarkRed GeoColor.
This property returns a DarkRed GeoColor.
None
This property returns a DarkBlue GeoColor.
This property returns a DarkBlue GeoColor.
None
This property returns a DarkYellow GeoColor.
This property returns a DarkYellow GeoColor.
None
This property returns a DarkGreen GeoColor.
This property returns a DarkGreen GeoColor.
None
This property returns a DarkOrange GeoColor.
This property returns a DarkOrange GeoColor.
None
This property returns a LightRed GeoColor.
This property returns a LightRed GeoColor.
None
This property returns a LightBlue GeoColor.
This property returns a LightBlue GeoColor.
None
This property returns a LightYellow GeoColor.
This property returns a LightYellow GeoColor.
None
This property returns a LightGreen GeoColor.
This property returns a LightGreen GeoColor.
None
This property returns a transparent GeoColor.
This property returns a transparent GeoColor.
None
This property returns a PaleRed GeoColor.
This property returns a PaleRed GeoColor.
None
This property returns a PaleBlue GeoColor.
This property returns a PaleBlue GeoColor.
None
This property returns a PaleYellow GeoColor.
This property returns a PaleYellow GeoColor.
None
This property returns a PaleGreen GeoColor.
This property returns a PaleGreen GeoColor.
None
This property returns a PaleOrange GeoColor.
This property returns a PaleOrange GeoColor.
None
This property returns a BrightRed GeoColor.
This property returns a BrightRed GeoColor.
None
This property returns a BrightBlue GeoColor.
This property returns a BrightBlue GeoColor.
None
This property returns a BrightYellow GeoColor.
This property returns a BrightYellow GeoColor.
None
This property returns a BrightGreen GeoColor.
This property returns a BrightGreen GeoColor.
None
This property returns a BrightOrange GeoColor.
This property returns a BrightOrange GeoColor.
None
This property returns a PastelRed GeoColor.
This property returns a PastelRed GeoColor.
None
This property returns a PastelBlue GeoColor.
This property returns a PastelBlue GeoColor.
None
This property returns a PastelYellow GeoColor.
This property returns a PastelYellow GeoColor.
None
This property returns a PastelGreen GeoColor.
This property returns a PastelGreen GeoColor.
None
This property returns a PastelOrange GeoColor.
This property returns a PastelOrange GeoColor.
None
This property returns a Silver GeoColor.
This property returns a Silver GeoColor.
None
This property returns a Gold GeoColor.
This property returns a Gold GeoColor.
None
This property returns a Copper GeoColor.
This property returns a Copper GeoColor.
None
This property returns a White GeoColor.
This property returns a White GeoColor.
This class is a convenient way to access a predefined set of standard
colors.
None
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
This property gets the color based on the GDI+ version of the color.
This property gets the color based on the GDI+ version of the color.
This property exposes the colors that ship with GDI+.
Unique class for compression/decompression file. Represents a Zip file.
Compression method enumeration
Uncompressed storage
Deflate compression method
Represents an entry in Zip file directory
Compression method
Full path and filename as stored in Zip
Original file size
Compressed file size
Offset of header information inside Zip storage
Offset of file inside Zip storage
Size of header information
32-bit checksum of entire file
Last modification time of file
User comment for file
True if UTF8 encoding for filename and comments, false if default (CP 437)
Overriden method
Filename in Zip
True if UTF8 encoding for filename and comments, false if default (CP 437)
Force deflate algotithm even if it inflates the stored file. Off by default.
Method to create a new storage file
Full path of Zip file to create
General comment for Zip file
A valid ZipStorer object
Method to create a new zip storage in a stream
A valid ZipStorer object
Method to open an existing storage file
Full path of Zip file to open
File access mode as used in FileStream constructor
A valid ZipStorer object
Method to open an existing storage from stream
Already opened stream with zip contents
File access mode for stream operations
A valid ZipStorer object
Add full contents of a file into the Zip storage
Compression method
Full path of file to add to Zip storage
Filename and path as desired in Zip directory
Comment for stored file
Add full contents of a stream into the Zip storage
Compression method
Filename and path as desired in Zip directory
Stream object containing the data to store in Zip
Modification time of the data to store
Comment for stored file
Updates central directory (if pertinent) and close the Zip storage
This is a required step, unless automatic dispose is used
Read all the file records in the central directory
List of all entries in directory
Copy the contents of a stored file into a physical file
Entry information of file to extract
Name of file to store uncompressed data
True if success, false if not.
Unique compression methods are Store and Deflate
Copy the contents of a stored file into an opened stream
Entry information of file to extract
Stream to store the uncompressed data
True if success, false if not.
Unique compression methods are Store and Deflate
Removes one of many files in storage. It creates a new Zip file.
Reference to the current Zip object
List of Entries to remove from storage
True if success, false if not
This method only works for storage of type FileStream
Closes the Zip file stream
This class is a collection with some methods specialized for dealing with Layers
and other spatial classes.
We have added some helpful methods like MoveUp, MoveDown, etc. These help when you
are manipulating Layers.
This parameter is the item you want a collection of.
This is the default constructor for the class.
None
None
This property gets and sets the object.
This property gets the object.
None
This method returns a collection of the keys in the collection.
This method returns a collection of the keys in the collection.
None
This method adds an item to the collection by specifying the item and a
key.
None
None
This parameter is the key to find the item.
This parameter is the item you want added to the collection.
This method adds an item to the collection.
None
This method adds an item to the collection, and the item's key will be a random GUID.
This parameter is the item you want added to the collection.
Inserts an element into the System.Collections.ObjectModel.Collection<T> at
the specified index.
index is less than zero. -or- index is greater than System.Collections.ObjectModel.Collection<T>.Count.
The zero-based index at which item should be inserted.
The object to insert. The value can be null for reference types.
Inserts an element into the System.Collections.ObjectModel.Collection<T> at
the specified index and key.
index is less than zero. -or- index is greater than System.Collections.ObjectModel.Collection<T>.Count.
The zero-based index at which item should be inserted.
The key to find the item.
The object to insert. The value can be null for reference types.
This method removes an item from the collection based on the specified key.
None
None
This parameter is the key of the item you want to remove.
This method removes an item from the collection based on the specified index.
None
None
This parameter is the index of the item you want to remove.
This method moves an item up in the collection.
None
None
This parameter is the index of the item in the collection.
This method moves an item up in the collection.
None
None
This parameter is the key of the item in the collection.
This method moves an item up in the collection.
None
None
This parameter is the item you want to move up in the collection.
None
None
This method moves an item down in the collection.
This parameter is the index of the item in the collection.
None
None
This method moves an item down in the collection.
This parameter is the key of the item in the dictionary.
None
None
This method moves an item down in the collection.
This parameter is the item you want to move down in the dictionary.
This method moves the item at the specified index to the top of the collection.
None
This method moves the item at the specified index to the top of the collection.
This parameter is the index of the item you want move to the top of the collection.
This method moves the item with the specified key to the top of the collection.
None
This method moves the item with the specified key to the top of the collection.
This parameter is the key of the item you want move to the top of the collection.
This method moves the item specified to the top of the collection.
None
This method moves the item specified to the top of the collection.
This parameter is the item you want move to the top of the collection.
This method moves the item at the specified index to the bottom of the collection.
None
This method moves the item at the specified index to the bottom of the collection.
This parameter is the index of the item you want move to the bottom of the collection.
This method moves the item with the specified key to the bottom of the collection.
None
This method moves the item with the specified key to the bottom of the collection.
This parameter is the key of the item you want move to the bottom of the collection.
This method moves the item specified key to the bottom of the collection.
None
This method moves the item specified key to the bottom of the collection.
This parameter is the item you want move to the bottom of the collection.
This method moves the item at fromIndex to the location of toIndex in the collection.
None
This method moves the item at fromIndex to the location of toIndex in the collection.
This parameter is the index of the item you want move from in the collection.
This parameter is the target index that you want to move the item to in the collection.
This method moves the item with the key you specified to the location of toIndex in the collection.
None
This method moves the item with the key you specified to the location of toIndex in the collection.
This parameter is the key of item you want to move in the collection.
This parameter is the target index that you want to move the item to in the collection.
This method moves the item you specified to the location of toIndex in the collection.
None
This method moves the item you specified to the location of toIndex in the collection.
This parameter is the item you want to move in the collection.
This parameter is the target index that you want to move the item to in the collection.
This method returns whether an item is in the collection based on the specified key.
This method returns whether an item is in the collection based on the specified key.
None
This parameter is the key of the item you are searching for.
This method clears the items from the collection.
None
None
This method allows you to set an item based on the index.
None
None
This parameter is the index of the item you want to set.
This parameter is the item you want to set.
Units describing the way geographies are stored in a data source.
The geography unit defines how your map data is stored. More specifically, it
describes what the change in X and Y mean in relationship to the data itself. For
example, if your data is stored in a geographic unit of feet, an increase of one
on the x-axis means that you've moved one foot in the X direction. Nearly all map data is
stored using three simple units, which are decimal degrees, feet, and meters. It is
important to note that this has very little to do with the projection that the data is
in.
Unknown
Decimal Degrees
Feet
Meters
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.
Looks up a localized string similar to The add transaction failed for an unknown reason..
Looks up a localized string similar to You can provide a path and file name to an icon or an image but not both..
Looks up a localized string similar to The CAD unmanaged assemblies cannot be found..
Looks up a localized string similar to The cellHeight needs to be greater than zero..
Looks up a localized string similar to The cellWidth needs to be greater than zero..
Looks up a localized string similar to You can not CloneDeep because the object is open or drawing, please close or end drawing first..
Looks up a localized string similar to The Layer must be opened before you can perform this method..
Looks up a localized string similar to The current extent provided is not valid..
Looks up a localized string similar to The ClassBreak Number should be greater than one..
Looks up a localized string similar to The class breaks you have provided are invalid..
Looks up a localized string similar to The color you have provided does not exist..
Looks up a localized string similar to The parameter column exceeds the total column count..
Looks up a localized string similar to The ImageSource is already open..
Looks up a localized string similar to The connection string can not be null..
Looks up a localized string similar to The specified value can not be converted this type..
Looks up a localized string similar to The creation of the shape file has failed..
Looks up a localized string similar to The CurrentExtent property must be set before calling this method. If you want to use a custom extent, please use the static method.
Looks up a localized string similar to You already choose resize the image by custom size, please set the custom width and height..
Looks up a localized string similar to The supported datetime should be between 1900 and 2015.
Looks up a localized string similar to The DbfColumns collection is empty, you should add at least one DbfColumn when you create a new shape file..
Looks up a localized string similar to The decimal degree latitude value you provided was out of range..
Looks up a localized string similar to The decimal degree longitude value you provided was out of range..
Looks up a localized string similar to The degreesMinutesSeconds string may not be null or empty..
Looks up a localized string similar to DecimalLength is Invalid(it should be 0) for StringColumnType, it only make sense for DoubleColumnType..
Looks up a localized string similar to You are trying to use both a default style and the custom styles collection. You may only use one or the other..
Looks up a localized string similar to You are trying to use both a default style and the custom styles collection. If you want to add custom styles, please set RestrictionStyle as RestrictionStyle.UseCustomStyles..
Looks up a localized string similar to The DegreesMinutesSeconds value is invalid..
Looks up a localized string similar to The delete transaction failed for an unknown reason..
Looks up a localized string similar to The value of double cannot be NaN or Infinity..
Looks up a localized string similar to The input double value is out of range..
Looks up a localized string similar to You have set IsEditable to true but have not overridden the CommitTransactionCore method. Please override this the CommitTransactionCore method to prevent this exception..
Looks up a localized string similar to The ellipse is not valid..
Looks up a localized string similar to The calling assembly is invalid..
Looks up a localized string similar to The value for the enumeration is not one of the valid values..
Looks up a localized string similar to The passed extent needs to intersect with the bounding box of the gid..
Looks up a localized string similar to The ExternalProjectionParametersString of the projection must be the projection string of Wgs84 or "EPSG:4326"..
Looks up a localized string similar to The collection of Features may not be empty..
Looks up a localized string similar to The feature column values should be entered as string[] {"Key1:Value1", "Key2:Value2"}.
Looks up a localized string similar to The feature is invalid in in this style..
Looks up a localized string similar to The Feature you provided is not valid..
Looks up a localized string similar to Executing sql queries is not supported and the user should always check the CanExecuteSqlQueries to ensure the FeatureSource support it before calling..
Looks up a localized string similar to The FeatureSource column structure can not be modified. Please check the 'CanModifyColumnStructure' property at first..
Looks up a localized string similar to There are no FeatureSources..
Looks up a localized string similar to The collection of FeatureSourceColumns may not be empty..
Looks up a localized string similar to The FeatureSource is already in a transaction..
Looks up a localized string similar to The FeatureSource is already opened..
Looks up a localized string similar to The operation is invalid when it's in a transaction..
Looks up a localized string similar to The FeatureSource is not editable..
Looks up a localized string similar to The FeatureSource is not in a transaction..
Looks up a localized string similar to The FeatureSource is not open. Please call the Open method before calling this method..
Looks up a localized string similar to The requested column name is not in the Feature..
Looks up a localized string similar to File access error, you should open the shape file with ReadWrite mode..
Looks up a localized string similar to The file already exists..
Looks up a localized string similar to The file's format is incorrect..
Looks up a localized string similar to The File GeoDatabase unmanaged assemblies cannot be found..
Looks up a localized string similar to The file specified does not exist..
Looks up a localized string similar to This file type is not supported..
Looks up a localized string similar to One of the fields in the database is not supported by SQL. The first character of this field name must be an alphabetic letter..
Looks up a localized string similar to The first ClassBreak value should be double.MinValue..
Looks up a localized string similar to GDI+ threw a status error code..
Looks up a localized string similar to The GeoCache is not open. Please call the Open method before calling this method..
Looks up a localized string similar to The GeoCanvas is currently not drawing. Please call the BeginDraw method before calling this method..
Looks up a localized string similar to The map unit you are using is not compatable with the GoogleLayer . Make sure you are using Meters and that your projection is 90013 to ensure compatability..
Looks up a localized string similar to The map unit you are using is not compatable with the OpenStreetMap . Make sure you are using Meters to ensure compatability with OpenStreetMap service..
Looks up a localized string similar to The input GeoImage object is not a valid GeoImage type..
Looks up a localized string similar to We have found geometries that are invalid according to the SQL Server STIsValid() Function. To automaticly fix these you can call the MakeAllGeometriesValid method. The SQL To Determine which records are invalid:.
Looks up a localized string similar to Geometry type not recognized. .
Looks up a localized string similar to The current GeoImage implementation does not support the GetSrid operation..
Looks up a localized string similar to Google has asked us to remove these API as they were not the correct ways to call their service. The implementation of these API will now throw an exception if called. We are sorry for the inconvenience however the immediate changes were necessary..
Looks up a localized string similar to GraphicsGeoCanvas' Width and Height must be properly set before calling BeginDrawing()..
Looks up a localized string similar to The input GridInterpolationModel is not able to replace all the NoData value..
Looks up a localized string similar to You must have at least one layer..
Looks up a localized string similar to The input string HtmlColor is invalid..
Looks up a localized string similar to Id column can't be null or empty..
Looks up a localized string similar to The collection may not be empty or null..
Looks up a localized string similar to The image property can't be null..
Looks up a localized string similar to The ImageScaled property must be larger than 0..
Looks up a localized string similar to The ImageSource is already open..
Looks up a localized string similar to The ImageSource is not open. Please call the Open method before calling this method..
Looks up a localized string similar to Index File already exist, please change the BuildIndexMode if you want to rebuild this index..
Looks up a localized string similar to The format of your index file is not valid, please check. Or you can use BuildIndexFile function to build a new one..
Looks up a localized string similar to You don't have the corresponding idx file for your shape file. You can use the static method ShapeFileFeatureSource.BuildIndexFile() or ShapeFileFeatureLayer.BuildIndexFile() to build an idx file for the shape file, or you can set the RequireIndex property to false..
Looks up a localized string similar to Input Geometry Type Is Not Valid.
Looks up a localized string similar to There're some invalid geometry instance in table not valid. About invalid geometry please have a look at http://msdn.microsoft.com/en-us/library/bb933890.aspx website. To solve this problem, we provide MakeAllGeometryValid function to make the invalid geometry to be valid, because of the function updating your data, you need to backup your data before using this function..
Looks up a localized string similar to Invalid Operation Exception..
Looks up a localized string similar to It cannot be changed until the layer/featureSource is closed.
Looks up a localized string similar to is not supported now for projection..
Looks up a localized string similar to The GeoCollection does not contain the item you specified..
Looks up a localized string similar to The GeoCollection does not contain the item you specified..
Looks up a localized string similar to The value should be between zero and one hundred..
Looks up a localized string similar to Do not support KeyColor in the specify GeoCanvas..
Looks up a localized string similar to This Layer doesn't have a boundingBox..
Looks up a localized string similar to The layer type you have provided is not valid..
Looks up a localized string similar to The provided long input is greater than the maximum value of uint32..
Looks up a localized string similar to The current extent you have provided is not valid..
Looks up a localized string similar to The current extent you have provided may not be null..
Looks up a localized string similar to Maximum nesting depth has been reached..
Looks up a localized string similar to The input MGRS string is invalid..
Looks up a localized string similar to The MrSidGeoImageSource is already open..
Looks up a localized string similar to The MrSidGeoImageSource is not open. Please open it before calling this method..
Looks up a localized string similar to The format of Multi-FieldNames isn't correct..
Looks up a localized string similar to Can't Reorder for the multi-line because it does not satisfy the reorder condition based on the given startPoint and given tolerance..
Looks up a localized string similar to Can't Reorder for the multi-line because it does not satisfy the reorder condition based on the given tolerance..
Looks up a localized string similar to Not all valid layers are open..
Looks up a localized string similar to This feature is currently not supported..
Looks up a localized string similar to The file type you provided is currently not supported..
Looks up a localized string similar to The SQL Query mode is not supported..
Looks up a localized string similar to The number should be between 0 and 255.
Looks up a localized string similar to We cannot get the AreaUnit from input unit..
Looks up a localized string similar to Parameter Ids should be from 1 to the record number in ShapeFileFeatureSource.
Looks up a localized string similar to The parameter you supplied may not be empty..
Looks up a localized string similar to The shape you provided does not pass our simple validation..
Looks up a localized string similar to The parameter you supplied may not be null..
Looks up a localized string similar to The parameter is transparent..
Looks up a localized string similar to Printer layer supports Feet or Meter only.
Looks up a localized string similar to The product has not been installed on the machine, please go to Map Suite Product Center to start evaluation or activate it..
Looks up a localized string similar to The parameter {0} is required if the ProjectedTileCache and TileCache are used at the same time..
Looks up a localized string similar to Projection initialization failed..
Looks up a localized string similar to Cannot get the projection’s InternalGeographyUnit, please provide it by overriding the Projection’s GetInternalGeographyUnitCore() method..
Looks up a localized string similar to The projection is not open. Please open it before calling this method..
Looks up a localized string similar to This RasterLayer does not have projection information embedded in it. If you wish to avoid this exception you can first check the HasProjectionTextProperty..
Looks up a localized string similar to Convert Raster to External Projection by default is not implemented, please override this method if needed..
Looks up a localized string similar to This RasterSource does not have projection information embedded in it. If you wish to avoid this exception you can first check the HasProjectionTextProperty..
Looks up a localized string similar to The rebuild of the DBF failed for an unknown reason. Please see the inner exception..
Looks up a localized string similar to The spatial index generation failed for an unknown reason. Please see the inner exception..
Looks up a localized string similar to the rebuilding of the shape file failed for an unknown reason. Please see the inner exception..
Looks up a localized string similar to The record is invalid, please call Validate method to check the failed reason..
Looks up a localized string similar to This operation's return type is not correct..
Looks up a localized string similar to Return value is null..
Looks up a localized string similar to This ring is not closed. To close a ring the last point must be the same as the first point. All rings must have at least four points..
Looks up a localized string similar to Rotation is not supported on this class..
Looks up a localized string similar to The parameter row exceeds the total row count..
Looks up a localized string similar to The RtreeSpatialIndex is not open. Please call the Open method before calling this method..
Looks up a localized string similar to The shape file bounding box is invalid..
Looks up a localized string similar to The Shapefile Id is one based, zero is an invalid Id..
Looks up a localized string similar to An InnerRing doesn't contained in any OuterRing. .
Looks up a localized string similar to The shape file name is invalid..
Looks up a localized string similar to The shape you provided does not pass our simple validation..
Looks up a localized string similar to There are no points in the shape..
Looks up a localized string similar to This shape has not been implemented yet..
Looks up a localized string similar to The shape file index is not open..
Looks up a localized string similar to The features in SpatialIndex are not removable..
Looks up a localized string similar to To use this method, you have to reference Microsoft.SqlServer.Types.dll, and copy folder[Install-Path]\\Developer Reference\\[Product]\\SqlServerTypes_X64(SqlServerTypes_X86) to System32\\Map Suite *.* folder for x86/x64 platform..
Looks up a localized string similar to Input srid is not valid..
Looks up a localized string similar to Stream is not writable..
Looks up a localized string similar to The input string value is not blank..
Looks up a localized string similar to The corresponding idx/ids file cannot be found. Please use the static method TabFeatureSource.BuildIndexFile() or TabFeatureLayer.BuildIndexFile() to build the idx/ids file, which can greatly improve the querying performance. If the RequireIndex Property is set to false, the idx/ids files will not be checked and an internal spatial index will be created instead..
Looks up a localized string similar to The Tab Symbol style number is not exists..
Looks up a localized string similar to Target Shape Is Not Valid Type..
Looks up a localized string similar to The field type should be numeric..
Looks up a localized string similar to The format of the image is not supported..
Looks up a localized string similar to The value should be greater than zero..
Looks up a localized string similar to Unlicensed..
Looks up a localized string similar to Currently we do not support editing this kind of shape type. Shape type:.
Looks up a localized string similar to The update transaction failed for an unknown reason..
Looks up a localized string similar to The input Uri is not valid.
Looks up a localized string similar to The TIFF files(.tif or .tiff) are not supported in GdiPlusRasterSource any longer, please use the GeoTiffRasterSource instead..
Looks up a localized string similar to The format of the well known binary is incorrect..
Looks up a localized string similar to The well known binary is not valid for drawing..
Looks up a localized string similar to The well known binary type is incorrect..
Looks up a localized string similar to The format of the well known text is incorrect..
Looks up a localized string similar to The Wms server has timed out..
Looks up a localized string similar to The world extent is not valid..
Looks up a localized string similar to World file should has 6 lines..
Looks up a localized string similar to The ImageSource is already open..
Looks up a localized string similar to The ImageSource is not opened. Please open it before calling this method..
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.
Looks up a localized string similar to ClusterTolerenceStatusChanged(new object(), e).
Looks up a localized resource of type System.Byte[].
Looks up a localized resource of type System.Byte[].
Looks up a localized resource of type System.Byte[].
Looks up a localized resource of type System.Byte[].
Looks up a localized resource of type System.Byte[].
Looks up a localized resource of type System.Byte[].
Looks up a localized resource of type System.Byte[].
Looks up a localized resource of type System.Byte[].
Looks up a localized resource of type System.Byte[].
Looks up a localized resource of type System.Drawing.Bitmap.
Looks up a localized resource of type System.Drawing.Bitmap.
Looks up a localized resource of type System.Drawing.Bitmap.
This class formats a GeoObjectModel into C# code.
Creates an instance of CSharpGeoCodeFormatter.
Creates C# code for a GeoObjectModel and save the code into a Stream.
The GeoObjectModel to generate C# code for.
The Stream to save C# code into.
This class formats a GeoObjectModel into program code.
Creates an instance of GeoCodeFormatter.
Creates code for a GeoObjectModel and save the code into a Stream.
The GeoObjectModel to generate code for.
The Stream to save code into.
Creates code for a GeoObjectModel and save the code into a Stream.
The GeoObjectModel to generate code for.
The Stream to save code into.
This class generates code that recreates any given object.
Gets or sets the Formatter.
The Formatter determines what kind of program code will be generated.
Creates an instance of GeoCodeGenerator.
Generates code that recreates an object.
The object to generate code for.
The generated code.
Generates code that recreates an object.
The object to generate code for.
The path to save the generated code.
Generates code that recreates an object.
The object to generate code for.
The stream to save the generated code into.
This class represents the parameters passed in through the CreatedMemberNode
event.
Creates an instance of MemberNodeCreatedGeoObjectModelerEventArgs.
Creates an instance of MemberNodeCreatedGeoObjectModelerEventArgs with name, value, type, owner and node.
The name of the member.
The value of the member.
The type of the member.
The owner of the member.
The node of the member.
Gets or sets the name of the member.
Gets or sets the value of the member.
Gets or sets the type of the member.
Gets or sets the owner of the member.
Gets or sets the node of the member.
This class represents the parameters passed in through the CreatedMemberObject
event.
Creates an instance of MemberObjectCreatedGeoObjectModelerEventArgs.
Creates an instance of MemberObjectCreatedGeoObjectModelerEventArgs with name, value, type and owner.
The name of the member.
The value of the member.
The type of the member.
The owner of the member.
Gets or sets the name of the member.
Gets or sets the value of the member.
Gets or sets the type of the member.
Gets or sets the owner of the member.
This class represents the parameters passed in through the CreatingMemberNode
event.
Creates an instance of CreatingMemberNodeGeoObjectModelerEventArgs.
Creates an instance of CreatingMemberNodeGeoObjectModelerEventArgs with name, value, type and owner.
The name of the member.
The value of the member.
The type of the member.
The owner of the member.
Gets or sets the name of the member.
Gets or sets the value of the member.
Gets or sets the type of the member.
Gets or sets the owner of the member.
This class represents the parameters passed in through the CreatingMemberObject
event.
Creates an instance of CreatingMemberObjectGeoObjectModelerEventArgs.
Creates an instance of CreatingMemberObjectGeoObjectModelerEventArgs with name, type, owner and node.
The name of the member.
The value of the member.
The owner of the member.
The node of the member.
Gets or sets the name of the member.
Gets or sets the type of the member.
Gets or sets the owner of the member.
Gets or sets the node of the member.
This class represent the model of a top level object.
Gets or sets the Name of the model.
Gets or sets the RootNode of the model.
Creates an instance of GeoObjectModel.
Creates an instance of GeoObjectModel with a given name and a root node.
The name.
The root node.
This class creates models for objects and recreates objects from models.
This event happens when the modeler is creating a node for a member(field or property).
This event happens when the modeler has created a node for a member(field or property).
This event happens when the modeler is recreating an object from a node.
This event happens when the modeler has created an object from a node.
Creates an instance of GeoObjectModeler.
Creates model for an object.
The object to model.
The member types.
The binding flags.
The default value mode.
The model that represent the object.
Creates an object from a model.
The model.
The object recreated from the model.
Gets members of a type.
The type.
The member types.
The members of a type.
Gets members of a type.
The type.
The member types.
The members of a type.
Creates a node for a member.
The member name.
The member value.
The member type.
The member's owner(parent) object.
The base(parent) member node.
Creates a node for a member.
The member name.
The member value.
The member type.
The member's owner(parent) object.
The base(parent) member node.
Creates an object from a node.
The member name.
The member type.
The member's owner(parent) object.
The member node.
Creates an object from a node.
The member name.
The member type.
The member's owner(parent) object.
The member node.
Indicates how the default value of a member will be dealt with by the modeler.
Indicates that the default value of a member will be included by the modeler.
Indicates that the default value of a member will be excluded by the modeler.
Indicate the kind of member that will be modeled by the modeler.
Indicates that the fields of an object will be modeled by the modeler.
Indicates that the properties of an object will be modeled by the modeler.
This class represent the model of an object.
Gets or sets the Name of the node.
Gets or sets the Parent of the node.
Gets the Children of the node.
Gets the Attribute of the node.
Gets or sets the Value of the node.
Gets or sets the IsDefaultValue of the node.
Creates an instance of GeoObjectNode.
Creates an instance of GeoObjectNode with a name.
The name of this node.
Returns a string that contains the name, children count and attribute count of this node.
The string that contains the name, children count and attribute count of this node.
Indicates that a type's base type should not be serialized.
Creates an instance of NonSerializableBaseTypeAttribute.
When applied to a method, specifies that the method is called immediately after deserialization of the object.
Initializes a new instance of the OnGeodeserializedAttribute class.
When applied to a method, specifies that the method is called during deserialization of an object.
Initializes a new instance of the OnGeodeserializingAttribute class.
When applied to a method, specifies that the method is called after serialization of an object graph.
Initializes a new instance of the OnGeoserializedAttribute class.
When applied to a method, specifies that the method is called before serialization of an object.
Initializes a new instance of the OnGeoserializingAttribute class.
This class formats a GeoObjectModel into serialized data.
Creates an instance of GeoSerializationFormatter.
set or get the readEncoding.
Save serialized data into a stream.
The GeoObjectModel to create serialized data for.
The Stream to save serialized data into.
Format a GeoObjectModel into serialized data, and save the data into a stream.
The GeoObjectModel to create serialized data for.
The Stream to save serialized data into.
Load a stream into a GeoObjectModel.
The Stream to load from.
The GeoObjectModel recreated from the stream.
Load a stream into a GeoObjectModel.
The Stream to load from.
The GeoObjectModel recreated from the stream.
This class serializes an object.
Gets or sets the Formatter.
The Formatter determines what kind of serialized data will be created.
Creates an instance of GeoSerializer.
Serialize an object and save the serialized data to a file.
The object to be serialized.
The path to save the serialized data to.
Serialize an object and save the serialized data to a stream.
The object to be serialized.
The stream to save the serialized data into.
Serialize an object and save the serialized data to a string.
The object to be serialized.
The string that contains the serialized data.
Recreates an object from a file.
The file path to deserialize from.
The ReadWriteMode
The recreated object.
Recreates an object from a stream.
The Stream to deserialize from.
The recreated object.
Recreates an object from a string.
The string to deserialize from.
The recreated object.
Recreates an object from an Url.
The Url to deserialize from.
The recreated object.
This class formats a GeoObjectModel into XML.
Creates an instance of GeoSerializationFormatter.
Format a GeoObjectModel into XML, and save the XML into a stream.
The GeoObjectModel to create XML for.
The Stream to save XML into.
Load a stream that contains XML into a GeoObjectModel.
The Stream that contains XML.
The GeoObjectModel recreated from the stream.
This abstract class is the root of all area-based shapes, such as RectangleShape
and PolygonShape.
This class is used as the base class for area shapes such as:
PolygonShape
RectangleShape
MultiPolygonShape
EllipseShape
RingShape
It can be inherited from to create your own specialized area geometry. If you
choose to do this, your new class must conform to one of the well-known text standard
shapes in order for the base implementations to work properly.
This is the default constructor for AreaBaseShape.
This constructor simply calls the base constructor.
This method returns the perimeter of the shape, defined as the sum of the lengths
of all its sides.
In this overload, the return unit is based on a LengthUnit you specify in the
returningLengthUnit parameter, regardless of the shape's GeographyUnit.
The return unit is based on a LengthUnit you specify in the returningUnit
parameter, regardless of the shape's GeographyUnit.
You would use this method to find the distance around the area shape.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw an ArgumentOutOfRangeException.
If you pass in a returningUnit that is not defined in the enumeration, it will throw an ArgumentOutOfRangeException.
>In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the return value. For example, if
you select miles as your returningUnit, then the distance will be returned in
miles.
This method returns the perimeter of the shape, defined as the sum of the lengths
of all its sides.
In this overload, the return unit is based on a LengthUnit you specify in the
returningLengthUnit parameter, regardless of the shape's GeographyUnit.
The return unit is based on a LengthUnit you specify in the returningUnit
parameter, regardless of the shape's GeographyUnit.
You would use this method to find the distance around the area shape.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw an ArgumentOutOfRangeException.
If you pass in a returningUnit that is not defined in the enumeration, it will throw an ArgumentOutOfRangeException.
>In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the return value. For example, if
you select miles as your returningUnit, then the distance will be returned in
miles.
This method returns the area of the shape, defined as the size of the region
enclosed by the figure.
In this overload, the return unit is based on a AreaUnit you specify in the
returningUnit parameter, regardless of the shape's GeographyUnit.
The return unit is based on a AreaUnit you specify in the returningUnit
parameter, regardless of the shape's GeographyUnit.
You would use this method to find the area inside the shape.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw an ArgumentOutOfRangeException.
If you pass in a returningUnit that is not defined in the enumeration, it will throw an ArgumentOutOfRangeException.
>In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the AreaUnit you would like to use as the return value. For example, if
you select square miles as your returningUnit, then the distance will be returned in
square miles.
This method returns the area of the shape, defined as the size of the region
enclosed by the figure.
In this overload, the return unit is based on a AreaUnit you specify in the
returningUnit parameter, regardless of the shape's GeographyUnit.
The return unit is based on a AreaUnit you specify in the returningUnit
parameter, regardless of the shape's GeographyUnit.
You would use this method to find the area inside the shape.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw an ArgumentOutOfRangeException.
If you pass in a returningUnit that is not defined in the enumeration, it will throw an ArgumentOutOfRangeException.
>In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the AreaUnit you would like to use as the return value. For example, if
you select square miles as your returningUnit, then the distance will be returned in
square miles.
This method returns a new area shape that has been scaled up by the percentage
given in the percentage parameter.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage that is less than 0 will throw an ArgumentOutOfRangeException.
This method is useful when you would like to increase the size of the shape. Note
that a larger percentage will scale the shape up faster, since you apply the operation
multiple times. There is a ScaleDown method that will shrink the shape as
well.
Passing an invalid percentage that is not between 0 and 100 will throw an ArgumentOutOfRangeException.
This parameter is the shape to use as the base for the scaling.
This is the percentage by which to increase the shape's size.
This method returns a new area shape that has been scaled up by the percentage
given in the percentage parameter.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This method is useful when you would like to increase the size of the shape. Note
that a larger percentage will scale the shape up faster, since you apply the operation
multiple times. There is a ScaleDown method that will shrink the shape as
well.
Passing an invalid percentage that is not between 0 and 100 will throw an ArgumentOutOfRangeException.
This parameter is the feature to use as the base for the scaling.
This is the percentage by which to increase the shape's size.
This method increases the size of the area shape by the percentage given in the
percentage parameter.
>In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage that is less than 0 will throw an ArgumentOutOfRangeException.
This method is useful when you would like to increase the size of the shape. Note
that a larger percentage will scale the shape up faster, since you apply the operation
multiple times. There is a ScaleDown method that will shrink the shape. as
well.
Passing an invalid percentage that is not between 0 and 100 will throw an ArgumentOutOfRangeException.
This is the percentage by which to increase the shape's size.
Passing an invalid percentage that is less than 0 will throw an ArgumentOutOfRangeException.
>In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This method increases the size of the area shape by the percentage given in the
percentage parameter.
This method is useful when you would like to increase the size of the shape. Note
that a larger percentage will scale the shape up faster, since you apply the operation
multiple times. There is a ScaleDown method that will shrink the shape as
well.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
This is the percentage by which to increase the shape's size.
This method is useful when you would like to decrease the size of the shape. Note
that a larger percentage will scale the shape down faster, since you apply the operation
multiple times. There is a ScaleUp method that will enlarge the shape as
well.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage that is less than 0 will throw an ArgumentOutOfRangeException.
This method is useful when you would like to decrease the size of the shape. Note
that a larger percentage will scale the shape down faster, since you apply the operation
multiple times. There is a ScaleUp method that will enlarge the shape as
well.
This method returns a new area shape that has been scaled down by the percentage
given in the percentage parameter.
This parameter is the shape to use as the base for the scaling.
This is the percentage by which to decrease the shape's size.
This method is useful when you would like to decrease the size of the feature. Note
that a larger percentage will scale the shape down faster, since you apply the operation
multiple times. There is a ScaleUp method that will enlarge the shape as
well.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage that is less than 0 will throw an ArgumentOutOfRangeException.
This method is useful when you would like to decrease the size of the feature. Note
that a larger percentage will scale the shape down faster, since you apply the operation
multiple times. There is a ScaleUp method that will enlarge the shape as
well.
This method returns a new area feature that has been scaled down by the percentage
given in the percentage parameter.
This parameter is the shape to use as the base for the scaling.
This is the percentage by which to decrease the shape's size.
This method decreases the size of the area shape by the percentage given in the
percentage parameter.
This method is useful when you would like to decrease the size of the shape. Note
that a larger percentage will scale the shape down faster, since you apply the operation
multiple times. There is a ScaleUp method that will enlarge the shape as
well.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage that is less than 0 will throw an ArgumentOutOfRangeException.
This method is useful when you would like to decrease the size of the shape. Note
that a larger percentage will scale the shape down faster, since you apply the operation
multiple times. There is a ScaleUp method that will enlarge the shape as
well.
This is the percentage by which to decrease the shape's size.
Passing an invalid percentage which less than 0 will thrown an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This method decreases the size of the area shape by the percentage given in the
percentage parameter.
This method is useful when you would like to decrease the size of the shape. Note
that a larger percentage will scale the shape down faster, since you apply the operation
multiple times. There is a ScaleUp method that will enlarge the shape as
well.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
This is the percentage by which to decrease the shape's size.
This method returns the convex hull of the shape, defined as the smallest convex
ring that contains all of the points in the shape.
This method returns the convex hull of the shape, defined as the smallest convex
ring that contains all of the points in the shape.
This method is useful when you want to create a perimeter around the shape. For
example, if you had a MultiPolygon that represented buildings on a campus, you could
easily get the convex hull of the buildings and determine the perimeter of all of the
buildings together. This also works with MultiPoint shapes, where each point may
represent a certain type of person you are doing statistics on. With convex hull, you
can get an idea of the regions those points are located in.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This method returns the convex hull of the shape, defined as the smallest convex
ring that contains all of the points in the shape.
This method returns the convex hull of the shape, defined as the smallest convex
ring that contains all of the points in the shape.
This method is useful when you want to create a perimeter around the shape. For
example, if you had a MultiPolygon that represented buildings on a campus, you could
easily get the convex hull of the buildings and determine the perimeter of all of the
buildings together. This also works with MultiPoint shapes, where each point may
represent a certain type of person you are doing statistics on. With convex hull, you
can get an idea of the regions those points are located in.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This method returns the intersection of the current shape and the target shape,
defined as the set of all points which lie in both the current shape and the target
shape.
The return type is a MultiPolygonShape that contains the set of all points which
lie in both the current shape and the target shape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
None
The shape you are trying to find the intersection with.
This method returns the intersection of the current shape and the target feature,
defined as the set of all points which lie in both the current shape and the target
feature.
The return type is a MultiPolygonShape that contains the set of all points which
lie in both the current shape and the target feature.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
None
The feature you are trying to find the intersection with.
This method returns the intersection of the current shape and the target shape,
defined as the set of all points which lie in both the current shape and the target
shape.
The return type is a MultiPolygonShape that contains the set of all points which
lie in both the current shape and the target shape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
The shape you are trying to find the intersection with.
This method returns the union of the current shape and the target shape, defined
as the set of all points in the current shape or the target shape.
The return type is a MultiPolygonShape that contains the set of all points which
lie in the current shape or the target shape.
This is useful for adding area shapes together to form a larger area
shape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
The shape you are trying to find the union with.
This method returns the union of the current shape and the target feature, defined
as the set of all points in the current shape or the target feature.
The return type is a MultiPolygonShape that contains the set of all points which
lie in the current shape or the target feature.
This is useful for adding area shapes together to form a larger area
shape.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
The feature you are trying to find the union with.
This method returns the union of the current shape and the target shapes, defined
as the set of all points in the current shape or the target shape.
The return type is a MultiPolygonShape that contains the set of all points which
lie in the current shape or the target shape.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
This is useful for adding area shapes together to form a larger area
shape.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
The shape you are trying to find the union with.
This method returns the union of the current shape and the target features, defined
as the set of all points in the current shape or the target features.
The return type is a MultiPolygonShape that contains the set of all points which
lie in the current shape or the target features.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
This is useful for adding area shapes together to form a larger area
shape.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
If you pass a null as the targetFeatures, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
The target features you are trying to find the union with.
This method returns the union of the specified area shapes.
The return type is a MultiPolygonShape that contains the set of all points that
lie within the shapes you specified.
This is useful for adding area shapes together to form a larger area
shape.
If you pass a null as the areaShapes, we will throw an ArgumentNullException.
The shapes you are trying to find the union with.
This method returns the difference between two shapes, defined as the set of all
points which lie in the current shape but not in the targetShape.
The return type is a MultiPolygonShape that is the set of all points which lie in
the current shape but not in the targetShape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
None
The shape you are trying to find the difference with.
This method returns the difference between current shape and the specified feature, defined as the set of all
points which lie in the current shape but not in the targetShape.
The return type is a MultiPolygonShape that is the set of all points which lie in
the current shape but not in the target feature.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
None
The feture you are trying to find the difference with.
This method returns the difference between two shapes, defined as the set of all
points which lie in the current shape but not in the targetShape.
The return type is a MultiPolygonShape that is the set of all points which lie in
the current shape but not in the targetShape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
The shape you are trying to find the difference with.
This method returns the symmetrical difference between two shapes, defined as the
set of all points which lie in the current shape or the targetShape but not
both.
The return type is a MultiPolygonShape that is the set of all points which lie in
the current shape or the targetShape but not both.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
None
The shape you are trying to find the symmetrical difference with.
This method returns the symmetrical difference between current shape and the specified feature, defined as the
set of all points which lie in the current shape or the targetFeature but not
both.
The return type is a MultiPolygonShape that is the set of all points which lie in
the current shape or the targetFeature but not both.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
None
The feature you are trying to find the symmetrical difference with.
This method returns the symmetrical difference between two shapes, defined as the
set of all points which lie in the current shape or the targetShape but not
both.
The return type is a MultiPolygonShape that is the set of all points which lie in
the current shape or the targetShape but not both.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
>In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
The shape you are trying to find the symmetrical difference with.
This method returns a collection of MultiPolygonShapes split by the specified
parameters.
This overload allows you split two area type shapes.
This method returns a collection of MultiPolygonShape split by the specified
parameters.
None.
This parameter represents the shape to be split.
This parameter represents the shape that will be used to perform the split.
This method returns a collection of Features split by the specified
parameters.
This overload allows you split two area type features.
This method returns a collection of Features split by the specified
parameters.
None.
This parameter represents the feature to be split.
This parameter represents the feature that will be used to perform the split.
This method performed a simplification operation based on the parameters passed in.
Simplify permanently alters the input geometry so that the geometry becomes topologically consistent.
This parameter specifies the area shape to be simplfied.
This parameter specifies the geographic unit of the shape you are performing the operation
This parameter specifes the tolerance to be used when simplification.
This parameter specifes the distance unit of the tolerance.
This prameter specifies the type of simplification operation.
This method returns a simplification multipolgyon by the specified parameters.
This method performed a simplification operation based on the parameters passed in.
Simplify permanently alters the input geometry so that the geometry becomes topologically consistent.
This parameter specifies the area shape to be simplfied.
This parameter specifes the tolerance to be used when simplification.
This prameter specifies the type of simplification operation.
This method returns a simplification multipolgyon by the specified parameters.
This method performed a simplification operation based on the parameters passed in.
Simplify permanently alters the input geometry so that the geometry becomes topologically consistent.
This parameter specifies the geographic unit of this current shape you are performing the operation
This parameter specifes the tolerance to be used when simplification.
This parameter specifes the distance unit of the tolerance.
This prameter specifies the type of simplification operation.
This method returns a simplification multipolgyon by the specified parameters.
This method performed a simplification operation based on the parameters passed in.
Simplify permanently alters the input geometry so that the geometry becomes topologically consistent.
This parameter specifes the tolerance to be used when simplification.
This prameter specifies the type of simplification operation.
This method returns a simplification multipolgyon by the specified parameters.
This method performed a simplification operation based on the parameters passed in.
Simplify permanently alters the input geometry so that the geometry becomes topologically consistent.
This parameter specifes the tolerance to be used when simplification.
This prameter specifies the type of simplification operation.
This method returns a simplification multipolgyon by the specified parameters.
The abstract class from which area shapes, line shapes, and point shapes inherit
from.
The BaseShape is the lowest level shape in the shapes hierarchy. Directly
inherited from BaseShape are AreaShape, LineShape and PointShape. The methods and
properties on BaseShape are the lowest common denominator for all the various kinds of
shapes. It marked abstract and is designed only to be inherited from.
This is the default constructor for BaseShape.
The id of the shape.
The tag of the shape.
This method creates a BaseShape from a string of well-known text.
This method creates a BaseShape from a string of well-known text. Well-known
text allows you to describe geometries as a string of text. Well-known text is
useful when you want to save a geometry in a format such as a text file, or when you simply
want to cut and paste the text between other applications. An alternative to
well-known text is well-known binary, which is a binary representation of a geometry
object. We have methods that work with well-known binary as well. Below are
some samples of what well-known text might look like for various kinds of
geometries.
POINT(5 17)
LINESTRING(4 5,10 50,25 80)
POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))
MULTIPOINT(3.7 9.7,4.9 11.6)
MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))
MULTIPOLYGON(((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3)),((4 4,7 3,7 5,4
4)))
The return type is a higher level shape constructed from the well-known text you
passed into the method. Though the object is a higher level shape, such as a
PolygonShape or MultiPointShape, you will need to cast it to that shape in order to use
its unique properties.
Passing invalid well-known text in the wellKnownText parameter will throw an ArgumentException.
Passing a null as the wellKnownText parameter will throw an ArgumentNullException.
A string representing the geometry in well-known text format.
Passing invalid well-known text in the wellKnownText parameter will throw an ArgumentException.
Passing a null as the wellKnownText parameter will throw an ArgumentNullException.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method hydrates the current shape with its data from well-known text.
None
This parameter is the well-known text you will use to hydrate your object.
Passing invalid well-known text in the wellKnownText parameter will throw an ArgumentException.
Passing a null as the wellKnownText parameter will throw an ArgumentNullException.
This method hydrates the current shape with its data from well-known text.
None
None
This parameter is the well-known text you will use to hydrate your object.
This method returns the well-known text representation of this shape.
This method returns a string that represents the shape in well-known text.
This method returns a string that represents the shape in well-known text.
Well-known text allows you to describe geometries as a string of text. Well-known text is
useful when you want to save a geometry in a format such as a text file, or when you simply
want to cut and paste the text between other applications. An alternative to
well-known text is well-known binary, which is a binary representation of a geometry
object. We have methods that work with well-known binary as well. Below are
some samples of what well-known text might look like for various kinds of
geometries.
POINT(5 17)
LINESTRING(4 5,10 50,25 80)
POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))
MULTIPOINT(3.7 9.7,4.9 11.6)
MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))
MULTIPOLYGON(((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3)),((4 4,7 3,7 5,4
4)))
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This method returns the well-known text representation of this shape.
This method returns a string that represents the shape in well-known text.
This method returns a stringthat represents the shape in well-known text.
Well-known text allows you to describe geometries as a string of text. Well-known text is
useful when you want to save a geometry in a format such as a text file, or when you simply
want to cut and paste the text between other applications. An alternative to
well-known text is well-known binary, which is a binary representation of a geometry
object. We have methods that work with well-known binary as well. Below are
some samples of what well-known text might look like for various kinds of
geometries.
POINT(5 17)
LINESTRING(4 5,10 50,25 80)
POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))
MULTIPOINT(3.7 9.7,4.9 11.6)
MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))
MULTIPOLYGON(((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3)),((4 4,7 3,7 5,4
4)))
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions
defined above.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This method creates a BaseShape from a string of well-known binary.
This method creates a BaseShape from a string of well-known binary. Well-known
binary allows you to describe geometries as a binary array. Well-known binary is useful
when you want to save a geometry in an efficient format using as little space as
possible. An alternative to well-known binary is well-known text, which is a textual
representation of a geometry object. We have methods that work with well-known
text as well.
The return type is a higher level shape constructed from the well-known binary
you passed into the method. Though the object is a higher level shape, such as a
PolygonShape or MultiPointShape, you will need to cast it to that shape in order to use
its unique properties.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null in the bytes parameter will throw an ArgumentNullException.
An array of bytes representing the geometry in well-known binary
format.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null in the bytes parameter will throw an ArgumentNullException.
This method hydrates the current shape with its data from well-known
binary.
None
This is used when you want to hydrate a shape based on well-known binary. You can
create the shape and then load the well-known binary using this method.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter is the well-known binary used to populate the shape.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null in the bytes parameter will throw an ArgumentNullException.
This method hydrates the current shape with its data from well-known
binary.
None
This is used when you want to hydrate a shape based on well-known binary. You can
create the shape and then load the well-known binary using this method.
This parameter is the well-known binary used to populate the shape.
This method returns a byte array that represents the shape in well-known
binary.
This method returns a byte array that represents the shape in well-known
binary.
This method returns a byte array that represents the shape in well-known binary.
Well-known binary allows you to describe geometries as a binary array. Well-known binary
is useful when you want to save a geometry in an efficient format using as little space as
possible. An alternative to well-known binary is well-known text, which is a textual
representation of a geometry object. We have methods that work with well known
text as well.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This method returns a byte array that represents the shape in well-known
binary.
This method returns a byte array that represents the shape in well-known
binary.
This method returns a byte array that represents the shape in well-known binary.
Well-known binary allows you to describe geometries as a binary array. Well-known binary
is useful when you want to save a geometry in an efficient format using as little space as
possible. An alternative to well-known binary is well-known text, which is a textual
representation of a geometry object. We have methods that work with well known
text as well.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This overload allows you to specify the byte order.
This parameter is the byte order used to encode the well-known binary.
This method returns a byte array that represents the shape in well-known
binary.
This method returns a byte array that represents the shape in well-known
binary.
This method returns a byte array that represents the shape in well-known binary.
Well-known binary allows you to describe geometries as a binary array. Well-known binary
is useful when you want to save a geometry in an efficient format using as little space as
possible. An alternative to well-known binary is well-known text, which is a textual
representation of a geometry object. We have methods that work with well known
text as well.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a ByteOrder that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter specifies if the byte order is big- or little-endian.
This method calculates the smallest RectangleShape that encompasses the entire
geometry.
The RectangleShape returned is the smallest RectangleShape that can encompass the
entire geometry.
The GetBoundingBox method calculates the smallest RectangleShape that can
encompass the entire geometry by examining each point in the geometry.
Depending on the number of PointShapes and complexity of the geometry, this
operation can take longer for larger objects.
If the shape is a PointShape, then the bounding box's upper left and lower right
points will be equal. This will create a RectangleShape with no area.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to get the bounding box from a shape which has no points, it will throw an InvalidOperationException.
This method calculates the smallest RectangleShape that encompasses the entire
geometry.
The RectangleShape returned is the smallest RectangleShape that can encompass the
entire geometry.
The GetBoundingBox method calculates the smallest RectangleShape that can
encompass the entire geometry by examining each point in the geometry.
Depending on the number of PointShapes and complexity of the geometry, this
operation can take longer for larger objects.
If the shape is a PointShape, then the bounding box's upper left and lower right
points will be equal. This will create a RectangleShape with no area.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions
defined above.
In the event you attempt to get the bounding box from a shape which has no points, it will throw an InvalidOperationException.
This method returns the well-known type for the shape.
This method returns the well-known type for the shape.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method returns the well-known type for the shape.
This method returns the well-known type for the shape.
None
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method returns a complete copy of the shape without any references in
common.
This method returns a complete copy of the shape without any references in
common.
When you override this method, you need to ensure that there are no references in
common between the original and copy.
This method returns a complete copy of the shape without any references in
common.
This method returns a complete copy of the shape without any references in
common.
This method returns a shape repositioned from one location to another based on an X and Y
offset distance.
In this overload, the X and Y offset are based on a distance unit you specify,
regardless of the shape's geographic unit.
This method returns a shape repositioned from one location to another based on an X
and Y offset distance. With this overload, it is important to note that the X and Y
offset units are based on the distanceUnit parameter. For example, if your shape
is in decimal degrees and you call this method with an X offset of 1 and a Y
offset of 1, you're going to move this shape one unit of the distanceUnit in
the horizontal direction and one unit of the distanceUnit in the vertical
direction. In this way, you can easily move a shape in decimal degrees five miles
on the X axis and 3 miles on the Y axis.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
This method returns a shape repositioned from one location to another based on an X and Y
offset distance.
This parameter is the basis of the moved shape.
This is the number of horizontal units of movement in the distance unit specified in
the distanceUnit parameter.
This is the number of vertical units of movement in the distance unit specified in
the distanceUnit parameter.
This is the geographic unit of the shape you are performing the operation
on.
This is the distance unit you would like to use as the measure for the
move. For example, if you select miles as your distance unit, then the xOffsetDistance
and yOffsetDistance will be calculated in miles.
This method returns a feature repositioned from one location to another based on an X and Y
offset distance.
In this overload, the X and Y offset are based on a distance unit you specify,
regardless of the feature's geographic unit.
This method returns a feature repositioned from one location to another based on an X
and Y offset distance. With this overload, it is important to note that the X and Y
offset units are based on the distanceUnit parameter. For example, if your shape
is in decimal degrees and you call this method with an X offset of 1 and a Y
offset of 1, you're going to move this shape one unit of the distanceUnit in
the horizontal direction and one unit of the distanceUnit in the vertical
direction. In this way, you can easily move a shape in decimal degrees five miles
on the X axis and 3 miles on the Y axis.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
This method returns a feature repositioned from one location to another based on an X and Y
offset distance.
This parameter is the basis of the moved feature.
This is the number of horizontal units of movement in the distance unit specified in
the distanceUnit parameter.
This is the number of horizontal units of movement in the distance unit specified in
the distanceUnit parameter.
This is the geographic unit of the shape you are performing the operation
on.
This is the distance unit you would like to use as the measure for the
move. For example, if you select miles as your distance unit, then the xOffsetDistance
and yOffsetDistance will be calculated in miles.
This method moves a base shape from one location to another based on an X and Y
offset distance.
In this overload, the X and Y offset are based on a distance unit you specify,
regardless of the shape's geographic unit.
This method moves a base shape from one location to another based on an X
and Y offset distance. With this overload, it is important to note that the X and Y
offset units are based on the distanceUnit parameter. For example, if your shape
is in decimal degrees and you call this method with an X offset of 1 and a Y
offset of 1, you're going to move this shape one unit of the distanceUnit in
the horizontal direction and one unit of the distanceUnit in the vertical
direction. In this way, you can easily move a shape in decimal degrees five miles
on the X axis and 3 miles on the Y axis.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
This is the number of horizontal units of movement in the distance unit specified in
the distanceUnit parameter.
This is the number of horizontal units of movement in the distance unit specified in
the distanceUnit parameter.
This is the geographic unit of the base shape you are performing the operation
on.
This is the distance unit you would like to use as the measure for the
move. For example, if you select miles as your distance unit, then the xOffsetDistance
and yOffsetDistance will be calculated in miles.
This method moves a base shape from one location to another based on an X and Y
offset distance.
In this overload, the X and Y offset, the offset unit is same with the shape unit(both
of them can be considered as Meter.
This method moves a base shape from one location to another based on an X
and Y offset distance. With this overload, it is important to note that the X and Y
offset units are based on the distanceUnit parameter. For example, if your shape
is in decimal degrees and you call this method with an X offset of 1 and a Y
offset of 1, you're going to move this shape one unit of the distanceUnit in
the horizontal direction and one unit of the distanceUnit in the vertical
direction. In this way, you can easily move a shape in decimal degrees five miles
on the X axis and 3 miles on the Y axis.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
This is the number of horizontal units of movement in the distance unit specified in
the distanceUnit parameter.
This is the number of horizontal units of movement in the distance unit specified in
the distanceUnit parameter.
This method moves a base shape from one location to another based on an X and Y
offset distance.
In this overload, the X and Y offset are based on a distance unit you specify,
regardless of the shape's geographic unit.
This method moves a base shape from one location to another based on an X
and Y offset distance. With this overload, it is important to note that the X and Y
offset units are based on the distanceUnit parameter. For example, if your shape
is in decimal degrees and you call this method with an X offset of 1 and a Y
offset of 1, you're going to move this shape one unit of the distanceUnit in
the horizontal direction and one unit of the distanceUnit in the vertical
direction. In this way, you can easily move a shape in decimal degrees five miles
on the X axis and 3 miles on the Y axis.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions
defined above.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
This is the number of horizontal units of movement in the distance unit specified in
the distanceUnit parameter.
This is the number of horizontal units of movement in the distance unit specified in
the distanceUnit parameter.
This is the geographic unit of the base shape you are performing the operation
on.
This is the distance unit you would like to use as the measure for the
move. For example, if you select miles as your distance unit, then the xOffsetDistance
and yOffsetDistance will be calculated in miles.
This method returns a shape repositioned from one location to another based on a
distance and a direction in degrees.
In this overload, the distance is based on the distance unit you specify in the
distanceUnit parameter, regardless of the shape's geographic unit.
This method returns a shape repositioned from one location to another based on
angleInDegrees and distance parameter. With this overload, it is important to note that
the distance is based on the supplied distanceUnit parameter. For example,
if your shape is in decimal degrees and you call this method with a
distanceUnit of miles, you're going to move this shape a number of miles based on
the distance value and the angleInDegrees. In this way, you can easily move a shape in decimal
degrees five miles to the north.
If you pass a distance of 0, then the operation is ignored.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
Passing an invalid angleInDegrees which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid distance which is not greater than or equal to 0 will throw an ArgumentOutOfRangeException.
This method returns a shape repositioned from one location to another based on a
distance and a direction in degrees.
This parameter is the basis of the move.
The distance is the number of units to move the shape using the angle specified.
The distance unit will be the one specified in the distanceUnit parameter. The
distance must be greater than or equal to 0.
A number between 0 and 360 degrees that represents the direction you wish to
move the shape, with 0 being up.
This is the geographic unit of the shape you are performing the operation
on.
This is the distance unit you would like to use as the measure for the
move. For example, if you select miles as your distance unit, then the distance
will be calculated in miles.
This method returns a feature repositioned from one location to another, based on a
distance and a direction in degrees.
In this overload, the distance is based on the distance unit you specify in the
distanceUnit parameter, regardless of the feature's geographic unit.
This method returns a feature repositioned from one location to another based on
angleInDegrees and distance parameter. With this overload, it is important to note that
the distance is based on the supplied distanceUnit parameter. For example,
if your shape is in decimal degrees and you call this method with a
distanceUnit of miles, you're going to move this feature a number of miles based on
the distance value and the angleInDegrees. In this way, you can easily move a shape in decimal
degrees five miles to the north.
If you pass a distance of 0, then the operation is ignored.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
Passing an invalid angleInDegrees which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid distance which is not greater than or equal to 0 will throw an ArgumentOutOfRangeException.
This method returns a feature repositioned from one location to another, based on a
distance and a direction in degrees.
This parameter is the basis of the move.
The distance is the number of units to move the shape using the angle specified.
The distance unit will be the DistanceUnit specified in the distanceUnit parameter. The
distance must be greater than or equal to 0.
A number between 0 and 360 degrees that represents the direction you wish to
move the feature, with 0 being up.
This is the geographic unit of the shape you are performing the operation
on.
This is the distance unit you would like to use as the measure for the
move. For example, if you select miles as your distance unit, then the distance
will be calculated in miles.
This method moves a base shape from one location to another based on a
distance and a direction in degrees.
In this overload, the distance is based on the distance unit you specify in the
distanceUnit parameter, regardless of the shape's geographic unit.
This method moves a base shape from one location to another based on
angleInDegrees and distance parameter. With this overload, it is important to note that
the distance is based on the supplied distanceUnit parameter. For example,
if your shape is in decimal degrees and you call this method with a
distanceUnit of miles, you're going to move this shape a number of miles based on
the distance value and the angleInDegrees. In this way, you can easily move a shape in decimal
degrees five miles to the north.
If you pass a distance of 0, then the operation is ignored.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
Passing an invalid angleInDegrees which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid distance which is not greater than or equal to 0 will throw an ArgumentOutOfRangeException.
The distance is the number of units to move the shape using the angle specified.
The distance unit will be the DistanceUnit specified in the distanceUnit parameter. The
distance must be greater than or equal to 0.
A number between 0 and 360 degrees that represents the direction you wish to
move the shape, with 0 being up.
This is the geographic unit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the measure of the translate.
For example if you select miles as your distanceUnit then the distance will be
calculated in miles.
This method moves a base shape from one location to another based on a
distance and a direction in degrees.
In this overload, the distance and the shape has the same unit(both of them can be considered as Meter).
This method moves a base shape from one location to another based on
angleInDegrees and distance parameter. With this overload, it is important to note that
the distance is based on the supplied distanceUnit parameter. For example,
if your shape is in decimal degrees and you call this method with a
distanceUnit of miles, you're going to move this shape a number of miles based on
the distance value and the angleInDegrees. In this way, you can easily move a shape in decimal
degrees five miles to the north.
If you pass a distance of 0, then the operation is ignored.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
Passing an invalid angleInDegrees which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid distance which is not greater than or equal to 0 will throw an ArgumentOutOfRangeException.
The distance is the number of units to move the shape using the angle specified.
The distance unit will be the DistanceUnit specified in the distanceUnit parameter. The
distance must be greater than or equal to 0.
A number between 0 and 360 degrees that represents the direction you wish to
move the shape, with 0 being up.
This method moves a base shape from one location to another based on a
distance and a direction in degrees.
In this overload, the distance is based on the distance unit you specify in the
distanceUnit parameter, regardless of the shape's geographic unit.
This method moves a base shape from one location to another based on
angleInDegrees and distance parameter. With this overload, it is important to note that
the distance is based on the supplied distanceUnit parameter. For example,
if your shape is in decimal degrees and you call this method with a
distanceUnit of miles, you're going to move this shape a number of miles based on
the distance value and the angleInDegrees. In this way, you can easily move a shape in decimal
degrees five miles to the north.
If you pass a distance of 0 then the operation is ignored.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions
defined above.
Passing an invalid angleInDegrees which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid distance which is not greater than or equal to 0 will throw an ArgumentOutOfRangeException.
The distance is the number of units to move the shape using the angle specified.
The distance unit will be the DistanceUnit specified in the distanceUnit parameter. The
distance must be greater than or equal to 0.
A number between 0 and 360 degrees that represents the direction you wish to
move the shape, with 0 being up.
This is the geographic unit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the measure of the translate.
For example if you select miles as your distanceUnit then the distance will be
calculated in miles.
This method returns a shape rotated by a number of degrees based on a pivot
point.
This method returns a shape rotated by a number of degrees based on a pivot
point. By placing the pivot point in the center of the shape you can achieve
in-place rotation. By moving the pivot point outside of the center of the shape you
can translate the shape in a circular motion. Moving the pivot point further
outside of the center will make the circular area larger.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
If you pass a null as the pivotPoint, we will throw an ArgumentNullException.
Passing an invalid degreeAngle which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which is not valid, it will throw an InvalidOperationException.
In the event you attempt to call this method and the CanRotate property returns false, it will throw a NotImplementedException.
This method returns a shape rotated by a number of degrees based on a pivot
point.
This parameter is the basis for the rotation.
The pivotPoint represents the center of rotation.
The number of degrees of rotation required, from 0 to 360.
This method returns a feature rotated by a number of degrees based on a pivot
point.
This method returns a feature rotated by a number of degrees based on a pivot
point. By placing the pivot point in the center of the feature you can achieve
in-place rotation. By moving the pivot point outside of the center of the feature you
can translate the feature in a circular motion. Moving the pivot point further
outside of the center will make the circular area larger.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
If you pass a null as the pivotPoint, we will throw an ArgumentNullException.
Passing an invalid degreeAngle which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which is not valid, it will throw an InvalidOperationException.
In the event you attempt to call this method and the CanRotate property returns false, it will throw a NotImplementedException.
This method returns a shape rotated by a number of degrees based on a pivot
point.
This parameter is the basis for the rotation.
The pivotPoint represents the center of rotation.
The number of degrees of rotation required, from 0 to 360.
This method rotates a shape a number of degrees based on a pivot
point.
This method returns a shape rotated by a number of degrees based on a pivot
point. By placing the pivot point in the center of the shape you can achieve
in-place rotation. By moving the pivot point outside of the center of the shape you
can translate the shape in a circular motion. Moving the pivot point further
outside of the center will make the circular area larger.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
If you pass a null as the pivotPoint, we will throw an ArgumentNullException.
Passing an invalid degreeAngle which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which is not valid, it will throw an InvalidOperationException.
In the event you attempt to call this method and the CanRotate property returns false, it will throw a NotImplementedException.
The pivotPoint represents the center of rotation.
The number of degrees of rotation required, from 0 to 360.
This method rotates a shape a number of degrees based on a pivot
point.
This method rotates a shape by a number of degrees based on a pivot
point. By placing the pivot point in the center of the shape you can achieve
in-place rotation. By moving the pivot point outside of the center of the shape you
can translate the shape in a circular motion. Moving the pivot point further
outside of the center will make the circular area larger.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions
defined above.
If you pass a null as the pivotPoint, we will throw an ArgumentNullException.
Passing an invalid degreeAngle which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which is not valid, it will throw an InvalidOperationException.
In the event you attempt to call this method and the CanRotate property returns false, it will throw a NotImplementedException.
The pivotPoint represents the center of rotation.
The number of degrees of rotation required, from 0 to 360.
This property specifies whether the shape can be rotated.
This property specifies if the shape can be rotated.
If this property returns false and you attempt to call the rotate method, it will
throw a NotImplementedException.
This method returns the shortest LineShape between this shape and the targetShape
parameter.
A LineShape representing the shortest distance between the shape you're calling the
method on and the targetShape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns a LineShape representing the shortest distance between the
shape you're calling the method on and the targetShape. In some instances, based on the
GeographicType or Projection, the line may not be straight. This effect is similar to
what you might see on an international flight when the displayed flight path is
curved.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
The shape you are trying to find the distance to.
The geographic unit of the Shape you are trying to find the distance to.
This method returns the shortest LineShape between this shape and the targetFeature.
parameter.
A MultiLineShape representing the shortest distance between the shape you're calling the
method on and the targetFeature.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns a MultiLineShape representing the shortest distance between the
shape you're calling the method on and the targetShape. In some instances, based on the
GeographicType or Projection, the line may not be straight. This is effect is similar to
what you might see on an international flight when the displayed flight path is
curved.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
The feature you are trying to find the distance to.
The geographic unit of the feature you are trying to find the distance to.
This method returns the shortest LineShape between this shape and the targetShape
parameter.
A LineShape representing the shortest distance between the shape you're calling the
method on and the targetShape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns a LineShape representing the shortest distance between the
shape you're calling the method on and the targetShape. In some instances, based on the
GeographicType or Projection, the line may not be straight. This is effect is similar to
what you might see on an international flight when the displayed flight path is
curved.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
The shape you are trying to find the distance to.
The geographic unit of the shape you are trying to find the distance to.
This method returns the point of the current shape that is closest to the target
shape.
A PointShape representing the closest point of the current shape to the
targetShape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns the point of the current shape that is closest to the target shape.
It is often the case that the point returned is not a point of the object itself. An
example would be a line with two points that are far apart from each other. If you set the
targetShape to be a point midway between the points but a short distance away from the line, the
method would return a point that is on the line but not either of the two points that make up the
line.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
The shape you are trying to find the closest point to.
The geographic unit of the shape you are trying to find the closet point to.
This method returns the point of the current shape that is closest to the target
feature.
A PointShape representing the closest point of the current shape to the
targetFeature.
If you pass in a targetFeature which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetFeature, we will throw an ArgumentNullException.
In the event you attempt to call this method on a feature which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns the point of the current shape that is closest to the target feature.
It is often the case that the point returned is not a point of the object itself. An
example would be a line with two points that are far apart from each other. If you set the
targetFeature to be a point midway between the points but a short distance away from the line, the
method would return a point that is on the line but not either of the two points that make up the
line.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
The feature you are trying to find the closest point to.
The geographic unit of the feature you are trying to find the closet point to.
This method returns the point of the current shape that is closest to the target
shape.
A PointShape representing the closest point of the current shape to the
targetShape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns the point of the current shape that is closest to the target shape.
It is often the case that the point returned is not a point of the object itself. An
example would be a line with two points that are far apart from each other. If you set the
targetShape to be a point midway between the points but a short distance away from the line, the
method would return a point that is on the line but not either of the two points that make up the
line.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
The shape you are trying to find the closest point to.
The geographic unit of the shape you are trying to find the closet point to.
This method returns the center point of the current shape's bounding box.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
A PointShape representing the center point of the current shape's bounding
box.
This method returns the center point of the current shape's bounding box. It is
important to note that this is the center point of the bounding box. There are numerous
ways to calculate the "center" of a geometry, such as its weighted center, etc. You can
find other centers by examining the various methods of the shape itself.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method returns the center point of the current shape's bounding box.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
A PointShape representing the center point of the current shape's bounding
box.
This method returns the center point of the current shape's bounding box. It is
important to note that this is the center point of the bounding box. There are numerous
ways to calculate the "center" of a geometry, such as its weighted center, etc. You can
find other centers by examining the various methods of the shape itself.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
This method computes the area containing all of the points within a given
distance from this shape.
The return type is a MultiPolygonShape that represents all of the points within a
given distance from the shape.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This method computes the area containing all of the points within a given
distance from this shape. In this case, you will be using the rounded
RoundedBufferCapStyle and the default 8 quadrant segments. The distance unit
is determined by the distanceUnit argument.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This overload allows you to specify the distance in your choice of unit and
uses defaults for everything else.
The distance is the number of units to buffer the current shape. The distance
unit will be the one specified in the distanceUnit parameter.
This is the geographic unit of the shape you are performing the operation
on.
This is the distance unit you would like to use as the distance. For example, if you
select miles as your distanceUnit, then the distance will be calculated in miles for
the operation.
This method computes the area containing all of the points within a given
distance from this shape.
The return type is a MultiPolygonShape that represents all of the points within a
given distance from the shape.
This overload allows you to specify the distance in your choice of unit,
specify the number of quadrant segments and uses defaults for everything else.
This method computes the area containing all of the points within a given
distance from this shape. In this case, you will be using the rounded
RoundedBufferCapStyle. The distance unit is determined by the distanceUnit
argument.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
Passing an invalid number of quadrant segments which is not between 3 and 100 will throw an ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
The distance is the number of units to buffer the current shape. The distance
unit will be the one specified in the distanceUnit parameter.
The quadrant segments are the number of points in each quarter circle. A good
default is 8, but if you want smoother edges you can increase this number. The valid
range for this number is from 3 to 100.
This is the geographic unit of the shape you are performing the operation
on.
This is the distance unit you would like to use as the distance. For example, if you
select miles as your distanceUnit, then the distance will be calculated in miles for
the operation.
This method computes the area containing all of the points within a given
distance from this shape.
This overload allows you to specify every parameter.
The return type is a MultiPolygonShape that represents all of the points within a
given distance from the shape.
This method computes the area containing all of the points within a given
distance from this shape.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
Passing an invalid number of quadrant segments which is not between 3 and 100 will throw an ArgumentOutOfRangeException.
If you pass in a bufferCapType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
The distance is the number of units to buffer the current shape. The distance
unit will be the one specified in the distanceUnit parameter.
The quadrant segments are the number of points in each quarter circle. A good
default is 8, but if you want smoother edges you can increase this number. The valid
range for this number is from 3 to 100.
The bufferCapType determines how the caps of the buffered object look. They
range from rounded to squared off.
This is the geographic unit of the shape you are performing the operation
on.
This is the distance unit you would like to use as the distance. For example, if you
select miles as your distanceUnit, then the distance will be calculated in miles for
the operation.
This method computes the area containing all of the points within a given
distance from this shape.
The return type is a MultiPolygonShape that represents all of the points within a
given distance from the shape.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a bufferCapType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing an invalid quadrantSegments which is not between 3 and 100 will throw an ArgumentOutOfRangeException.
This method computes the area containing all of the points within a given
distance from this shape. In this case, you will be using the rounded
RoundedBufferCapStyle and the default 8 quadrant segments. The distance unit
is determined by the distanceUnit argument.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
This overload allows you to specify the distance in your choice of unit and
uses defaults for everything else.
The distance is the number of units to buffer the current shape. The distance
unit will be the one specified in the distanceUnit parameter.
The number of quadrantSegments used in the buffer logic.
The bufferCapType used in the buffer logic.
This is the geographic unit of the shape you are performing the operation
on.
This is the distance unit you would like to use as the distance. For example, if you
select miles as your distanceUnit, then the distance will be calculated in miles for
the operation.
This method computes the distance between the current shape and the
targetShape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
The distance returned will be in the unit of the shape.
The return type is the distance between this shape and the targetShape in the
GeographyUnit of the shape.
In this method we compute the closest distance between the two shapes. The
returned unit will be in the unit of distance specified.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
The shape you are trying to find the distance to.
This parameter is the unit of the shape you are getting the distance to.
This parameter is the unit of the distance you want the return value to be
in.
This method computes the distance between the current shape and the
targetFeature.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
The distance returned will be in the unit of the shape.
The return type is the distance between this shape and the targetFeature in the
GeographyUnit of the shape.
In this method we compute the closest distance between a shape and a feature. The
returned unit will be in the unit of distance specified.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
The feature you are trying to find the distance to.
This parameter is the unit of the shape which is contained in the targetFeature you are getting the distance to.
This parameter is the unit of the distance you want the return value to be
in.
This method computes the distance between the current shape and the
targetShape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
The distance returned will be in the unit of the shape.
The return type is the distance between this shape and the targetShape in the
GeographyUnit of the shape.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
In this method we compute the closest distance between the two shapes. The
returned unit will be in the unit of distance specified.
The shape you are trying to find the distance to.
the geographic unit of the targetShape.
The returning distance unit.
This method returns a BaseShape which has been registered from its original
coordinate system to another based on two anchor PointShapes.
This method returns a BaseShape which has been registered from its original
coordinate system to another based on two anchor PointShapes.
Registering allows you to take a geometric shape generated in a planar system
and attach it to the ground in a Geographic Unit.
A common scenario is integrating geometric shapes from external programs
(such as CAD software or a modeling system) and placing them onto a map. You may have
the schematics of a building in a CAD system and the relationship between all the
points of the building are in feet. You want to then take the CAD image and attach
it to where it really exists on a map. You would use the register method to do
this.
Registering is also useful for scientific modeling, where software models things such
as a plume of hazardous materials or the fallout from a volcano. The modeling
software typically generates these models in a fictitious planar system. You would
then use the register to take the abstract model and attach it to a map with real
coordinates.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
If you pass in a fromUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a toUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing a null as the fromPoint parameter will throw an ArgumentNullException.
Passing a null as the toPoint parameter will throw an ArgumentNullException.
This parameter is the anchor PointShape in the coordinate of origin.
This parameter is the anchor PointShape in the coordinate of destination.
This parameter is the DistanceUnit of the coordinate of origin.
This parameter is the GeographyUnit of the coordinate of destination.
This method returns a BaseShape which has been registered from its original
coordinate system to another based on two anchor PointShapes.
This method returns a BaseShape which has been registered from its original
coordinate system to another based on two anchor PointShapes.
Registering allows you to take a geometric shape generated in a planar system
and attach it to the ground in a Geographic Unit.
A common scenario is integrating geometric shapes from external programs
(such as CAD software or a modeling system) and placing them onto a map. You may have
the schematics of a building in a CAD system and the relationship between all the
points of the building are in feet. You want to then take the CAD image and attach
it to where it really exists on a map. You would use the register method to do
this.
Registering is also useful for scientific modeling, where software models things such
as a plume of hazardous materials or the fallout from a volcano. The modeling
software typically generates these models in a fictitious planar system. You would
then use the register to take the abstract model and attach it to a map with real
coordinates.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
If you pass in a fromUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a toUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing a null as the fromPoint parameter will throw an ArgumentNullException.
Passing a null as the toPoint parameter will throw an ArgumentNullException.
This parameter is the anchor PointFeature in the coordinate of origin.
This parameter is the anchor PointFeature in the coordinate of destination.
This parameter is the DistanceUnit of the coordinate of origin.
This parameter is the GeographyUnit of the coordinate of destination.
This method returns a BaseShape which has been registered from its original
coordinate system to another based on two anchor PointShapes.
This method returns a BaseShape which has been registered from its original
coordinate system to another based on two anchor PointShapes.
Registering allows you to take a geometric shape generated in a planar system
and attach it to the ground in a Geographic Unit.
A common scenario is integrating geometric shapes from external programs
(such as CAD software or a modeling system) and placing them onto a map. You may have
the schematics of a building in a CAD system and the relationship between all the
points of the building are in feet. You want to then take the CAD image and attach
it to where it really exists on a map. You would use the register method to do
this.
Registering is also useful for scientific modeling, where software models things such
as a plume of hazardous materials or the fallout from a volcano. The modeling
software typically generates these models in a fictitious planar system. You would
then use the register to take the abstract model and attach it to a map with real
coordinates.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions
defined above.
If you pass in a fromUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a toUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing a null as the fromPoint parameter will throw an ArgumentNullException.
Passing a null as the toPoint parameter will throw an ArgumentNullException.
This parameter is the anchor PointShape in the coordinate of origin.
This parameter is the anchor PointShape in the coordinate of destination.
This parameter is the DistanceUnit of the coordinate of origin.
This parameter is the GeographyUnit of the coordinate of destination.
This method returns a ShapeValidationResult based on a series of
tests.
This method returns a ShapeValidationResult based on a series of
tests.
We use this method, with the simple enumeration, internally before doing any kind
of other methods on the shape. In this way, we are able to verify the integrity of the
shape itself. If you wish to test things such as whether a polygon self-intersects, we invite
you to call this method with the advanced ShapeValidationMode. One thing to consider is
that for complex polygon shapes this operation could take some time, which is why we
only run the basic, faster test. If you are dealing with polygon shapes that are
suspect, we suggest you run the advanced test.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
If you pass in a validationMode that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter determines whether the test is simple or advanced. In some cases, the
advanced tests can take some time. The simple test is designed to always be
fast.
This method returns a ShapeValidationResult based on a series of
tests.
This method returns a ShapeValidationResult based on a series of
tests.
We use this method, with the simple enumeration, internally before doing any kind
of other methods on the shape. In this way, we are able to verify the integrity of the
shape itself. If you wish to test things such as whether a polygon self-intersects, we invite
you to call this method with the advanced ShapeValidationMode. One thing to consider is
that for complex polygon shapes this operation could take some time, which is why we
only run the basic, faster test. If you are dealing with polygon shapes that are
suspect, we suggest you run the advanced test.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
If you pass in a validationMode that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter determines whether the test is simple or advanced. In some cases, the
advanced tests can take some time. The simple test is designed to always be
fast.
This method returns if the current shape and the targetShape have no points in
common.
This method returns if the current shape and the targetShape have no points in
common.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
None
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The shape you wish to compare the current one to.
This method returns if the current shape and the targetFeature have no points in
common.
This method returns if the current shape and the targetFeature have no points in
common.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
None
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The feature you wish to compare the current one to.
This method returns if the current shape and the targetShape have no points in
common.
This method returns if the current shape and the targetShape have no points in
common.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The shape you wish to compare the current one to.
This method returns if the current shape and the targetShape have at least one
point in common.
This method returns if the current shape and the targetShape have at least one
point in common.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The shape you wish to compare the current one to.
This method returns if the current shape and the targetFeature have at least one
point in common.
This method returns if the current shape and the targetFeature have at least one
point in common.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The targetFeature you wish to compare the current one to.
This method returns if the current shape and the targetShape have at least one
point in common.
This method returns if the current shape and the targetShape have at least one
point in common.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The shape you wish to compare the current one to.
This method returns if the current shape and the targetShape have at least one
boundary point in common, but no interior points.
This method returns if the current shape and the targetShape have at least one
boundary point in common, but no interior points.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The shape you wish to compare the current one to.
This method returns of the current shape and the targetFeature have at least one
boundary point in common, but no interior points.
This method returns of the current shape and the targetFeature have at least one
boundary point in common, but no interior points.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The targetFeature which contains a shape that you wish to compare the current one to.
This method returns if the current shape and the targetShape have at least one
boundary point in common, but no interior points.
This method returns if the current shape and the targetShape have at least one
boundary point in common, but no interior points.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The shape you wish to compare the current one to.
This method returns if the current shape and the targetShape share some but not
all interior points.
This method returns if the current shape and the targetShape share some but not
all interior points.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The shape you wish to compare the current one to.
This method returns if the current shape and the targetFeature share some but not
all interior points.
This method returns if the current shape and the targetFeature share some but not
all interior points.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The targetFeature that contains a shape you wish to compare the current one to.
This method returns if the current shape and the targetShape share some but not
all interior points.
This method returns if the current shape and the targetShape share some but not
all interior points.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The shape you wish to compare the current one to.
This method returns if the current shape lies within the interior of the
targetShape.
This method returns if the current shape lies within the interior of the
targetShape.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The shape you wish to compare the current one to.
This method returns if the current shape lies within the interior of the
targetFeature.
This method returns if the current shape lies within the interior of the
targetFeature.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The targetFeature that contains a shape you wish to compare the current one to.
This method returns if the current shape lies within the interior of the
targetShape.
This method returns if the current shape lies within the interior of the
targetShape.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The shape you wish to compare the current one to.
This method returns if the targetShape lies within the interior of the current
shape.
This method returns if the targetShape lies within the interior of the current
shape.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The shape you wish to compare the current one to.
This method returns if the targetFeature lies within the interior of the current
shape.
This method returns if the targetFeature lies within the interior of the current
shape.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The targetFeature that contains a shape you wish to compare the current one to.
This method returns if the targetShape lies within the interior of the current
shape.
This method returns if the targetShape lies within the interior of the current
shape.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The shape you wish to compare the current one to.
This method returns if the current shape and the targetShape share some but not
all points in common.
This method returns if the current shape and the targetShape share some but not
all points in common.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The shape you wish to compare the current one to.
This method returns if the current shape and the targetFeature share some but not
all points in common.
This method returns if the current shape and the targetFeature share some but not
all points in common.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The targetFeature that contains a shape you wish to compare the current one to.
This method returns if the current shape and the targetShape share some but not
all points in common.
This method returns if the current shape and the targetShape share some but not
all points in common.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The shape you wish to compare the current one to.
This method returns if the current shape and the targetShape are topologically
equal.
This method returns if the current shape and the targetShape are topologically
equal.
Topologically equal means that the shapes are essentially the same. For example,
let's say you have a line with two points, point A and point B. You also have another line that
is made up of point A, point B and point C. Point A of line one shares the same vertex
as point A of line two, and point B of line one shares the same vertex as point C of
line two. They are both straight lines, so point B of line two would lie on the first
line. Essentially the two lines are the same, with line 2 having just one extra point.
Topologically they are the same line, so this method would return true.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The shape you wish to compare the current one to.
This method returns if the current shape and the targetFeature are topologically
equal.
This method returns if the current shape and the targetFeature are topologically
equal.
Topologically equal means that the shapes are essentially the same. For example,
let's say you have a line with two points, point A and point B. You also have another line that
is made up of point A, point B and point C. Point A of line one shares the same vertex
as point A of line two, and point B of line one shares the same vertex as point C of
line two. They are both straight lines, so point B of line two would lie on the first
line. Essentially the two lines are the same, with line 2 having just one extra point.
Topologically they are the same line, so this method would return true.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The targetFeature that contains a shape you wish to compare the current one to.
This method returns if the current shape and the targetShape are topologically
equal.
This method returns if the current shape and the targetShape are topologically
equal.
Topologically equal means that the shapes are essentially the same. For example,
let's say you have a line with two points, point A and point B. You also have another line that
is made up of point A, point B and point C. Point A of line one shares the same vertex
as point A of line two, and point B of line one shares the same vertex as point C of
line two. They are both straight lines, so point B of line two would lie on the first
line. Essentially the two lines are the same, with line 2 having just one extra point.
Topologically they are the same line, so this method would return true.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The shape you wish to compare the current one to.
Get a corresponding feature which has the same Id and BaseShape as the current
shape.
The feature with the same Id and BaseShape as the current BaseShape, and with empty
columnValues in it.
Get a corresponding feature which has the same Id and BaseShape as the current
shape. Additionally, pass the specified columnValues into the returned feature.
The feature with the same Id and BaseShape as the current BaseShape and with empty
columnValues in it, substituted with the passed-in columnValues.
The columnValues will be passed into returning feature.
This method returns the crossing points between the current shape and the passed-in target shape.
This method returns the crossing points between the current shape and the passed-in target shape.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The target shape you wish to get crossing points with.
This method returns the crossing points between the current shape and the passed-in target shape.
This method returns the crossing points between the current shape and the passed-in target shape.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The target shape you wish to get crossing with.
This method increases or decreases the size of the shape by the specified scale
factor given in the parameter.
This method is useful when you would like to increase or decrease the size of the shape.
The new shape under new scale
It will call the instanced method ScaleTo internally.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Is you pass in the scale is not bigger than zero, it will throw ArgumentOutOfRangeException.
RectangleShape rectangleShape = new RectangleShape(-10, 10, 10, -10);
RectangleShape smallerShape = BaseShape.ScaleTo(rectangleShape, 0.5) as RectangleShape;
RectangleShape biggerShape = BaseShape.ScaleTo(rectangleShape, 2) as RectangleShape;
Dim rectangleShape As New RectangleShape(-10, 10, 10, -10)
Dim smallerShape As RectangleShape = TryCast(BaseShape.ScaleTo(rectangleShape, 0.5), RectangleShape)
Dim biggerShape As RectangleShape = TryCast(BaseShape.ScaleTo(rectangleShape, 2), RectangleShape)
Represents a shape which you want to resize
Pepresents a value which scaleFactor to.
This method increases or decreases the size of the shape by the specified scale
factor given in the parameter.
This method is useful when you would like to increase or decrease the size of the shape.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
RectangleShape rectangleShape = new RectangleShape(-10, 10, 10, -10);
rectangleShape.ScaleTo(rectangleShape, 0.5);
rectangleShape.ScaleTo(rectangleShape, 2);
Dim rectangleShape As New RectangleShape(-10, 10, 10, -10)
rectangleShape.ScaleTo(rectangleShape, 0.5)
rectangleShape.ScaleTo(rectangleShape, 2)
Is you pass in the scale is not bigger than zero, it will throw ArgumentOutOfRangeException.
Pepresents a value which scaleFactor to
This method increases or decreases the size of the shape by the specified scale factor given in the
parameter.
This method is useful when you would like to increase or decrease the size of the shape.
This protected virtual method is called from the concrete public method
ScaleTo. It does not take into account any transaction activity, as this is the
responsibility of the concrete public method ScaleTo. This way, as a developer,
if you choose to override this method you do not have to consider transactions at
all.
Pepresents a value which scaleFactor to
Is you pass in the scale is not bigger than zero, it will throw ArgumentOutOfRangeException.
This abstract class is the root of all line-based shapes, such as LineShape
and MultilineShape.
This class is used as the base class for line shapes such as:
LineShape
MultilineShape
It can be inherited from to create your own specialized line geometry. If you
choose to do this, your new class must conform to one of the well-known text standard
shapes in order for the base implementations to work properly.
This is the default constructor for AreaBaseShape.
This constructor simply calls the base constructor.
This method returns the length of the line shape.
This overload returns the length in the unit of your choice, based on
the returningUnit parameter specified.
This overload returns the length in the unit of your choice, based on
the returningUnit parameter specified.
This is a useful method when you want to know the total length of a line-based
shape. If the shape is a MultiLineShape, then the length is the sum of all of its
lines.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw an ArgumentOutOfRangeException.
If you pass in a returningUnit that is not defined in the enumeration, it will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the distance unit you would like to use as the return value. For example, if
you select miles as your returningUnit, then the distance will be returned in
miles.
This method returns the length of the line shape.
This overload returns the length in the unit of your choice, based on
the returningUnit parameter specified.
This overload returns the length in the unit of your choice, based on
the returningUnit parameter specified.
This is a useful method when you want to know the total length of a line-based
shape. If the shape is a MultiLineShape, then the length is the sum of all of its
lines.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw an ArgumentOutOfRangeException.
If you pass in a returningUnit that is not defined in the enumeration, it will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the distance unit you would like to use as the return value. For example, if
you select miles as your returningUnit, then the distance will be returned in
miles.
This method returns a new shape that is increased by the percentage given in the
percentage parameter.
This method is useful when you would like to increase the size of the shape. Note
that a larger percentage will scale the shape up faster as you apply the operation
multiple times. There is also a ScaleDown method that will shrink the shape as
well.
As this is a concrete public method that wraps a Core method we reserve the right to
add events and other logic to pre or post process data returned by the Core version of
the method. In this way we leave our framework open on our end but also allow you the
developer to extend our logic to your needs. If you have questions about this please
contact support as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will thrown an ArgumentOutOfRangeException.
This parameter is the basis for the scale up up but is not modified.
This is the percentage by which to increase the shape�s size.
a scaled line type shape.
This method returns a new feature that is increased by the percentage given in the
percentage parameter.
This method is useful when you would like to increase the size of the feature. Note
that a larger percentage will scale the shape up faster as you apply the operation
multiple times. There is also a ScaleDown method that will shrink the shape as
well.
As this is a concrete public method that wraps a Core method we reserve the right to
add events and other logic to pre or post process data returned by the Core version of
the method. In this way we leave our framework open on our end but also allow you the
developer to extend our logic to your needs. If you have questions about this please
contact support as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will thrown an ArgumentOutOfRangeException.
This parameter is the basis for the scale up up but is not modified.
This is the percentage by which to increase the shape�s size.
a scaled line type feature.
This method increases the size of the LineShape by the percentage given in the
percentage parameter.
This method is useful when you would like to increase the size of the shape. Note
that a larger percentage will scale the shape up faster as you apply the operation
multiple times. There is also a ScaleDown method that will shrink the shape as
well.
As this is a concrete public method that wraps a Core method we reserve the right to
add events and other logic to pre or post process data returned by the Core version of
the method. In this way we leave our framework open on our end but also allow you the
developer to extend our logic to your needs. If you have questions about this please
contact support as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will thrown an ArgumentOutOfRangeException.
This is the percentage by which to increase the shape�s size.
This method increases the size of the LineShape by the percentage given in the
percentage parameter.
This method is useful when you would like to increase the size of the shape. Note
that a larger percentage will scale the shape up faster as you apply the operation
multiple times. There is also a ScaleDown method that will shrink the shape as
well.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will thrown an ArgumentOutOfRangeException.
This is the percentage by which to increase the shape�s size.
This method returns a new shape that is decreases by the percentage given in the
percentage parameter.
This method is useful when you would like to decrease the size of the shape. Note
that a larger percentage will scale the shape down faster as you apply the operation
multiple times. There is also a ScaleUp method that will enlarge the shape as
well.
As this is a concrete public method that wraps a Core method we reserve the right to
add events and other logic to pre or post process data returned by the Core version of
the method. In this way we leave our framework open on our end but also allow you the
developer to extend our logic to your needs. If you have questions about this please
contact support as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will thrown an ArgumentOutOfRangeException.
This parameter is the basis for the scale up up but is not modified.
This is the percentage by which to decrease the shape�s size.
a scaled down line type shape.
This method returns a new feature that is decreases by the percentage given in the
percentage parameter.
This method is useful when you would like to decrease the size of the feature. Note
that a larger percentage will scale the shape down faster as you apply the operation
multiple times. There is also a ScaleUp method that will enlarge the shape as
well.
As this is a concrete public method that wraps a Core method we reserve the right to
add events and other logic to pre or post process data returned by the Core version of
the method. In this way we leave our framework open on our end but also allow you the
developer to extend our logic to your needs. If you have questions about this please
contact support as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will thrown an ArgumentOutOfRangeException.
This parameter is the basis for the scale up up but is not modified.
This is the percentage by which to decrease the shape�s size.
a scaled down line type feature.
This method decreases the size of the LineShape by the percentage given in the
percentage parameter.
This method is useful when you would like to decrease the size of the shape. Note
that a larger percentage will scale the shape down faster as you apply the operation
multiple times. There is also a ScaleUp method that will enlarge the shape as
well.
As this is a concrete public method that wraps a Core method we reserve the right to
add events and other logic to pre or post process data returned by the Core version of
the method. In this way we leave our framework open on our end but also allow you the
developer to extend our logic to your needs. If you have questions about this please
contact support as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will thrown an ArgumentOutOfRangeException.
This is the percentage by which to decrease the shape�s size.
This method decreases the size of the LineShape by the percentage given in the
percentage parameter.
This method is useful when you would like to decrease the size of the shape. Note
that a larger percentage will scale the shape down faster as you apply the operation
multiple times. There is also a ScaleUp method that will enlarge the shape as
well.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will thrown an ArgumentOutOfRangeException.
This is the percentage by which to decrease the shape�s size.
This method returns the convex hull of the shape defined as the smallest convex
ring that contains all the points in the shape.
This method returns a RingShape defined as the smallest convex ring that contains
all the points in the shape.
This method is useful when you want to create a perimeter around the shape. For
example if you had a MultiPolygon which represented buildings in a campus you could
easily get the convex hull of the buildings and determine the perimeter of all of the
buildings together. This also works with MultiPoint shapes where each point may
represent a certain type of person you are doing statistics on. With convex hull you
can get an idea of the regions those points are located in.
As this is a concrete public method that wraps a Core method we reserve the right to
add events and other logic to pre or post process data returned by the Core version of
the method. In this way we leave our framework open on our end but also allow you the
developer to extend our logic to your needs. If you have questions about this please
contact support as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This method returns the convex hull of the shape defined as the smallest convex
ring that contains all the points in the shape.
This method returns a RingShape defined as the smallest convex ring that contains
all the points in the shape.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
This method is useful when you want to create a perimeter around the shape. For
example, if you had a MultiPolygon that represented buildings on a campus, you could
easily get the convex hull of the buildings and determine the perimeter of all of the
buildings together. This also works with MultiPoint shapes, where each point may
represent a certain type of person you are doing statistics on. With convex hull, you
can get an idea of the regions those points are located in.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType.
target shape which will be simplified.
the geography unit of the target shape
the distance unit of tolerance
distance tolerance
Specifies which algorthm will be use to simplify.
Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid tolerance which is less than 0 will thrown an ArgumentOutOfRangeException.
Passing an invalid simplificationType will thrown an ArgumentOutOfRangeException.
Passing an invalid shapeUnit will thrown an ArgumentOutOfRangeException.
Passing an invalid toleranceUnit will thrown an ArgumentOutOfRangeException.
Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType.
Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid tolerance which is less than 0 will thrown an ArgumentOutOfRangeException.
Passing an invalid simplificationType will thrown an ArgumentOutOfRangeException.
target shape which will be simplified.
distance tolerance
Specifies which algorthm will be use to simplify.
Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType.
the geography unit of the target shape
the distance unit of tolerance
distance tolerance
Specifies which algorthm will be use to simplify.
Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid tolerance which is less than 0 will thrown an ArgumentOutOfRangeException.
Passing an invalid simplificationType will thrown an ArgumentOutOfRangeException.
Passing an invalid shapeUnit will thrown an ArgumentOutOfRangeException.
Passing an invalid toleranceUnit will thrown an ArgumentOutOfRangeException.
Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType.
Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid tolerance which is less than 0 will thrown an ArgumentOutOfRangeException.
Passing an invalid simplificationType will thrown an ArgumentOutOfRangeException.
distance tolerance
Specifies which algorthm will be use to simplify.
Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType.
distance tolerance
Specifies which algorthm will be use to simplify.
Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid tolerance which is less than 0 will thrown an ArgumentOutOfRangeException.
Passing an invalid simplificationType will thrown an ArgumentOutOfRangeException.
Calculates a new geometry that contains all the points in this LineBaseShape and input LineBaseShape
The target LineBasheShape with which to compute the union
A set combining the points of this LineBaseShape and the points of input LineBaseShape.
Calculates a new geometry that contains all the points in this LineBaseShape and input LineBaseShape set.
The target LineBasheShape set with which to compute the union
A set combining the points of this LineBaseShape and the points of input LineBaseShape set.
The protected virtual method used by "Union" that you can overwrite to implement your own logic.
The target LineBasheShape set with which to compute the union
A set combining the points of this LineBaseShape and the points of input LineBaseShape set.
This abstract class is the root of all point-based shapes, such as PointShape
and MultiPointShape.
This class is used as the base class for point shapes such as:
PointShape
MultiPointShape
It can be inherited from to create your own specialized point geometry. If you
choose to do this, your new class must conform to one of the well-known text standard
shapes in order for the base implementations to work properly.
This is the default constructor for PointBaseShape.
This constructor simply calls the base constructor.
Units describing various ways you can measure areas.
Area units are most commonly used when calling APIs that measure areas.
Regardless of the unit of measure your shapes are in, many of our APIs allow you to
specify what unit of measure you want the result of the method call to be in. For
example, you may have a PolygonShape whose points are in decimal degrees; however, you
want to know the area in square miles. This is easy to accomplish. Simply call the GetArea
method on the PolygonShape, passing in the first parameter of decimal degrees (which
defines what unit the shape is in), and then square miles as the area unit you would
like the result to be in.
Acres
Square Meters
Hectares
Square Feet
Square Kilometers
Square Miles
Square US Survey Feet
Square Yards
This class represents various ways a buffer operation can cap the objects
buffered.
Buffered shapes can be computed with different line-end buffer cap styles. The
buffer cap style determines how the line-work for the buffer polygon is constructed at
the ends of lines.
End caps are rounded at the line ends.
End caps are truncated flat at the line ends.
End caps are squared off at the buffer distance beyond the line ends.
This static class provides a conversion method to go to and from different
units.
None
This method converts from one unit of measure to another.
The return length size, represented in the unit specified in the toUnit parameter.
If you pass in a fromUnit that is not defined in the enumeration, it will throw an ArgumentOutOfRangeException.
If you pass in a toUnit that is not defined in the enumeration, it will throw an ArgumentOutOfRangeException.
This overload handles length units.
None
The total length size, represented in the unit specified in the fromUnit parameter.
The unit of measure for the length in the Amount parameter.
The unit of measure for the result.
This method converts from one unit of measure to another.
The return area size, represented in the unit specified in the toUnit parameter.
If you pass in a fromUnit that is not defined in the enumeration, it will throw an ArgumentOutOfRangeException.
If you pass in a toUnit that is not defined in the enumeration, it will throw an ArgumentOutOfRangeException.
This overload handles area units.
None
The total area size, represented in the unit specified in the fromUnit parameter.
The unit of measure for the area in the Amount parameter.
The unit of measure for the result.
This method returns a DistanceUnit that has been converted from a GeographyUnit.
This method returns a DistanceUnit that has been converted from a GeographyUnit.
If you pass in a GeographyUnit that is not defined in the enumeration, it will throw an ArgumentOutOfRangeException.
None
The GeographyUnit you want to convert.
This class contains a static routine for converting between degree-minute-second
measurement and decimal degree measurement. In essense, it is a routine for converting from
a non-decimal degree unit to decimal degree unit distance.
This method returns a string representation in degrees and minutes from
a decimal degree point.
This method returns a string representation in degrees and minutes from
a decimal degree point.
This overload allows you to pass in a point shape to be converted.
The feature you want to convert.
Number of decimals for the Minutes value
This method returns a string representation in degrees and minutes from
a decimal degree point.
This method returns a string representation in degrees and minutes from
a decimal degree point.
This overload allows you to pass in a point shape to be converted.
The point you want to convert.
This method returns a string representation in degrees and minutes from
a decimal degree point.
This method returns a string representation in degrees and minutes from
a decimal degree point.
This overload allows you to pass in a point shape to be converted.
The PointShape you want to convert.
This method returns a string representation in degrees and minutes from
a decimal degree point.
This method returns a string representation in degrees and minutes from
a decimal degree point.
This overload allows you to pass in a point shape to be converted.
The PointShape you want to convert.
Number of decimals for the Minutes value
This method returns a degrees, minutes and seconds structure from a decimal degree
value.
The method allows you pass in a decimal degree number and return the degree, minute, second as variables
passed in on the method call.
This method returns a degrees, minutes and seconds structure from a decimal degree
value.
The decimal degree value you want to convert.
This method returns a string representation in degrees, minutes and seconds from
a decimal degree value.
Example: If you enter 75.358 as the number of decimal degrees, the result would be 75
degrees, 21 minutes, 28 seconds. Thus, the return string would be 75?21' 28".
This method returns a string representation in degrees, minutes and seconds
from a decimal degree value.
This overload allows you to specify the decimal degree value.
The number of decimal degrees to convert.
This method returns a string representation in degrees, minutes and seconds from
a decimal degree value and a specified precision.
Example: If you enter 75.358 as the number of decimal degree and 12 as decimals, the result would be
75 degrees, 21 minutes, 28.80000000015 seconds. Thus, the return string would be 75?21' 28.80000000015".
This method returns a string representation in degrees, minutes and seconds from
a decimal degree value.
This overload allows you to specify the decimal degree value along with the
precision of the returned value.
The number of decimal degree to convert.
The number of float decision for the second.
This method returns a string representation in degrees, minutes and seconds from
a decimal degree value.
Passing in a point will return the point's location represented in degrees,
minutes, and seconds. For example, if the point's location in decimal degrees is (75.358, 36.345),
the actual returned string would be "75?21' 29''E 36?20' 42''N".
This method returns a string representation in degrees, minutes and seconds from
a decimal degree value.
This overload allows you to pass in a point shape to be converted.
The point you want to convert.
This method returns a string representation in degrees, minutes and seconds from
a decimal degree value.
This method returns a string representation in degrees, minutes and seconds from
a decimal degree value.
This overload allows you to pass in a point shape to be converted, along with the
precision of the returned value.
None
The point of decimal degree to convert.
The number of decimal degree to convert.
This method returns a string representation in degrees, minutes and seconds from
a decimal degree value.
This method returns a string representation in degrees, minutes and seconds from
a decimal degree value.
This overload allows you to pass in a feature to be converted, along with the
precision of the returned value.
None
The feature whose decimal degrees to convert.
The number of decimal degree to convert.
This method returns a string representation in degrees, minutes and seconds from
a decimal degree value.
This method returns a string representation in degrees, minutes and seconds from
a decimal degree value.
This overload allows you to pass in a feature to be converted, along with the
precision of the returned value.
None
The feature whose decimal degrees to convert.
This method returns a decimal degree value based on a string containing degrees,
minutes, and seconds.
If you pass in "75?21' 28''" as a string, then the result will be 75.35777777784.
This method returns a decimal degree value based on a string containing degrees,
minutes, and seconds.
This parameter represents the degrees, minutes and seconds in a string.
This method returns a decimal degree value based on a degree, minute and second
structure.
If you pass in 75, 21 and 28, the result passed back will be 75.2577777778.
This method returns a decimal degree value based on a degree, minute and second
structure.
This structure represents the degrees, minutes and seconds.
This method returns a decimal degree value based on a set of degrees, minutes, and
seconds.
This method returns a decimal degree value based on a set of degrees, minutes, and
seconds.
If you pass in 75, 21 and 28, the result passed back will be
75.2577777778.
This parameter represents the degree component of the degrees, minutes and
seconds.
This parameter represents the minute component of the degrees, minutes and
seconds.
This parameter represents the second component of the degrees, minutes and
seconds.
This method returns the distance between two decimal degree points.
This method returns the distance between two decimal degree points in the unit specified by
the returningUnit parameter.
None
This overload allows you to pass in two point shapes.
The point shape you will measure from.
The point shape you will measure to.
The unit you would like your results back in, such as miles or kilometers.
This method returns the distance between two decimal degree points.
This method returns the distance between two decimal degree points in the unit specified by
the returningUnit parameter.
None
This overload allows you to pass in two point shapes.
The feature you will measure from.
The feature you will measure to.
The unit you would like your results back in, such as miles or kilometers.
This method returns the distance between two decimal degree points.
This method returns the distance between two decimal degree points in the unit specified by
the returningUnit parameter.
None
This overload allows you to pass in the from and to latitude and longitude
values.
This is the from longitude value.
This is the from latitude value.
This is the to longitude value.
This is the to latitude value.
This is the distance unit you would like to use in the return value. For example,
if you select miles as your returningUnit, then the distance will be returned in
miles.
Calculate the amount of longitude change given a certain distance and latitude.
Double representing the distance.
None
The distance over which you would like to know the change in longitude.
The unit the distance is in, such as miles or kilometers.
The latitude on the globe that the distance is measured at.
Calculate the amount of longitude change given a certain distance and longitude.
Double representing the distance.
None
The distance over which you would like to know the change in longitude.
The unit the distance is in, such as miles or kilometers.
The longitude on the globe that the distance is measured at.
Convert the input latitude and longitude to MGRS string
Longitude coordinate.
Latitude coordinate.
The MGRS corresponding to input latitude and longitude.
Convert the MGRS string to latitude and longitude
MGRS string
The converted coordinate.
This structure represents a degrees, minutes and seconds value.
This structure is used in many places to represent decimal degree numbers as
degrees, minutes and seconds.
This constructor allows you to create an instance of the class by specifying the
degree, minute and second values.
None
This parameter represents the degree portion of the structure.
This parameter represents the minute portion of the structure.
This parameter represents the second portion of the structure.
This property returns the degrees portion of the structure.
This property returns the degrees portion of the structure.
None
This property returns the minutes portion of the structure.
This property returns the minutes portion of the structure.
None
This property returns the seconds portion of the structure.
This property returns the seconds portion of the structure.
None
Serves as hash function for the particular type.
The hash code for this particular type.
Compares current DegreesMinutesSeconds with a passing object.
True if the passing object satisfies the following two conditions:
1) The object is of DegreesMinutesSeconds type.
2) The Degrees, Minutes and Seconds of both DegreesMinutesSeconds should be the
same.
If both conditions are not met, will return false.
The passing object which will be used to compare with current
DegreesMinutesSeconds.
Add two DegreesMinutsSeconds together and return back a summary of the
two.
The summary of the two DegreesMinutesSeconds.
DegreesMinutesSeconds dms1 = new DegreesMinutesSeconds(15, 21, 19.1);
DegreesMinutesSeconds dms2 = new DegreesMinutesSeconds(12, 43, 12);
DegreesMinutesSeconds dms3 = dms1.Add(dms2);
// The return value should be:28d 4' 31.1''
Dim dms1 As New DegreesMinutesSeconds(15, 21, 19.1)
Dim dms2 As New DegreesMinutesSeconds(12, 43, 12)
Dim dms3 As DegreesMinutesSeconds = dms1.Add(dms2)
' The return value should be:28d 4' 31.1''
The target DegreesMinutesSeconds to be added together.
Operation + overloads for DegreesMinutesSeconds.Sum of two
DegreesMinutesSeconds.
The summary of the two DegreesMinutesSeconds.
DegreesMinutesSeconds dms1 = new DegreesMinutesSeconds(15, 21, 19.1);
DegreesMinutesSeconds dms2 = new DegreesMinutesSeconds(12, 43, 12);
DegreesMinutesSeconds dms3 = dms1 + dms2;
// The return value should be:28d 4' 31.1''
Dim dms1 As New DegreesMinutesSeconds(15, 21, 19.1)
Dim dms2 As New DegreesMinutesSeconds(12, 43, 12)
Dim dms3 As DegreesMinutesSeconds = dms1 + dms2
' The return value should be:28d 4' 31.1''
The first target DegreesMinutesSeconds.
The second target DegreesMinutesSeconds.
Operation == overloads for DegreesMinutesSeconds.Sum of two
DegreesMinutesSeconds.
True if the two degreesMinutesSeconds are equal in their responding Degrees,
Minutes, Seconds. Otherwise returns false.
The first target DegreesMinutesSeconds.
The second target DegreesMinutesSeconds.
Operation != overloads for DegreesMinutesSeconds.Sum of two
DegreesMinutesSeconds.
True if any of the two degreesMinutesSeconds are not equal in their
responding Degrees, Minutes, Seconds. Otherwise returns false.
The first target DegreesMinutesSeconds.
The second target DegreesMinutesSeconds.
This method returns a formatted representation of the degrees, minutes and seconds
value.
This method returns a formatted representation of the degrees, minutes and seconds
value.
The value will be formatted in the standard string format: 75º 21' 28"
This method returns a formatted representation of the degrees, minutes and seconds
value that has been rounded to the specified decimals.
The target decimals that the degrees, minutes, seconds value will be rounded
to.
This method returns a formatted representation of the degrees, minutes and seconds
value.
The value will be formatted in the standard string format. For example, 75º 21' 2.1235" (when the decimals parameter is set to 4).
Length units are most commonly used when calling APIs that measure lengths.
Regardless of the unit of measure your shapes are in, many of our APIs allow you to
specify what unit of measure you want the result of the method call to be in. For
example, you may have a LineShape whose points are in decimal degrees; however, you want
to know the length in miles. This is easy to accomplish. Simply call the GetLength method on the
LineShape, passing in the first parameter of decimal degrees (which defines what unit
the shape is in), and then miles as the length unit you would like the result to be in.
Units describing various ways you can measure lengths.
Meter
Feet
Kilometer
Mile
US Survey Feet
Yard
Nauticalmile
Inch
Link
Chain
Pole
Rod
Furlong
Vara
Arpent
This structure represents the drawing of a rectangle in screen coordinates.
None
This method represents the constructor that should be used to create the
structure.
None
This parameter represents the center horizontal value of the rectangle.
This parameter represents the center vertical value of the rectangle.
This parameter represents the width of the rectangle.
This parameter represents the height of the rectangle.
This parameter represents the center horizontal value of the rectangle.
This parameter returns the center horizontal value of the rectangle.
None
This parameter represents the center vertical value of the rectangle.
This parameter returns the center vertical value of the rectangle.
None
This parameter returns the width of the rectangle.
This parameter returns the width of the rectangle.
None
This parameter returns the height of the rectangle.
This parameter returns the height of the rectangle.
None
This method is an override of the == functionality.
None
This parameter represents the first DrawingRectangleF to compare.
This parameter represents the second DrawingRectangleF to compare.
This method is an override of the != functionality.
None
This parameter represents the first DrawingRectangleF to compare.
This parameter represents the second DrawingRectangleF to compare.
This method is an override of the Equals functionality.
None
This method is an override of the GetHashCode functionality.
None
This structure represents the drawing of a rectangle in screen coordinates.
None
This method represents the constructor that should be used to create the
structure.
None
This parameter represents the center horizontal value of the rectangle.
This parameter represents the center vertical value of the rectangle.
This parameter represents the width of the rectangle.
This parameter represents the height of the rectangle.
This parameter represents the center horizontal value of the rectangle.
This parameter returns the center horizontal value of the rectangle.
None
This parameter represents the center vertical value of the rectangle.
This parameter returns the center vertical value of the rectangle.
None
This parameter returns the width of the rectangle.
This parameter returns the width of the rectangle.
None
This parameter returns the height of the rectangle.
This parameter returns the height of the rectangle.
None
This method is an override of the == functionality.
None
This parameter represents the first DrawingRectangleF to compare.
This parameter represents the second DrawingRectangleF to compare.
This method is an override of the != functionality.
None
This parameter represents the first DrawingRectangleF to compare.
This parameter represents the second DrawingRectangleF to compare.
This method is an override of the Equals functionality.
None
This method is an override of the GetHashCode functionality.
None
This class represents an ellipse that is defined with a center point,
a height and a width.
None
This overload creates the EllipseShape with no area.
This constructor creates the EllipseShape.
None
This constructor creates the EllipseShape.
This overload allows you to specify the center point along with the radius in the
shape's unit. This overload will create a circle.
Using this overload will create a circle.
If you pass a null as the center, we will throw an ArgumentNullException.
Passing an invalid radius which is not greater than 0 will throw an ArgumentOutOfRangeException.
This parameter is the center PointShape for the EllipseShape.
This parameter allows you to set the radius of the EllipseShape.
This constructor creates the EllipseShape.
This overload allows you to specify the center point feature along with the radius in the
shape's unit. This overload will create a circle.
Using this overload will create a circle.
If you pass a null as the center, we will throw an ArgumentNullException.
Passing an invalid radius which is not greater than 0 will throw an ArgumentOutOfRangeException.
This parameter is the center PointFeature for the EllipseShape.
This parameter allows you to set the radius of the EllipseShape.
This constructor creates the EllipseShape.
This overload allows you to specify the center point along with the horizontal and
vertical radius in the unit of the shape.
None
If you pass a null as the center, we will throw an ArgumentNullException.
Passing an invalid horizonalRadius which is not greater than 0 will throw an ArgumentOutOfRangeException.
Passing an invalid verticalRadius which is not greater than 0 will throw an ArgumentOutOfRangeException.
This parameter is the center PointShape for the EllipseShape.
This parameter allows you to set the horizontal radius of the EllipseShape in the
unit of the shape.
This parameter allows you to set the vertical radius of the EllipseShape in the
unit of the shape.
This constructor creates the EllipseShape.
This overload allows you to specify the center point feature along with the horizontal and
vertical radius in the unit of the shape.
None
If you pass a null as the center, we will throw an ArgumentNullException.
Passing an invalid horizonalRadius which is not greater than 0 will throw an ArgumentOutOfRangeException.
Passing an invalid verticalRadius which is not greater than 0 will throw an ArgumentOutOfRangeException.
This parameter is the center PointFeature for the EllipseShape.
This parameter allows you to set the horizontal radius of the EllipseShape in the
unit of the shape.
This parameter allows you to set the vertical radius of the EllipseShape in the
unit of the shape.
Passing invalid well-known text in the wellKnownText parameter will throw an ArgumentException.
Passing a null as the wellKnownText parameter will throw an ArgumentNullException.
This constructor creates the EllipseShape.
This constructor allows you to create the shape from well-known text.
None
None
This parameter is the well-known text used to create the shape.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null as the bytes parameter will throw an ArgumentNullException.
This constructor creates the EllipseShape.
This constructor allows you to create the shape from well-known binary.
None
None
This parameter is the well-known binary used to create the shape.
This overload will create a circle.
This constructor creates the EllipseShape.
This overload allows you to specify the center point along with the radius in the
unit specified by the unitOfRadius parameter. This overload will create a
circle.
If you pass a null as the center, we will throw an ArgumentNullException.
Passing an invalid radius which is not greater than 0 will throw an ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a unitOfRadius that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the center PointShape for the EllipseShape.
This parameter allows you to set the radius of the EllipseShape in the unit
specified by the unitOfRadius parameter.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the radius value. For example, if
you select miles as your unitOfRadius, then it will use miles.
This overload will create a circle.
This constructor creates the EllipseShape.
This overload allows you to specify the center point feature along with the radius in the
unit specified by the unitOfRadius parameter. This overload will create a
circle.
If you pass a null as the center, we will throw an ArgumentNullException.
Passing an invalid radius which is not greater than 0 will throw an ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a unitOfRadius that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the center Point Feature for the EllipseShape.
This parameter allows you to set the radius of the EllipseShape in the unit
specified by the unitOfRadius parameter.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the radius value. For example, if
you select miles as your unitOfRadius, then it will use miles.
None
This constructor creates the EllipseShape.
This overload allows you to specify the center point along with the horizontal and
vertical radius in the unit specified by the unitOfRadius parameter.
If you pass a null as the center, we will throw an ArgumentNullException.
Passing an invalid horizonalRadius which is not greater than 0 will throw an ArgumentOutOfRangeException.
Passing an invalid verticalRadius which is not greater than 0 will throw an ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a unitOfRadius that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the center PointShape for the EllipseShape.
This parameter allows you to set the horizontal radius of the EllipseShape in the
unit specified by the unitOfRadius parameter.
This parameter allows you to set the vertical radius of the EllipseShape in the
unit specified by the unitOfRadius parameter.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the radius value. For example, if
you select miles as your unitOfRadius, then it will use miles.
None
This constructor creates the EllipseShape.
This overload allows you to specify the center point along with the horizontal and
vertical radius in the unit specified by the unitOfRadius parameter.
If you pass a null as the center, we will throw an ArgumentNullException.
Passing an invalid horizonalRadius which is not greater than 0 will throw an ArgumentOutOfRangeException.
Passing an invalid verticalRadius which is not greater than 0 will throw an ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a unitOfRadius that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the center Point Feature for the EllipseShape.
This parameter allows you to set the horizontal radius of the EllipseShape in the
unit specified by the unitOfRadius parameter.
This parameter allows you to set the vertical radius of the EllipseShape in the
unit specified by the unitOfRadius parameter.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the radius value. For example, if
you select miles as your unitOfRadius, then it will use miles.
When you override this method, you need to ensure that there are no references in
common between the original and copy.
This method returns a complete copy of the shape without any references in
common.
This method returns a complete copy of the shape without any references in
common.
This method returns the well-known type for the shape.
This method returns the well-known type for the shape.
None
This property returns the width of the EllipseShape in the unit of the
shape.
This property returns the width of the EllipseShape in the unit of the
shape.
None
This method allows you to set the width of the EllipseShape in the unit specified in the
unitOfWidth parameter.
None
Passing an invalid width which is not greater than 0 will throw an ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a unitOfWidth that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the newWidth of the ellipse shape.
This parameter is the unit of the current shape.
This is the unit you would like to use as the setting value. For example, if you
select miles as your unitOfWidth, then the distance will be set in
miles.
This method returns the width of the EllipseShape in the unit specified in the
returningUnit parameter.
This method returns the width of the EllipseShape in the unit specified in the
returningUnit parameter.
None
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a returningUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the unit of the current shape.
This is the unit you would like to use for the return value. For example, if you
select miles as your returningUnit, then the distance will be returned in
miles.
This property returns the height of the EllipseShape in the unit of the
shape.
This property returns the height of the EllipseShape in the unit of the
shape.
None
This method allows you to set the height of the EllipseShape in the unit specified in the
unitOfWidth.
None
Passing an invalid height which is not greater than 0 will throw an ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a unitOfHeight that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the newHeight of the ellipse shape.
This parameter is the unit of the current shape.
This is the unit you would like to use for the setting value. For example, if you
select miles as your unitOfHeight, then the distance will be set in
miles.
This method returns the height of the EllipseShape in the unit specified in the
returningUnit parameter.
This method returns the height of the EllipseShape in the unit specified in the
returningUnit parameter.
None
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a returningUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter is the unit of the current shape.
This is the unit you would like to use for the return value. For example, if you
select miles as your returningUnit, then the distance will be returned in
miles.
This property allows you to get or set the center PointShape of the
EllipseShape.
This property allows you to get or set the center PointShape of the
EllipseShape.
None
This method returns the current shape as a PolygonShape.
This method returns the current shape as a PolygonShape.
This method is mainly used to convert this non GIS standard shape to a GIS
standard shape.
In the event you attempt to call this method on this shape which has invalid upper left and lower right points, it will throw an InvalidOperationException.
This method returns the current shape as a PolygonShape.
This method returns the current shape as a PolygonShape.
This method is mainly used to convert a GIS non-standard shape to a GIS
standard shape.
This parameter specifies how many points will make up each quarter of the ellipse.
In the event you attempt to call this method on this shape which has invalid upper left and lower right points, it will throw an InvalidOperationException.
Passing an invalid vertexCountInQuarter which is not greater than 0 will throw an ArgumentOutOfRangeException.
This method returns the tangent points of the current ellipse in relation to the
target ellipse you specify.
This method returns the tangent points of the current ellipse in relation to the
target ellipse you specify.
This operation is useful for finding the corridor between two
ellipses. It would be handy in a buffering type of scenario.
This parameter represents the other ellipse you wish to find the tangent points
to.
This method returns the perimeter of the shape, which is defined as the sum of the lengths
of all its sides.
In this overload, the return unit is based on the LengthUnit you specify in the
returningLengthUnit parameter, regardless of the shape's GeographyUnit.
The return unit is based on the LengthUnit you specify in the returningUnit
parameter, regardless of the shape's GeographyUnit.
You would use this method to find the distance around the area shape.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions
defined above.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a returningUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the return value. For example, if
you select miles as your returningUnit, then the distance will be returned in
miles.
This method returns the area of the shape, which is defined as the size of the region
enclosed by the figure.
In this overload, the return unit is based on the AreaUnit you specify in the
returningUnit parameter, regardless of the shape's GeographyUnit.
The return unit is based on the AreaUnit you specify in the returningUnit
parameter, regardless of the shape's GeographyUnit.
You would use this method to find the area inside of a shape.
Overriding:
Please ensure that you validate the parameters being passed in and raise the
exceptions defined above.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a returningUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the AreaUnit you would like to use for the return value. For example, if
you select square miles as your returningUnit, then the distance will be returned in
square miles.
This method increases the size of the area shape by the percentage given in the
percentage parameter.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will throw an ArgumentOutOfRangeException.
This method is useful when you would like to increase the size of the shape.
Note that a larger percentage will scale the shape up faster, as you are applying the
operation multiple times. There is also a ScaleDown method that will shrink the
shape.
Overriding:
Please ensure that you validate the parameters being passed in and raise the
exceptions defined above.
This is the percentage by which to increase the shape's size.
This method decreases the size of the area shape by the percentage given in the
percentage parameter.
This method is useful when you would like to decrease the size of the shape. Note
that a larger percentage will scale the shape down faster, as you are applying the operation
multiple times. There is also a ScaleUp method that will enlarge the shape.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will throw an ArgumentOutOfRangeException.
Overriding:
Please ensure that you validate the parameters being passed in and raise the
exceptions defined above.
This is the percentage by which to decrease the shape's size.
This method calculates the smallest RectangleShape that encompasses the entire
geometry.
The RectangleShape returned is the smallest RectangleShape that can encompass the
entire geometry.
The GetBoundingBox method calculates the smallest RectangleShape that can
encompass the entire geometry by examining each point in the geometry.
Depending on the number of PointShapes and complexity of the geometry, this
operation can take a significant amount of time (the larger the objects, the more time the operation will take).
If the shape is a PointShape, then the bounding box's upper left and lower right
points will be equal. This will create a RectangleShape with no area.
Overriding:
Please ensure that you validate the parameters being passed in and raise the
exceptions defined above.
In the event you attempt to get the bounding box from a shape which has no points, it will throw an InvalidOperationException.
This method returns a BaseShape which has been registered from its original
coordinate system to another based on two anchor PointShapes.
This method returns a BaseShape which has been registered from its original
coordinate system to another based on two anchor PointShapes.
Registering allows you to take a geometric shape generated in a planar system
and attach it to the ground in a Geographic Unit.
A common scenario is integrating geometric shapes from external programs
(such as CAD software or a modeling system) and placing them onto a map. You may have
the schematics of a building in a CAD system and the relationship between all the
points of the building are in feet. You want to then take the CAD image and attach
it to where it really exists on a map. You would use the register method to do
this.
Registering is also useful for scientific modeling, where software models things such
as a plume of hazardous materials or the fallout from a volcano. The modeling
software typically generates these models in a fictitious planar system. You would
then use the register to take the abstract model and attach it to a map with real
coordinates.
Overriding:
Please ensure that you validate the parameters being passed in and raise the
exceptions defined above.
If you pass in a fromUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a toUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing a null as the fromPoint parameter will throw an ArgumentNullException.
Passing a null as the toPoint parameter will throw an ArgumentNullException.
This parameter is the anchor PointShape in the coordinate of origin.
This parameter is the anchor PointShape in the coordinate of destination.
This parameter is the DistanceUnit of the coordinate of origin.
This parameter is the GeographyUnit of the coordinate of destination.
This method moves the base shape from one location to another based on an X and Y
offset distance.
In this overload, the X and Y offset are based on the DistanceUnit you specify,
regardless of the shape's GeographicUnit.
This method moves the base shape from one location to another based on an X
and Y offset distance. It is important to note that with this overload the X and Y
offset units are based on the distanceUnit parameter. For example, if your shape
is in decimal degrees and you call this method with an X offset of one and a Y
offset of one, you're going to move this shape one unit of the distanceUnit in
the horizontal direction and one unit of the distanceUnit in the vertical
direction. In this way, you can easily move a shape in decimal degrees five miles to
on the X axis and 3 miles on the Y axis.
Overriding:
Please ensure that you validate the parameters being passed in and raise the
exceptions defined above.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
This is the number of horizontal units of movement in the DistanceUnit specified by
the distanceUnit parameter.
This is the number of horizontal units of movement in the DistanceUnit specified by
the distanceUnit parameter.
This is the GeographicUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the measurement for the move.
For example, if you select miles as your distanceUnit, then the xOffsetDistance and yOffsetDistance
will be calculated in miles.
This method moves the base shape from one location to another based on a
direction in degrees and distance.
In this overload, the distance unit is based on a DistanceUnit you specify in the
distanceUnit parameter, regardless of the shape's GeographicUnit.
This method moves the base shape from one location to another based on
angleInDegrees and distance parameter. It is important to note that with this
overload the distance units are based on the distanceUnit parameter. For
example, if your shape is in decimal degrees and you call this method with a
distanceUnit in miles, you're going to move this shape a number of miles based on
the distance and the angleInDegrees. In this way, you can easily move a shape in decimal
degrees five miles to the north.
If you pass a distance of 0, then the operation is ignored.
Overriding:
Please ensure that you validate the parameters being passed in and raise the
exceptions defined above.
Passing an invalid angleInDegrees which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid distance which is not greater than or equal to 0 will throw an ArgumentOutOfRangeException.
The distance is the number of units to move the shape using the angle specified.
The distance unit will be the DistanceUnit specified in the distanceUnit parameter. The
distance must be greater than or equal to 0.
A number between 0 and 360 degrees that represents the direction you wish to
move the shape with zero being up.
This is the GeographicUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the measurement for the move. For
example, if you select miles as your distanceUnit, then the distance will be calculated
in miles.
This property specifies whether the shape can be rotated.
This property specifies whether the shape can be rotated.
If this property returns false and you attempt call the rotate method, it will
throw a NotImplementedException.
This method rotates the shape a number of degrees based on a pivot
point.
This method rotates the shape by a number of degrees based on a pivot point.
By placing the pivot point in the center of the shape, you can acheive in-place
rotation. By moving the pivot point outside of the center of the shape, you can
translate the shape in a circular motion. Moving the pivot point further away from
the center will make the circular area larger.
Overriding:
Please ensure that you validate the parameters being passed in and raise the
exceptions defined above.
If you pass a null as the pivotPoint, we will throw an ArgumentNullException.
Passing an invalid degreeAngle which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which is not valid, it will throw an InvalidOperationException.
The pivotPoint represents the center of rotation.
The number of degrees of rotation required from 0 to 360.
This method returns the point of the current shape that is closest to the target
shape.
A PointShape representing the point of the current shape that is closest to the
targetShape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns point of the current shape that is closest to the target
shape. It is often the case that the point returned is not a point of the object
itself. An example would be a line with two points that are far apart from each other. If
you set the targetShape to be a point midway between the points but a short
distance away, the method would return a point that is on the line, but not one of the two
points that make up the line.
Overriding:
Please ensure that you validate the parameters being passed in and raise the
exceptions defined above.
The shape you are trying to find the closest point to.
This is the GeographicUnit of the shape you are performing the operation
on.
This method computes the distance between the current shape and the
targetShape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
The distance returned will be in the unit specified in the distanceUnit parameter.
The return type is the distance between this shape and the targetShape in the
GeographyUnit of the shape.
In this method, we compute the closest distance between two shapes. The
returned unit will be in the unit of distance specified in the distanceUnit parameter.
Overriding:
Please ensure that you validate the parameters being passed in and raise the
exceptions defined above.
The shape you are trying to find the distance to.
This is the GeographicUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the return value. For example,
if you select miles as your distanceUnit, then the distance will be returned in
miles.
This method returns the well-known text representation of this shape.
This method returns a stringthat represents the shape in well-known text.
This method returns a string that represents the shape in well-known text.
Well-known text allows you to describe geometries as a string of text. Well-known
text is useful when you want to save a geometry in a format such as a text file, or
when you simply want to cut and paste the text between other applications. An alternative
to well-known text is well-known binary, which is a binary representation of a
geometry object. We also have methods that work with well-known binary.
Below are some samples of what well-known text might look like for various kinds of
geometries.
POINT(5 17)
LINESTRING(4 5,10 50,25 80)
POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))
MULTIPOINT(3.7 9.7,4.9 11.6)
MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))
MULTIPOLYGON(((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3)),((4 4,7 3,7 5,4
4)))
Overriding:
Please ensure that you validate the parameters being passed in and raise the
exceptions defined above.
In the event you attempt to call this method on this shape which has invalid upper left and lower right points, it will throw an InvalidOperationException.
Passing an invalid vertexCountInQuarter which is not greater than 0 will throw an ArgumentOutOfRangeException.
This parameter specifies how many points will make up each quarter of the
ellipse.
This method returns the well-known text representation of this shape.
This method returns a string that represents the shape in well-known text.
This method returns a string that represents the shape in well-known text.
Well-known text allows you to describe geometries as a string of text. Well-known
text is useful when you want to save a geometry in a format such as a text file, or
when you simply want to cut and paste the text between other applications. An alternative
to well-known text is well-known binary, which is a binary representation of a
geometry object. We also have methods that work with well-known binary.
Below are some samples of what well-known text might look like for various kinds of
geometries.
POINT(5 17)
LINESTRING(4 5,10 50,25 80)
POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))
MULTIPOINT(3.7 9.7,4.9 11.6)
MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))
MULTIPOLYGON(((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3)),((4 4,7 3,7 5,4
4)))
Overriding:
Please ensure that you validate the parameters being passed in and raise the
exceptions defined above.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This method returns a byte array that represents the shape in well-known
binary.
This method returns a byte array that represents the shape in well-known
binary.
This method returns a byte array that represents the shape in well known
binary. Well-known binary allows you to describe geometries as a binary array.
Well-known binary is useful when you want to save a geometry in an efficient format
using as little space as possible. An alternative to well-known binary is well-known
text, which is a textual representation of a geometry object. We also have methods
that work with well-known text.
Overriding:
Please ensure that you validate the parameters being passed in and raise the
exceptions defined above.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a ByteOrder that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing an invalid vertexCountInQuarter which is not greater than 0 will throw an ArgumentOutOfRangeException.
This parameter specifies whether the byte order is big- or little-endian.
This parameter specifies how many points will make up each quarter of the
ellipse.
This method returns a byte array that represents the shape in well-known
binary.
This method returns a byte array that represents the shape in well-known
binary.
This method returns a byte array that represents the shape in well known
binary. Well-known binary allows you to describe geometries as a binary array.
Well-known binary is useful when you want to save a geometry in an efficient format
using as little space as possible. An alternative to well-known binary is well-known
text, which is a textual representation of a geometry object. We also have methods
that work with well-known text.
Overriding:
Please ensure that you validate the parameters being passed in and raise the
exceptions defined above.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a ByteOrder that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter specifies whether the byte order is big- or little-endian.
Passing invalid well-known text in the wellKnownText parameter will throw an ArgumentException.
Passing a null as the wellKnownText parameter will throw an ArgumentNullException.
This method hydrates the current shape with its data from well-known text.
None
None
This parameter is the well-known text you will use to hydrate your object.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null as the bytes parameter will throw an ArgumentNullException.
This method hydrates the current shape with its data from well-known
binary.
None
This is used when you want to hydrate a shape based on well-known binary. You can
create the shape and then load the well-known binary using this method.
This parameter is the well-known binary used to populate the shape.
This method returns a ShapeValidationResult based on a series of
tests.
This method returns a ShapeValidationResult based on a series of
tests.
We use this method, with the simple enumeration, internally before doing any kind
of other methods on the shape. In this way, we are able to verify the integrity of the
shape itself. If you wish to test things such as whether a polygon self-intersects, we invite
you to call this method with the advanced ShapeValidationMode. One thing to consider is
that for complex polygon shapes this operation could take some time, which is why we
only run the basic, faster test. If you are dealing with polygon shapes that are
suspect, we suggest you run the advanced test.
Overriding:
Please ensure that you validate the parameters being passed in and raise the
exceptions defined above.
If you pass in a validationMode that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter determines whether the test is simple or advanced. In some cases, the
advanced tests can take some time. The simple test is designed to always be
fast.
This method returns whether the targetShape lies within the interior of the current
shape.
This method returns whether the targetShape lies within the interior of the current
shape.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The shape you wish to compare the current one to.
This method returns whether the current shape and the targetShape have at least one
point in common.
This method returns whether the current shape and the targetShape have at least one
point in common.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The shape you wish to compare the current one to.
This method returns the crossing points of the current shape and the passed-in target shape.
This method returns the crossing points of the current shape and the passed-in target shape.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The target shape you wish to get crossing with.
The class Feature is the basic unit of which a FeatureSource is composed. A
FeatureSource can be taken from a collection of Features stored in a ShapeFile,
SQL Server 2008, Oracle, etc.
A Feature is the basic data unit structure which is comprised of IDs that mark the
identification of the Feature, a shape and a collection of data.
This method is the constructor for the Feature.
This method allows you to pass in a BaseShape to construct your Feature.
None
When you create the Feature, specify the ID of the BaseShape you want to use as a basis.
This parameter represents the base shape you wish to use as the basis of the new
Feature.
In the event you attempt to call this method on a shape that has no points, it will throw an InvalidOperationException.
This method is the constructor for the Feature.
This overload allows you to create a feature using well-known binary.
None
This overload allows you to create a feature using well-known binary. The Id for
this Feature will be a random GUID.
This parameter is the well-known binary used to create the feature.
This method is the constructor for the Feature.
This overload allows you to create a feature using well-known binary and
specify the Id.
None
This overload allows you to create a feature using well-known binary and
specify the Id.
This parameter is the well-known binary used to create the Feature.
This parameter is the Id used for the Feature.
This method is the constructor for the Feature.
This overload allows you to create a feature using well-known text.
None
This overload allows you to create a feature using well-known text. The Id for
the Feature will be a random GUID.
This parameter is the well-known text used to create the Feature.
This method is the constructor for the Feature.
This overload allows you to create the Feature from well-known text and specify
the Id.
This overload allows you to create the Feature from well-known text and specify
the Id.
None
This parameter is the well-known text used to create the Feature.
This parameter is the Id used in the Feature.
This method is the constructor for the Feature.
This overload allows you to create the Feature from a baseShape and specify
the column values.
This overload allows you to create the Feature from a baseShape and specify
the column values.
None
This parameter is the baseShape used to create the Feature.
This parameter is the columnValues used in the Feature.
This method is the constructor for the Feature.
This overload allows you to create the Feature from well-known text and feature ID, as well as specify
the column values.
This overload allows you to create the Feature from well-known text and feature ID, as well as specify
the column values.
None
This parameter is the well-known text used to create the Feature.
This parameter is the Id used in the Feature.
This parameter is the columnValues used in the Feature.
This method is the constructor for the Feature.
This overload allows you to create the Feature from well-known binary and feature ID, as well as specify
the column values.
This overload allows you to create the Feature from well-known binary and feature ID, as well as specify
the column values.
None
This parameter is the well-known binary used to create the Feature.
This parameter is the Id used in the Feature.
This parameter is the columnValues used in the Feature.
This method is the constructor for the Feature.
This overload allows you to create the Feature from well-known binary and feature ID, as well as specify
the column values.
This overload allows you to create the Feature from well-known binary and feature ID, as well as specify
the column values.
None
This parameter is the well-known binary used to create the Feature.
This parameter is the Id used in the Feature.
This parameter is the columnValues used in the Feature.
This method is the constructor for the Feature.
This overload allows you to create the Feature from well-known binary and feature ID, as well as specify
the column values.
This overload allows you to create the Feature from well-known binary and feature ID, as well as specify
the column values.
None
This parameter is the well-known binary used to create the Feature.
This parameter is the Id used in the Feature.
This parameter is the columnValues used in the Feature.
This method is the constructor for the Feature.
This overload creates a point Feature for the vertex you pass in.
None
You can use this constructor to create a point Feature easily.
This parameter is the x & y decimalDegreesValue pair used to make the point. The Id for the
Feature will be a random GUID.
This method is the constructor for the Feature.
This overload creates a point Feature for the vertex you pass in.
None
You can use this constructor to create a point Feature and specify the Id.
This parameter is the x & y decimalDegreesValue pair used to make the point. The Id for the
Feature will be the value you pass in through the id parameter.
This parameter is the Id used in the Feature.
This method is the constructor for the Feature.
This overload creates a point Feature for the vertex you pass in.
None
You can use this constructor to create a point Feature and specify the Id as well as the column values.
This parameter is the x & y decimalDegreesValue pair used to make the point. The Id for the
Feature will be the value you pass in through the id parameter.
This parameter is the Id used in the Feature.
This parameter is the columnValues used in the Feature.
This method is the constructor for the Feature.
This overload creates a point feature for the vertex you pass in.
None
You can use this constructor to create a point Feature based on x and y coordinates.
This parameter is the x decimalDegreesValue pair used to make the point. The Id for the
Feature will be a random GUID.
This parameter is the y decimalDegreesValue pair used to make the point. The Id for the
Feature will be a random GUID.
This method is the constructor for the Feature.
This overload creates a point feature for the vertex you pass in.
None
You can use this constructor to create a point Feature based on x and y coordinates and specify the Id.
This parameter is the x decimalDegreesValue pair used to make the point.
This parameter is the y decimalDegreesValue pair used to make the point.
This parameter is the Id used in the Feature.
This method is the constructor for the Feature.
This overload creates a point feature for the vertex you pass in.
None
You can use this constructor to create a point Feature based on x and y coordinates and specify both the Id and the column values.
This parameter is the x decimalDegreesValue pair used to make the point.
This parameter is the y decimalDegreesValue pair used to make the point.
This parameter is the Id used in the Feature.
This parameter is the columnValues used in the Feature. Each string
This method returns the well-known binary that represents the Feature.
This method returns the well-known binary that represents the Feature.
This will return a copy of the well-known binary that represents the
Feature.
This method returns a byte array that represents the feature in well-known
binary.
This method returns a byte array that represents the feature in well-known
binary.
This method returns a byte array that represents the feature in well-known binary.
Well-known binary allows you to describe geometries as a binary array. Well-known binary
is useful when you want to save a geometry in an efficient format using as little space as
possible. An alternative to well-known binary is well-known text, which is a textual
representation of a geometry object. We have methods that work with well known
text as well.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a ByteOrder that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter specifies if the byte order is big- or little-endian.
This property gets the Id for the Feature.
This property gets the Id for the Feature.
The Id is a string that represents the unique identifier for this Feature. If the
feature is returned from a FeatureSource, the Id will be the unique field
descriptor used by the FeatureSource. For Shape Files this may be an integer, but for
spatial databases the Id may be a GUID.
The tag of the Feature.
This property gets a dictionary of values to represent the column data related to
this Feature.
This property gets a dictionary of values to represent the column data related to
this Feature.
This property holds the column data related to this Feature. You can find the
values in the dictionary using the column name as the key. Most methods that query and
return InternalFeatures allow you to specify which columns of data you want returned with the
results. You can also freely add and modify the data, as it is simply an in-memory
dictionary. Any values added, deleted or updated will have no effect unless the Feature
is part of a transaction.
This method returns the well known type that represents the Feature.
This method returns the well known type that represents the Feature.
None
This method returns the shape class that represents the Feature.
This method returns the shape class that represents the Feature.
This method allows you to get a shape class from a Feature. Because the Feature stores
the geometry for itself in well-known binary, it may take some time to generate a shape
class if the geometry is complex.
This method returns the well-known text that represents the Feature.
This method returns the well-known text that represents the Feature.
This method allows you to get the well-known text from a Feature. Because the Feature
stores the geometry for itself in well-known binary, it may take some time to generate
the text if the geometry is complex.
This method returns the well-known text representation of this feature.
This method returns a string that represents the shape in well-known text.
This method returns a stringthat represents the shape in well-known text.
Well-known text allows you to describe geometries as a string of text. Well-known text is
useful when you want to save a geometry in a format such as a text file, or when you simply
want to cut and paste the text between other applications. An alternative to
well-known text is well-known binary, which is a binary representation of a geometry
object. We have methods that work with well-known binary as well. Below are
some samples of what well-known text might look like for various kinds of
geometries.
POINT(5 17)
LINESTRING(4 5,10 50,25 80)
POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))
MULTIPOINT(3.7 9.7,4.9 11.6)
MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))
MULTIPOLYGON(((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3)),((4 4,7 3,7 5,4
4)))
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions
defined above.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This method returns the bounding box of the Feature.
This method returns the bounding box of the Feature.
None
This method clones the entire structure, creating a totally separate copy.
This method returns a clone of the entire structure, creating a totally separate
copy.
This method will return a complete copy of the Feature. As this is a deep clone,
there are no shared references between the source and the copy.
This parameter represents the columnar data fields that you wish to include in the
clone.
This method clones the entire structure, creating a totally separate copy.
This method returns a clone of the entire structure, creating a totally separate
copy.
This method will return a complete copy of the Feature. As this is a deep clone,
there are no shared references between the source and the copy.
This parameter allows you to select a type from the ReturningColumnsType that you wish
to return with.
This method returns the results of some simple validity tests on the Feature.
This method returns the results of some simple validity tests on the Feature.
This method is used primarily to ensure that a Feature is valid. The reason is,
since this is a structure, we cannot control the main constructor that allows you
to create a Feature in an invalid state -- that state being one with no well-known binary at
its core. If you use the constructure set provided, then the state should always be
valid. This is a property you may want to check before you work with a Feature.
This method returns the union of the specified features.
The return type is a Feature that contains the set of all points that
lie within the features you specified.
This is useful for adding area features together to form a larger area
feature.
If you pass a null as the targetFeatures, we will throw an ArgumentNullException.
The features you are trying to find the union with.
This method returns the union of the current feature and the target feature, defined
as the set of all points in the current feature or the target feature.
The return type is a Feature that contains the set of all points which
lie in the current feature or the target feature.
This is useful for adding area features together to form a larger area
shape.
In the event you attempt to call this method on a feature which has no points, it will throw an InvalidOperationException.
The feature you are trying to find the union with.
This method computes the area containing all of the points within a given
distance from this feature.
The return type is a Feature that represents all of the points within a
given distance from the feature.
If you pass in a featureUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This method computes the area containing all of the points within a given
distance from this feature. In this case, you will be using the rounded
RoundedBufferCapStyle and the default 8 quadrant segments. The distance unit
is determined by the distanceUnit argument.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This overload allows you to specify the distance in your choice of unit and
uses defaults for everything else.
The distance is the number of units to buffer the current shape. The distance
unit will be the one specified in the distanceUnit parameter.
This is the geographic unit of the shape you are performing the operation
on.
This is the distance unit you would like to use as the distance. For example, if you
select miles as your distanceUnit, then the distance will be calculated in miles for
the operation.
This method computes the area containing all of the points within a given
distance from this feature.
The return type is a Feature that represents all of the points within a
given distance from the feature.
This overload allows you to specify the distance in your choice of unit,
specify the number of quadrant segments and uses defaults for everything else.
This method computes the area containing all of the points within a given
distance from this feature. In this case, you will be using the rounded
RoundedBufferCapStyle. The distance unit is determined by the distanceUnit
argument.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
Passing an invalid number of quadrant segments which is not between 3 and 100 will throw an ArgumentOutOfRangeException.
If you pass in a featureUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
The distance is the number of units to buffer the current shape. The distance
unit will be the one specified in the distanceUnit parameter.
The quadrant segments are the number of points in each quarter circle. A good
default is 8, but if you want smoother edges you can increase this number. The valid
range for this number is from 3 to 100.
This is the geographic unit of the feature you are performing the operation
on.
This is the distance unit you would like to use as the distance. For example, if you
select miles as your distanceUnit, then the distance will be calculated in miles for
the operation.
This method computes the area containing all of the points within a given
distance from this feature.
The return type is a Feature that represents all of the points within a
given distance from the feature.
If you pass in a featureUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a bufferCapType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing an invalid quadrantSegments which is not between 3 and 100 will throw an ArgumentOutOfRangeException.
This method computes the area containing all of the points within a given
distance from this feature. In this case, you will be using the rounded
RoundedBufferCapStyle and the default 8 quadrant segments. The distance unit
is determined by the distanceUnit argument.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
This overload allows you to specify the distance in your choice of unit and
uses defaults for everything else.
The distance is the number of units to buffer the current feature. The distance
unit will be the one specified in the distanceUnit parameter.
The number of quadrantSegments used in the buffer logic.
The bufferCapType used in the buffer logic.
This is the geographic unit of the feature you are performing the operation
on.
This is the distance unit you would like to use as the distance. For example, if you
select miles as your distanceUnit, then the distance will be calculated in miles for
the operation.
This method returns if the targetFeature lies within the interior of the current
feature.
This method returns if the targetFeature lies within the interior of the current
feature.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The targetFeature that contains a shape you wish to compare the current one to.
This method returns if the current feature and the targetFeature share some but not
all interior points.
This method returns if the current feature and the targetFeature share some but not
all interior points.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The targetFeature that contains a shape you wish to compare the current one to.
This method returns if the current feature lies within the interior of the
targetFeature.
This method returns if the current feature lies within the interior of the
targetFeature.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The targetFeature that contains a shape you wish to compare the current one to.
This method returns if the current feature and the targetFeature have at least one
point in common.
This method returns if the current feature and the targetFeature have at least one
point in common.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The targetFeature you wish to compare the current one to.
This method returns if the current feature and the targetFeature have no points in
common.
This method returns if the current feature and the targetFeature have no points in
common.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
None
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The feature you wish to compare the current one to.
This method returns if the current feature and the targetFeature are topologically
equal.
This method returns if the current feature and the targetFeature are topologically
equal.
Topologically equal means that the shapes are essentially the same. For example,
let's say you have a line with two points, point A and point B. You also have another line that
is made up of point A, point B and point C. Point A of line one shares the same vertex
as point A of line two, and point B of line one shares the same vertex as point C of
line two. They are both straight lines, so point B of line two would lie on the first
line. Essentially the two lines are the same, with line 2 having just one extra point.
Topologically they are the same line, so this method would return true.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetfeature which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The targetFeature that contains a shape you wish to compare the current one to.
This method returns if the current feature and the targetFeature share some but not
all points in common.
This method returns if the current feature and the targetFeature share some but not
all points in common.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetFeature which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The targetFeature that contains a shape you wish to compare the current one to.
This method returns of the current feature and the targetFeature have at least one
boundary point in common, but no interior points.
This method returns of the current feature and the targetFeature have at least one
boundary point in common, but no interior points.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetFeature which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The targetFeature which contains a shape that you wish to compare the current one to.
This method returns the intersection of the current feature and the target feature,
defined as the set of all points which lie in both the current feature and the target
feature.
The return type is a Feature that contains the set of all points which
lie in both the current feature and the target feature.
In the event you attempt to call this method on a feature which has no points, it will throw an InvalidOperationException.
None
The feature you are trying to find the intersection with.
This method returns the difference between current feature and the specified feature, defined as the set of all
points which lie in the current feature but not in the targetFeature.
The return type is a Feature that is the set of all points which lie in
the current feature but not in the target feature.
In the event you attempt to call this method on a feature which has no points, it will throw an InvalidOperationException.
None
The feture you are trying to find the difference with.
This method returns the convex hull of the feature, defined as the smallest convex
ring that contains all of the points in the feature.
This method returns the convex hull of the feature, defined as the smallest convex
ring that contains all of the points in the feature.
This method is useful when you want to create a perimeter around the shape. For
example, if you had a MultiPolygon that represented buildings on a campus, you could
easily get the convex hull of the buildings and determine the perimeter of all of the
buildings together. This also works with MultiPoint shapes, where each point may
represent a certain type of person you are doing statistics on. With convex hull, you
can get an idea of the regions those points are located in.
In the event you attempt to call this method on a feature which has no points, it will throw an InvalidOperationException.
Using NTS to retrieve the geometry validation.
returns True if valid. Otherwise, for example in the case of self intersection, returns false. The reason for being invalid can be found with GetInvalidReason()
This method is a static API to get information about a group of passed-in features with the specified
returningColumns, in the format of a DataTable.
This parameter specifies the target features.
This parameter specifies the returning columnNames for the features.
A DateTable of information about those passed-in features and the returning columnNames.
This method returns the shape class that represents the Feature.
This method returns the shape class that represents the Feature.
This method allows you to get a shape class from a Feature. Because the Feature stores
the geometry for itself in well-known binary, it may take some time to generate a shape
class if the geometry is complex.
This method is an override of the GetHashCode functionality.
None
This method is an override of the Equals functionality.
None
This method is an override of the == functionality.
None
This parameter represents the first vertex to compare.
This parameter represents the second vertex to compare.
This method is an override of the != functionality.
None
This parameter represents the first vertex to compare.
This parameter represents the second vertex to compare.
This overload creates the GeometryCollectionShape without any shapes.
This constructor creates the GeometryCollectionShape.
None
If you pass in any baseShapes which are invalid, we will throw an ArgumentException.
If you pass a null as the baseShapes, we will throw an ArgumentNullException.
Passing invalid well-known text in the wellKnownText parameter will throw an ArgumentException.
Passing a null as the wellKnownText parameter will throw an ArgumentNullException.
This constructor creates the GeometryCollectionShape.
This constructor allows you to build the shape from well-known text.
None
None
This parameter is the well-known text used to build the shape.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null as the bytes parameter will throw an ArgumentNullException.
None
None
This constructor creates the GeometryCollectionShape.
This constructor allows you to build the shape from well-known binary.
This parameter is the well-known binary used to build the shape.
This class represents a LineShape, which is defined as a single line with two or
more points.
The LineShape is one of the more commonly used shapes. Typically it is used for
representing roads in GIS data files.
This overload creates the LineShape without any points.
This constructor creates the LineShape.
None
If you pass a null as the points, we will throw an ArgumentNullException.
This overload creates the LineShape with a vertex collection.
This constructor creates the LineShape.
None
Passing invalid well-known text in the wellKnownText parameter will throw an ArgumentException.
Passing a null as the wellKnownText parameter will throw an ArgumentNullException.
This constructor creates the LineShape.
This constructor allows you to build the shape from well-known text.
None
None
This parameter is the well-known text used to build the shape.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null as the bytes parameter will throw an ArgumentNullException.
None
None
This constructor creates the LineShape.
This constructor allows you to build the shape from well-known binary.
This parameter is the well-known binary used to build the shape.
This property is the collection of points that make up the LineShape.
This property is the collection of points that make up the LineShape.
None
This method reverses the order of the points in the line.
None
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
This method reverses the order of the points in the line.
None
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
When you override this method, you need to ensure that there are no references in
common between the original and the copy.
This method returns a complete copy of the shape without any references in
common.
This method returns a complete copy of the shape without any references in
common.
This method determines whether the line is closed, meaning that the last point and
first point are the same.
None
The return value indicating whether the line is closed.
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
This method determines whether the line is closed, meaning that the last point and
first point are the same.
None
The return value indicating whether the line is closed.
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
This method returns the length of the LineShape.
This overload returns the length in the unit of your choice, based on
returningUnit you specify.
This overload returns the length in the unit of your choice, based on
returningUnit you specify.
This is a useful method when you want to know the total length of a line-based
shape. If the shape is a MultiLineShape, then the length is the sum of all of its
lines.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a returningUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the return value. For example, if
you select miles as your returningUnit, then the distance will be returned in
miles.
This method returns a PointShape on the line, based on a percentage of the
length of the line from the first or last vertex defined in the startingPoint
parameter.
This method returns a PointShape on the line, based on a percentage of the
length of the line from the first or last vertex defined in the startingPoint
parameter.
If you pass in a startingPoint that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing an invalid number for the percentageOfLine which is not between 0 and 100 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass 100 or 0 as the percentage of the line, it will return either the
first or last vertex, depending on the value of the startingPoint argument.
This overload allows you to pass a percentage determining how far you want to
move along the line, as well as the option for starting from either the beginning or the end
of the line.
The startingPoint defines whether the method starts at the beginning or the end of the
line.
This parameter defines the percentage into the line. Valid values are between 0
and 100.
This method returns a PointShape on the line, based on a distance on the
line from the first or last vertex defined in the startingPoint parameter.
This overload allows you to pass a distance determining how far you want to move
along the line using your unit of choice, as well as the option to start from
the beginning or the end of the line.
If you pass in a startingPoint that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing an invalid distance which is not greater than or equal to 0 will throw an ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This method returns a PointShape on the line, based on a distance on the
line from the first or last vertex defined in the startingPoint parameter.
Passing in a 0 distance will return either the first or last point on the
line, depending upon the value of the startingPoint parameter.
The startingPoint defines whether the method starts at the beginning or the end of the
line.
This parameter specifies the distance into the line you wish to move in the unit
specified by the distanceUnit parameter. Valid values must be greater than or equal to 0.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the distance parameter. For
example, if you select miles as your distanceUnit, then the distance will be measured
in miles.
This method returns a PointShape on the line, based on a distance on the
line from the first or last vertex defined in the startingPoint parameter.
This overload allows you to pass a distance determining how far you want to move
along the line using your unit of choice, as well as the option to start from
the beginning or the end of the line.
If you pass in a startingPoint that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing an invalid distance which is not greater than or equal to 0 will throw an ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This method returns a PointShape on the line, based on a distance on the
line from the first or last vertex defined in the startingPoint parameter.
Passing in a 0 distance will return either the first or last point on the
line, depending on the value of the startingPoint parameter.
The startingPoint defines whether the method starts at the beginning or the end of the
line.
This parameter specifies the distance into the line you wish to move in the unit
specified by the distanceUnit parameter. Valid values must be greater than or equal to 0.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the distance parameter. For
example, if you select miles as your distanceUnit, then the distance will be measured
in miles.
This method returns a BaseLineShape, based on a starting position and other
factors.
This overload allows you to pass the starting point, starting percentage of the
line and percentage of the line.
This method returns a BaseLineShape, based on a starting position and other
factors.
If you pass in a startingPoint that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing an invalid number for the percentageOfLine which is not greater than 0 and less than or equal to 100 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
None
The startingPoint defines whether the method starts at the beginning or the end of the
line.
This parameter defines the starting percentage into the line. Valid values must be greater
than 0 and less than or equal to 100.
This parameter defines the percentage into the line. Valid values must be greater
than 0 and less than or equal to 100.
This method returns a BaseLineShape, based on a starting position and other
factors.
This overload allows you to pass the starting point and percentage of the
line.
This method returns a BaseLineShape, based on a starting position and other
factors.
If you pass in a startingPoint that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing an invalid number for the percentageOfLine which is not greater than 0 and less than or equal to 100 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
None
The startingPoint defines whether the method starts at the beginning or the end of the
line.
This parameter defines the percentage into the line. Valid values must be greater
than 0 and less than or equal to 100.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a startingPoint that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing an invalid startingDistance which is not greater than 0 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
Passing an invalid distance which is not greater than 0 will throw an ArgumentOutOfRangeException.
This method returns a BaseLineShape, based on a starting position and other
factors.
This overload allows you to specify the starting point along with the starting
distance. This allows you to get a certain distance of the line after the starting
distance.
This method returns a BaseLineShape, based on a starting position and other
factors.
None
The startingPoint defines whether the method starts at the beginning or the end of the
line.
The starting distance from which you will start getting the line. For example, if
the line is 3 units long and you have a starting distance of 1 unit, the result will
be the last two units of the line. Valid values must be greater than 0. The starting
distance will be in the GeographyUnit of the shape.
The amount of the line you want to get after the startingDistance. Valid values
must be greater than 0.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the distance parameter. For
example, if you select miles as your distanceUnit, then the distance will be measured
in miles.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a startingPoint that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing an invalid startingDistance which is not greater than 0 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
Passing an invalid distance which is not greater than 0 will throw an ArgumentOutOfRangeException.
This method returns a BaseLineShape, based on a starting position and other
factors.
This overload allows you to specify the starting point along with the starting
distance. This allows you to get a certain distance of the line after the starting
distance.
This method returns a BaseLineShape, based on a starting position and other
factors.
None
The startingPoint defines whether the method starts at the beginning or the end of the
line.
The starting distance from which you will start getting the line. For example, if
the line is 3 units long and you have a starting distance of 1 unit, the result will
be the last two units of the line. Valid values must be greater than 0. The starting
distance will be in the GeographyUnit of the shape.
The amount of the line you want to get after the startingDistance. Valid values
must be greater than 0.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the distance parameter. For
example, if you select miles as your distanceUnit, then the distance will be measured
in miles.
This method returns a BaseLineShape, based on a starting position and other
factors.
This overload allows you to specify the starting point and another point.
This method returns a BaseLineShape, based on a starting position and other
factors.
None
If you pass in a startingPoint that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing a null endPointShape will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
The startingPoint defines whether the method starts at the beginning or the end of the
line.
The BaseLineShape returned will be between the startingPoint and the endPointShape
specified in this parameter.
This method returns a BaseLineShape, based on a starting position and other
factors.
This overload allows you to pass in two points to get a BaseLineShape from the original LineShape.
This method returns a BaseLineShape based on a start PointShape and an end PointShape.
None
Passing a null startPointShape will throw an ArgumentNullException.
Passing a null endPointShape will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
The startPointShape defines where you will start to get the line. If it does not stand on this
LineShape, the closest point on the LineShape will be the start PointShape.
The endPointShape defines where you will stop getting the line. If it does not stand on this
LineShape, the closest point on the LineShape will be the end PointShape.
This method computes the distance between the current shape and the
targetShape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
The distance returned will be in the unit of the shape.
The return type is the distance between this shape and the targetShape in the
GeographyUnit of the shape.
In this method, we compute the closest distance between the two shapes. The
returned unit will be in the unit of distance specified.
Overriding:
Please ensure that you validate the parameters being passed in and raise the
exceptions defined above.
The shape you are trying to find the distance to.
This is the GeographicUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the return value. For example,
if you select miles as your distanceUnit, then the distance will be returned in
miles.
This method increases the size of the LineShape by the percentage given in the
percentage parameter.
This method is useful when you would like to increase the size of the shape. Note
that a larger percentage will scale the shape up faster, as you are applying the operation
multiple times. There is also a ScaleDown method that will shrink the shape.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will throw an ArgumentOutOfRangeException.
This is the percentage by which to increase the shape's size.
This method decreases the size of the LineShape by the percentage given in the
percentage parameter.
This method is useful when you would like to decrease the size of the shape. Note
that a larger percentage will scale the shape down faster, as you are applying the operation
multiple times. There is also a ScaleUp method that will enlarge the shape.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will throw an ArgumentOutOfRangeException.
This is the percentage by which to decrease the shape's size.
This method returns a BaseShape which has been registered from its original
coordinate system to another, based on two anchor PointShapes.
This method returns a BaseShape which has been registered from its original
coordinate system to another, based on two anchor PointShapes.
Registering allows you to take a geometric shape generated in a planar system
and attach it to the ground in a Geographic Unit.
A common scenario is integrating geometric shapes from external programs
(such as CAD software or a modeling system) and placing them onto a map. You may have
the schematics of a building in a CAD system and the relationship between all the
points of the building are in feet. You want to then take the CAD image and attach
it to where it really exists on a map. You would use the register method to do
this.
Registering is also useful for scientific modeling, where software models things such
as a plume of hazardous materials or the fallout from a volcano. The modeling
software typically generates these models in a fictitious planar system. You would
then use the register to take the abstract model and attach it to a map with real
coordinates.
If you pass in a fromUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a toUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing a null as the fromPoint parameter will throw an ArgumentNullException.
Passing a null as the toPoint parameter will throw an ArgumentNullException.
This parameter is the anchor PointShape in the coordinate of origin.
This parameter is the anchor PointShape in the coordinate of destination.
This parameter is the DistanceUnit of the coordinate of origin.
This parameter is the GeographyUnit of the coordinate of destination.
This method moves the base shape from one location to another based on an X and Y
offset distance.
In this overload, the X and Y offset are based on a DistanceUnit you specify,
regardless of the shape's GeographicUnit.
This method returns a shape repositioned from one location to another based on an X
and Y offset distance. With this overload, it is important to note that the X and Y
offset units are based on the distanceUnit parameter. For example, if your shape
is in decimal degrees and you call this method with an X offset of 1 and a Y
offset of 1, you're going to move this shape one unit of the distanceUnit in
the horizontal direction and one unit of the distanceUnit in the vertical
direction. In this way, you can easily move a shape in decimal degrees five miles
on the X axis and 3 miles on the Y axis.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
This is the number of horizontal units of movement in the distance unit specified in
the distanceUnit parameter.
This is the number of vertical units of movement in the distance unit specified in
the distanceUnit parameter.
This is the GeographicUnit of the shape you are performing the operation
on.
This is the distance unit you would like to use as the measure for the
move. For example, if you select miles as your distance unit, then the xOffsetDistance
and yOffsetDistance will be calculated in miles.
This method moves the base shape from one location to another based on a
distance and a direction in degrees.
In this overload, the distance unit is based on a DistanceUnit you specify in the
distanceUnit parameter, regardless of the shape's GeographicUnit.
This method returns a shape repositioned from one location to another based on
angleInDegrees and distance parameter. With this overload, it is important to note that
the distance is based on the supplied distanceUnit parameter. For example,
if your shape is in decimal degrees and you call this method with a
distanceUnit of miles, you're going to move this shape a number of miles based on
the distance value and the angleInDegrees. In this way, you can easily move a shape in decimal
degrees five miles to the north.
If you pass a distance of 0, then the operation is ignored.
Passing an invalid angleInDegrees which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid distance which is not greater than or equal to 0 will throw an ArgumentOutOfRangeException.
The distance is the number of units to move the shape using the angle specified.
The distance unit will be the one specified in the distanceUnit parameter. The
distance must be greater than or equal to 0.
A number between 0 and 360 degrees that represents the direction you wish to
move the shape, with 0 being up.
This is the GeographicUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the measure for the move. For
example, if you select miles as your distanceUnit, then the distance will be calculated
in miles.
This method rotates the shape a number of degrees based on a pivot
point.
This method rotates the shape a number of degrees based on a pivot point.
By placing the pivot point in the center of the shape, you can achieve in-place
rotation. By moving the pivot point outside of the center of the shape, you can
translate the shape in a circular motion. Moving the pivot point further outside of
the center will make the circular area larger.
If you pass a null as the pivotPoint, we will throw an ArgumentNullException.
Passing an invalid degreeAngle which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which is not valid, it will throw an InvalidOperationException.
The pivotPoint represents the center of rotation.
The number of degrees of rotation required from 0 to 360.
This property specifies whether the shape can be rotated.
This property specifies whether the shape can be rotated.
If this property returns false and you attempt call the rotate method, it will
throw a NotImplementedException.
This method calculates the smallest RectangleShape that encompasses the entire
geometry.
The RectangleShape returned is the smallest RectangleShape that can encompass the
entire geometry.
The GetBoundingBox method calculates the smallest RectangleShape that can
encompass the entire geometry by examining each point in the geometry.
Depending on the number of PointShapes and complexity of the geometry this
operation can take longer for larger objects.
If the shape is a PointShape, than the bounding box's upper left and lower right
points will be equal. This will create a RectangleShape with no area.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions
defined above.
In the event you attempt to get the bounding box from a shape which has no points, it will throw an InvalidOperationException.
This method returns the point of the current shape that is closest to the target
shape.
A PointShape representing the closest point of the current shape to the
targetShape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns the point of the current shape that is closest to the target shape.
It is often the case that the point returned is not a point of the object itself. An
example would be a line with two points that are far apart from each other. If you set the
targetShape to be a point midway between the points but a short distance away from the line, the
method would return a point that is on the line but not either of the two points that make up the
line.
The shape you are trying to find the closest point to.
This is the GeographyUnit of the shape you are performing the operation
on.
This method returns the well-known text representation of this shape.
This method returns a string that represents the shape in well-known text.
This method returns a string that represents the shape in well-known text.
Well-known text allows you to describe a geometry as a string of text. Well-known
text is useful when you want to save a geometry in a format such as a text file, or when you
simply want to cut and paste the text between other applications. An alternative
to well-known text is well-known binary, which is a binary representation of a
geometry object. We have methods that work with well-known binary as well.
Below are some samples of what well-known text might look like for various kinds of
geometric figures.
POINT(5 17)
LINESTRING(4 5,10 50,25 80)
POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))
MULTIPOINT(3.7 9.7,4.9 11.6)
MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))
MULTIPOLYGON(((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3)),((4 4,7 3,7 5,4
4)))
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
This method returns the well-known type for the shape.
This method returns the well-known type for the shape.
None
Passing invalid well-known text in the wellKnownText parameter will throw an ArgumentException.
Passing a null as the wellKnownText parameter will throw an ArgumentNullException.
This method hydrates the current shape with its data from well-known text.
None
None
This parameter is the well-known text you will use to hydrate your object.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null as the bytes parameter will throw an ArgumentNullException.
This method hydrates the current shape with its data from well-known
binary.
None
This is used when you want to hydrate a shape based on well-known binary. You can
create the shape and then load the well-known binary using this method.
This parameter is the well-known binary used to populate the shape.
This method returns a ShapeValidationResult based on a series of
tests.
This method returns a ShapeValidationResult based on a series of
tests.
We use this method, with the simple enumeration, internally before doing any kind
of other methods on the shape. In this way, we are able to verify the integrity of the
shape itself. If you wish to test things such as whether a polygon self-intersects, we invite
you to call this method with the advanced ShapeValidationMode. One thing to consider is
that for complex polygon shapes this operation could take some time, which is why we
only run the basic, faster test. If you are dealing with polygon shapes that are
suspect, we suggest you run the advanced test.
If you pass in a validationMode that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter determines whether the test is simple or advanced. In some cases, the
advanced tests can take some time. The simple test is designed to always be
fast.
This method returns the crossing points between the current shape and the passed-in target shape.
This method returns the crossing points between the current shape and the passed-in target shape.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The target shape you wish to get crossing with.
This method removes the selected vertex from line shape.
The selected vertex must be a vertex of line shape, otherwise it will return false and line shape will keep the same.
The line shape will be removed one vertex.
If remove sucess it will return true, otherwise return false.
This method removes the selected vertex from line shape.
The selected vertex must be a vertex of line shape, otherwise it will return false and line shape will keep the same.
If remove sucess it will return true, otherwise return false.
This method generates a PolygonShape based the vertexes of the line.
A generated polygon based on the vertexes of the line, otherwise return null.
HelpFun is the help functions collection
MGRSProj is the class for convert Data between MGRS and Geodetic��
TransverseMercatorProj is the class for convert Data between TransverseMercator and Geodetic��
UniversalPolarStereographicProj is the class for convert Data between UniversalPolarStereographic and Geodetic��
UTMProj is the class for convert Data between UTM and Geodetic��
This class represents a MultilineShape, which is defined as one or more lines, each with two or
more points.
None
This overload creates the MultilineShape without any points.
This constructor creates the MultilineShape.
None
If you pass in any lineShapes which are invalid, we will throw an ArgumentException.
If you pass a null as the lineShapes, we will throw an ArgumentNullException.
Passing invalid well-known text in the wellKnownText parameter will throw an ArgumentException.
Passing a null as the wellKnownText parameter will throw an ArgumentNullException.
This constructor creates the MultilineShape.
This constructor allows you to build the shape from well-known text.
None
None
This parameter is the well-known text used to build the shape.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null as the bytes parameter will throw an ArgumentNullException.
None
None
This constructor creates the MultilineShape.
This constructor allows you to build the shape from well-known binary.
This parameter is the well-known binary used to build the shape.
This property is the collection of lines that make up the MultilineShape.
This property is the collection of lines that make up the MultilineShape.
None
This method calculates the smallest RectangleShape that encompasses the entire
geometry.
The RectangleShape returned is the smallest RectangleShape that can encompass the
entire geometry.
The GetBoundingBox method calculates the smallest RectangleShape that can
encompass the entire geometry by examining each point in the geometry.
Depending on the number of PointShapes and complexity of the geometry, this
operation can take longer for larger objects.
If the shape is a PointShape, then the bounding box's upper left and lower right
points will be equal. This will create a RectangleShape with no area.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions
defined above.
In the event you attempt to get the bounding box from a shape which has no points, it will throw an InvalidOperationException.
When you override this method, you need to ensure that there are no references in
common between the original and the copy.
This method returns a complete copy of the shape without any references in
common.
This method returns a complete copy of the shape without any references in
common.
This API is used to make the lines within the Multiline ordered.
An ordered Multiline means that we can walk though the MultiLine from the first
point to the last point without any branches, and that each line's end points should be
within the given tolerance. If using this overload, the unit of the Multiline and the
tolerance are both defaulted to meters. Please use the other overload if you want to
specify the units yourself.
Returns a re-ordered MultilineShape.
This parameter specifies the start point of the resulting re-ordered
MultilineShape.
This parameter specifies the tolerance between each line among the lines in the
Multiline. This parameter is very critial. If it is too large or too samll, the
re-order cannot suceed.
This API is used to make the lines within the Multiline ordered.
An ordered Multiline means that we can walk though the MultiLine from the first
point to the last point without any branches, and that each line's end points should be
within the given tolerance. When using this overload, you can specify the unit for the
Multiline as well as the unit for the tolerance.
Returns a re-ordered MultilineShape.
This parameter specifies the start point of the resulting re-ordered
MultilineShape.
This parameter specifies the tolerance between each line among the lines in the
Multiline. This parameter is very critial. If it is too large or too samll, the
re-order cannot suceed.
This parameter specifies the GeographicUnit for the Multineline.
This parameter specifies the distance unit used when considering the tolerance.
This API is used to make the lines within the Multiline ordered.
An ordered Multiline means that we can walk though the MultiLine from the first
point to the last point without any branches, and that each line's end points should be
within the given tolerance. When using this overload, you can specify the unit for the
Multiline as well as the unit for the tolerance.
Returns a re-ordered MultilineShape.
This parameter specifies the start point of the resulting re-ordered
MultilineShape.
This parameter specifies the tolerance between each line among the lines in the
Multiline. This parameter is very critial. If it is too large or too samll, the
re-order cannot suceed.
This parameter specifies the GeographicUnit for the Multineline.
This parameter specifies the distance unit used when considering the tolerance.
This method returns the length of the LineShape.
This overload returns the length in the GeographyUnit of the shape.
The returned length is in the GeographyUnit of the shape.
This method is useful when you want to know the total length of a line-based
shape. If the shape is a MultilineShape, then the length is the sum of all of its lines.
There is also an overload which allows you to specify the returning length in the unit
of your choice.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a returningUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the distance parameter. For
example, if you select miles as your returningUnit, then the distance will be
returned in miles.
This method returns a PointShape on the line, based on a percentage of the
length of the line from either its first or last vertex (as defined by the startingPoint
parameter).
This method returns a PointShape on the line, based on a percentage of the
length of the line from either its first or last vertex (as defined by the startingPoint
parameter).
If you pass in a startingPoint that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing an invalid number for the percentageOfLine which is not between 0 and 100 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
If you pass 100 or 0 as the percentage of the line, it will return either the
first or last vertex, depending on the value of the startingPoint argument.
This overload allows you to pass a percentage determining how far you want to
move along the line, as well as whether to start from the beginning or the end
of the line.
The startingPoint defines whether the method starts at the beginning or the end of the
line.
This parameter defines the percentage into the line. Valid values are between 0
and 100.
This method returns a PointShape on the line, based on a distance on the
line from the first or last vertex (as defined by the startingPoint parameter).
This overload allows you to pass in a distance, which determines how far you want to move
along the line. You can also choose whether to start from the beginning or the end of
the line.
This method returns a PointShape on the line, based on a distance on the
line from the first or last vertex (as defined by the startingPoint parameter).
Passing in a distance of 0 will return either the first or last point on the
line, depending on the value of the startingPoint parameter.
If you pass in a startingPoint that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing an invalid distance which is not greater than or equal to 0 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
The startingPoint defines whether the method starts at the beginning or the end of the
line.
This parameter specifies the distance into the line you wish to move, in the unit
of the shape itself. Valid values must be greater than or equal to 0.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the distance parameter. For
example, if you select miles as your distanceUnit, then the distance will be measured
in miles.
This method returns a PointShape on the line, based on a distance on the
line from the first or last vertex (as defined by the startingPoint parameter).
This overload allows you to pass in a distance, which determines how far you want to move
along the line. You can also choose whether to start from the beginning or the end of
the line.
This method returns a PointShape on the line, based on a distance on the
line from the first or last vertex (as defined by the startingPoint parameter).
Passing in a distance of 0 will return either the first or last point on the
line, depending on the value of the startingPoint parameter.
If you pass in a startingPoint that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing an invalid distance which is not greater than or equal to 0 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
The startingPoint defines whether the method starts at the beginning or the end of the
line.
This parameter specifies the distance into the line you wish to move, in the unit
of the shape itself. Valid values must be greater than or equal to 0.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the distance parameter. For
example, if you select miles as your distanceUnit, then the distance will be measured
in miles.
This method returns a BaseLineShape, based on a starting position and other
factors.
This overload allows you to pass the starting point, starting percentage of the
line and percentage of the line.
This method returns a BaseLineShape, based on a starting position and other
factors.
If you pass in a startingPoint that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing an invalid number for the percentageOfLine which is not greater than 0 and less than or equal to 100 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
None
The startingPoint defines whether the method starts at the beginning or the end of the
line.
This parameter defines the starting percentage into the line. Valid values must be greater
than 0 and less than or equal to 100.
This parameter defines the percentage into the line. Valid values must be greater
than 0 and less than or equal to 100.
This method returns a BaseLineShape, based on a starting position and other
factors.
This overload allows you to pass the starting point and percentage of the
line.
This method returns a BaseLineShape, based on a starting position and other
factors.
If you pass in a startingPoint that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing an invalid number for the percentageOfLine which is not greater than 0 and less than or equal to 100 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
None
The startingPoint defines whether the method starts at the beginning or the end of the
line.
This parameter defines the percentage into the line. Valid values must be greater
than 0 and less than or equal to 100.
This method returns a BaseLineShape, based on a starting position and other
factors.
This overload allows you to specify the starting point along with the starting
distance. This allows you to get a certain distance of the line after the starting
distance.
This method returns a BaseLineShape, based on a starting position and other
factors.
None
Passing an invalid distance which is not greater than 0 will throw an ArgumentOutOfRangeException.
If you pass in a startingPoint that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing an invalid startingDistance which is not greater than 0 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
The startingPoint defines whether the method starts at the beginning or the end of the
line.
The starting distance from where you will start getting the line. For example, if
the line is 3 units long and you have a starting distance of 1 unit, the result will
be the last two units of the line. Valid values must be greater than 0. The starting
distance will be in the GeographyUnit of the shape.
The amount of the line you want to get after the startingDistance. Valid values
must be greater than 0.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the distance parameter. For
example, if you select miles as your distanceUnit, then the distance will be measured
in miles.
This method returns a BaseLineShape, based on a starting position and other
factors.
This overload allows you to specify the starting point along with the starting
distance. This allows you to get a certain distance of the line after the starting
distance.
This method returns a BaseLineShape, based on a starting position and other
factors.
None
Passing an invalid distance which is not greater than 0 will throw an ArgumentOutOfRangeException.
If you pass in a startingPoint that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing an invalid startingDistance which is not greater than 0 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
The startingPoint defines whether the method starts at the beginning or the end of the
line.
The starting distance from where you will start getting the line. For example, if
the line is 3 units long and you have a starting distance of 1 unit, the result will
be the last two units of the line. Valid values must be greater than 0. The starting
distance will be in the GeographyUnit of the shape.
The amount of the line you want to get after the startingDistance. Valid values
must be greater than 0.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the distance parameter. For
example, if you select miles as your distanceUnit, then the distance will be measured
in miles.
This method returns a BaseLineShape, based on a starting position and other
factors.
This overload allows you to specify the starting point and another point.
This method returns a BaseLineShape, based on a starting position and other
factors.
None
If you pass in a startingPoint that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing a null endPointShape will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
The startingPoint defines whether the method starts at the beginning or the end of the
line.
The BaseLineShape returned will be between the startingPoint and the endPointShape
specified in this parameter.
This method returns a BaseLineShape, based on a starting position and other
factors.
This overload allows you to pass in two points to get a BaseLineShape from the original MultilineShape.
This method returns a BaseLineShape based on a start PointShape and an end PointShape.
None
Passing a null startPointShape will throw an ArgumentNullException.
Passing a null endPointShape will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
The startPointShape defines where you will start to get the line. If it does not stand on this
MultilineShape, the closest point on the MultilineShape will be the start PointShape.
The endPointShape defines where you will stop getting the line. If it does not stand on this
MultilineShape, the closest point on the MultilineShape will be the end PointShape.
This method increases the size of the LineShape by the percentage given in the
percentage parameter.
This method is useful when you would like to increase the size of the shape. Note
that a larger percentage will scale the shape up faster, as you are applying the operation
multiple times. There is also a ScaleDown method that will shrink the shape.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will throw an ArgumentOutOfRangeException.
This is the percentage by which to increase the shape's size.
This method decreases the size of the LineShape by the percentage given in the
percentage parameter.
This method is useful when you would like to decrease the size of the shape. Note
that a larger percentage will scale the shape down faster, as you are applying the operation
multiple times. There is also a ScaleUp method that will enlarge the shape.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will throw an ArgumentOutOfRangeException.
This is the percentage by which to decrease the shape's size.
This method returns a BaseShape which has been registered from its original
coordinate system to another based on two anchor PointShapes.
This method returns a BaseShape which has been registered from its original
coordinate system to another based on two anchor PointShapes.
Registering allows you to take a geometric shape generated in a planar system
and attach it to the ground in a Geographic Unit.
A common scenario is integrating geometric shapes from external programs
(such as CAD software or a modeling system) and placing them onto a map. You may have
the schematics of a building in a CAD system and the relationship between all the
points of the building are in feet. You want to then take the CAD image and attach
it to where it really exists on a map. You would use the register method to do
this.
Registering is also useful for scientific modeling, where software models things such
as a plume of hazardous materials or the fallout from a volcano. The modeling
software typically generates these models in a fictitious planar system. You would
then use the register to take the abstract model and attach it to a map with real
coordinates.
If you pass in a fromUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a toUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing a null as the fromPoint parameter will throw an ArgumentNullException.
Passing a null as the toPoint parameter will throw an ArgumentNullException.
This parameter is the anchor PointShape in the coordinate of origin.
This parameter is the anchor PointShape in the coordinate of destination.
This parameter is the DistanceUnit of the coordinate of origin.
This parameter is the GeographyUnit of the coordinate of destination.
This method returns a BaseLineShape, based on a starting position and other
factors.
This overload allows you to pass the starting point and percentage of the
line.
This method returns a BaseLineShape, based on a starting position and other
factors.
If you pass in a startingPoint that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
Passing an invalid number for the percentageOfLine which is not greater than 0 and less than or equal to 100 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
None
This is the number of horizontal units of movement in the DistanceUnit specified
in the distanceUnit parameter.
This is the number of vertical units of movement in the DistanceUnit specified
in the distanceUnit parameter.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the distance parameter. For
example, if you select miles as your distanceUnit, then the distance will be measured in
miles.
This method moves the base shape from one location to another based on a
distance and a direction in degrees.
In this overload, the distance is in the same GeographicUnit as the shape.
This method moves the base shape from one location to another, based on an
angleInDegrees and distance parameter. With this overload, it is important to note
that the distance units are the same GeographicUnit as the shape. For example,
if your shape is in decimal degrees and you call this method with a distance of 1,
you're going to move this shape 1 decimal degree in direction of the
angleInDegrees. In many cases it is more useful to specify the DistanceUnit of movement,
such as in miles or yards, so for these scenarios there is another overload you may
want to use instead.
If you pass a distance of 0, then the operation is ignored.
Passing an invalid angleInDegrees which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
Passing an invalid distance which is not greater than or equal to 0 will throw an ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
The distance is the number of units to move the shape in the angle specified. The
distance unit will be the same as the GeographyUnit for the shape. The distance must be
greater than or equal to 0.
A number between 0 and 360 degrees that represents the direction you wish to
move the shape, with 0 being up.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the distance parameter. For
example, if you select miles as your distanceUnit, then the distance will be measured
in miles.
This property specifies whether the shape can be rotated.
This property specifies whether the shape can be rotated.
If this property returns false and you attempt call the rotate method, it will
throw a NotImplementedException.
This method rotates the shape a number of degrees based on a pivot
point.
This method rotates the shape by a number of degrees based on a pivot point.
By placing the pivot point in the center of the shape, you can achieve in-place
rotation. By moving the pivot point outside of the center of the shape, you can
translate the shape in a circular motion. Moving the pivot point further outside of
the center will make the circular area larger.
If you pass a null as the pivotPoint we will throw an ArgumentNullException.
Passing an invalid degreeAngle which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
The pivotPoint represents the center of rotation.
The number of degrees of rotation required from 0 to 360.
This method returns the point of the current shape that is closest to the target
shape.
A PointShape representing the closest point of the current shape to the
targetShape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns the point of the current shape that is closest to the target shape.
It is often the case that the point returned is not a point of the object itself. An
example would be a line with two points that are far apart from each other. If you set the
targetShape to be a point midway between the points but a short distance away from the line, the
method would return a point that is on the line but not either of the two points that make up the
line.
The shape you are trying to find the closest point to.
This is the GeographyUnit of the shape you are performing the operation
on.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns the distance between the current shape and the
targetShape.
This method computes the distance between the current shape and the
targetShape.
None
The shape you are trying to find the distance to.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the distance parameter. For
example, if you select miles as your distanceUnit, then the distance will be measured
in miles.
This method returns the well-known text representation of this shape.
This method returns a string that represents the shape in well-known text.
This method returns a string that represents the shape in well-known text.
Well-known text allows you to describe a geometry as a string of text. Well-known
text is useful when you want to save a geometry in a format such as a text file, or when you
simply want to cut and paste the text between other applications. An alternative
to well-known text is well-known binary, which is a binary representation of a
geometry object. We have methods that work with well-known binary as well.
Below are some samples of what well-known text might look like for various kinds of
geometric shapes.
POINT(5 17)
LINESTRING(4 5,10 50,25 80)
POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))
MULTIPOINT(3.7 9.7,4.9 11.6)
MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))
MULTIPOLYGON(((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3)),((4 4,7 3,7 5,4
4)))
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
This method returns the well-known type for the shape.
This method returns the well-known type for the shape.
None
Passing invalid well-known text in the wellKnownText parameter will throw an ArgumentException.
Passing a null as the wellKnownText parameter will throw an ArgumentNullException.
This method hydrates the current shape with its data from well-known text.
None
None
This parameter is the well-known text you will use to hydrate your object.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null as the bytes parameter will throw an ArgumentNullException.
This method hydrates the current shape with its data from well-known
binary.
None
This is used when you want to hydrate a shape based on well-known binary. You can
create the shape and then load the well-known binary using this method.
This parameter is the well-known binary used to populate the shape.
This method returns a ShapeValidationResult based on a series of
tests.
This method returns a ShapeValidationResult based on a series of
tests.
We use this method, with the simple enumeration, internally before doing any kind
of other methods on the shape. In this way, we are able to verify the integrity of the
shape itself. If you wish to test things such as whether a polygon self-intersects, we invite
you to call this method with the advanced ShapeValidationMode. One thing to consider is
that for complex polygon shapes this operation could take some time, which is why we
only run the basic, faster test. If you are dealing with polygon shapes that are
suspect, we suggest you run the advanced test.
If you pass in a validationMode that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter determines whether the test is simple or advanced. In some cases, the
advanced tests can take some time. The simple test is designed to always be
fast.
This method returns the crossing points between the current shape and the passed-in target shape.
This method returns the crossing points between the current shape and the passed-in target shape.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The target shape you wish to get crossing with.
This method removes the selected vertex from multiline shape.
The selected vertex must be a vertex of multiline shape, otherwise it will return false and multiline shape will keep the same.
The multiline shape will be removed one vertex.
If remove sucess it will return true, otherwise return false.
This method removes the selected vertex from multiline shape.
The selected vertex must be a vertex of multiline shape, otherwise it will return false and multiline shape will keep the same.
If remove sucess it will return true, otherwise return false.
This class represents one or more point shapes.
None
This constructor creates a MultipointShape.
This overload creates the MultipointShape without any points.
None
If you pass a null as the points, we will throw an ArgumentNullException.
This constructor creates a MultipointShape by passing in predefined points.
This constructor creates a MultipointShape by passing in predefined points.
This parameter specifies the points passed into the MultiPointShape.
None
This constructor creates a MultipointShape by passing in predefined point features.
This constructor creates a MultipointShape by passing in predefined point features.
This parameter specifies the points passed into the MultiPointShape.
None
This constructor creates a MultipointShape by passing in a Multipoint type Feature.
This parameter specifies the Multipoint feature that will be used to create the Multipoint shape.
If you pass a feature that contains a shape which is not a MultipointShape, we will throw an ArgumentException.
Passing invalid well-known text in the wellKnownText parameter will throw an ArgumentException.
Passing a null as the wellKnownText parameter will throw an ArgumentNullException.
This constructor creates the MultipointShape.
This constructor allows you to build the shape from well-known text.
None
None
This parameter is the well-known text used to build the shape.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null as the bytes parameter will throw an ArgumentNullException.
None
None
This constructor creates the LineShape.
This constructor allows you to build the shape from well-known binary.
This parameter is the well-known binary used to build the shape.
This property specifies whether the shape can be rotated.
This property specifies whether the shape can be rotated.
If this property returns false and you attempt call the rotate method, it will
throw a NotImplementedException.
This property is the collection of points that make up the
MultipointShape.
This property is the collection of PointShapes that make up the
MultipointShape.
None
When you override this method, you need to ensure that there are no references in
common between the original and the copy.
This method returns a complete copy of the shape without any references in
common.
This method returns a complete copy of the shape without any references in
common.
This method increases the size of the shape by the percentage given in the
percentage parameter.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will throw an ArgumentOutOfRangeException.
This method is useful when you would like to increase the size of the shape. Note
that a larger percentage will scale the shape up faster, as you are applying the operation
multiple times. There is also a ScaleDown method that will shrink the shape.
This is the percentage by which to increase the shape�s size.
This method increases the size of the shape by the percentage given in the
percentage parameter.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will throw an ArgumentOutOfRangeException.
This method is useful when you would like to increase the size of the shape. Note
that a larger percentage will scale the shape up faster, as you are applying the operation
multiple times. There is also a ScaleDown method that will shrink the shape.
This is the percentage by which to increase the shape�s size.
This method decreases the size of the shape by the percentage given in the
percentage parameter.
This method is useful when you would like to decrease the size of the shape. Note
that a larger percentage will scale the shape down faster, as you are applying the operation
multiple times. There is also a ScaleUp method that will enlarge the shape.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will throw an ArgumentOutOfRangeException.
This is the percentage by which to decrease the shape�s size.
This method decreases the size of the shape by the percentage given in the
percentage parameter.
This method is useful when you would like to decrease the size of the shape. Note
that a larger percentage will scale the shape down faster, as you are applying the operation
multiple times. There is also a ScaleUp method that will enlarge the shape.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will throw an ArgumentOutOfRangeException.
This is the percentage by which to decrease the shape�s size.
This method returns the convex hull of the shape (defined as the smallest convex
ring that contains all the points in the shape).
This method returns the convex hull of the shape (defined as the smallest convex
ring that contains all the points in the shape).
This method is useful when you want to create a perimeter around the shape. For
example, if you had a MultiPolygon which represented buildings on a campus, you could
easily get the convex hull of the buildings and determine the perimeter of all of the
buildings together. This also works with MultiPoint shapes, where each point may
represent a certain type of person you are doing statistics on. With convex hull, you
can get an idea of the regions those points are located in.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This method returns the convex hull of the shape (defined as the smallest convex
ring that contains all the points in the shape).
This method returns the convex hull of the shape (defined as the smallest convex
ring that contains all the points in the shape).
This method is useful when you want to create a perimeter around the shape. For
example, if you had a MultiPolygon which represented buildings on a campus, you could
easily get the convex hull of the buildings and determine the perimeter of all of the
buildings together. This also works with MultiPoint shapes, where each point may
represent a certain type of person you are doing statistics on. With convex hull, you
can get an idea of the regions those points are located in.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This method returns a BaseShape which has been registered from its original
coordinate system to another based on two anchor PointShapes.
This method returns a BaseShape which has been registered from its original
coordinate system to another based on two anchor PointShapes.
Registering allows you to take a geometric shape generated in a planar system
and attach it to the ground in a Geographic Unit.
A common scenario is integrating geometric shapes from external programs
(such as CAD software or a modeling system) and placing them onto a map. You may have
the schematics of a building in a CAD system and the relationship between all the
points of the building are in feet. You want to then take the CAD image and attach
it to where it really exists on a map. You would use the register method to do
this.
Registering is also useful for scientific modeling, where software models things such
as a plume of hazardous materials or the fallout from a volcano. The modeling
software typically generates these models in a fictitious planar system. You would
then use the register to take the abstract model and attach it to a map with real
coordinates.
If you pass in a fromUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a toUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing a null as the fromPoint parameter will throw an ArgumentNullException.
Passing a null as the toPoint parameter will throw an ArgumentNullException.
This parameter is the anchor PointShape in the coordinate of origin.
This parameter is the anchor PointShape in the coordinate of destination.
This parameter is the DistanceUnit of the coordinate of origin.
This parameter is the GeographyUnit of the coordinate of destination.
This method moves the base shape from one location to another based on an X and Y
offset distance.
In this overload, the X and Y offset are based on the DistanceUnit you specify,
regardless of the shape's GeographicUnit.
This method moves the base shape from one location to another based on an X
and Y offset distance. It is important to note that with this overload the X and Y
offset units are based off of the distanceUnit parameter. For example if your shape
is in decimal degrees and you call this method with an X offset of one and a Y
offset of one and you're going to move this shape one unit of the distanceUnit in
the horizontal direction and one unit of the distanceUnit in the vertical
direction. In this way you can easily move a shape in decimal degrees five miles to
on the X axis and 3 miles on the Y axis.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
This is the number of horizontal units of movement in the DistanceUnit specified as
the distanceUnit.
This is the number of horizontal units of movement in the DistanceUnit specified as
the distanceUnit.
This is the GeographicUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the measure of the
translate. For example, if you select miles as your distanceUnit, then the xOffsetDistance
and yOffsetDistance will be calculated in miles.
This method moves the shape from one location to another based on a
direction in degrees and distance.
In this overload the distance is in the same GeographicUnit as the shape.
This method moves the base shape from one location to another, based on an
angleInDegrees and distance parameter. With this overload, it is important to note
that the distance units are the same GeographicUnit as the shape. For example,
if your shape is in decimal degrees and you call this method with a distance of 1,
you're going to move this shape 1 decimal degree in direction of the
angleInDegrees. In many cases it is more useful to specify the DistanceUnit of movement,
such as in miles or yards, so for these scenarios there is another overload you may
want to use instead.
If you pass a distance of 0, then the operation is ignored.
Passing an invalid angleInDegrees which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has less than two points, it will throw an InvalidOperationException.
Passing an invalid distance which is not greater than or equal to 0 will throw an ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
The distance is the number of units to move the shape in the angle specified. The
distance unit will be the same as the GeographyUnit for the shape. The distance must be
greater than or equal to 0.
A number between 0 and 360 degrees that represents the direction you wish to
move the shape, with 0 being up.
This is the GeographicUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the distance parameter. For
example, if you select miles as your distanceUnit, then the distance will be measured
in miles.
This method rotates the shape a number of degrees based on a pivot
point.
This method rotates the shape a number of degrees based on a pivot point.
By placing the pivot point in the center of the shape, you can achieve in-place
rotation. By moving the pivot point outside of the center of the shape, you can
translate the shape in a circular motion. Moving the pivot point further outside of
the center will make the circular area larger.
If you pass a null as the pivotPoint, we will throw an ArgumentNullException.
Passing an invalid degreeAngle which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which is not valid, it will throw an InvalidOperationException.
The pivotPoint represents the center of rotation.
The number of degrees of rotation required from 0 to 360.
This method returns the point of the current shape that is closest to the target
shape.
A PointShape representing the closest point of the current shape to the
targetShape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns the point of the current shape that is closest to the target shape.
It is often the case that the point returned is not a point of the object itself. An
example would be a line with two points that are far apart from each other. If you set the
targetShape to be a point midway between the points but a short distance away from the line, the
method would return a point that is on the line but not either of the two points that make up the
line.
The shape you are trying to find the closest point to.
This is the GeographicUnit of the shape you are performing the operation
on.
This method calculates the smallest RectangleShape that encompasses the entire
geometry.
The RectangleShape returned is the smallest RectangleShape that can encompass the
entire geometry.
The GetBoundingBox method calculates the smallest RectangleShape that can
encompass the entire geometry by examining each point in the geometry.
Depending on the number of PointShapes and complexity of the geometry, this
operation can take longer for larger objects.
If the shape is a PointShape, then the bounding box�s upper left and lower right
points will be equal. This will create a RectangleShape with no area.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions
defined above.
In the event you attempt to get the bounding box from a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns the distance between the current shape and the
targetShape.
This method computes the distance between the current shape and the
targetShape.
None
The shape you are trying to find the distance to.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the distance parameter. For
example, if you select miles as your distanceUnit, then the distance will be measured
in miles.
This method returns the well-known text representation of this shape.
This method returns a string that represents the shape in well-known text.
This method returns a string that represents the shape in well-known text.
Well-known text allows you to describe a geometry as a string of text. Well-known
text is useful when you want to save a geometry in a format such as a text file, or when you
simply want to cut and paste the text between other applications. An alternative
to well-known text is well-known binary, which is a binary representation of a
geometry object. We have methods that work with well-known binary as well.
Below are some samples of what well-known text might look like for various kinds of
geometric shapes.
POINT(5 17)
LINESTRING(4 5,10 50,25 80)
POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))
MULTIPOINT(3.7 9.7,4.9 11.6)
MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))
MULTIPOLYGON(((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3)),((4 4,7 3,7 5,4
4)))
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This method returns the well-known type for the shape.
This method returns the well-known type for the shape.
None
Passing invalid well-known text in the wellKnownText parameter will throw an ArgumentException.
Passing a null as the wellKnownText parameter will throw an ArgumentNullException.
This method hydrates the current shape with its data from well-known text.
None
None
This parameter is the well-known text you will use to hydrate your object.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null as the bytes parameter will throw an ArgumentNullException.
This method hydrates the current shape with its data from well-known
binary.
None
This is used when you want to hydrate a shape based on well-known binary. You can
create the shape and then load the well-known binary using this method.
This parameter is the well-known binary used to populate the shape.
This method returns a ShapeValidationResult based on a series of
tests.
This method returns a ShapeValidationResult based on a series of
tests.
We use this method, with the simple enumeration, internally before doing any kind
of other methods on the shape. In this way, we are able to verify the integrity of the
shape itself. If you wish to test things such as whether a polygon self-intersects, we invite
you to call this method with the advanced ShapeValidationMode. One thing to consider is
that for complex polygon shapes this operation could take some time, which is why we
only run the basic, faster test. If you are dealing with polygon shapes that are
suspect, we suggest you run the advanced test.
If you pass in a validationMode that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter determines whether the test is simple or advanced. In some cases, the
advanced tests can take some time. The simple test is designed to always be
fast.
This method returns the crossing points between the current shape and the passed-in target shape.
This method returns the crossing points between the current shape and the passed-in target shape.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The target shape you wish to get crossing with.
This method removes the point which the same coordinate as selected vertex from multipoint shape.
The selected vertex must be the same coordinate as a point of multipoint shape, otherwise it will return false and multipoint shape will keep the same.
The multipoint shape will be removed one vertex.
If remove sucess it will return true, otherwise return false.
This method removes the point which the same coordinate as selected vertex from multipoint shape.
The selected vertex must be the same coordinate of a point of multipoint shape, otherwise it will return false and multipoint shape will keep the same.
If remove sucess it will return true, otherwise return false.
This class represents one or more polygons.
None
This overload creates the MultipolygonShape without any polygons.
This constructor creates the PolygonShape.
None
If you pass a null as the polygons, we will throw an ArgumentNullException.
Passing invalid well-known text in the wellKnownText parameter will throw an ArgumentException.
Passing a null as the wellKnownText parameter will throw an ArgumentNullException.
This constructor creates the MultipolygonShape.
This constructor allows you to build the shape from well-known text.
None
None
This parameter is the well-known text used to build the shape.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null as the bytes parameter will throw an ArgumentNullException.
None
None
This constructor creates the MultipolygonShape.
This constructor allows you to build the shape from well-known binary.
This parameter is the well-known binary used to build the shape.
This property is the collection of PolygonShapes that make up the MultipolygonShape.
This property is the collection of PolygonShapes that make up the MultipolygonShape.
None
This property specifies whether the shape can be rotated.
This property specifies whether the shape can be rotated.
If this property returns false and you attempt call the rotate method, it will
throw a NotImplementedException.
When you override this method, you need to ensure that there are no references in
common between the original and the copy.
This method returns a complete copy of the shape without any references in
common.
This method returns a complete copy of the shape without any references in
common.
This method returns the perimeter of the shape (defined as the sum of the lengths
of all its sides).
In this overload, the return unit is based on the LengthUnit you specify in the
returningLengthUnit parameter, regardless of the shape's GeographyUnit.
The return unit is based on the LengthUnit you specify in the returningUnit
parameter, regardless of the shape's GeographyUnit.
You would use this method to find the distance around an area shape.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a returningUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the return value. For example, if
you select miles as your returningUnit, then the distance will be returned in
miles.
This method returns the area of the shape (defined as the size of the region
enclosed by the figure).
In this overload, the return unit is based on the AreaUnit you specify in the
returningUnit parameter, regardless of the shape's GeographyUnit.
The return unit is based on the AreaUnit you specify in the returningUnit
parameter, regardless of the shape's GeographyUnit.
You would use this method to find the area inside the shape.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a returningUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the AreaUnit you would like to use as the return value. For example, if
you select square miles as your returningUnit, then the distance will be returned in
square miles.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will throw an ArgumentOutOfRangeException.
This method is useful when you would like to increase the size of the shape. Note
that a larger percentage will scale the shape up faster, as you are applying the operation
multiple times. There is also a ScaleDown method that will shrink the shape.
This method increases the size of the area shape by the percentage given in the
percentage parameter.
This is the percentage by which to increase the shape's size.
This method decreases the size of the area shape by the percentage given in the
percentage parameter.
This method is useful when you would like to decrease the size of the shape. Note
that a larger percentage will scale the shape down faster, as you are applying the operation
multiple times. There is also a ScaleUp method that will enlarge the shape.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will throw an ArgumentOutOfRangeException.
This is the percentage by which to decrease the shape's size.
This method returns a BaseShape which has been registered from its original
coordinate system to another based on two anchor PointShapes.
This method returns a BaseShape which has been registered from its original
coordinate system to another based on two anchor PointShapes.
Registering allows you to take a geometric shape generated in a planar system
and attach it to the ground in a Geographic Unit.
A common scenario is integrating geometric shapes from external programs
(such as CAD software or a modeling system) and placing them onto a map. You may have
the schematics of a building in a CAD system and the relationship between all the
points of the building are in feet. You want to then take the CAD image and attach
it to where it really exists on a map. You would use the register method to do
this.
Registering is also useful for scientific modeling, where software models things such
as a plume of hazardous materials or the fallout from a volcano. The modeling
software typically generates these models in a fictitious planar system. You would
then use the register to take the abstract model and attach it to a map with real
coordinates.
If you pass in a fromUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a toUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing a null as the fromPoint parameter will throw an ArgumentNullException.
Passing a null as the toPoint parameter will throw an ArgumentNullException.
This parameter is the anchor PointShape in the coordinate of origin.
This parameter is the anchor PointShape in the coordinate of destination.
This parameter is the DistanceUnit of the coordinate of origin.
This parameter is the GeographyUnit of the coordinate of destination.
This method moves the base shape from one location to another based on an X and Y
offset distance.
In this overload, the X and Y offset are based on the DistanceUnit you specify,
regardless of the shape's GeographicUnit.
This method moves the base shape from one location to another based on an X
and Y offset distance. It is important to note that with this overload the X and Y
offset units are based off of the distanceUnit parameter. For example if your shape
is in decimal degrees and you call this method with an X offset of one and a Y
offset of one and you're going to move this shape one unit of the distanceUnit in
the horizontal direction and one unit of the distanceUnit in the vertical
direction. In this way you can easily move a shape in decimal degrees five miles to
on the X axis and 3 miles on the Y axis.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
This is the number of horizontal units of movement in the DistanceUnit specified by
the distanceUnit parameter.
This is the number of vertical units of movement in the DistanceUnit specified by
the distanceUnit parameter.
This is the GeographicUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the measure for the move.
For example, if you select miles as your distanceUnit, then the xOffsetDistance and yOffsetDistance
will be calculated in miles.
This method moves the base shape from one location to another based on a
direction in degrees and distance.
In this overload the distance is in the same GeographicUnit as the shape.
This method moves the base shape from one location to another, based on an
angleInDegrees and distance parameter. With this overload, it is important to note
that the distance units are the same GeographicUnit as the shape. For example,
if your shape is in decimal degrees and you call this method with a distance of 1,
you're going to move this shape 1 decimal degree in direction of the
angleInDegrees. In many cases it is more useful to specify the DistanceUnit of movement,
such as in miles or yards, so for these scenarios there is another overload you may
want to use instead.
If you pass a distance of 0, then the operation is ignored.
Passing an invalid angleInDegrees which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid distance which is not greater than or equal to 0 will throw an ArgumentOutOfRangeException.
The distance is the number of units to move the shape in the angle specified. The
distance unit will be the same as the GeographyUnit for the shape. The distance must be
greater than or equal to 0.
A number between 0 and 360 degrees that represents the direction you wish to
move the shape, with 0 being up.
This is the GeographicUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the measure of the
translate. For example, if you select miles as your distanceUnit, then the xOffsetDistance
and yOffsetDistance will be calculated in miles.
This method rotates the shape a number of degrees based on a pivot
point.
This method rotates the shape a number of degrees based on a pivot point.
By placing the pivot point in the center of the shape, you can achieve in-place
rotation. By moving the pivot point outside of the center of the shape, you can
translate the shape in a circular motion. Moving the pivot point further outside of
the center will make the circular area larger.
If you pass a null as the pivotPoint, we will throw an ArgumentNullException.
Passing an invalid degreeAngle which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
The pivotPoint represents the center of rotation.
The number of degrees of rotation required from 0 to 360.
This method returns the point of the current shape that is closest to the target
shape.
A PointShape representing the closest point of the current shape to the
targetShape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns the point of the current shape that is closest to the target shape.
It is often the case that the point returned is not a point of the object itself. An
example would be a line with two points that are far apart from each other. If you set the
targetShape to be a point midway between the points but a short distance away from the line, the
method would return a point that is on the line but not either of the two points that make up the
line.
The shape you are trying to find the closest point to.
This is the GeographicUnit of the shape you are performing the operation
on.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns the distance between the current shape and the
targetShape.
This method computes the distance between the current shape and the
targetShape.
None
The shape you are trying to find the distance to.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the distance parameter. For
example if you select miles as your distanceUnit, then the distance will be measured
in miles.
This method returns the well-known text representation of this shape.
This method returns a string that represents the shape in well-known text.
This method returns a string that represents the shape in well-known text.
Well-known text allows you to describe a geometry as a string of text. Well-known
text is useful when you want to save a geometry in a format such as a text file, or when you
simply want to cut and paste the text between other applications. An alternative
to well-known text is well-known binary, which is a binary representation of a
geometry object. We have methods that work with well-known binary as well.
Below are some samples of what well-known text might look like for various kinds of
geometric shapes.
POINT(5 17)
LINESTRING(4 5,10 50,25 80)
POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))
MULTIPOINT(3.7 9.7,4.9 11.6)
MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))
MULTIPOLYGON(((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3)),((4 4,7 3,7 5,4
4)))
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This method returns the well-known type for the shape.
This method returns the well-known type for the shape.
None
This method returns a byte array that represents the shape in well-known
binary.
This method returns a byte array that represents the shape in well-known
binary.
This method returns a byte array that represents the shape in well-known binary.
Well-known binary allows you to describe a geometry as a binary array. Well-known
binary is useful when you want to save a geometry in an efficient format using as little
space as possible. An alternative to well-known binary is well-known text, which is a
textual representation of a geometry object. We have methods that work with well-known
text as well.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a ByteOrder that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter specifies whther the byte order is big- or little-endian.
Passing invalid well-known text in the wellKnownText parameter will throw an ArgumentException.
Passing a null as the wellKnownText parameter will throw an ArgumentNullException.
This method hydrates the current shape with its data from well-known text.
None
None
This parameter is the well-known text you will use to hydrate your object.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null as the bytes parameter will throw an ArgumentNullException.
This method hydrates the current shape with its data from well known
binary.
None
This is used when you want to hydrate a shape based on well-known binary. You can
create the shape and then load the well-known binary using this method.
This parameter is the well-known binary used to populate the shape.
This method calculates the smallest RectangleShape that encompasses the entire
geometry.
The RectangleShape returned is the smallest RectangleShape that can encompass the
entire geometry.
The GetBoundingBox method calculates the smallest RectangleShape that can
encompass the entire geometry by examining each point in the geometry.
Depending on the number of PointShapes and complexity of the geometry, this
operation can take longer for larger objects.
If the shape is a PointShape, then the bounding box's upper left and lower right
points will be equal. This will create a RectangleShape with no area.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions
defined above.
In the event you attempt to get the bounding box from a shape which has no points, it will throw an InvalidOperationException.
This method returns a ShapeValidationResult based on a series of
tests.
This method returns a ShapeValidationResult based on a series of
tests.
We use this method, with the simple enumeration, internally before doing any kind
of other methods on the shape. In this way, we are able to verify the integrity of the
shape itself. If you wish to test things such as whether a polygon self-intersects, we invite
you to call this method with the advanced ShapeValidationMode. One thing to consider is
that for complex polygon shapes this operation could take some time, which is why we
only run the basic, faster test. If you are dealing with polygon shapes that are
suspect, we suggest you run the advanced test.
If you pass in a validationMode that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter determines whether the test is simple or advanced. In some cases, the
advanced tests can take some time. The simple test is designed to always be
fast.
This method returns the crossing points between the current shape and the passed-in target shape.
This method returns the crossing points between the current shape and the passed-in target shape.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The target shape you wish to get crossing with.
This method removes the selected vertex from multipolygon shape.
The selected vertex must be a vertex of multipolygon shape, otherwise it will return false and multipolygon shape will keep the same.
The multipolygon shape will be removed one vertex.
If remove sucess it will return true, otherwise return false.
This method removes the selected vertex from multipolygon shape.
The selected vertex must be a vertex of multipolygon shape, otherwise it will return false and multipolygon shape will keep the same.
If remove sucess it will return true, otherwise return false.
This enumeration defines panning directions.
None
This pans up.
This pans to the upper right.
This pans to the right.
This pans to the lower left.
This pans down.
This pans to the lower left.
This pans to the left.
This pans to the upper left.
This class represents a single point.
None
This constructor creates a PointShape.
This overload creates the PointShape with its default values.
None
This constructor create a PointShape.
This overload creates a PointShape by specifying the X and Y values.
None
This parameter represents the X (horizontal) axis.
This parameter represents the Y (vertical) axis.
This overload creates a PointShape by specifying the X,Y, and Z values.
This constructor create a PointShape.
None
This parameter represents the X (horizontal) axis.
This parameter represents the Y (vertical) axis.
This parameter represents the Z (depth) axis.
This overload creates a PointShape by specifying the vertex.
This parameter represents the vertex that will be used to construct the PointShape.
Passing invalid well-known text in the wellKnownText parameter will throw an ArgumentException.
Passing a null as the wellKnownText parameter will throw an ArgumentNullException.
This constructor creates the PointShape.
This constructor allows you to build the shape from well-known text.
None
None
This parameter is the well-known text used to build the shape.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null as the bytes parameter will throw an ArgumentNullException.
None
None
This constructor creates the PointShape.
This constructor allows you to build the shape from well-known binary.
This parameter is the well-known binary used to build the shape.
This property represents the X (horizontal) axis.
This property represents the X (horizontal) axis.
None
This property represents the Y (vertical) axis.
This property represents the Y (vertical) axis.
None
This property represents the Z (depth) axis.
This property represents the Z (depth) axis.
None
Compare the current PointShape with the target PointShape.
The targetPointShape to be compared with.
True if both X and Y coordinates of the current shape are equal to those of the target shape.
Compare the current PointShape with the target Point Feature.
The targetPointFeature to be compared with.
True if both X and Y coordinates of the current shape are equal to those of the PointShape contained in the target PointFeature.
When you override this method, you need to ensure that there are no references in
common between the original and the copy.
This method returns a complete copy of the shape without any references in
common.
This method returns a complete copy of the shape without any references in
common.
This method returns a BaseShape which has been registered from its original
coordinate system to another based on two anchor PointShapes.
This method returns a BaseShape which has been registered from its original
coordinate system to another based on two anchor PointShapes.
Registering allows you to take a geometric shape generated in a planar system
and attach it to the ground in a Geographic Unit.
A common scenario is integrating geometric shapes from external programs
(such as CAD software or a modeling system) and placing them onto a map. You may have
the schematics of a building in a CAD system and the relationship between all the
points of the building are in feet. You want to then take the CAD image and attach
it to where it really exists on a map. You would use the register method to do
this.
Registering is also useful for scientific modeling, where software models things such
as a plume of hazardous materials or the fallout from a volcano. The modeling
software typically generates these models in a fictitious planar system. You would
then use the register to take the abstract model and attach it to a map with real
coordinates.
If you pass in a fromUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a toUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing a null as the fromPoint parameter will throw an ArgumentNullException.
Passing a null as the toPoint parameter will throw an ArgumentNullException.
This parameter is the anchor PointShape in the coordinate of origin.
This parameter is the anchor PointShape in the coordinate of destination.
This parameter is the DistanceUnit of the coordinate of origin.
This parameter is the GeographyUnit of the coordinate of destination.
This method moves the base shape from one location to another based on an X and Y
offset distance.
In this overload, the X and Y offset are based on the DistanceUnit you specify,
regardless of the shape's GeographicUnit.
This method moves the base shape from one location to another, based on an X
and Y offset distance. With this overload, it is important to note that the X and Y
offset units are based on the distanceUnit parameter. For example, if your shape
is in decimal degrees and you call this method with an X offset of 1 and a Y
offset of 1, you're going to move this shape 1 unit of the distanceUnit in
the horizontal direction and one unit of the distanceUnit in the vertical
direction. In this way, you can easily move a shape in decimal degrees five miles to
on the X axis and 3 miles on the Y axis.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
This is the number of horizontal units of movement in the DistanceUnit specified as
the distanceUnit.
This is the number of horizontal units of movement in the DistanceUnit specified as
the distanceUnit.
This is the GeographicUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the measure for the
move. For example, if you select miles as your distanceUnit, then the xOffsetDistance
and yOffsetDistance will be calculated in miles.
This method moves the base shape from one location to another, based on a
distance and a direction in degrees.
In this overload, the distance is in the same GeographicUnit as the shape.
This method moves the base shape from one location to another, based on an
angleInDegrees and distance parameter. With this overload, it is important to note
that the distance units are the same GeographicUnit as the shape. For example,
if your shape is in decimal degrees and you call this method with a distance of 1,
you're going to move this shape 1 decimal degree in direction of the
angleInDegrees. In many cases it is more useful to specify the DistanceUnit of movement,
such as in miles or yards, so for these scenarios there is another overload you may
want to use instead.
If you pass a distance of 0, then the operation is ignored.
Passing an invalid angleInDegrees which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
Passing an invalid distance which is not greater than or equal to 0 will throw an ArgumentOutOfRangeException.
The distance is the number of units to move the shape in the angle specified. The
distance unit will be the same as the GeographyUnit for the shape. The distance must be
greater than or equal to 0.
A number between 0 and 360 degrees that represents the direction you wish to
move the shape, with 0 being up.
This is the GeographicUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the distance parameter. For
example, if you select miles as your distanceUnit, then the distance will be measured
in miles.
This method rotates the shape a number of degrees based on a pivot
point.
This method rotates the shape by a number of degrees based on a pivot point.
By placing the pivot point in the center of the shape, you can achieve in-place
rotation. By moving the pivot point outside of the center of the shape, you can
translate the shape in a circular motion. Moving the pivot point further outside of
the center will make the circular area larger.
If you pass a null as the pivotPoint, we will throw an ArgumentNullException.
Passing an invalid degreeAngle which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which is not valid, it will throw an InvalidOperationException.
The pivotPoint represents the center of rotation.
The number of degrees of rotation required from 0 to 360.
This property specifies whether the shape can be rotated.
This property specifies whether the shape can be rotated.
If this property returns false and you attempt call the rotate method, it will
throw a NotImplementedException.
This method returns the point of the current shape that is closest to the target
shape.
A PointShape representing the closest point of the current shape to the
targetShape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns the point of the current shape that is closest to the target shape.
It is often the case that the point returned is not a point of the object itself. An
example would be a line with two points that are far apart from each other. If you set the
targetShape to be a point midway between the points but a short distance away from the line, the
method would return a point that is on the line but not either of the two points that make up the
line.
The shape you are trying to find the closest point to.
This is the GeographicUnit of the shape you are performing the operation
on.
This method returns the well-known text representation of this shape.
This method returns a string that represents the shape in well-known text.
This method returns a string that represents the shape in well-known text.
Well-known text allows you to describe a geometry as a string of text. Well-known
text is useful when you want to save a geometry in a format such as a text file, or when you
simply want to cut and paste the text between other applications. An alternative
to well-known text is well-known binary, which is a binary representation of a
geometry object. We have methods that work with well-known binary as well.
Below are some samples of what well-known text might look like for various kinds of
geometric shapes.
POINT(5 17)
LINESTRING(4 5,10 50,25 80)
POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))
MULTIPOINT(3.7 9.7,4.9 11.6)
MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))
MULTIPOLYGON(((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3)),((4 4,7 3,7 5,4
4)))
This method returns the well-known type for the shape.
This method returns the well-known type for the shape.
None
Passing invalid well-known text in the wellKnownText parameter will throw an ArgumentException.
Passing a null as the wellKnownText parameter will throw an ArgumentNullException.
This method hydrates the current shape with its data from well-known text.
None
None
This parameter is the well-known text you will use to hydrate your object.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null as the bytes parameter will throw an ArgumentNullException.
This method hydrates the current shape with its data from well-known
binary.
None
This is used when you want to hydrate a shape based on well-known binary. You can
create the shape and then load the well-known binary using this method.
This parameter is the well-known binary used to populate the shape.
This method returns a ShapeValidationResult based on a series of
tests.
This method returns a ShapeValidationResult based on a series of
tests.
We use this method, with the simple enumeration, internally before doing any kind
of other methods on the shape. In this way, we are able to verify the integrity of the
shape itself. If you wish to test things such as whether a polygon self-intersects, we invite
you to call this method with the advanced ShapeValidationMode. One thing to consider is
that for complex polygon shapes this operation could take some time, which is why we
only run the basic, faster test. If you are dealing with polygon shapes that are
suspect, we suggest you run the advanced test.
If you pass in a validationMode that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter determines whether the test is simple or advanced. In some cases, the
advanced tests can take some time. The simple test is designed to always be
fast.
This method returns a MultilineShape that represents the shortest line between
two points on the globe.
This method returns a MultilineShape that represents the shortest line between
two points on the globe.
This method is useful when you want to display on the map the shortest line between two
points in decimal degrees. The line will be curved, and possibly disconnected
if it is close to travel from the end of the map.
This parameter is the target point to be measured to.
This method returns a MultilineShape which represents the shortest line between
the current point and the specified feature on the globe.
This method returns a MultilineShape which represents the shortest line between
the current point and the specified feature on the globe.
This method is useful when you want to display on the map the shortest line between two
points in decimal degrees. The line will be curved, and possibly disconnected
if it is close to travel from the end of the map.
This parameter is the target feature to be measured to.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns the distance between the current shape and the
targetShape.
This method computes the distance between the current shape and the
targetShape.
None
The shape you are trying to find the distance to.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the distance parameter. For
example, if you select miles as your distanceUnit, then the distance will be measured
in miles.
This method returns the crossing points between the current shape and the passed-in target shape.
This method returns the crossing points between the current shape and the passed-in target shape.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The target shape you wish to get crossing with.
Override the ToString() API by returning the X, Y , Z
The returned string shows the X, Y , Z values.
This class represents a polygon, which is defined as a single outer ring with
zero-to-many inner rings.
None
This overload creates a PolygonShape without any points in the outer ring.
This constructor creates a PolygonShape.
None
This overload creates a PolygonShape by specifying an outer ring.
This constructor creates a PolygonShape.
None
If you pass a null as the outerRing, we will throw an ArgumentNullException.
If you pass a null as the innerRings, we will throw an ArgumentNullException.
Passing invalid well-known text in the wellKnownText parameter will throw an ArgumentException.
Passing a null as the wellKnownText parameter will throw an ArgumentNullException.
This constructor creates a PolygonShape.
This constructor allows you to build the shape from well-known text.
None
None
This parameter is the well-known text used to build the shape.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null as the bytes parameter will throw an ArgumentNullException.
None
None
This constructor creates a PolygonShape.
This constructor allows you to build the shape from well-known binary.
This parameter is the well-known binary used to build the shape.
This property specifies whether the shape can be rotated.
This property specifies whether the shape can be rotated.
If this property returns false and you attempt call the rotate method, it will
throw a NotImplementedException.
This property is the outer RingShape of the polygon.
This property is the outer RingShape of the polygon.
None
This property is the collection of RingShapes that make up the inner rings.
This property is the collection of RingShapes that make up the inner rings.
None
This method returns the well-known type for the shape.
This method returns the well-known type for the shape.
None
When you override this method, you need to ensure that there are no references in
common between the original and the copy.
This method returns a complete copy of the shape without any references in
common.
This method returns a complete copy of the shape without any references in
common.
This method returns the perimeter of the shape, defined as the sum of the lengths
of all its sides.
In this overload, the return unit is based on the LengthUnit you specify in the
returningLengthUnit, parameter regardless of the shape's GeographyUnit.
The return unit is based on the LengthUnit you specify in the returningUnit
parameter, regardless of the shape's GeographyUnit.
You would use this method to find the distance around the area shape.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a returningUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the return value. For example, if
you select miles as your returningUnit, then the distance will be returned in
miles.
This method returns the area of the shape, defined as the size of the region
enclosed by the figure.
In this overload, the return unit is based on the AreaUnit you specify in the
returningUnit parameter, regardless of the shape's GeographyUnit.
The return unit is based on the AreaUnit you specify in the returningUnit
parameter, regardless of the shape's GeographyUnit.
You would use this method to find the area inside the shape.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a returningUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the AreaUnit you would like to use as the return value. For example, if
you select square miles as your returningUnit, then the distance will be returned in
square miles.
This method increases the size of the area shape by the percentage given in the
percentage parameter.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will throw an ArgumentOutOfRangeException.
This method is useful when you would like to increase the size of the shape. Note
that a larger percentage will scale the shape up faster, as you are applying the operation
multiple times. There is also a ScaleDown method that will shrink the shape.
This is the percentage by which to increase the shape's size.
This method decreases the size of the area shape by the percentage given in the
percentage parameter.
This method is useful when you would like to decrease the size of the shape. Note
that a larger percentage will scale the shape down faster, as you are applying the operation
multiple times. There is also a ScaleUp method that will enlarge the shape.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will throw an ArgumentOutOfRangeException.
None
This is the percentage by which to decrease the shape's size.
This method returns a BaseShape which has been registered from its original
coordinate system to another based on two anchor PointShapes.
This method returns a BaseShape which has been registered from its original
coordinate system to another based on two anchor PointShapes.
Registering allows you to take a geometric shape generated in a planar system
and attach it to the ground in a Geographic Unit.
A common scenario is integrating geometric shapes from external programs
(such as CAD software or a modeling system) and placing them onto a map. You may have
the schematics of a building in a CAD system and the relationship between all the
points of the building are in feet. You want to then take the CAD image and attach
it to where it really exists on a map. You would use the register method to do
this.
Registering is also useful for scientific modeling, where software models things such
as a plume of hazardous materials or the fallout from a volcano. The modeling
software typically generates these models in a fictitious planar system. You would
then use the register to take the abstract model and attach it to a map with real
coordinates.
If you pass in a fromUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a toUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing a null as the fromPoint parameter will throw an ArgumentNullException.
Passing a null as the toPoint parameter will throw an ArgumentNullException.
This parameter is the anchor PointShape in the coordinate of origin.
This parameter is the anchor PointShape in the coordinate of destination.
This parameter is the DistanceUnit of the coordinate of origin.
This parameter is the GeographyUnit of the coordinate of destination.
This method moves the base shape from one location to another, based on an X and Y
offset distance.
In this overload, the X and Y offset are based on a DistanceUnit you specify,
regardless of the shape's GeographicUnit.
This method moves the base shape from one location to another, based on an X
and Y offset distance. With this overload, it is important to note that the X and Y
offset units are based on the distanceUnit parameter. For example, if your shape
is in decimal degrees and you call this method with an X offset of 1 and a Y
offset of 1, you're going to move this shape 1 unit of the distanceUnit in
the horizontal direction and one unit of the distanceUnit in the vertical
direction. In this way, you can easily move a shape in decimal degrees five miles to
on the X axis and 3 miles on the Y axis.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
This is the number of horizontal units of movement in the DistanceUnit specified as
the distanceUnit.
This is the number of horizontal units of movement in the DistanceUnit specified as
the distanceUnit.
This is the GeographicUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the measure for the
move. For example, if you select miles as your distanceUnit, then the xOffsetDistance
and yOffsetDistance will be calculated in miles.
This method moves the base shape from one location to another, based on a
distance and a direction in degrees.
In this overload, the distance is in the same GeographicUnit as the shape.
This method moves the base shape from one location to another, based on an
angleInDegrees and distance parameter. With this overload, it is important to note
that the distance units are the same GeographicUnit as the shape. For example,
if your shape is in decimal degrees and you call this method with a distance of 1,
you're going to move this shape 1 decimal degree in direction of the
angleInDegrees. In many cases it is more useful to specify the DistanceUnit of movement,
such as in miles or yards, so for these scenarios there is another overload you may
want to use instead.
If you pass a distance of 0, then the operation is ignored.
Passing an invalid angleInDegrees which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid distance which is not greater than or equal to 0 will throw an ArgumentOutOfRangeException.
The distance is the number of units to move the shape in the angle specified. The
distance unit will be the same as the GeographyUnit for the shape. The distance must be
greater than or equal to 0.
A number between 0 and 360 degrees that represents the direction you wish to
move the shape, with 0 being up.
This is the GeographicUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the measure for the
move. For example, if you select miles as your distanceUnit, then the xOffsetDistance
and yOffsetDistance will be calculated in miles.
This method rotates the shape a number of degrees based on a pivot
point.
This method rotates the shape a number of degrees based on a pivot point.
By placing the pivot point in the center of the shape, you can achieve in-place
rotation. By moving the pivot point outside of the center of the shape, you can
translate the shape in a circular motion. Moving the pivot point further outside of
the center will make the circular area larger.
If you pass a null as the pivotPoint, we will throw an ArgumentNullException.
Passing an invalid degreeAngle which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which is not valid, it will throw an InvalidOperationException.
The pivotPoint represents the center of rotation.
The number of degrees of rotation required from 0 to 360.
This method returns the point of the current shape that is closest to the target
shape.
A PointShape representing the closest point of the current shape to the
targetShape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns the point of the current shape that is closest to the target shape.
It is often the case that the point returned is not a point of the object itself. An
example would be a line with two points that are far apart from each other. If you set the
targetShape to be a point midway between the points but a short distance away from the line, the
method would return a point that is on the line but not either of the two points that make up the
line.
The shape you are trying to find the closest point to.
This is the GeographicUnit of the shape you are performing the operation
on.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method computes the distance between the current shape and the
targetShape.
None
The shape you are trying to find the distance to.
This is the GeographicUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use for the distance parameter. For
example, if you select miles as your distanceUnit, then the distance will be measured
in miles.
This method returns the well-known text representation of this shape.
This method returns a string that represents the shape in well-known text.
This method returns a string that represents the shape in well-known text.
Well-known text allows you to describe a geometry as a string of text. Well-known
text is useful when you want to save a geometry in a format such as a text file, or when you
simply want to cut and paste the text between other applications. An alternative
to well-known text is well-known binary, which is a binary representation of a
geometry object. We have methods that work with well-known binary as well.
Below are some samples of what well-known text might look like for various kinds of
geometric shapes.
POINT(5 17)
LINESTRING(4 5,10 50,25 80)
POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))
MULTIPOINT(3.7 9.7,4.9 11.6)
MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))
MULTIPOLYGON(((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3)),((4 4,7 3,7 5,4
4)))
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This method returns a byte array that represents the shape in well-known
binary.
This method returns a byte array that represents the shape in well-known
binary.
This method returns a byte array that represents the shape in well-known binary.
Well-known binary allows you to describe a geometry as a binary array. Well-known
binary is useful when you want to save a geometry in an efficient format using as little
space as possible. An alternative to well-known binary is well-known text, which is a
textual representation of a geometry object. We have methods that work with well-known
text as well.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a ByteOrder that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter specifies whether the byte order is big- or little-endian.
This method returns the center point of the current shape's bounding box.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
A PointShape representing the center point of the current shape's bounding
box.
This method returns the center point of the current shape's bounding box. It is
important to note that this is the center point of the bounding box. There are numerous
ways to calculate the "center" of a geometry, such as its weighted center, etc. You can
find other centers by examining the various methods of the shape itself.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null as the bytes parameter will throw an ArgumentNullException.
This method hydrates the current shape with its data from well-known
binary.
None
This is used when you want to hydrate a shape based on well-known binary. You can
create the shape and then load the well-known binary using this method.
This parameter is the well-known binary used to populate the shape.
This method returns a ShapeValidationResult based on a series of
tests.
This method returns a ShapeValidationResult based on a series of
tests.
We use this method, with the simple enumeration, internally before doing any kind
of other methods on the shape. In this way, we are able to verify the integrity of the
shape itself. If you wish to test things such as whether a polygon self-intersects, we invite
you to call this method with the advanced ShapeValidationMode. One thing to consider is
that for complex polygon shapes this operation could take some time, which is why we
only run the basic, faster test. If you are dealing with polygon shapes that are
suspect, we suggest you run the advanced test.
If you pass in a validationMode that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter determines whether the test is simple or advanced. In some cases, the
advanced tests can take some time. The simple test is designed to always be
fast.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null as the bytes parameter will throw an ArgumentNullException.
None
None
This constructor creates the LineShape.
This constructor allows you to build the shape from well-known binary.
This method returns the crossing points between the current shape and the passed-in target shape.
This method returns the crossing points between the current shape and the passed-in target shape.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The target shape you wish to get crossing with.
This method removes the selected vertex from polygon shape.
The selected vertex must be a vertex of polygon shape, otherwise it will return false and polygon shape will keep the same.
The polygon shape will be removed one vertex.
If remove sucess it will return true, otherwise return false.
This method removes the selected vertex from polygon shape.
The selected vertex must be a vertex of polygon shape, otherwise it will return false and polygon shape will keep the same.
If remove sucess it will return true, otherwise return false.
Extract the information that it will be used in the system from Resource file
one of the units in Resource file
Xml Path in baseInfoFile unit
return XmlNodeListAdapter
Check base info file is exist or not
file exist
Initialize XmlDocument,and initialize Xml document node
flag for initialize success or not
Definition of static Class ComFunc for the math or the adjustment function
adjust the deviation for the variable lon
lon is the variable that it will be adjusted
adjusted variable
the function will be done when the asin's parameter has some deviation
the parameter of be adjusted
has been coculated the result by adjusted
it will be called to coculate for atan2 when parameters of the atan2 function have some deviation
the y parameter of atan2
the x parameter of atan2
the result of coculated that parameters has been adjusted
it will be called to coculate for acos when the parameter of the acos function have some deviation
the parameter of aacos
the result of coculated that parameters has been adjusted
it will be called to coculate for sqrt when the parameter of the sqrt function have some deviation
the parameter that it have some deviation
the result of coculated that parameters has been adjusted
Get the system's parameters through parameters of called line
the general collection of handled
the original parameter
get the real result when the parameter is a string
the string will be converted
double value
make the parameter of a string to a double value
the parameter that it will be done
the string will be remained after the parameter changed
get symbol char after substring < and >
command line string
result of handled string
get parameters by file path if parameters have 'nodef'
file path string
permission of file
file stream
determine the os is LSB or not
the OS is LSB then return true else return false
swap the sequence of binary data
binary buffer
the offset index
the word's size
the number of changing
make the binary buffer to string
binary buffer
handling index
the number of handling
transformed string
make the binary buffer to int32
binary buffer
handling index
the number of handling
the result of int32
make the binary buffer to double value
binary buffer
handling index
the number of handling
the value of double
valid the string of not a number
the validing string
valided string
definition of DataConst static class
get the instances of specified
get a ProjType instance
ProjID in proj.xml
the string of description
the ProjType instance
definition of class Factors
definition of struct FLP
definition of class GeocentricInfo
The static class is used to convert and operate the data of GISSystem
Private function class of GISDataOper
check the height is the temporary or not
double array
bool
bool
The mutual transformation of different coordinate systems
source projection
destination projection
point count
point offset
height of transformation
data list of transformation
compose the Mapsuiteprojection system's parameter
the string array of arguments
the collection has been generated by string
append the argument for the paras collection
the collection generated by string
the string argument
Datum of source projection converted for the datum of destination projection
Source projection object
Destination projection object
Point count
Point offset
Data of transformation
Height of transformation
If the transformation successful return 0,otherwise return 1
geocentric projection transform to geodetic projection
Major axis or radius if es==0
e^2
Point count
point offset
Height of geocentic
Data of transformation
Changed data
obtain instance of GeocentricInfo
variables a
variables b
instance of GeocentricInfo
convert geocentric projection to geodetic projection
GeocentricInfo object
double value x
double value y
double value z
conversing point
double array for height
long value specified offset value
inverse transform function for frame
XY object conversing point
ProjType object projection
LP object
Core class of ThinkGeo.MapSuite.Core
Initialize pj_Units_List object
Initialize projection object
Initialize ellipsoid object
Initialize datum object
Initialize data of Meridians list
Initialize GISSystem system
Passing parameters
The source projection constants are converted for the destination projection constants
Variables of source projection
Variables of destination projection
Point count
Point offset
Data of transformation
Hight of transformation
Return new data
Initialize the PJconsts object
PjDatum object
Unit object
Meridian object
ProjType object
general collection string object
Datum setting
PjDatums object
Parameter list
Projection object
set default parameter according to default config file
ProjType object
Projection name
set parameters's value according to file stream
File stream
Key word string
ProjType object
Check if to_meter parameter present
Unit object
Initialize the array of string parameter
Projection object
Obtain the value of meridian
object of meridian
return the value of meridian
According to the parameter of meridian obtain the value of meridian
parameter of meridian
return value of meridian
constructor of Meridian
user inputed parameter
list of meridian
obtain ID value of meridian
dictionary of parameter
ID value of Meridian
set object of meridian
obtain object of meridian
Datum setting
Obtain ID value of Datum
Parameter string dictionary
ID of Datum
According to datums list set value of datums
ID value of datum object
Obtain PjDatums object of corresponding ID
set ellipsoid
According to the ellps list to1986520wyq
198set the value of ellps
ID value of ellps object
definition of Class Pj_Aea
According to Proj list set the value of Proj
ID value of proj object
Obtain Proj object of corresponding ID
definition of class PjDatums
definition of class Pj_Prime_Meridians for meridians
definition of class ProjType
the class is the base class of the projection,when the projection object has been create
then it will realize the abstract function
Constructor of Unit
parameter array
Hashtable of PJUnit
Obtain UnitID
parameter string ditionary
id value of PJUnit
If unitID is not null which initialize unit
obtain id value of PJUnit
obtain PJUnit object of corresponding ID
This projection class uses the Proj4 engine to project data from one Srid to
another.
This projection class uses the Proj4 engine to project data from one Srid to
another. Proj4 is a very popular projection library the support thousands for
projections. It uses a special text format to feed in parameters about the to and from
projection. Though it uses its own format many organizations have recognized it and
provide their projection definition in this format. Within this class we support the
latest EPSG (European Petroleum Survey Group) SRID (Spatial Reference System
Identifiers) list. You can find more information about these on the web. The SRID list
is very popular and we include a text version with in our install.
Note that one thing that confuses people is that when they go to or from latitude and
longitude they do not know what SRID to use. The proper SRID is 4326 for WGS84 pair
coordinates in degrees with Greenwich as the central meridian.
This is the default constructor for this class.
This conctructor pass nothing. After this cconstructor , you should
set the InternalProjectionParametersString property and ExternalProjectionParametersString
property before open to use.
This is a constructor for the class.
This constructor allows you to pass in Proj4 text parameters for the to and from
projection. The parameters typically look like "+proj=longlat +ellps=WGS84 +datum=WGS84
+no_defs"
None
This constructor allows you to pass in Proj4 text parameters for the to and from
projection. The parameters typically look like "+proj=longlat +ellps=WGS84 +datum=WGS84
+no_defs" You should use this constructor when you know the parameters. If you know the
SRID directly you can use the other constructor that takes the SRID.
This parameter is the projection parameters describing the data.
This parameter is the projection parameters describing the projection you want to
go to.
Gets or sets the Proj4 text parameter for the from projection. This parameter
typically look like "+Proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs".
Gets or sets the Proj4 text parameter for the to projection. This parameter
typically look like "+proj=utm +zone=33 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs".
None
As this is the core version of the Open method it is intended to be overridden in
inherited version of the class. When overriding you will be responsible for getting the
projection classes state ready for doing projections.
In this override we call the Proj4 methods get it ready for projection.
This method open the projection and gets it ready to use.
This method closes the projection and gets it ready to serialization if
necessary.
None
As this is the core version of the Close method it is intended to be overridden
in inherited version of the class. When overriding you will be responsible freeing any
state you have maintained and getting the class ready to serialization if necessary.
Note that the object may be opened again so you want to make sure you can open and
close the object multiple tiles without any ill effects.
In this override we call the Proj4 methods get release the handles and memory.
This method returns a projected vertex based on the coordinates passed in.
This method returns a projected vertices based on the coordinates passed
in.
This method returns a projected vertex based on the coordinates passed in. You
will need to override this method for the Projection class. Typically you can call the
projection utility library that has interfaces for dozens of different types of
projections.
This parameter is the X values of the points that will be projected.
This parameter is the Y values of the points that will be projected.
This method returns a de-projected vertex based on the coordinates passed
in.
This method returns a de-projected vertices based on the coordinates passed
in.
This method returns a de-projected vertex based on the coordinates passed in. You
will need to override this method for the Projection class. Typically you can call the
projection utility library that has interfaces for dozens of different types of
projections. The de-projection is important because inside of the FeatureSource you
will in many cases to to and from various projections.
This parameter is the X values of the points that will be de-projected.
This parameter is the Y values of the points that will be de-projected.
This method is a static API to get a projection text from EPSG(European Petroleum Survey Group).
More information about it can reference to EPSG.rtf in the documentation.
The target Srid infromation to get the projection text from.
The project text corresponding to the srid.
This method is a static API to get a projection text from WGS84.
More information about it can reference to EPSG.rtf in the documentation.
The target Srid infromation to get the projection text from.
The project text corresponding to the srid.
This method is a static API to get a projection text from ERSI.
More information about it can reference to ERSI.rtf in the documentation.
The target Srid infromation to get the projection text from.
The project text corresponding to the srid.
This method is a static API to get a projection used by GoogleMap.
A text for a projection used by GoogleMap , it should like this "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs"
This method is a static API to get a projection used by BingMaps.
A text for a projection used by BingMaps , it should like this "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs"
This method is a static API to get a projection of SphericalMercator.
A text for a SphericalMercator projection, it should like this "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs"
This property indicates whether this projection should be used.
This method is a static API to get a Prj string by Epsg number
Epsg number that reprents this projection
This class represents a projection that you wish to apply to a
FeatureSource.
This class is abstract and designed to be inherited to create your own
projection. The derived projection classes are typically used on a FeatureSource or
Layer. It is used to project coordinates from one projection to another and back again.
It is important to note that you need to implement the projection both ways.
This method is the default protected constructor.
None
None
This property gets the state of the projection (whether it is opened or closed).
This property gets the state of the projection (whether it is opened or closed).
This method will reflect whether the projection is opened or closed. It is set in the
concrete methods Open and Close, so if you inherit from this class and override
OpenCore or CloseCore, you will not need to be concerned with setting this
property.
Create a copy of Projection using the deep clone process.
A cloned Projection.
The difference between deep clone and shallow clone is as follows: In shallow cloning,
only the object is copied; the objects within it are not. By contrast, deep cloning
copies the cloned object as well as all the objects within.
Create a copy of GeoCanvas using the deep clone process. The default implementation uses serialization.
A cloned GeoCanvas.
The difference between deep clone and shallow clone is as follows: In shallow cloning,
only the object is copied; the objects within it are not. By contrast, deep cloning
copies the cloned object as well as all the objects within.
This method opens the projection and gets it ready to use.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method opens the projection and gets it ready to use.
None
None
As this is the core version of the Open method, it is intended to be overridden in an
inherited version of the class. When overriding, you will be responsible for getting the
projection classes' state ready for doing projections.
This method opens the projection and gets it ready to use.
This method closes the projection and gets it ready for serialization if
necessary.
None
This method closes the projection and gets it ready for serialization if
necessary.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method closes the projection and gets it ready for serialization if
necessary.
None
As this is the core version of the Close method, it is intended to be overridden in
an inherited version of the class. When overriding, you will be responsible freeing any
state you have maintained and getting the class ready for serialization if necessary.
Note that the object may be opened again, so you want to make sure you can open and
close the object multiple times without any ill effects.
This method returns a projected vertex based on the coordinates passed in.
This overload projects a set of coordinates passed in as an X & Y
decimalDegreesValue.
This method returns a projected vertex based on the coordinates passed in.
This method returns a projected vertex based on the coordinates passed in.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter is the X decimalDegreesValue of the point that will be projected.
This parameter is the Y decimalDegreesValue of the point that will be projected.
This method returns a projected BaseShape based on the baseShape passed
in.
This method returns a projected baseShape for the passed-in BaseShape.
This method returns a projected baseShape based on the BaseShape passed in.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter is the baseShape (in decimalDegreesValue) to be projected.
This method returns a projected Feature based on the Feature passed in.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method returns a projected Feature for the passed-in Feature.
This method returns a projected Feature based on the Feature passed in.
This parameter is the Feature that contains a BaseShape in decimalDegreesValue
to be projected.
This overload takes in a rectangle to project.
This method returns a projected rectangle based on the rectangle passed in.
This method returns a projected rectangle based on the rectangle passed in.
This method returns a projected rectangle based on the rectangle passed in.
This parameter represents the rectangle you want to project.
This method returns projected vertices based on the coordinates passed
in.
This method returns projected vertices based on the coordinates passed
in.
This method returns a projected vertex based on the coordinates passed in. You
will need to override this method for the Projection class. Typically, you can call the
projection utility library that has interfaces for dozens of different types of
projections.
This parameter is the X values of the points that will be projected.
This parameter is the Y values of the points that will be projected.
This method returns projected vertices based on the coordinates passed
in.
This method returns projected vertices based on the coordinates passed
in.
This method returns a projected vertex based on the coordinates passed in. You
will need to override this method for the Projection class. Typically, you can call the
projection utility library that has interfaces for dozens of different types of
projections.
This parameter is the vertices that will be projected.
This method returns a de-projected vertex based on the coordinates passed
in.
This method returns a de-projected vertex based on the coordinates passed
in.
This method returns a de-projected vertex based on the coordinates passed
in.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This overload de-projects a set of coordinates passed in as an X & Y
decimalDegreesValue.
This parameter is the X decimalDegreesValue of the point that will be de-projected.
This parameter is the Y decimalDegreesValue of the point that will be de-projected.
This method returns a de-projected BaseShape based on the BaseShape passed
in.
This method returns a de-projected BaseShape for the passed in BaseShape.
This method returns a de-projected BaseShape based on the BaseShape passed
in.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter is the baseShape (in decimalDegreesValue) to be de-projected.
This method returns a de-projected Feature based on the Feature passed in.
This method returns a de-projected Feature based on the Feature passed in.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This method returns a de-projected Feature for the passed-in Feature.
This parameter is the Feature that contains a BaseShape in decimalDegreesValue
to be de-projected.
This method returns de-projected vertices based on the coordinates passed
in.
This method returns de-projected vertices based on the coordinates passed
in.
This method returns a de-projected vertex based on the coordinates passed in. The de-projection
is important because, inside of the FeatureSource, you will in many cases go to and from various projections.
This parameter is the vertices that will be de-projected.
This overload takes in a rectangle to de-project.
This method returns a de-projected rectangle based on the rectangle passed
in.
This method returns a de-projected rectangle based on the rectangle passed
in.
This method returns a de-projected rectangle based on the rectangle passed
in.
This parameter represents the rectangle you want to de-project.
This method returns de-projected vertices based on the coordinates passed
in.
This method returns de-projected vertices based on the coordinates passed
in.
This method returns a de-projected vertex based on the coordinates passed in. You
will need to override this method for the Projection class. Typically, you can call the
projection utility library that has interfaces for dozens of different types of
projections. The de-projection is important because, inside of the FeatureSource, you
will in many cases go to and from various projections.
This parameter is the X values of the points that will be de-projected.
This parameter is the Y values of the points that will be de-projected.
This method returns projected well-known binary based on the well-known binary
passed in.
This method returns projected well-known binary based on the well-known binary
passed in.
This method will project an entire shape in well-known binary. It is useful when
you need to convert a large block of points.
This overload takes in well-known binary to project.
This parameter represents the well-known binary shape you wish to project.
This method returns de-projected well-known binary based on the well-known binary
passed in.
This method returns de-projected well-known binary based on the well-known binary
passed in.
This method will de-project an entire shape in well-known binary. It is useful
when you need to convert a large block of points.
This overload takes in well-known binary to de-project.
This parameter represents the well-known binary shape you wish to project.
This property indicates whether this projection should be used.
This class represents a rectangle, which is defined as an upper left point and a
lower right point.
None
Gets and sets the tolerance when construct the RectangleShape.
This constructor creates a RectangleShape.
This overload creates a RectangleShape with default values.
None
This constructor creates a RectangleShape.
This overload creates a RectangleShape by allowing you to specify the upperLeft
and lowerRight points of the rectangle.
None
If you pass in a upperLeftPoint that has a X value that is more than the lowerRightPoint's X value, it will throw a ArgumentException.
If you pass in a upperLeftPoint that has a Y value that is less than the lowerRightPoint's Y value, it will throw a ArgumentException.
This parameter specifies the upper left point of the rectangle.
This parameter specifies the lower right point of the rectangle.
This constructor creates a RectangleShape.
This overload creates a RectangleShape by allowing you to specify the maximum and
minimum of the X & Y values.
None
If you pass in a maxX that is less than the minX, it will throw a ArgumentOutOfRangeException.
If you pass in a maxY that is less than the minY, it will throw a ArgumentOutOfRangeException.
This property specifies the minimum X value. This is also the upper left
X.
This property specifies the maximum Y value. This is also the upper left
Y.
This property specifies the maximum X value. This is also the lower right
X.
This property specifies the minimum Y value. This is also the lower right
Y.
Passing invalid well-known text in the wellKnownText parameter will throw an ArgumentException.
Passing a null as the wellKnownText parameter will throw an ArgumentNullException.
This constructor creates a RectangleShape.
This constructor allows you to build the shape from well-known text.
None
None
This parameter is the well-known text used to build the shape.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null as the bytes parameter will throw an ArgumentNullException.
None
None
This constructor creates a RectangleShape.
This constructor allows you to build the shape from well-known binary.
This parameter is the well-known binary used to build the shape.
This method returns the intersection of the current RectangleShape and the target shape,
defined as the set of all points which lie in both the current shape and the target
shape.
The return type is a RectangleShape that contains the set of all points which
lie in both the current shape and the target shape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
None
The shape you are trying to find the intersection with.
This method returns the well-known type for the shape.
This method returns the well-known type for the shape.
None
This property returns or sets the PointShape that represents the upper left point
of the RectangleShape.
This property returns a PointShape at represents the upper left point of the
RectangleShape.
None
This property returns the PointShape that represents the upper right point of the
RectangleShape.
This property returns the PointShape that represents the upper right point of the
RectangleShape.
None
None
This property returns or sets the PointShape that represents the lower right point
of the RectangleShape.
This property returns the PointShape that represents the lower right point of the
RectangleShape.
This property returns the PointShape that represents the lower left point of the
RectangleShape.
This property returns the PointShape that represents the lower left point of the
RectangleShape.
None
This property returns the height of the RectangleShape in the unit of the
shape.
This property returns the height of the RectangleShape in the unit of the
shape.
None
This property returns the width of the RectangleShape in the unit of the
shape.
This property returns the width of the RectangleShape in the unit of the
shape.
None
When you override this method, you need to ensure that there are no references in
common between the original and copy.
This method returns a complete copy of the shape without any references in
common.
This method returns a complete copy of the shape without any references in
common.
This method returns the current shape as a PolygonShape.
This method returns the current shape as a PolygonShape.
This method is mainly used to convert this GIS non-standard shape to a GIS
standard shape.
In the event you attempt to call this method on this shape which has invalid upper left and lower right points, it will throw an InvalidOperationException.
This method will expand the current RectangleShape to include the targetShape
parameter.
This overload takes a single shape.
There is also an overload that can expand the RectangleShape using a list of
multiple shapes.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
In the event you attempt to call this method on this shape which has invalid upper left and lower right points, it will throw an InvalidOperationException.
This parameter is used to expand the current rectangle.
This method will expand the current RectangleShape to include the target feature
parameter.
This overload takes a single feature.
There is also an overload that can expand the RectangleShape using a collection of features.
In the event you attempt to call this method on this shape which has invalid upper left and lower right points, it will throw an InvalidOperationException.
This parameter is used to expand the current feature.
This method will expand the current RectangleShape to include the shapes in the targetShapes
parameter.
This overload takes a list of shapes.
There is also an overload that can expand the RectangleShape using a single
shape.
If you pass in targetShapes that do not have any points, we will throw an ArgumentException.
In the event you attempt to call this method on this shape which has invalid upper left and lower right points, it will throw an InvalidOperationException.
This parameter is used to expand the current rectangle.
This method will expand the current RectangleShape to include the features in the targetFeatures
parameter.
This overload takes a feature collection.
There also is an overload that can expand the RectangleShape using a single
feature.
If you pass in targetFeatures that do not have any points, we will throw an ArgumentException.
In the event you attempt to call this method on this shape which has invalid upper left and lower right points, it will throw an InvalidOperationException.
This parameter is a group of features used to expand the current rectangle.
This method returns the center point of the current shape's bounding box.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
A PointShape representing the center point of the current shape's bounding
box.
This method returns the center point of the current shape's bounding box. It is
important to note that this is the center point of the bounding box. There are numerous
ways to calculate the "center" of a geometry such, as its weighted center, etc. You can
find other centers by examining the various methods of the shape itself.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
This method will expand the current RectangleShape to include the shape in the targetShape
parameter.
This overload takes a single shape.
There is also an overload that can expand the RectangleShape using a list of
shapes.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
In the event you attempt to call this method on this shape which has invalid upper left and lower right points, it will throw an InvalidOperationException.
This parameter is used to expand the current rectangle.
This method returns the perimeter of the shape (defined as the sum of the lengths
of all its sides).
In this overload the return unit is based on the LengthUnit you specify in the
returningLengthUnit parameter, regardless of the shape's GeographyUnit.
The return unit is based on the LengthUnit you specify in the returningUnit
parameter, regardless of the shape's GeographyUnit.
You would use this method to find the distance around the area shape.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a returningUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the return value. For example, if
you select miles as your returningUnit, then the distance will be returned in
miles.
This method returns the area of the shape (defined as the size of the region
enclosed by the figure).
In this overload the return unit is based on the AreaUnit you specify in the
returningUnit parameter, regardless of the shape's GeographyUnit.
The return unit is based on the AreaUnit you specify in the returningUnit
parameter, regardless of the shape's GeographyUnit.
You would use this method to find the area inside the shape.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a returningUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the AreaUnit you would like to use as the return value. For example, if
you select square miles as your returningUnit, then the distance will be returned in
square miles.
This method increases the size of the area shape by the percentage given in the
percentage parameter.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will throw an ArgumentOutOfRangeException.
This method is useful when you would like to increase the size of the shape. Note
that a larger percentage will scale the shape up faster, as you are applying the operation
multiple times. There is also a ScaleDown method that will shrink the shape.
This is the percentage by which to increase the shape's size.
This method decreases the size of the area shape by the percentage given in the
percentage parameter.
This method is useful when you would like to decrease the size of the shape. Note
that a larger percentage will scale the shape down faster, as you are applying the operation
multiple times. There is also a ScaleUp method that will enlarge the shape.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will throw an ArgumentOutOfRangeException.
None
This is the percentage by which to decrease the shape's size.
This method calculates the smallest RectangleShape that encompasses the entire
geometry.
The RectangleShape returned is the smallest RectangleShape that can encompass the
entire geometry.
The GetBoundingBox method calculates the smallest RectangleShape that can
encompass the entire geometry by examining each point in the geometry.
Depending on the number of PointShapes and complexity of the geometry, this
operation can take longer for larger objects.
If the shape is a PointShape, then the bounding box's upper left and lower right
points will be equal. This will create a RectangleShape with no area.
In the event you attempt to call this method on this shape which has invalid upper left and lower right points, it will throw an InvalidOperationException.
This method returns a MultipointShape which has been registered from its original
coordinate system to another based on two anchor PointShapes.
This method returns a MultipointShape which has been registered from its original
coordinate system to another based on two anchor PointShapes.
The register method is useful, for example, when a group of points represented by a
MultipointShape has been generated in a non-geographic coordinate in meters, and you want to
plot the points on a map that is in decimal degrees.
If you pass in a fromUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a toUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on this shape which has invalid upper left and lower right points, it will throw an InvalidOperationException.
This parameter is the anchor PointShape in the coordinate of origin.
This parameter is the anchor PointShape in the coordinate of destination.
This parameter is the GeographyUnit of the coordinate of origin.
This parameter is the GeographyUnit of the coordinate of destination.
This method moves the base shape from one location to another, based on an X and Y
offset distance.
In this overload the X and Y offset are based on a DistanceUnit you specify
regardless of the shape's GeographicUnit.
This method moves the base shape from one location to another, based on an X
and Y offset distance. With this overload, it is important to note that the X and Y
offset units are based on the distanceUnit parameter. For example, if your shape
is in decimal degrees and you call this method with an X offset of 1 and a Y
offset of 1, you're going to move this shape 1 unit of the distanceUnit in
the horizontal direction and one unit of the distanceUnit in the vertical
direction. In this way, you can easily move a shape in decimal degrees five miles to
on the X axis and 3 miles on the Y axis.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
This is the number of horizontal units of movement in the DistanceUnit specified as
the distanceUnit.
This is the number of horizontal units of movement in the DistanceUnit specified as
the distanceUnit.
This is the GeographicUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the measure for the
move. For example, if you select miles as your distanceUnit, then the xOffsetDistance
and yOffsetDistance will be calculated in miles.
This method moves the shape from one location to another, based on a
direction in degrees and distance.
In this overload the distance is in the same GeographicUnit as the shape.
This method moves the base shape from one location to another, based on an
angleInDegrees and distance parameter. With this overload, it is important to note
that the distance units are the same GeographicUnit as the shape. For example,
if your shape is in decimal degrees and you call this method with a distance of 1,
you're going to move this shape 1 decimal degree in direction of the
angleInDegrees. In many cases it is more useful to specify the DistanceUnit of movement,
such as in miles or yards, so for these scenarios there is another overload you may
want to use instead.
If you pass a distance of 0, then the operation is ignored.
Passing an invalid angleInDegrees which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on this shape which has invalid upper left and lower right points, it will throw an InvalidOperationException.
Passing an invalid distance which is not greater than or equal to 0 will throw an ArgumentOutOfRangeException.
The distance is the number of units to move the shape in the angle specified. The
distance unit will be the same as the GeographyUnit for the shape. The distance must be
greater than or equal to 0.
A number between 0 and 360 degrees that represents the direction you wish to
move the shape, with 0 being up.
This is the GeographicUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the measure for the
move. For example, if you select miles as your distanceUnit, then the xOffsetDistance
and yOffsetDistance will be calculated in miles.
This method returns the point of the current shape that is closest to the target
shape.
A PointShape representing the closest point of the current shape to the
targetShape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns the point of the current shape that is closest to the target shape.
It is often the case that the point returned is not a point of the object itself. An
example would be a line with two points that are far apart from each other. If you set the
targetShape to be a point midway between the points but a short distance away from the line, the
method would return a point that is on the line but not either of the two points that make up the
line.
The shape you are trying to find the closest point to.
This is the GeographicUnit of the shape you are performing the operation
on.
This method computes the distance between the current shape and the
targetShape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
The distance returned will be in the unit of the shape.
The return type is the distance between this shape and the targetShape in the
GeographyUnit of the shape.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
In this method, we compute the closest distance between the two shapes. The
returned unit will be in the unit of distance specified.
The shape you are trying to find the distance to.
The GeographyUnit of the targetShape.
The DistanceUnit of the returned value.
This method returns the well-known text representation of this shape.
This method returns a string that represents the shape in well-known text.
This method returns a string that represents the shape in well-known text.
Well-known text allows you to describe a geometry as a string of text. Well-known
text is useful when you want to save a geometry in a format such as a text file, or when you
simply want to cut and paste the text between other applications. An alternative
to well-known text is well-known binary, which is a binary representation of a
geometry object. We have methods that work with well-known binary as well.
Below are some samples of what well-known text might look like for various kinds of
geometric shapes.
POINT(5 17)
LINESTRING(4 5,10 50,25 80)
POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))
MULTIPOINT(3.7 9.7,4.9 11.6)
MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))
MULTIPOLYGON(((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3)),((4 4,7 3,7 5,4
4)))
In the event you attempt to call this method on this shape which has invalid upper left and lower right points, it will throw an InvalidOperationException.
This method returns a byte array that represents the shape in well-known
binary.
This method returns a byte array that represents the shape in well-known
binary.
This method returns a byte array that represents the shape in well-known binary.
Well-known binary allows you to describe a geometry as a binary array. Well-known
binary is useful when you want to save a geometry in an efficient format using as little
space as possible. An alternative to well-known binary is well-known text, which is a
textual representation of a geometry object. We have methods that work with well-known
text as well.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a ByteOrder that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter specifies whether the byte order is big- or little-endian.
Passing invalid well-known text in the wellKnownText parameter will throw an ArgumentException.
Passing a null as the wellKnownText parameter will throw an ArgumentNullException.
This method hydrates the current shape with its data from well-known text.
None
None
This parameter is the well-known text you will use to hydrate your object.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null as the bytes parameter will throw an ArgumentNullException.
This method hydrates the current shape with its data from well-known
binary.
None
This is used when you want to hydrate a shape based on well-known binary. You can
create the shape and then load the well-known binary using this method.
This parameter is the well-known binary used to populate the shape.
This method returns whether the current shape and the targetShape have no points in
common.
This method returns whether the current shape and the targetShape have no points in
common.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The shape you wish to compare the current one to.
This method returns a ShapeValidationResult based on a series of
tests.
This method returns a ShapeValidationResult based on a series of
tests.
We use this method, with the simple enumeration, internally before doing any kind
of other methods on the shape. In this way, we are able to verify the integrity of the
shape itself. If you wish to test things such as whether a polygon self-intersects, we invite
you to call this method with the advanced ShapeValidationMode. One thing to consider is
that for complex polygon shapes this operation could take some time, which is why we
only run the basic, faster test. If you are dealing with polygon shapes that are
suspect, we suggest you run the advanced test.
If you pass in a validationMode that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter determines whether the test is simple or advanced. In some cases, the
advanced tests can take some time. The simple test is designed to always be
fast.
This method returns the crossing points between the current shape and the passed-in target shape.
This method returns the crossing points between the current shape and the passed-in target shape.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The target shape you wish to get crossing with.
This method returns if the targetShape lies within the interior of the current
shape.
This method returns if the targetShape lies within the interior of the current
shape.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a targetShape which is invalid, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
The shape you wish to compare the current one to.
This method returns a formatted representation of the UpperLeftPoint.X, UpperLeftPoint.Y, LowerRightPoint.X and LowerRightPoint.Y
value.
This method returns a formatted representation of the UpperLeftPoint.X, UpperLeftPoint.Y, LowerRightPoint.X and LowerRightPoint.Y
value.
The value will be formatted in the standard string format: -180,90,180,-90"
This enumeration provides some options when querying a feature.
Three options are provided in the query system that can cover all possible
cases. Option 1 is to use the ReturningColumnsType.NoColumns, which will return no columns at
all. Option 2 is to use the ReturningColumnsType.AllColumns, which will return all columns. Option 3
is used when you want to return parts of the columns in the feature; in this case you should pass in an
(IEnumerable[string] returningColumnNames) instead of using this enumeration directly.
Return no column option.
Return all columns option.
This class represents a closed ring of points.
None
This overload creates a RingShape without any points.
This constructor creates a RingShape.
None
If you pass a null as the points, we will throw an ArgumentNullException.
Passing invalid well-known text in the wellKnownText parameter will throw an ArgumentException.
Passing a null as the wellKnownText parameter will throw an ArgumentNullException.
This constructor creates a RingShape.
This constructor allows you to build the shape from well-known text.
None
None
This parameter is the well-known text used to build the shape.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null as the bytes parameter will throw an ArgumentNullException.
None
None
This constructor creates a RingShape.
This constructor allows you to build the shape from well-known binary.
This parameter is the well-known binary used to build the shape.
This method returns the well-known type for the shape.
This method returns the well-known type for the shape.
None
This property is the collection of points that make up the RingShape.
This property is the collection of points that make up the RingShape.
None
When you override this method, you need to ensure that there are no references in
common between the original and the copy.
This method returns a complete copy of the shape without any references in
common.
This method returns a complete copy of the shape without any references in
common.
This method returns the current shape as a PolygonShape.
This method is mainly used to convert this GIS non-standard shape to a GIS
standard shape.
In the event you attempt to call this method on a shape which has invalid upper left and lower right points, it will throw an InvalidOperationException.
This method returns the current shape as a PolygonShape.
This method returns the perimeter of the shape, defined as the sum of the lengths
of all its sides.
In this overload the return unit is based on the LengthUnit you specify in the
returningLengthUnit parameter, regardless of the shape's GeographyUnit.
The return unit is based on the LengthUnit you specify in the returningUnit
parameter, regardless of the shape's GeographyUnit.
You would use this method to find the distance around the area shape.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a returningUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the return value. For example, if
you select miles as your returningUnit, then the distance will be returned in
miles.
This method returns the area of the shape, defined as the size of the region
enclosed by the figure.
In this overload, the return unit is based on the AreaUnit you specify in the
returningUnit parameter, regardless of the shape's GeographyUnit.
The return unit is based on the AreaUnit you specify in the returningUnit
parameter, regardless of the shape's GeographyUnit.
You would use this method to find the area inside the shape.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a returningUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This is the GeographyUnit of the shape you are performing the operation
on.
This is the AreaUnit you would like to use as the return value. For example, if
you select square miles as your returningUnit, then the distance will be returned in
square miles.
This method increases the size of the area shape by the percentage given in the
percentage parameter.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less 0 will throw an ArgumentOutOfRangeException.
This method is useful when you would like to increase the size of the shape. Note
that a larger percentage will scale the shape up faster, as you are applying the operation
multiple times. There is also a ScaleDown method that will shrink the shape.
This is the percentage by which to increase the shape's size.
This method decreases the size of the area shape by the percentage given in the
percentage parameter.
This method is useful when you would like to decrease the size of the shape. Note
that a larger percentage will scale the shape down faster, as you are applying the operation
multiple times. There is also a ScaleUp method that will enlarge the shape.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid percentage which is less than 0 will throw an ArgumentOutOfRangeException.
None
This is the percentage by which to decrease the shape's size.
This method calculates the smallest RectangleShape that encompasses the entire
geometry.
The RectangleShape returned is the smallest RectangleShape that can encompass the
entire geometry.
The GetBoundingBox method calculates the smallest RectangleShape that can
encompass the entire geometry by examining each point in the geometry.
Depending on the number of PointShapes and complexity of the geometry, this
operation can take longer for larger objects.
If the shape is a PointShape, then the bounding box's upper left and lower right
points will be equal. This will create a RectangleShape with no area.
In the event you attempt to get the bounding box from a shape which has no points, it will throw an InvalidOperationException.
This method returns a BaseShape which has been registered from its original
coordinate system to another based on two anchor PointShapes.
This method returns a BaseShape which has been registered from its original
coordinate system to another based on two anchor PointShapes.
Registering allows you to take a geometric shape generated in a planar system
and attach it to the ground in a Geographic Unit.
A common scenario is integrating geometric shapes from external programs
(such as CAD software or a modeling system) and placing them onto a map. You may have
the schematics of a building in a CAD system and the relationship between all the
points of the building are in feet. You want to then take the CAD image and attach
it to where it really exists on a map. You would use the register method to do
this.
Registering is also useful for scientific modeling, where software models things such
as a plume of hazardous materials or the fallout from a volcano. The modeling
software typically generates these models in a fictitious planar system. You would
then use the register to take the abstract model and attach it to a map with real
coordinates.
If you pass in a fromUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a toUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
Passing a null as the fromPoint parameter will throw an ArgumentNullException.
Passing a null as the toPoint parameter will throw an ArgumentNullException.
This parameter is the anchor PointShape in the coordinate of origin.
This parameter is the anchor PointShape in the coordinate of destination.
This parameter is the DistanceUnit of the coordinate of origin.
This parameter is the GeographyUnit of the coordinate of destination.
This method moves the base shape from one location to another, based on an X and Y
offset distance.
In this overload the X and Y offset are based on the DistanceUnit you specify,
regardless of the shape's GeographicUnit.
This method moves the base shape from one location to another, based on an X
and Y offset distance. With this overload, it is important to note that the X and Y
offset units are based on the distanceUnit parameter. For example, if your shape
is in decimal degrees and you call this method with an X offset of 1 and a Y
offset of 1, you're going to move this shape 1 unit of the distanceUnit in
the horizontal direction and one unit of the distanceUnit in the vertical
direction. In this way, you can easily move a shape in decimal degrees five miles to
on the X axis and 3 miles on the Y axis.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
This is the number of horizontal units of movement in the DistanceUnit specified as
the distanceUnit.
This is the number of horizontal units of movement in the DistanceUnit specified as
the distanceUnit.
This is the GeographicUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the measure for the
move. For example, if you select miles as your distanceUnit, then the xOffsetDistance
and yOffsetDistance will be calculated in miles.
This method moves the base shape from one location to another, based on a
distance and a direction in degrees.
In this overload, the distance is in the same GeographicUnit as the shape.
This method moves the base shape from one location to another, based on an
angleInDegrees and distance parameter. With this overload, it is important to note
that the distance units are the same GeographicUnit as the shape. For example,
if your shape is in decimal degrees and you call this method with a distance of 1,
you're going to move this shape 1 decimal degree in direction of the
angleInDegrees. In many cases it is more useful to specify the DistanceUnit of movement,
such as in miles or yards, so for these scenarios there is another overload you may
want to use instead.
If you pass a distance of 0, then the operation is ignored.
Passing an invalid angleInDegrees which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method from a shape which has no points, it will throw an InvalidOperationException.
Passing an invalid distance which is not greater than or equal to 0 will throw an ArgumentOutOfRangeException.
The distance is the number of units to move the shape in the angle specified. The
distance unit will be the same as the GeographyUnit for the shape. The distance must be
greater than or equal to 0.
A number between 0 and 360 degrees that represents the direction you wish to
move the shape, with 0 being up.
This is the GeographicUnit of the shape you are performing the operation
on.
This is the DistanceUnit you would like to use as the measure for the
move. For example, if you select miles as your distanceUnit, then the xOffsetDistance
and yOffsetDistance will be calculated in miles.
This method rotates the shape a number of degrees based on a pivot
point.
This method rotates the shape a number of degrees based on a pivot point.
By placing the pivot point in the center of the shape, you can achieve in-place
rotation. By moving the pivot point outside of the center of the shape, you can
translate the shape in a circular motion. Moving the pivot point further outside of
the center will make the circular area larger.
If you pass a null as the pivotPoint, we will throw an ArgumentNullException.
Passing an invalid degreeAngle which is not between 0 and 360 will throw an ArgumentOutOfRangeException.
In the event you attempt to call this method on a shape which is not valid, it will throw an InvalidOperationException.
The pivotPoint represents the center of rotation.
The number of degrees of rotation required from 0 to 360.
This method computes the distance between the current shape and the
targetShape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a distanceUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
The distance returned will be in the unit of the shape.
The return type is the distance between this shape and the targetShape in the
GeographyUnit of the shape.
Overriding:
Please ensure that you validate the parameters being passed in and raise the exceptions defined
above.
In this method, we compute the closest distance between the two shapes. The
returned unit will be in the unit of distance specified.
The shape you are trying to find the distance to.
The GeographUnit of the targetShape.
The DistanceUnit of the returned value.
This method returns the point of the current shape that is closest to the target
shape.
A PointShape representing the closest point of the current shape to the
targetShape.
If you pass in a targetShape which does not have any points, we will throw an ArgumentException.
If you pass a null as the targetShape, we will throw an ArgumentNullException.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a shapeUnit that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This method returns the point of the current shape that is closest to the target shape.
It is often the case that the point returned is not a point of the object itself. An
example would be a line with two points that are far apart from each other. If you set the
targetShape to be a point midway between the points but a short distance away from the line, the
method would return a point that is on the line but not either of the two points that make up the
line.
The shape you are trying to find the closest point to.
This is the GeographicUnit of the shape you are performing the operation
on.
This method returns the well-known text representation of this shape.
This method returns a string that represents the shape in well-known text.
This method returns a string that represents the shape in well-known text.
Well-known text allows you to describe a geometry as a string of text. Well-known
text is useful when you want to save a geometry in a format such as a text file, or when you
simply want to cut and paste the text between other applications. An alternative
to well-known text is well-known binary, which is a binary representation of a
geometry object. We have methods that work with well-known binary as well.
Below are some samples of what well-known text might look like for various kinds of
geometric shapes.
POINT(5 17)
LINESTRING(4 5,10 50,25 80)
POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))
MULTIPOINT(3.7 9.7,4.9 11.6)
MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))
MULTIPOLYGON(((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3)),((4 4,7 3,7 5,4
4)))
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
This method returns a byte array that represents the shape in well-known
binary.
This method returns a byte array that represents the shape in well-known
binary.
This method returns a byte array that represents the shape in well-known binary.
Well-known binary allows you to describe a geometry as a binary array. Well-known
binary is useful when you want to save a geometry in an efficient format using as little
space as possible. An alternative to well-known binary is well-known text, which is a
textual representation of a geometry object. We have methods that work with well-known
text as well.
In the event you attempt to call this method on a shape which has no points, it will throw an InvalidOperationException.
If you pass in a ByteOrder that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter specifies whether the byte order is big- or little-endian.
Passing invalid well-known text in the wellKnownText parameter will throw an ArgumentException.
Passing a null as the wellKnownText parameter will throw an ArgumentNullException.
This method hydrates the current shape with its data from well-known text.
None
None
This parameter is the well-known text you will use to hydrate your object.
Passing invalid well-known binary in the bytes parameter will throw an ArgumentException.
Passing a null as the bytes parameter will throw an ArgumentNullException.
This method hydrates the current shape with its data from well-known
binary.
None
This is used when you want to hydrate a shape based on well-known binary. You can
create the shape and then load the well-known binary using this method.
This parameter is the well-known binary used to populate the shape.
This method removes the selected vertex from ring shape.
The selected vertex must be a vertex of ring shape, otherwise it will return false and ring shape will keep the same.
The line shape will be removed one vertex.
If remove sucess it will return true, otherwise return false.
This method removes the selected vertex from ring shape.
The selected vertex must be a vertex of ring shape, otherwise it will return false and ring shape will keep the same.
If remove sucess it will return true, otherwise return false.
This method returns a ShapeValidationResult based on a series of
tests.
This method returns a ShapeValidationResult based on a series of
tests.
We use this method, with the simple enumeration, internally before doing any kind
of other methods on the shape. In this way, we are able to verify the integrity of the
shape itself. If you wish to test things such as whether a polygon self-intersects, we invite
you to call this method with the advanced ShapeValidationMode. One thing to consider is
that for complex polygon shapes this operation could take some time, which is why we
only run the basic, faster test. If you are dealing with polygon shapes that are
suspect, we suggest you run the advanced test.
If you pass in a validationMode that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
This parameter determines whether the test is simple or advanced. In some cases, the
advanced tests can take some time. The simple test is designed to always be
fast.
Tests whether a ring is oriented counter-clockwise.
Returns true if ring is oriented counter-clockwise.
This method reverses the order of the points in the ring.
None
In the event you attempt to get the bounding box from a shape which has no points, it will throw an InvalidOperationException.
This method reverses the order of the points in the ring.
None
In the event you attempt to get the bounding box from a shape which has no points, it will throw an InvalidOperationException.
This structure represents a single point in screen coordinates.
None
This constructor allows you to create a screen point by passing in an X &
Y.
None
This parameter represents the horizontal value of a screen point.
This parameter represents the vertical value of a screen point.
This property returns the X, or horizontal, value of the screen point.
This property returns the X, or horizontal, value of the screen point.
None
This property returns the Y, or vertical, value of the screen point.
This property returns the Y, or vertical, value of the screen point.
None
This method is an override of the == functionality.
None
If you pass a null as the sourceScreenPoint, we will throw an ArgumentNullException.
If you pass a null as the targetScreenPoint, we will throw an ArgumentNullException.
None
This parameter is the first screenPoint to compare with.
This parameter is the second screenPoint to compare width.
This method is an override of the != functionality.
None
This parameter represents the first GeoColor to compare.
This parameter represents the second GeoColor to compare.
If you pass a null as the sourceScreenPoint, we will throw an ArgumentNullException.
If you pass a null as the targetScreenPoint, we will throw an ArgumentNullException.
This method is an override of the Equals functionality.
This method returns the Equals functionality.
None
This parameter is the object you want to check to see if it is equal to the current
instance.
If you pass a null as the obj, we will throw an ArgumentNullException.
This method is an override of the GetHashCode functionality.
This method returns the hash code.
None
This structure represents a single point in screen coordinates.
None
This constructor allows you to create a screen point by passing in an X &
Y.
None
This parameter represents the horizontal value of a screen point.
This parameter represents the vertical value of a screen point.
This property returns the X, or horizontal, value of the screen point.
This property returns the X, or horizontal, value of the screen point.
None
This property returns the Y, or vertical, value of the screen point.
This property returns the Y, or vertical, value of the screen point.
None
This method is an override of the == functionality.
None
If you pass a null as the sourceScreenPoint, we will throw an ArgumentNullException.
If you pass a null as the targetScreenPoint, we will throw an ArgumentNullException.
None
This parameter is the first screenPoint to compare with.
This parameter is the second screenPoint to compare width.
This method is an override of the != functionality.
None
This parameter represents the first GeoColor to compare.
This parameter represents the second GeoColor to compare.
If you pass a null as the sourceScreenPoint, we will throw an ArgumentNullException.
If you pass a null as the targetScreenPoint, we will throw an ArgumentNullException.
This method is an override of the Equals functionality.
This method returns the Equals functionality.
None
This parameter is the object you want to check to see if it is equal to the current
instance.
If you pass a null as the obj, we will throw an ArgumentNullException.
This method is an override of the GetHashCode functionality.
This method returns the hash code.
None
This enumeration describes the type of validation test to run on shapes.
The simple tests are used internally before any method call is made to a shape.
In this way, we have a certain level of confidence that the operation will succeed. The
advanced tests are meant to be performed by users if they get a shape from an
external source and consider it suspect.
The simple tests are designed to be very fast.
The advanced tests are designed to be comprehensive with no regard to
speed.
This structure represents the result of the validation method performed on a shape.
This is used to determine if an validation rule was broken for a shape. This
structure also returns the description of the violation.
This constructor allows you to set the IsValid and ValidationErrors
properties.
None
This parameter describes whether the object has passed its validation method.
This parameter describes the list of errors if the object did not pass its
validation method. The errors are separated by semicolons.
This property describes whether the object has passed its validation method.
This property returns either true or false, depending on whether the object has passed its
validation method.
None
This property describes the list of errors if the object did not pass its
validation method.
If there are multiple errors, they will be separated by semicolons. If the object
passed its validations, then this string will be empty.
This property returns the list of errors if the object did not pass its
validation method.
This method is an override of the == functionality.
None
This method is an override of the != functionality.
None
This method is an override of the Equals functionality.
None
This method is an override of the GetHashCode functionality.
None
This static class exposes a number of helpful methods when dealing with
extents.
This is a static function that allows you to pass in a world rectangle, a world point to center on, and a height
and width in screen units. The function will center the rectangle based on the point, then adjust the rectangle's
ratio based on the height and width in screen coordinates.
This overload allows you to pass in a world point as the center.
This method returns an adjusted extent centered on a point.
None
This parameter is the current extent you want to center.
This parameter is the world point you want to center on.
This parameter is the width of the screen.
This parameter is the height of the screen.
This is a static function that allows you to pass in a world rectangle, a world point to center on, and a height
and width in screen units. The function will center the rectangle based on the point, then adjust the rectangle's
ratio based on the height and width in screen coordinates.
This overload allows you to pass in a world point as the center.
This method returns an adjusted extent centered on a point.
None
This parameter is the current extent you want to center.
This parameter is the world point you want to center on.
This parameter is the width of the screen.
This parameter is the height of the screen.
This method returns an adjusted extent centered on a point.
This overload allows you to pass in a screen point as the center.
This method returns an adjusted extent centered on a point.
None
This parameter is the current extent you want to center.
This parameter is the X coordinate on the screen to center on.
This parameter is the Y coordinate on the screen to center on.
This parameter is the width of the screen.
This parameter is the height of the screen.
This API gets the BoundingBox of a group of BaseShapes.
The target group of BaseShapes to get the BoundingBox for.
The BoundingBox that contains all of the shapes you passed in.
This API gets the BoundingBox of a group of Features.
The target group of Features to get the BoundingBox for.
The BoundingBox that contains all the features you passed in.
This method returns an adjusted extent based on the ratio of the screen width and
height.
This method returns an adjusted extent based on the ratio of the screen width and
height.
This function is used because the extent to draw must be the rame ratio as the screen
width and height. If they are not, then the image drawn will be stretched or compressed.
We always adjust the extent upwards to ensure that no matter how we adjust it,
the original extent will fit within the new extent. This ensures that everything
you wanted to see in the first extent is visible and maybe a bit more.
This parameter is the world extent you want to adjust for drawing.
This parameter is the width of the screen.
This parameter is the height of the screen.
This method returns the number of pixels between two world points.
This method returns the number of pixels between two world points.
None
This parameter is the world extent.
This parameter is the first point -- the one you want to measure from.
This parameter is the second point -- the one you want to measure to.
This parameter is the width of the screen.
This parameter is the height of the screen.
This method returns the number of pixels between two features.
This method returns the number of pixels between two features.
None
This parameter is the world extent.
This parameter is the first feature -- the one you want to measure from.
This parameter is the second feature -- the one you want to measure to.
This parameter is the width of the screen.
This parameter is the height of the screen.
This method returns the distance in world units between two screen points.
This overload allows you to pass in ScreenPointF as the points.
This method returns the distance in world units between two screen points.
None
This parameter is the world extent.
This is the screen point you want to measure from.
This is the screen point you want to measure to.
This parameter is the width of the screen.
This parameter is the height of the screen.
This is the geographic unit of the world extent rectangle.
This is the geographic unit you want the result to show in.
This method returns the distance in world units between two screen points.
This overload allows you to pass in the X & Y for each point.
This parameter is the world extent.
This parameter is the X of the point you want to measure from.
This parameter is the Y of the point you want to measure from.
This parameter is the X of the point you want to measure to.
This parameter is the Y of the point you want to measure to.
This parameter is the width of the screen.
This parameter is the height of the screen.
This is the geographic unit of the world extent you passed in.
This is the geographic unit you want the result to show in.
This method returns a panned extent.
This overload allows you to pass in a direction and a percentage by which you want to
pan.
This method returns a panned extent.
None
This parameter is the world extent you want to pan.
This parameter is the direction in which you want to pan.
This parameter is the percentage by which you want to pan.
This method returns a panned extent.
This overload allows you to pass in an angle and a percentage by which you want to
pan.
This method returns a panned extent.
None
This parameter is the world extent you want to pan.
This parameter is the degree you want to pan.
This parameter is the percentage by which you want to pan.
This method returns a RectangleShape by resize parameters.
The rectangle shape before rezise
The width of the source rectangle shape in screen coordinate
The width of the target rectangle shape in screen coordinate
The height of the target rectangle shape in screen coordinate
map unit which this rectangle shape used
Represents resize type which can decide to use which way to resize.
This method returns a RectangleShape by resize parameters.
This method returns Rectangle in screen coordinates from RectangleShape in world coordinates.
This method returns Rectangle in screen coordinates from RectangleShape in world coordinates.
None
This parameter is the world extent.
This parameter is the rectangle shape in world coordinate you want converted to a rectangle in screen coordinate.
This parameter is the width of the screen.
This parameter is the height of the screen.
This method returns screen coordinates from world coordinates.
This method returns screen coordinates from world coordinates.
None
This overload allows you to pass in world X & Y coordinates.
This parameter is the world extent.
This parameter is the world X you want converted to screen points.
This parameter is the world Y you want converted to screen points.
This parameter is the width of the screen.
This parameter is the height of the screen.
This method returns screen coordinates from world coordinates.
This method returns screen coordinates from world coordinates.
None
This parameter is the world extent.
This parameter is the world point you want converted to a screen point.
This parameter is the width of the screen.
This parameter is the height of the screen.
This method returns screen coordinates from world coordinates.
This method returns screen coordinates from world coordinates.
None
This parameter is the world extent.
This parameter is the feature you want converted to a screen point.
This parameter is the width of the screen.
This parameter is the height of the screen.
This method returns world coordinates from screen coordinates.
This method returns world coordinates from screen coordinates.
None
This parameter is the world extent.
This parameter is the X of the point you want converted to world
coordinates.
This parameter is the Y of the point you want converted to world
coordinates.
This parameter is the width of the screen.
This parameter is the height of the screen.
This method returns world coordinates from screen coordinates.
This method returns world coordinates from screen coordinates.
None
This parameter is the world extent.
This parameter is the screen point you want converted to a world point.
This parameter is the width of the screen.
This parameter is the height of the screen.
This method returns a new extent that is zoomed in by the percentage
provided.
This method returns a new extent that is zoomed in by the percentage
provided.
None
This parameter is the world extent you want to zoom to.
This parameter is the percentage by which you want to zoom in.
This method returns an extent that is centered and zoomed in.
This overload allows you to pass in the height and width in screen coordinates,
as well as a world point.
This method returns an extent that is centered and zoomed in.
The resulting rectangle will already be adjusted for the ratio of the screen. You
do not need to call GetDrawingExtent afterwards.
This parameter is the world extent that you want centered and zoomed to.
This parameter is the percentage by which you want to zoom in.
This parameter is the world point you want the extent to be centered on.
This parameter is the width in screen coordinates.
This parameter is the height in screen coordinates.
This method returns an extent that is centered and zoomed.
This overload allows you to pass in the height and width in screen coordinatesm
as well as a feature.
This method returns an extent that is centered and zoomed in.
The resulting rectangle will already be adjusted for the ratio of the screen. You
do not need to call GetDrawingExtent afterwards.
This parameter is the world extent that you want centered and zoomed to.
This parameter is the percentage by which you want to zoom in.
This parameter is the feature you want the extent to be centered on.
This parameter is the width in screen coordinates.
This parameter is the height in screen coordinates.
This method returns an extent that is centered and zoomed in.
This overload allows you to pass in the height and width in screen coordinates,
as well as a screen X & Y.
This method returns an extent that is centered and zoomed in.
The resulting rectangle will already be adjusted for the ratio of the screen. You
do not need to call GetDrawingExtent afterwards.
This parameter is the world extent you want to center and zoom to.
This parameter is the percentage by which you want to zoom in.
This parameter is the screen X you want to center on.
This parameter is the screen Y you want to center on.
This parameter is the width of the screen.
This parameter is the height of the screen.
This method returns an extent that is keeping the offsetScreenPoint constant and zoomed.
This method returns an extent that is keeping the offsetScreenPoint constant and zoomed.
The resulting rectangle will already be adjusted for the ratio of the screen. You
do not need to afterward call GetDrawingExtent.
This parameter is the world extent that you want centered and zoomed.
This parameter is the percentage you want to zoom.
This parameter is the screen point you want to keep it constant.
This parameter is the width in screen coordinates.
This parameter is the height in screen coordinates.
This method returns a new extent that is zoomed out by the percentage
provided.
This method returns a new extent that is zoomed out by the percentage
provided.
None
This parameter is the world extent you want to zoom out to.
This parameter is the percentage by which you want to zoom out.
This method returns an extent that is centered and zoomed out.
This method returns an extent that is centered and zoomed out.
The resulting rectangle will already be adjusted for the ratio of the screen. You
do not need to call GetDrawingExtent afterwards.
This overload allows you to pass in the height and width in screen coordinates,
as well as a world point.
This parameter is the world extent you want to center and zoom out to.
This parameter is the percentage by which you want to zoom out.
This parameter is the world point you want the extent to be centered on.
This parameter is the width of the screen.
This parameter is the height of the screen.
This method returns an extent that is centered and zoomed out.
This method returns an extent that is centered and zoomed out.
The resulting rectangle will already be adjusted for the ratio of the screen. You
do not need to call GetDrawingExtent afterwards.
This overload allows you to pass in the height and width in screen coordinates,
as well as a feature.
This parameter is the world extent you want to center and zoom out to.
This parameter is the percentage by which you want to zoom out.
This parameter is the feature you want the extent to be centered on.
This parameter is the width of the screen.
This parameter is the height of the screen.
This method returns an extent that is centered and zoomed out.
This method returns an extent that is centered and zoomed out.
The resulting rectangle will already be adjusted for the ratio of the screen. You
do not need to call GetDrawingExtent afterward.
This overload allows you to pass in the height and width in screen coordinates,
as well as a screen X & Y.
This parameter is the world extent you want to center and zoom out to.
This parameter is the percentage by which you want to zoom out.
This parameter is the screen X you want to center on.
This parameter is the screen Y you want to center on.
This parameter is the width of the screen.
This parameter is the height of the screen.
This method returns an extent that is keeping the offsetScreenPoint constant and zoomed.
This method returns an extent that is keeping the offsetScreenPoint constant and zoomed.
The resulting rectangle will already be adjusted for the ratio of the screen. You
do not need to afterward call GetDrawingExtent.
This parameter is the world extent that you want centered and zoomed.
This parameter is the percentage you want to zoom.
This parameter is the screen point you want to keep it constant.
This parameter is the width in screen coordinates.
This parameter is the height in screen coordinates.
This method returns a extent that has been zoomed into a certain scale.
This method returns a extent that has been zoomed into a certain scale.
None
This parameter is the scale you want to zoom into.
This parameter is the world extent you want zoomed into the scale.
This parameter is the geographic unit of the world extent parameter.
This parameter is the screen width.
This parameter is the screen height.
This method returns a extent that has been zoomed into a certain scale.
This method returns a extent that has been zoomed into a certain scale.
None
This parameter is the scale you want to zoom into.
This parameter is the world extent you want zoomed into the scale.
This parameter is the geographic unit of the world extent parameter.
This parameter is the screen width.
This parameter is the screen height.
This parameter is the offsetScreenPoint.
The enumeration represents which mode will use for map resize.
This item represents that preserve the scale the same when map resize.
This item represents that preserve the scale the same and fix the center point of extent when map resize.
This item represents that preserve the extent the same as before when map resize.
Specifies which algorthm will be use to simplify.
Simplifies a point, ensuring that the result is a valid point having the same dimension and number of components as the input. The simplification uses a maximum distance difference algorithm similar to the one used in the Douglas-Peucker algorithm. In particular, if the input is an areal point ( Polygon or MultiPolygon ) The result has the same number of shells and holes (rings) as the input, in the same order The result rings touch at no more than the number of touching point in the input (although they may touch at fewer points).
Simplifies a Geometry using the standard Douglas-Peucker algorithm. Ensures that any polygonal geometries returned are valid. Simple lines are not guaranteed to remain simple after simplification. Note that in general D-P does not preserve topology - e.g. polygons can be split, collapse to lines or disappear holes can be created or disappear, and lines can cross. To simplify point while preserving topology use TopologySafeSimplifier. (However, using D-P is significantly faster).
An enumeration describing the place to start on a line when doing certain
operations.
Certain kinds of mathematical line operations need to know if the operation
will start at the beginning or the end of the line. Whenever this is the case, you'll
need to use this enumeration.
The first point of the line.
The last point of the line.
This structure represents the point at which the sides of an angle
intersect.
This is the constructor used to create a vertex.
None
This constructor takes X and Y coordinates.
This parameter represents the horizontal value.
This parameter represents the vertical value.
This is the constructor used to create a vertex.
This constructor takes a PointShape.
None
None
This parameter is the PointShape you want to convert to a Vertex.
This property returns the horizontal value of the vertex.
This property returns the horizontal value of the vertex.
None
This property returns the vertical value of the vertex.
This property returns the vertical value of the vertex.
None
This method is an override of the ToString functionality.
None
This method is an override of the GetHashCode functionality.
None
This method is an override of the Equals functionality.
None
This method adds the target vertex to the current vertex.
None
This parameter represents the vertex you wish to add to the current
vertex.
This method is an override of the + functionality.
None
This parameter represents the first vertex to add.
This parameter represents the second vertex to add.
This method is an override of the == functionality.
None
This parameter represents the first vertex to compare.
This parameter represents the second vertex to compare.
This method is an override of the != functionality.
None
This parameter represents the first vertex to compare.
This parameter represents the second vertex to compare.
This method returns the middle Vertex of a straight line which two vertices are passing in.
start vertex of a straight line
en vertex of a straight line
This method returns the middle Vertex between the vertices which passing in.
This describes a set of enumerations that list the valid types of
geometries.
Each of the geometries listed is either a subset or compatible with the OpenGIS
specifications or the simple feature specifications. Each different kind of geometry
can also be converted to well-known text and well-known binary. We have added some
additional geometry types (such as the ellipse and rectangle) which normally are not
included as separate GIS geometries but are very useful and can easily be converted to
standard types.
An invalid shape type.
A Point is a geometry that represents a single location in coordinate
space.
A Line is a curve with linear interpolation between points.
A Polygon is a planar surface representing a multisided geometry. It is defined
by a single exterior boundary and zero or more interior boundaries, where each interior
boundary defines a hole in the Polygon.
A MultiPoint is a geometry collection composed of Point elements. The points are
not connected or ordered in any way.
A MultiLine is a geometry collection composed of Line elements.
A MultiPolygon is a object composed of one or more Polygon elements.
A GeometryCollection is a object composed of one or more Shape elements.
This enumeration represents the byte order that well-known binary will be written
in.
None
The least significant byte value is at the lowest address.
The most significant byte value is at the lowest address.
This class represents the advanced drawing options for area styles.
This class allows you to set the FillCustomBrush. This enables you to use custom
brushes to achieve effects such as linear gradients and bitmap fills.
This is the default constructor for the class.
None
This property allows you to get and set a custom fill brush.
This property returns a custom fill brush.
This allows you to use custom brushes to achieve effects such as linear gradients and
bitmap fills. If you use any brush besides the SolidBrush, you would set it in this
property.
Create a copy of AreaStyleAdvanced class using the deep clone process.
A cloned AreaStyleAdvanced.
The difference between deep clone and shallow clone is as follows: In shallow cloning,
only the object is copied; the objects within it are not. By contrast, deep cloning
copies the cloned object as well as all the objects within.
This property gets and sets the SolidBrush used to color the interior of the
Symbol.
This brush is used to draw the interior of the symbol. It is only used if the
PointType is Symbol. If you need a brush other than the SolidBrush, you should look in
the advanced property of the class.
This property gets the SolidBrush used to color the interior of the
Symbol.
This property gets and sets the SolidBrush used to draw the oultine of the
Symbol.
This property gets the SolidBrush used to draw the outline of the Symbol.
This pen is used to draw the outline of the Symbol. By default the pen draws a
transparent (invisible) color, which just leaves you with a fill.
This property gets and sets the size of the symbol if the PointType is
Symbol.
This property gets the size of the symbol if the PointType is Symbol.
The allows you to make the symbol larger and smaller.
This property gets and sets the angle of rotation for the drawing of the
point.
This property gets the angle of rotation for the drawing of the point.
This property controls the rotation of the bitmap, character or symbol, depending
on the PointType.
This property gets and sets the X pixel offset for drawing each feature.
This property gets the X pixel offset for drawing each feature.
This property allows you to specify an X offset. When combined with a Y offset, it is
useful to allow you to achieve effects such as drop shadows, etc. There also may be times
when you need to modify the location of feature data so as to better align it with raster
satellite data.
This property gets and sets the Y pixel offset for drawing each feature.
This property gets the Y pixel offset for drawing each feature.
This property allows you to specify a Y offset. When combined with an X offset, it is
useful to allow you to achieve effects such as drop shadows, etc. There also may be times
when you need to modify the location of feature data so as to better align it with raster
satellite data.
This property returns a collection of area styles allowing you to stack multiple
area styles on top of each other.
This property returns a collection of area styles.
Using this collection, you can stack multiple styles on top of each other.
When we draw the feature, we will draw them in order that they exist in the collection. You can use
these stacks to create drop shadow effects, multiple colored outlines,
etc.
This method draws a sample feature on the canvas you provided.
This virtual method is called from the concrete public method Draw. In this
method, we draw a sample style on the canvas you provided. This is typically used to
display a legend or other sample area.
When implementing this virtual method, consider the canvas size and draw the sample
image appropriately. You should keep in mind that the sample typically shows up on a
legend.
None
If you pass a null as the canvas, we will throw an ArgumentNullException.
In the event you attempt to call this method when the GeoCanvas's IsDrawing mode is false, it will throw an InvalidOperationException.
This parameter represents the canvas you want to draw the features on.
This class represents the advanced drawing options for point styles.
This class allows you to set the CustomBrush. This enables you to use custom
brushes to achieve effects such as linear gradients and bitmap fills.
This is the default constructor for the class.
None
This property allows you to get and set a custom brush.
This property returns a custom brush.
This allows you to use custom brushes to achieve effects such as linear gradients and
bitmap fills. If you use any brush besides the SolidBrush, you would set it in this
property.
This abstract class is the root for all styles used for drawing features.
If you need to create your own style in the future, we suggest that you first
consider extending an existing style. If you are doing something new, then you can
inherit from this class.
The key method to override is DrawCore. If you want to provide a sample for the
legend, you will also want to extend the DrawSampleCore.
This is the default constructor for the style and should be called by inherited
classes.
None
This is the default constructor for the style and should be called by inherited
classes.
This property gets and set the name of the style.
This property gets the name of the style.
This name is not used by the system; it is only for the developer. However, it can be used if
you generate your own legend.
This property gets and sets the active status of the style.
This property gets the active status of the style.
If the style is not active then it will not draw.
This property gets the collection of fields that are required for the
style.
This property gets the collection of fields that are required for the
style.
This property gets the collection of fields that are required for the style.
These are in addition to any other columns you specify in styles that inherit from this
one. For example, if you have use a ValueStyle and it requires a column name for the
value comparison, then that column does not need to be in this collection. You only use
the RequiredColumnNames for columns you need beyond those required by specific
inherited styles.
Create a copy of style using the deep clone process.
A cloned style.
The difference between deep clone and shallow clone is as follows: In shallow cloning,
only the object is copied; the objects within it are not. By contrast, deep cloning
copies the cloned object as well as all the objects within.
Create a copy of style using the deep clone process. The default implementation method uses serialization.
A cloned style.
The difference between deep clone and shallow clone is as follows: In shallow cloning,
only the object is copied; the objects within it are not. By contrast, deep cloning
copies the cloned object as well as all the objects within.
This method draws the features on the canvas you provided.
None
This method is the concrete wrapper for the abstract method DrawCore. In this
method, we take the features you passed in and draw them on the canvas you provided.
Each style (based on its properties) may draw each feature differently.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
If you pass a null as the canvas, we will throw an ArgumentNullException.
If you pass a null as the features, we will throw an ArgumentNullException.
In the event you attempt to call this method when the GeoCanvas's IsDrawing mode is false, it will throw an InvalidOperationException.
This parameter represents the features you want to draw on the canvas.
This parameter represents the canvas you want to draw the features on.
The labels will be drawn in the current layer only.
The labels will be drawn in all layers.
This method draws the shapes on the canvas you provided.
None
This method is the concrete wrapper for the abstract method DrawCore. In this
method, we take the shapes you passed in and draw them on the canvas you provided.
Each style (based on its properties) may draw each shape differently.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
If you pass a null as the canvas, we will throw an ArgumentNullException.
If you pass a null as the features, we will throw an ArgumentNullException.
In the event you attempt to call this method when the GeoCanvas's IsDrawing mode is false, it will throw an InvalidOperationException.
This parameter represents the shapes you want to draw on the canvas.
This parameter represents the canvas you want to draw the shapes on.
The labels will be drawn in the current layer only.
The labels will be drawn in all layers.
This method draws the features on the canvas you provided.
This abstract method is called from the concrete public method Draw. In this
method, we take the features you passed in and draw them on the canvas you provided.
Each style (based on its properties) may draw each feature differently.
When implementing this abstract method, consider each feature and its column data
values. You can use the full power of the GeoCanvas to do the drawing. If you need
column data for a feature, be sure to override the GetRequiredColumnNamesCore and add
the columns you need to the collection. In many of the styles, we add properties to
allow the user to specify which field they need; then, in the GetRequiredColumnNamesCore,
we read that property and add it to the collection.
None
This parameter represents the features you want to draw on the canvas.
This parameter represents the canvas you want to draw the features on.
The labels will be drawn in the current layer only.
The labels will be drawn in all layers.
This method returns the column data for each feature that is required for the
style to properly draw.
This method returns a collection of column names that the style needs.
This method is the concrete wrapper for the abstract method
GetRequiredColumnNamesCore. In this method, we return the column names that are
required for the style to draw the feature properly. For example, if you have a
style that colors areas blue when a certain column value is over 100, then you need
to be sure you include that column name. This will ensure that the column data is
returned to you in the feature when it is ready to draw.
In many of the styles, we add properties to allow the user to specify which field
they need; then, in the GetRequiredColumnNamesCore we read that property and add it
to the collection.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This abstract method is called from the concrete public method
GetRequiredFieldNames. In this method, we return the column names that are required for
the style to draw the feature properly. For example, if you have a style that colors
areas blue when a certain column value is over 100, then you need to be sure you include
that column name. This will ensure that the column data is returned to you in the
feature when it is ready to draw.
In many of the styles, we add properties to allow the user to specify which field they
need; then, in the GetRequiredColumnNamesCore we read that property and add it to the
collection.
This method returns the column data for each feature that is required for the
style to properly draw.
This method returns a collection of column names that the style needs.
This method draws a sample feature on the canvas you provided.
None
This method is the concrete wrapper for the abstract method DrawSampleCore.
In this method we draw a sample style on the canvas you provided. This is typically
used to display a legend or other sample area.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
If you pass a null as the canvas, we will throw an ArgumentNullException.
In the event you attempt to call this method when the GeoCanvas's IsDrawing mode is false, it will throw an InvalidOperationException.
This parameter represents the canvas you want to draw the features on.
This method draws a sample feature on the canvas you provided.
This virtual method is called from the concrete public method Draw. In this
method, we draw a sample style on the canvas you provided. This is typically used to
display a legend or other sample area.
When implementing this virtual method, consider the canvas size and draw the sample
image appropriately. You should keep in mind that the sample typically shows up on a
legend.
None
If you pass a null as the canvas, we will throw an ArgumentNullException.
In the event you attempt to call this method when the GeoCanvas's IsDrawing mode is false, it will throw an InvalidOperationException.
This parameter represents the canvas you want to draw the features on.
This class represents the advanced drawing options for text styles.
This class allows you to set the TextCustomBrush. This enables you to use custom
brushes to achieve effects such as linear gradients and bitmap fills.
This is the default constructor for the class.
None
This property allows you to get and set a custom brush.
This property returns a custom brush.
This allows you to use custom brushes to achieve effects such as linear gradients and
bitmap fills. If you use any brush besides the SolidBrush, you would set it in this
property.
This class is used to draw area features.
You should use this class to draw area features. You can specify a fill brush to
draw the interior and an outline pen to draw the border. You can optionally choose to
use only the outline pen or the fill brush, which enables you to generate different effects.
This is the constructor for the class.
This constructor does not specify an outline pen or fill brush.
None
If you use this constructor, you will need to set the properties of the fill brush
and outline pen manually.
This is the constructor for the class.
This constructor allows you to specify a fill brush without an outline.
None
This constructor allows you to specify just a fill brush. In this way, the area
you draw will not have an outline.
This parameter is the solid brush you want to fill the area with.
This is the constructor for the class.
This constructor allows you to specify just an outline pen. In this way, the area
you draw will have an outline, but a transparent interior (no fill).
This constructor allows you to specify an outline pen without a filled-in
area.
None
This parameter is the outline pen you want to use to outline the area.
This is the constructor for the class.
This constructor allows you to specify an outline pen with a filled-in
area.
None
This constructor allows you to specify a fill brush and an outline pen.
This parameter is the outline pen you want to use to outline the area.
This parameter is the solid brush you wish to fill the area with.
This is the constructor for the class.
This constructor allows you to specify an outline pen with a filled-in area. It
also lets you select whether the pen or brush is used first.
This constructor allows you to specify a fill brush and an outline pen. It also
allows you to specify which is drawn first. If the pen is drawn first, the outline
will be thinner than if the pen is drawn last. The effect is subtle but
noticeable.
None
This parameter is the outline pen you want to use to outline the area.
This parameter is the solid brush you wish to fill the area with.
This parameter allows you to choose whether the outline pen or the fill brush is drawn
first.
This property gets and sets the X pixel offset for drawing each feature.
This property gets the X pixel offset for drawing each feature.
This property allows you to specify an X offset. When combined with a Y offset, it
enables you to achieve effects such as drop shadows, etc. There also may be times
when you need to modify the location of feature data so as to align it with raster
satellite data.
This property allows you to specify a Y offset. When combined with an X offset, it
enables you to achieve effects such as drop shadows, etc. There also may be times
when you need to modify the location of feature data so as to align it with raster
satellite data.
This property gets and sets the Y pixel offset for drawing each feature.
This property gets the Y pixel offset for drawing each feature.
This property gets and sets the solid brush you want to use to fill in the area
features.
This property represents the solid brush you want to use to fill in the area
features.
This solid brush is used to fill in the area features that will draw. You can also
optionally specify an outline pen to give the area an outline. The default solid
brush has a fill color of transparent, which means it will not draw anything.
This property returns a collection of area styles, allowing you to stack multiple
area styles on top of each other.
This property returns a collection of area styles.
Using this collection, you can stack multiple area styles on top of each other.
When we draw the features, we will draw them in order that they exist in the collection. You can use
these stacks to create drop shadow effects, multiple colored outlines,
etc.
This property gets and sets the outline pen you want to use to outline the
features.
This property gets the outline pen you want to use to outline the
features.
This outline pen is used to outline the features that will draw. You can also
optionally specify a fill brush to give the area a solid fill. The default outline
pen color is transparent, which means it will not draw anything.
This property gets and sets the pen and brush drawing order.
This property gets the pen and brush drawing order.
This property controls whether the outline pen or the fill brush is drawn first. The
default is for the fill brush to be drawn first. If you have the outline pen draw first
then the thickness of the pen will be smaller, creating a subtle but noticeable
effect.
This property lets you access the advanced properties of the style.
This property lets you access the advanced properties of the style.
This property lets you access the advanced properties of the style.
This method draws the features on the canvas you provided.
This overridden method is called from the concrete public method Draw. In this
method, we take the features you passed in and draw them on the canvas you provided.
Each style (based on its properties) may draw each feature differently.
When overriding this method, consider each feature and its column data values. You can
use the full power of the GeoCanvas to do the drawing. If you need column data for a
feature, be sure to override the GetRequiredColumnNamesCore and add the columns you need
to the collection. In many of the styles, we add properties to allow the user to specify
which field they need; then, in the GetRequiredColumnNamesCore, we read that property and
add it to the collection.
None
In the event you attempt to call this method when the GeoCanvas's IsDrawing mode is false, it will throw an InvalidOperationException.
If you pass a null as the canvas, we will throw an ArgumentNullException.
If you pass a null as the features, we will throw an ArgumentNullException.
If OutlinePen is null, we will throw an ArgumentNullException.
If FillSolidBrush is null, we will throw an ArgumentNullException.
This parameter represents the features you want to draw on the canvas.
This parameter represents the canvas you want to draw the features on.
The labels will be drawn in the current layer only.
The labels will be drawn in all layers.
This method draws a sample feature on the canvas you provided.
This virtual method is called from the concrete public method Draw. In this
method, we draw a sample style on the canvas you provided. This is typically used to
display a legend or other sample area.
When implementing this virtual method, consider the canvas size and draw the sample
image appropriately. You should keep in mind that the sample typically shows up on a
legend.
None
If you pass a null as the canvas, we will throw an ArgumentNullException.
In the event you attempt to call this method when the GeoCanvas's IsDrawing mode is false, it will throw an InvalidOperationException.
This parameter represents the canvas you want to draw the features on.
This class is a collection of predefined styles and helper methods for creating
styles.
None
This property gets a style that represents NoData1.
This property gets a style that represents NoData1.
None
This property gets a style that represents Water1.
This property gets a style that represents Water1.
None
This property gets a style that represents Water2.
This property gets a style that represents Water2.
None
This property gets a style that represents Military1.
This property gets a style that represents Military1.
None
This property gets a style that represents Wildlife1.
This property gets a style that represents Wildlife1.
None
This property gets a style that represents State1.
This property gets a style that represents State1.
None
This property gets a style that represents State2.
This property gets a style that represents State2.
None
This property gets a style that represents County1.
This property gets a style that represents County1.
None
This property gets a style that represents County2.
This property gets a style that represents County2.
None
This property gets a style that represents Country1.
This property gets a style that represents Country1.
None
This property gets a style that represents Country2.
This property gets a style that represents Country2.
None
This property gets a style that represents Swamp1.
This property gets a style that represents Swamp1.
None
This property gets a style that represents Swamp2.
This property gets a style that represents Swamp2.
None
This property gets a style that represents Urban1.
This property gets a style that represents Urban1.
None
This property gets a style that represents Urban2.
This property gets a style that represents Urban2.
None
This property gets a style that represents Antarctica1.
This property gets a style that represents Antarctica1.
None
This property gets a style that represents Evergreen1.
This property gets a style that represents Evergreen1.
None
This property gets a style that represents Evergreen2.
This property gets a style that represents Evergreen2.
None
This property gets a style that represents Grass1.
This property gets a style that represents Grass1.
None
This property gets a style that represents WaterIntermittent1.
This property gets a style that represents WaterIntermittent1.
None
This property gets a style that represents Sand1.
This property gets a style that represents Sand1.
None
This property gets a style that represents SeaIce1.
This property gets a style that represents SeaIce1.
None
This property gets a style that represents SnowIce1.
This property gets a style that represents SnowIce1.
None
This property gets a style that represents Tundra1.
This property gets a style that represents Tundra1.
None
This property gets a style that represents Crop1.
This property gets a style that represents Crop1.
None
This property gets a style that represents Forest1.
This property gets a style that represents Forest1.
None
This property gets a style that represents Park1.
This property gets a style that represents Park1.
None
This method builds a simple area style.
This overload allows you to specify just a fill color.
This method builds a simple area style.
None
This parameter is the fill color of the area.
This method builds a simple area style.
This overload allows you to provide a fill and an outline.
This method builds a simple area style.
None
This parameter is the fill color for the area.
This parameter is the outline pen color for the area.
This method builds a simple area style.
This overload allows you to pass the fill color, pen color and pen width.
This method builds a simple area style.
None
This parameter is the fill color for the area.
This parameter is the outline pen color for the area.
This parameter is the outline pen width for the area.
This method builds a simple area style.
This overload allows you to pass the fill color, pen color and pen width.
This method builds a simple area style.
None
This parameter is the fill color for the area.
This parameter is the outline pen color for the area.
This parameter is the outline pen width for the area.
This parameter is the BorderStyle for the area style.
This method builds a simple area style.
This method builds a simple area style.
This overload allows you to pass in the fill color and a pixel offset in X &
Y.
None
This parameter is the fill color for the area.
This parameter is the X pixels offset for this area.
This parameter is the Y pixels offset for this area.
This method builds a simple area style.
This method builds a simple area style.
None
This overload allows you to provide a fill, outline color and offset in X &
Y.
This parameter is the fill color for the area.
This parameter is the outline color for the area.
This parameter is the X pixels offset for this area.
This parameter is the Y pixels offset for this area.
This method builds a simple area style.
This method builds a simple area style.
None
This overload allows you to pass the fill color, pen color, pen width and X &
Y offset.
This parameter is the fill color for the area.
This parameter is the outline pen color for the area.
This parameter is the outline pen width for the area.
This parameter is the X pixels offset for this area.
This parameter is the Y pixels offset for this area.
This method builds a simple area style.
This method builds a simple area style.
None
This overload allows you to pass the fill color, pen color, pen width and X &
Y offset.
This parameter is the fill color for the area.
This parameter is the outline pen color for the area.
This parameter is the outline pen width for the area.
This parameter is the BorderStyle for the area.
This parameter is the X pixels offset for this area.
This parameter is the Y pixels offset for this area.
This method returns an AreaStyle with a hatch pattern.
This overload allows you to specify the background and foreground color.
This property is the color of the foreground of the hatch pattern.
None
This parameter is the hatch pattern to be used.
This property is the color of the foreground of the hatch pattern.
This property is the color of the background of the hatch pattern.
This method returns an AreaStyle with a hatch pattern.
This method returns an AreaStyle with a hatch pattern.
None
This overload allows you to specify the background color, foreground color, and a
border color.
This parameter is the hatch pattern to be used.
This property is the color of the foreground of the hatch pattern.
This property is the color of the background of the hatch pattern.
This parameter is the border color for the area.
This method returns a GeoHatchStyle.
None
This method returns an AreaStyle with a hatch pattern.
This overload allows you to specify the background color, foreground color,
border color and many other parameters.
This parameter is the hatch pattern to be used.
This property is the color of the foreground of the hatch pattern.
This property is the color of the background of the hatch pattern.
This parameter is the border color for the area.
This parameter is the border width for the area.
This parameter is the dahs style to be used for the border.
This parameter is the pixel offset for X.
This parameter is the pixel offset for Y.
This method returns a linear gradient style.
This method returns an AreaStyle.
None
This parameter represents the starting GeoColor for the
gradient.
This parameter represents the ending GeoColor for the
gradient.
This parameter represents the angle of the color changing from start to
end.
This method returns a linear gradient style.
This method returns an AreaStyle.
None
This parameter represents the starting GeoColor for the
gradient.
This parameter represents the ending GeoColor for the
gradient.
This parameter represents the angle of the color changing from start to
end.
This parameter represents the outline pen color of the area style.
This method returns an AreaStyle.
This method returns an AreaStyle.
None.
This parameter specifies the GeoPen you want to use on the outline of the area
style.
The base GeoColor of the hue family colors.
The number of GeoColors in hue family to construct the
areastyle.
This method returns an AreaStyle in a family of hue-related colors drawn with a linear gradient.
This method returns an AreaStyle in a family of hue-related colors drawn with a linear gradient.
None.
This parameter specifies the GeoPen you want to use on the outline of the AreaStyle.
The base GeoColor for the hue family of colors.
The number of GeoColors in the hue family to construct the
AreaStyle.
This parameter represents the starting GeoColor for the
gradient.
This parameter represents the ending GeoColor for the
gradient.
This parameter represents the angle for the gradient.
This method returns an AreaStyle in a family of quality-realted colors.
This method returns an AreaStyle in a family of quality-realted colors.
This parameter specifies the GeoPen you want to use on the outline of the
AreaStyle.
The base GeoColor for the quality family of colors.
The number of GeoColors in the quality-based family to construct the AreaStyle.
This method returns an AreaStyle in a family of quality-related colors drawn with a linear gradient.
This method returns an AreaStyle in a family of quality-related colors drawn with a linear gradient.
None.
This parameter specifies the GeoPen you want to use on the outline of the
AreaStyle.
The base GeoColor for the quality family of colors.
The number of GeoColors in quality-based family to construct the AreaStyle.
This parameter represents the starting GeoColor for the
gradient.
This parameter represents the ending GeoColor for the
gradient.
This parameter represents the angle for the gradient.
This class is used to draw area features.
You should use this class to draw area features. You can specify a base color and the number of
colors you want based on that color to draw the interior, and you can specify an outline pen
with which to draw the border. You can optionally choose to
use only the outline pen or the fill brush to generate different effects.
This is the constructor for the class. If you use this constructor, then you need to set
the required properties manually.
This is the default constructor.
None
None
This is the constructor the for the class.
This is the constructor for this class.
None
None.
This parameter represents the outline pen that will be used on the style.
This parameter represents the base color that will be used in the class.
This prameter represents how many colors will be used in the style, based on the
base color.
This is the constructor the for the class.
This is the constructor for this class.
None
None.
This parameter represents the outline pen that will be used on the style.
This parameter represents the base color that will be used in the class.
This prameter represents how many colors will be used in the style, based on the
base color.
This parameter describes the PenBrushDrawingOrder that will be used when drawing the area type feature.
This gets or sets the number of colors in the style.
This gets or sets the number of colors in the style.
None.
This gets the cached style in the class.
This gets the cached style in the class.
This gets the cached style in the class. The key of the style in the cache is
feature.Id & feature.GetHashCode().
This gets or sets the base color of the style.
This gets or sets the base color of the style.
None.
This method clears the cached style in the cache.
None.
This method clears the cached style in the cache.
This method draws the features on the canvas you provided.
This overridden method is called from the concrete public method Draw. In this
method, we take the features you passed in and draw them on the canvas you provided.
Each style (based on its properties) may draw each feature differently.
When overriding this method, consider each feature and its column data values. You can
use the full power of the GeoCanvas to do the drawing. If you need column data for a
feature, be sure to override the GetRequiredColumnNamesCore and add the columns you need
to the collection. In many of the styles, we add properties to allow the user to specify
which field they need; then, in the GetRequiredColumnNamesCore, we read that property and
add it to the collection.
None
In the event you attempt to call this method when the GeoCanvas's IsDrawing mode is false, it will throw an InvalidOperationException.
If you pass a null as the canvas, we will throw an ArgumentNullException.
If you pass a null as the features, we will throw an ArgumentNullException.
If OutlinePen is null, we will throw an ArgumentNullException.
If FillSolidBrush is null, we will throw an ArgumentNullException.
This parameter represents the features you want to draw on the canvas.
This parameter represents the canvas you want to draw the features on.
The labels will be drawn in the current layer only.
The labels will be drawn in all layers.
This enumeration defines the different labeling duplicate rules.
Duplicate refers to the condition where a label's text is exactly the same as another label.
An example case where this is common is a road where each intersection is its own segment.
In such a case, you do not want to label each segment as it would be highly redundant.
There may be only one label in each of the four quadrants.
There may be no duplicate labels.
There may be an unlimited number of duplicate labels.
This class represents the location of a piece of a label that may be
drawn.
This class is used within the labeling logic, specifically in the labeling
candidate. The object may represent an entire label or, in the case of a label spline,
a single character in the label.
This is the constructor for the class.
This is the default constructor.
If you use this constructor, you should set the various properties
manually.
None
This is the constructor for the class.
This constructor allows you to set all of the class properties.
None
None
This parameter is the position of the label that may draw.
This parameter is the text for the label.
This parameter is the angle of rotation for the label.
This property gets and sets the position of a piece of a label, in screen
coordinates.
This property gets the position of a piece of a label, in screen
coordinates.
None
This property gets and sets the text of the label.
This property gets the text of the label.
This may be the entire label text or a single character.
This property gets and sets the angle of rotation for the label.
This property gets the angle of rotation for the label.
This could be the rotation of the entire label text, a single character, or a set of
characters.
This class represents a candidate for labeling.
This class is used in the internals of the labeling system. We keep track of
every potential label in this class as it goes through the labeling rules.
This is a constructor for the class.
This is the default constructor.
None
If you use this constructor, then you should set the applicable properties
manually.
This is a constructor for the class.
This constructor allows you to pass in the area of the label as well as the center
point.
None
None
This parameter represents the text of the label before it is potentially
modified.
This parameter is a polygon (in screen coordinates) representing the area to be labeled.
This parameter is the center of the polygon (in screen coordinates) representing the area to
be labeled.
This is a constructor for the class.
This constructor allows you to pass in the area of the label and the center
point.
None
None
This parameter represents the text of the label before it is potentially
modified.
This parameter is a polygon (in screen coordinates) representing the area to be labeled.
This parameter is the center of the polygon (in screen coordinates) representing the area to
be labeled.
This parameter is the labeling information for this labeling candidate.
This property gets and sets the original text for the label.
This property gets the original text for the label.
None
This property gets and sets the screen area that encompasses the label.
This property gets the screen area that encompasses the label.
None
This property gets and sets the center point for the center of the label.
This property gets the center point for the center of the label.
None
This property gets and sets the label information for this label.
This property gets the label information for this label.
None
This enumeration defines the rules for overlapping.
This defines the rules for label overlapping. Currently, either we allow overlapping or we
do not. In the future, we may extend this to allow some percentage of partial
overlapping.
No overlapping is allowed.
Overlapping is allowed.
This class is the style used to draw lines.
This class is commonly used to draw lines on the GeoCanvas. It is specialized for
drawing roads, as this is the main kind of line feature that is most often drawn. You can set an inner,
outer and center pen to give you a nice effect. The outer pen draws first, and should
typically be black and larger then the inner pen. The inner pen draws next, and should
be set as the color of the road you want. It should be thinner than the outer pen. The
center pen draws last, and is used to represent a centerline in the road. We suggest that you
only use the center pen for highways at low zoom level, as the dashed pen has some performance
penalties.
This is a constructor for the class.
None
This is a constructor for the class.
None
This constructor allows you to pass in a single outer pen. Use this when you do
not need any additional pens to draw the feature.
Use this when you do not need any additional pens to draw the feature.
This parameter is the outer pen used to draw the feature.
This is a constructor for the class.
None
This constructor allows you to pass in an outer and inner pen. This is common for
drawing roads.
This is a common constructor for drawing roads.
This parameter is the outer pen used to draw the feature.
This parameter is the inner pen used to draw the feature.
This is a constructor for the class.
None
This constructor allows you to pass in an outer, inner and center pen. This is
common for drawing low level highways with center lines.
This is common for drawing low level highways with center lines.
This parameter is the outer pen used to draw the feature.
This parameter is the inner pen used to draw the feature.
This parameter is the center pen used to draw the feature.
This property gets and sets the X pixel offset for drawing each feature.
This property gets the X pixel offset for drawing each feature.
This property allows you to specify an X offset. When combined with a Y offset, it is
useful to allow you to achieve effects such as drop shadows, etc. There also may be times
when you need to modify the location of feature data so as to better align it with raster
satellite data.
This property gets and sets the Y pixel offset for drawing each feature.
This property gets the Y pixel offset for drawing each feature.
This property allows you to specify an Y offset. When combined with an X offset, it is
useful to allow you to achieve effects such as drop shadows, etc. There also may be times
when you need to modify the location of feature data so as to better align it with raster
satellite data.
This property returns a collection of line styles, allowing you to stack multiple
line styles on top of each other.
This property returns a collection of line styles.
Using this collection, you can stack multiple styles on top of each other.
When we draw the feature, we will draw them in order that they exist in the collection. You can use
these stacks to create drop shadow effects, multiple colored outlines,
etc.
This property gets and sets the outer pen for the line.
This property gets the outer pen for the line.
You can set an inner,
outer and center pen to give you a nice effect. The outer pen draws first, and should
typically be black and larger then the inner pen. The inner pen draws next, and should
be set as the color of the road you want. It should be thinner than the outer pen. The
center pen draws last, and is used to represent a centerline in the road. We suggest that you
only use the center pen for highways at low zoom level, as the dashed pen has some performance
penalties.
You can set an inner,
outer and center pen to give you a nice effect. The outer pen draws first, and should
typically be black and larger then the inner pen. The inner pen draws next, and should
be set as the color of the road you want. It should be thinner than the outer pen. The
center pen draws last, and is used to represent a centerline in the road. We suggest that you
only use the center pen for highways at low zoom level, as the dashed pen has some performance
penalties.
This property gets and sets the inner pen for the line.
This property gets the inner pen for the line.
You can set an inner,
outer and center pen to give you a nice effect. The outer pen draws first, and should
typically be black and larger then the inner pen. The inner pen draws next, and should
be set as the color of the road you want. It should be thinner than the outer pen. The
center pen draws last, and is used to represent a centerline in the road. We suggest that you
only use the center pen for highways at low zoom level, as the dashed pen has some performance
penalties.
This property gets and sets the center pen for the line.
This property gets the center pen for the line.
This method draws the features on the canvas you provided.
This overridden method is called from the concrete public method Draw. In this
method, we take the features you passed in and draw them on the canvas you provided.
Each style (based on its properties) may draw each feature differently.
When overriding this method, consider each feature and its column data values. You can
use the full power of the GeoCanvas to do the drawing. If you need column data for a
feature, be sure to override the GetRequiredColumnNamesCore and add the columns you need
to the collection. In many of the styles, we add properties to allow the user to specify
which field they need; then, in the GetRequiredColumnNamesCore, we read that property and
add it to the collection.
None
In the event you attempt to call this method when the GeoCanvas's IsDrawing mode is false, it will throw an InvalidOperationException.
If you pass a null as the canvas, we will throw an ArgumentNullException.
If you pass a null as the features, we will throw an ArgumentNullException.
If OuterPen is null, we will throw an ArgumentNullException.
If InnerPen is null, we will throw an ArgumentNullException.
If CenterPen is null, we will throw an ArgumentNullException.
This parameter represents the features you want to draw on the canvas.
This parameter represents the canvas you want to draw the features on.
The labels will be drawn in the current layer only.
The labels will be drawn in all layers.
This method draws a sample feature on the canvas you provided.
This virtual method is called from the concrete public method Draw. In this
method, we draw a sample style on the canvas you provided. This is typically used to
display a legend or other sample area.
When implementing this virtual method, consider the canvas size and draw the sample
image appropriately. You should keep in mind that the sample typically shows up on a
legend.
None
If you pass a null as the canvas, we will throw an ArgumentNullException.
In the event you attempt to call this method when the GeoCanvas's IsDrawing mode is false, it will throw an InvalidOperationException.
This parameter represents the canvas you want to draw the features on.
This class is a collection of predefined styles and helper methods to create
styles.
None
This property gets a style that represents LocalRoad1.
This property gets a style that represents LocalRoad1.
None
This property gets a style that represents LocalRoad2.
This property gets a style that represents LocalRoad2.
None
This property gets a style that represents LocalRoad3.
This property gets a style that represents LocalRoad3.
None
This property gets a style that represents LocalRoad4.
This property gets a style that represents LocalRoad4.
None
This property gets a style that represents SecondaryRoad1.
This property gets a style that represents SecondaryRoad1.
None
This property gets a style that represents SecondaryRoad2.
This property gets a style that represents SecondaryRoad2.
None
This property gets a style that represents MajorRoad1.
This property gets a style that represents MajorRoad1.
None
This property gets a style that represents MajorRoad2.
This property gets a style that represents MajorRoad2.
None
This property gets a style that represents MajorRoad3.
This property gets a style that represents MajorRoad3.
None
This property gets a style that represents MajorRoad4.
This property gets a style that represents MajorRoad4.
None
This property gets a style that represents MajorStreet1.
This property gets a style that represents MajorStreet1.
None
This property gets a style that represents MajorStreet2.
This property gets a style that represents MajorStreet2.
None
This property gets a style that represents MajorStreet3.
This property gets a style that represents MajorStreet3.
None
This property gets a style that represents Highway1.
This property gets a style that represents Highway1.
None
This property gets a style that represents Highway2.
This property gets a style that represents Highway2.
None
This property gets a style that represents Highway3.
This property gets a style that represents Highway3.
None
This property gets a style that represents Highway4.
This property gets a style that represents Highway4.
None
This property gets a style that represents Highway5.
This property gets a style that represents Highway5.
None
This property gets a style that represents Interstate1.
This property gets a style that represents Interstate1.
None
This property gets a style that represents Interstate2.
This property gets a style that represents Interstate2.
None
This property gets a style that represents Interstate3.
This property gets a style that represents Interstate3.
None
This property gets a style that represents Interstate4.
This property gets a style that represents Interstate4.
None
This property gets a style that represents InternationalBorder1.
This property gets a style that represents InternationalBorder1.
None
This property gets a style that represents InternationalBorder2.
This property gets a style that represents InternationalBorder2.
None
This property gets a style that represents Railway1.
This property gets a style that represents Railway1.
None
This property gets a style that represents Railway2.
This property gets a style that represents Railway2.
None
This property gets a style that represents Railway3.
This property gets a style that represents Railway3.
None
This property gets a style that represents Railway4.
This property gets a style that represents Railway4.
None
This property gets a style that represents StateBorder1.
This property gets a style that represents StateBorder1.
None
This property gets a style that represents River1.
This property gets a style that represents River1.
None
This property gets a style that represents River2.
This property gets a style that represents River2.
None
This property gets a style that represents Canal1.
This property gets a style that represents Canal1.
None
This property gets a style that represents ContestedBorder1.
This property gets a style that represents ContestedBorder1.
None
This property gets a style that represents ContestedBorder2.
This property gets a style that represents ContestedBorder2.
None
This property gets a style that represents DegreeLine1.
This property gets a style that represents DegreeLine1.
None
This property gets a style that represents Equator1.
This property gets a style that represents Equator1.
None
This property gets a style that represents RiverIntermittent1.
This property gets a style that represents RiverIntermittent1.
None
This property gets a style that represents Pipeline1.
This property gets a style that represents Pipeline1.
None
This property gets a style that represents Pipeline2.
This property gets a style that represents Pipeline2.
None
This property gets a style that represents Pipeline3.
This property gets a style that represents Pipeline3.
None
This property gets a style that represents Utility1.
This property gets a style that represents Utility1.
None
This property gets a style that represents Utility2.
This property gets a style that represents Utility2.
None
This property gets a style that represents Utility3.
This property gets a style that represents Utility3.
None
This method returns a LineStyle based on the parameters passed in.
This method returns a LineStyle based on the parameters passed in.
None
This overload draws a simple line with an optional round cap.
This method returns a LineStyle based on the parameters passed in.
This method returns a LineStyle based on the parameters passed in.
None
This overload draws a dashed line with an optional round cap.
This parameter is the center line color.
This paramter is the the center line width.
This parameter is the dash style for the center line.
This parameter defines whether you want a rounded end cap.
This method returns a LineStyle based on the parameters passed in.
This method returns a LineStyle based on the parameters passed in.
None
This overload draws a line with an inner and outer area and optional round cap.
You would use this for roads.
This parameter is the inner line color.
This parameter is the inner line width.
This parameter is the outer line color.
This parameter is the outer line width.
This parameter defines whether you want a rounded end cap.
This method returns a LineStyle based on the parameters passed in.
This method returns a LineStyle based on the parameters passed in.
None
This parameter is the inner line color.
This parameter is the inner line width.
This parameter is the inner line dash style.
This parameter is the outer line color.
This parameter is the outer line width.
This parameter is the outer line dash style.
This parameter defines whether you want a rounded end cap.
This method returns a LineStyle based on the parameters passed in.
This method returns a LineStyle based on the parameters passed in.
None
This overload is used to draw things like roads wth a solid centerline.
This parameter is the center line color.
This parameter is the center line width.
This parameter is the inner line color.
This parameter is the inner line width.
This parameter is the outer line color.
This parameter is the outer line width.
This parameter defines whether you want a rounded end cap.
This method returns a LineStyle based on the parameters passed in.
This method returns a LineStyle based on the parameters passed in.
None
This overload is used to draw things like roads wth a dashed centerline.
This parameter is the center line color.
This parameter is the center line width.
This parameter is the center line dash style.
This parameter is the inner line color.
This parameter is the inner line width.
This parameter is the inner line dash style.
This parameter is the outer line color.
This parameter is the outer line width.
This parameter is the outer line dash style.
This parameter defines whether you want a rounded end cap.
This enumeration determines the label placement when labeling point
features.
None
The label will be placed in the upper left, in relation to the point.
The label will be placed in the upper center, in relation to the point.
The label will be placed in the upper right, in relation to the point.
The label will be placed in the center right, in relation to the point.
The label will be placed in the center, in relation to the point.
The label will be placed in the center left, in relation to the point.
The label will be placed in the lower left, in relation to the point.
The label will be placed in the lower center, in relation to the point.
The label will be placed in the lower right, in relation to the point.
This class allows you to define how points are drawn on the canvas.
This class allows you to define how points are drawn on the canvas. There are
three main drawing types: bitmap, character, and symbol. The bitmap allows you to
represent each point with a bitmap. The character allows you to choose a font and an
index in the font so you can use that character for the point. This is especially helpful
with fonts like Wingdings that have many feature-style graphics. The symbol type is a
collection of simple geometric symbols that we have assembled to represent abstract
items on the map.
When you select a PointType, you need to be sure to set the various properties
associated with that type. The property names are prefixed to help you. For example, all
of the character-related properties are prefixed with "Character" and the symbol properties
follow a similar pattern.
This is a constructor for the class.
This is the default constructor. If you use this constructor, you should set the
various properties manually.
If you use this constructor, you should set the various properties manually.
Specifically, you will want to set the PointType, which allows you to choose between
bitmap, character and symbol as an option for displaying your points.
None
This is a constructor for the class.
This constructor is used for bitmap based points.
None
If you use this constructor, the PointStyle will be set to Bitmap.
This parameter is the GeoImage of the image you want to use to display the
point.
This is a constructor for the class.
This constructor is used for character based points.
None
If you use this constructor, the PointStyle will be set to Character.
This parameter is the font from which the character will be selected.
This parameter is the index of the character in the chosen font.
This parameter is the SolidBrush used to draw the character.
This is a constructor for the class.
This constructor is used for symbol-based points (such as squares and circles) with
only a fill.
None
If you use this constructor, the PointStyle will be set to Symbol.
This parameter is the type of symbol you want to use, such as a square or a
circle.
This parameter is the SolidBrush you want to use to fill the inside of the
symbol.
This parameter is the size you want the symbol to be.
This is a constructor for the class.
This constructor is used for symbol-based points (such as squares and circles) with
a fill and outline.
None
If you use this constructor, the PointStyle will be set to Symbol.
This parameter is the type of symbol you want to use, such as a square or a
circle.
This parameter is the SolidBrush you want to use to fill the inside of the
symbol.
This parameter is the Pen used to draw the outline of the symbol.
This parameter is the size you want the symbol to be.
This property gets and sets the type of point you want to draw.
This property gets the type of point you want to draw.
When using the PointStyle you choose between a bitmap, a font or a predefined symbol
to represent the point. Each of these options has corresponding properties on the point
symbol. If you set the type to character, then you need to set the properties that start
with "Character," such as "CharacterFont." The same is true for the symbol.
This property gets and sets the image used if the PointType property is
Bitmap.
This property gets the image used if the PointType property is Bitmap.
This property is where you can set the image for the points if the PointType is
Bitmap. It uses a GeoImage, so you can either reference a file or supply a
stream.
This property gets and sets the scale of the image you want to draw.
This property gets the scale of the image you want to draw.
This property allows you to scale the image up and down depending on how large or
small you want it. It can be changed dynamically, so you could change it at every scale
level to resize the bitmap based on the current scale. A scale of 1 would be the original size,
while a scale of 2 would double the size. A scale of .5 would reduce the size of the image by half,
and so on.
This property gets and sets the font that is used for the character if the
PointType is Character.
This property gets the font that is used for the character if the PointType is
Character.
This property allows you to set the font from which to select a character index if you choose the
Character PointType.
This property gets and sets the index position of the character you want to use
from the font you selected in the CharacterFont property.
This property gets the index position of the character you want to use from the
font you selected in the CharacterFont property.
You need to specify the index position of the character you want to use from the
font you selected. For example, if you choose 1, then we will use the first character in
the font you set in the CharacterFont property.
This property gets and sets the SolidBrush used to color the font character for
the point.
This property gets the SolidBrush used to color the font character for the
point.
This brush is used to draw the character. It is only used if the PointType is
Character. If you need a brush other than the SolidBrush, you should look in the
advanced property of the class.
This property gets and sets the type of symbol you want to use if the PointType
is Symbol.
This property gets the type of symbol you want to use if the PointType is
Symbol.
You can choose between a number of predefined symbols. The symbols are simple
geometric objects that are typically used for abstract representations on a map. If there is
a specific symbol you need that is not part of our symbol collection, you can submit it to us
and we will consider adding it.
This method draws the features on the canvas you provided.
This overridden method is called from the concrete public method Draw. In this
method, we take the features you passed in and draw them on the canvas you provided.
Each style (based on its properties) may draw each feature differently.
When overriding this method, consider each feature and its column data values. You can
use the full power of the GeoCanvas to do the drawing. If you need column data for a
feature, be sure to override the GetRequiredColumnNamesCore and add the columns you need
to the collection. In many of the styles, we add properties to allow the user to specify
which field they need; then, in the GetRequiredColumnNamesCore, we read that property and
add it to the collection.
None
In the event you attempt to call this method when the GeoCanvas's IsDrawing mode is false, it will throw an InvalidOperationException.
If you pass a null as the canvas, we will throw an ArgumentNullException.
If you pass a null as the features, we will throw an ArgumentNullException.
If symbolPen is null, we will throw an ArgumentNullException.
If symbolSolidBrush is null, we will throw an ArgumentNullException.
If characterSolidBrush is null, we will throw an ArgumentNullException.
If characterFont is null, we will throw an ArgumentNullException.
If you pass in a pointSymbolType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a pointType that is not defined in the enumeration, it will throw a ArgumentOutOfRangeException.
If you pass in a imageScale that is less or equal to 0, it will throw an ArgumentOutOfRangeException.
This parameter represents the features you want to draw on the canvas.
This parameter represents the canvas you want to draw the features on.
The labels will be drawn in the current layer only.
The labels will be drawn in all layers.
This method draws a sample feature on the canvas you provided.
This virtual method is called from the concrete public method Draw. In this
method, we draw a sample style on the canvas you provided. This is typically used to
display a legend or other sample area.
When implementing this virtual method, consider the canvas size and draw the sample
image appropriately. You should keep in mind that the sample typically shows up on a
legend.
None
If you pass a null as the canvas, we will throw an ArgumentNullException.
In the event you attempt to call this method when the GeoCanvas's IsDrawing mode is false, it will throw an InvalidOperationException.
This parameter represents the canvas you want to draw the features on.
This class provides commonly-used GeoPointStyles and some methods to
create various kinds of GeoPointstyles. A GeoStyle is a kind of
sheet used to render the map.
The GeoStyle is a very important concept. MapSuite provides three
kinds of styles: GeoAreaStyle,
GeoLineStyle, and GeoPointStyle.
GeoAreaStyle is used to render area-type data on the map,
GeoLineStyle is used to render line-type data on the map,
GeoPointStyle is used to render point-type data on the map.
Get the commonly-used PointStyle to render a city.
Get the commonly-used PointStyle to render a city.
Get the commonly-used PointStyle to render a city.
Get the commonly-used PointStyle to render a city.
Get the commonly-used PointStyle to render a city.
Get the commonly-used PointStyle to render a city.
Get the commonly-used PointStyle to render a city.
Get the commonly-used PointStyle to render a capital.
Get the commonly-used PointStyle to render a capital.
Get the commonly-used PointStyle to render a capital.
Static API to create a point style.
This parameter determines the PointStyle symbol type.
This parameter determines the PointStyle fill color.
This parameter determines the PointStyle size.
The created point style.
Static API to create a point style.
This parameter determines the PointStyle symbol type.
This parameter determines the PointStyle fill color.
This parameter determines the PointStyle outline color.
This parameter determines the PointStyle outline width.
This parameter determines the PointStyle size.
The created point style.
Static API to create a point style.
This parameter determines the PointStyle symbol type.
This parameter determines the PointStyle fill color.
This parameter determines the PointStyle outline color.
This parameter determines the PointStyle size.
The created point style.
Static API to create a circle point style.
This parameter determines the PointStyle fill color.
This parameter determines the PointStyle size.
The created point style.
Static API to create a circle point style.
This parameter determines the PointStyle fill color.
This parameter determines the PointStyle size.
This parameter determines the PointStyle outline color.
This parameter determines the PointStyle outline width.
The created point style.
Static API to create a circle point style.
This parameter determines the PointStyle fill color.
This parameter determines the PointStyle size.
This parameter determines the PointStyle outline color.
The created point style.
Static API to create a square point style.
This parameter determines the PointStyle fill color.
This parameter determines the PointStyle size.
The created point style.
Static API to create a square point style.
This parameter determines the PointStyle fill color.
This parameter determines the PointStyle size.
This parameter determines the PointStyle outline color.
The created point style.
Static API to create a square point style.
This parameter determines the PointStyle fill color.
This parameter determines the PointStyle size.
This parameter determines the PointStyle outline color.
This parameter determines the PointStyle outline width.
The created point style.
Static API to create a star point style.
This parameter determines the PointStyle fill color.
This parameter determines the PointStyle size.
The created point style.
Static API to create a star point style.
This parameter determines the PointStyle fill color.
This parameter determines the PointStyle size.
This parameter determines the PointStyle outline color.
The created point style.
Static API to create a star point style.
This parameter determines the PointStyle fill color.
This parameter determines the PointStyle size.
This parameter determines the PointStyle outline color.
This parameter determines the PointStyle outline width.
The created point style.
Static API to create a triangle point style.
This parameter determines the PointStyle fill color.
This parameter determines the PointStyle size.
The created point style.
Static API to create a triangle point style.
This parameter determines the PointStyle fill color.
This parameter determines the PointStyle size.
This parameter determines the PointStyle outline color.
The created point style.
Static API to create a triangle point style.
This parameter determines the PointStyle fill color.
This parameter determines the PointStyle size.
This parameter determines the PointStyle outline color.
This parameter determines the PointStyle outline width.
The created point style.
Static API to create a compound circle point style.
This parameter determines the outer circle's PointStyle fill color.
This parameter determines the outer circle's PointStyle size.
This parameter determines the outer circle's PointStyle outline color.
This parameter determines the outer circle's PointStyle outline width.
This parameter determines the inner circle's PointStyle fill color.
This parameter determines the inner circle's PointStyle size.
The created point style.
Static API to create a compound circle point style.
This parameter determines the outer circle's PointStyle fill color.
This parameter determines the outer circle's PointStyle size.
This parameter determines the outer circle's PointStyle outline color.
This parameter determines the outer circle's PointStyle outline width.
This parameter determines the inner circle's PointStyle fill color.
This parameter determines the inner circle's PointStyle outline color.
This parameter determines the inner circle's PointStyle outline width.
This parameter determines the inner circle's PointStyle size.
The created point style.
Static API to create a compound circle point style.
This parameter determines the outer circle's pointstyle symbol type.
This parameter determines the outer circle's PointStyle fill color.
This parameter determines the outer circle's PointStyle size.
This parameter determines the outer circle's PointStyle outline color.
This parameter determines the outer circle's PointStyle outline width.
This parameter determines the inner circle's pointstyle symbol type.
This parameter determines the inner circle's PointStyle fill color.
This parameter determines the inner circle PointStyle size.
This parameter determines the inner circle's PointStyle outline color.
This parameter determines the inner circle's PointStyle outline width.
The created point style.
This enumeration defines the different types of PointSymbols that can be drawn.
None
Draws a circle.
Draws a square.
Draws a triangle.
Draws an equal-legged cross.
Draws a diamond.
Draws a variation of a diamond.
Draws a star.
Draws a variation of a star.
This enumeration defines how a PointSymbol will be drawn.
Depending on which of the members you choose, there are different properties that
need to be set on the PointStyle.
The point will be drawn using a symbol.
The point will be drawn using a bitmap.
The point will be drawn using a font character.
Labeling Location Mode for polygon
Use the centroid as polygon's labeling location
Use the centroid as polygon's labeling location
Use the boundingbox center as polygon's labeling location
This abstract class encapsulates the labeling position logic. It is inherited
by other styles, such as the TextSytle.
This abstract class is meant to be inherited by other classes and specialized to
meet the needs of various labelers.
This is the default constructor for the class.
None
None
Gets a value represents a keyValuepair which is a feature id and label position of the feature
This property gets and sets the mode that determines how to locate polygon's labeling
This property gets the mode that determines how to locate polygon's labeling
There are two ways to handle polygon's labeling location. The first is to use polygon's
centroid as the labeling location, the second way is to use polygon's boungdingbox
center as the labeling location.
This property gets and sets the X pixel offset used for drawing each feature.
This property gets the X pixel offset used for drawing each feature.
This property allows you to specify an X offset. When combined with a Y offset, it is
useful to allow you to achieve effects such as drop shadows, etc. There also may be times
when you need to modify the location of feature data so as to better align it with raster
satellite data.
This property gets and sets the Y pixel offset used for drawing each feature.
This property gets the Y pixel offset used for drawing each feature.
This property allows you to specify a Y offset. When combined with an X offset, it is
useful to allow you to achieve effects such as drop shadows, etc. There also may be times
when you need to modify the location of feature data so as to better align it with raster
satellite data.
This property gets and sets the grid size used for deterministic
labeling.
This property gets the grid sized used for deterministic labeling.
The grid size determines how many labels will be considered as candidates for drawing. The
smaller the grid size, the higher the density of candidates. Making the grid size too small
may have a performance impact.
This property returns a collection of area styles, allowing you to stack multiple
area styles on top of each other.
This property returns a collection of area styles.
Using this collection you can stack multiple area styles on top of each other.
When we draw the feature we will draw them in order in the collection. You can use
these stacks to create drop shadow effects along with multiple colored outlines
etc.
This property gets and sets the rotation angle of the item being
positioned.
This property gets the rotation angle of the item being positioned.
None
This property gets and sets whether the labeler will try to fit the label as best as it
can on the visible part of a line on the screen.
This property gets whether the labeler will try to fit the label as best as it can on
the visible part of a line on the screen.
A label will normally be displayed in the center of a line. If only a small piece
of the line is visible on the screen, we cannot see it's label by default. If we set this
property to ture though, the label will be displayed in the center of that piece in screen.
This property gets and sets whether the labeler will try to fit the label as best as it
can on the visible part of a polygon on the screen.
This property gets whether the labeler will try to fit the label as best as it can on
the visible part of a polygon on the screen.
A label will normally be displayed in the center of a polygon. If only a small piece
of the polygon is visible on the screen, we cannot see it's label by default. If we set this
property to ture though, the label will be displayed in the center of that piece in screen.
This property gets and sets the format that will be applied to the text.
This property gets the format that will be applied to the text.
With this property, you can apply formats to the text that is retrieved from the
feature.
This property gets and sets the format that will be applied to the text which can be parsed to double type.
This property gets the format that will be applied to the text which can be parsed to double type..
With this property, you can apply formats to the text that is retrieved from the
feature.
This property gets and sets the format that will be applied to the text which can be parsed to DateTime type.
This property gets the format that will be applied to the text which can be parsed to DateTime type..
With this property, you can apply formats to the text that is retrieved from the
feature.
This property gets and sets the SolidBrush that will be used to draw the
text.
This property gets the SolidBrush that will be used to draw the text.
You can use this property to draw a solid color; however, if you need to use other
brushes, you can access them through the Advanced property of this class.
This property gets and sets the font that will be used to draw the text.
This property gets the font that will be used to draw the text.
None
This property gets and sets the halo pen you may use to draw a halo around the
text.
This property gets the halo pen you may use to draw a halo around the
text.
The halo pen allows you to draw a halo effect around the text, making it stand out
more on a busy background.
This property gets and sets the column name in the data that you want to get the text from.
This property gets the column name in the data that you want to get the text from.
This property is used when retrieving text from a feature. You will want to
specify the name of the column that contains the text you want to draw.
This property gets and sets the AreaStyle used to draw a mask behind the
text.
This property gets the AreaStyle used to draw a mask behind the text.
A mask is a plate behind the text that is rectangular and slightly larger than
the width and height of the text. It allows the label to stand out well on a busy
background. You can also try the HaloPen property instead of the mask, if the mask effect is
too pronounced.
This property gets and sets the margin around the text that will be used for the mask.
This property gets the margin around the text that will be used for the mask.
This determines how much larger the mask is than the text, in pixels.
This property gets the advanced properties of the class.
This property gets the advanced properties of the class.
The advanced properties have been consolidated in the Advanced property. This way,
the standard options are more easily visible and the advanced options are hidden
away.
This property gets and sets the rule that determines how duplicate labels are
handled.
This property gets the rule that determines how duplicate labels are
handled.
There are three ways to handle duplicate label names. The first is to suppress
all duplicates, which means if there are two street segments with the same name then
only one will be drawn. The second way is to suppress duplicate labels only if they are
in one quarter of the screen. In this way, the screen will be divided into four
quadrants, and if the two duplicate labels are in different quadrants, then they will both
draw. The last way is to draw all duplicates.
This property gets and sets the rule that determines how overlapping labels are
handled.
This property gets the rule that determines overlapping labels are handled.
This defines the rules for label overlapping. Currently, either we allow overlapping or we
do not. In the future, we may extend this to allow some percentage of partial
overlapping.
This property gets and sets whether line labels are allowed to spline around curved
lines.
This property gets whether line labels are allowed to spline around curved
lines.
This property will allow the labeler to spline the label around curved lines.
This is useful for curved streets that need to be labeled. This can have a considerable
performance impact, so we suggest you experiment with it to ensure it can meet your
needs.
This property gets and sets whether the labeler will allow carriage returns to be
inserted.
This property gets whether the labeler will allow carriage returns to be
inserted.
This property enables the labeler to split long labels into multiple lines if need be.
For instance, if you have a lake whose name is "Southern Homestead Lake," then the labeler
may try and break the name onto multiple lines in order to better label the feature.
This property gets and sets whether a partial label in the current extent will be drawn or not.
This property provides a solution to the "cut off" label issue in Map Suite Web Edition and Desktop Edition, which occurs when multiple
tiles exist. When you set this property to true, any labels outside of the current extent will not be drawn.
This property forces the labeler to split long labels into multiple lines. For instance,
if you have a lake whose name is "Southern Homestead Lake," then the labeler will break
the name onto multiple lines in order to better label the feature.
This property gets and sets whether the labeler will force carriage returns to be
inserted.
This property gets whether the labeler will force carriage returns to be
inserted.
This property gets and sets whether the labeler will try to fit the label as best as
it can within the boundary of a polygon.
This property gets whether the labeler will try to fit the label as best as
it can within the boundary of a polygon.
None
This property gets and sets whether the labeler will label every part of a multi-part
polygon.
This property gets whether the labeler will label every part of a multi-part
polygon.
In some cases, you may want to label all of the parts of a multi-part polygon, while in
other cases you may not. For example, you may have a series of lakes where you do want to
label each polygon. In another case, you may have a country with many small islands and
in this case you only want to label the largest polygon.
This property gets and sets whether the labeler will label every part of a multi-part
line.
This property gets whether the labeler will label every part of a multi-part
line.
In some cases, you may want to label all of the parts of a multi-part line, while in
other cases you may not.
This property gets and sets whether we should force horizontal labeling for lines.
This property gets whether we should force horizontal labeling for lines.
Normally, lines are labeled in the direction of the line. There may be some cases,
however, when you want to have the line labeled horizontally regardless of the line's direction.
In such a case, you can set this property to force the lines to be labeled horizontally.
This property gets and sets the factor to which it will keep the label inside of
the polygon.
This property gets the factor to which it will keep the label inside of the
polygon.
None
This property gets and sets the ratio required for the label length to match the
line length.
This property gets the ratio required for the label length to match the line
length.
This allows you to suppress labels where the label length would greatly exceed
the line length. For example, if you set the ratio to 1, then the label will be
suppressed if it is longer than the line. If the ratio is lower, then the label would
need to be shorter than the line. If higher, then the label is allowed to run past the
length of the line. This allows you to control the look of things like road labeling.
This property gets and sets whether the labeler will attempt to change the label
position to avoid overlapping for point-based features.
This property gets whether the labeler will attempt to change the label position to
avoid overlapping for point-based features.
The positioning of point labels is mainly determined by the PointPlacement
property. This allows you place the text to the right, top, bottom, etc. of the point. In
some cases, placing the text in a certain place will cause many labels to be suppressed
when the points are dense. This property allows you to override the PointPlacement
property and allow the labeler to try other locations, if the default location would
cause the label to be suppressed.
This property gets and sets the location of the label for point features relative
to the point.
This property gets the location of the label for point features relative to the
point.
This property allows you to choose where the labels are created relative to the
point. For example, you can set the property to RightCenter, which would ensure that all
labels are placed to the right of and vertically centered with the point. Different kinds of point layers
can be positioned differently. If the point layer is dense and position is not a main
concern, then you can try the BestPlacement property. That property overrides this
property and tries to fit the label in the best location so that the minimum number of
labels are suppressed due to overlapping issues.
Gets or sets the SplineType for labeling.
Gets or sets the DrawingLavel for this style.
This method draws the features on the canvas you provided.
This overridden method is called from the concrete public method Draw. In this
method, we take the features you passed in and draw them on the canvas you provided.
Each style (based on its properties) may draw each feature differently.
When overriding this method, consider each feature and its column data values. You can
use the full power of the GeoCanvas to do the drawing. If you need column data for a
feature, be sure to override the GetRequiredColumnNamesCore and add the columns you need
to the collection. In many of the styles, we add properties to allow the user to specify
which field they need; then, in the GetRequiredColumnNamesCore, we read that property and
add it to the collection.
None
In the event you attempt to call this method when the GeoCanvas's IsDrawing mode is false, it will throw an InvalidOperationException.
If you pass a null as the canvas, we will throw an ArgumentNullException.
If you pass a null as the features, we will throw an ArgumentNullException.
This parameter represents the features you want to draw on the canvas.
This parameter represents the canvas you want to draw the features on.
The labels will be drawn in the current layer only.
The labels will be drawn in all layers.
This abstract method is called from the concrete public method
GetRequiredFieldNames. In this method, we return the column names that are required for
the style to draw the feature properly. For example, if you have a style that colors
areas blue when a certain column value is over 100, then you need to be sure you include
that column name. This will ensure that the column data is returned to you in the
feature when it is ready to draw.
In many of the styles, we add properties to allow the user to specify which field they
need; then, in the GetRequiredColumnNamesCore, we read that property and add it to the
collection.
This method returns the column data for each feature that is required for the
style to properly draw.
This method returns a collection of the column names that it needs.
If columnName is null, we will throw an ArgumentNullException.
This method filters the features based on the grid size to facilitate
deterministic labeling.
This method returns the features that will be considered for labeling.
This method is the concrete wrapper for the abstract method
FilterFeaturesCore. In this method, we filter the features based on the grid size to
facilitate deterministic labeling.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter represents the features that will be filtered.
This parameter is the canvas that will be used for calculating font sizes.
This method filters the features based on the grid size to facilitate
deterministic labeling.
This method returns the features that will be considered for labeling.
This overridden method is called from the concrete public method FilterFeatures.
In this method, we filter the features based on the grid size to facilitate
deterministic labeling.
This parameter represents the features that will be filtered.
This parameter is the canvas that will be used for calculating font sizes.
This method is the concrete wrapper for the abstract method
GetLabelingCanidatesCore. This method determines if the feature passed in is a good
candidate to be labeled based on the labeling properties set.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
A collection of labeling candidates.
This method determines whether the specified feature is a good candidate to be labeled,
based on the labeling properties set.
This parameter is the feature that will be considered as a labeling
candidate.
This parameter is the canvas that will be used to draw the feature. This method will not
draw on this canvas, but rather will use it to determine font size, etc.
This overridden method is called from the concrete public method
GetLabelingCanidate. In this method, we take the feature you passed in and determine if
it is a candidate for labeling. If it is, then we will add it to the return collection.
The algorithm to determine whether the label will draw is complex and determined by a number
of properties and factors.
This method determines whether the specified feature is a good candidate to be labeled,
based on the labeling properties set.
A collection of labeling candidates.
This parameter is the feature that will be considered as a labeling
candidate.
This parameter is the canvas that will be used to draw the feature. This method will not
draw on this canvas, but rather will use it to determine font size, etc.
This method will determine whether the label will be suppressed because it is a
duplicate.
This method returns whether the label will be suppressed as a duplicate.
This method is the concrete wrapper for the abstract method
CheckDuplicateCore. This method will determine if the label will be suppressed
because it is a duplicate. It also takes into consideration the duplicate rules
for the class. So, for example, if we set to allow duplicates, then the method will
always return false. If the class is set to not allow duplicates and this label is
a duplicate, then it will return true and be suppressed.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter is the labeling candidate that will be checked to determine if it is a
duplicate.
This parameter is the canvas used for calculations.
The labels will be drawn in the current layer only.
The labels will be drawn in all layers.
This overridden method is called from the concrete public method CheckDuplicate.
This method will determine if the label will be suppressed
because it is a duplicate. It also takes into consideration the duplicate rules
for the class. So, for example, if we set to allow duplicates, then the method will
always return false. If the class is set to not allow duplicates and this label is
a duplicate, then it will return true and be suppressed.
This method returns whether the label will be suppressed as a duplicate.
This method will determine if the label will be suppressed because it is a
duplicate.
This parameter is the labeling candidate that will be checked to determine if it is a
duplicate.
This parameter is the canvas that will be used for calculations.
The labels will be drawn in the current layer only.
The labels will be drawn in all layers.
This method will determine if the label will be suppressed because of
overlapping.
This method returns whether the label will be suppressed because of overlapping.
This method is the concrete wrapper for the abstract method
CheckOverlappingCore. This method will determine if the label will be suppressed
because it is overlapping another label. It also takes into consideration the
overlapping rules for the class. So, for example, if we set to allow overlap, then the
method will always return false. If the class is set to not allow overlap and
this label is overlapping, then it will return true and be suppressed.
As this is a concrete public method that wraps a Core method, we reserve the right
to add events and other logic to pre- or post-process data returned by the Core version
of the method. In this way, we leave our framework open on our end, but also allow you
the developer to extend our logic to suit your needs. If you have questions about this,
please contact our support team as we would be happy to work with you on extending our
framework.
This parameter is the labeling candidate that will be checked to determine if it is
overlapping.
This parameter is the canvas that will be used for calculations.
The labels will be drawn in the current layer only.
The labels will be drawn in all layers.
This method will determine whether the label will be suppressed because of
overlapping.
This method returns whether the label will be suppressed because of overlapping.
This overridden method is called from the concrete public method
CheckOverlapping. This method will determine if the label will be suppressed
because it is overlapping another label. It also takes into consideration the
overlapping rules for the class. So, for example, if we set to allow overlap, then the
method will always return false. If the class is set to not allow overlap and
this label is overlapping, then it will return true and be suppressed.
This parameter is the labeling candidate that will be checked to determine if it is overlapping.
This parameter is the canvas that will be used for calculations.
The labels will be drawn in the current layer only.
The labels will be drawn in all layers.
This overridden method can be called by this class and its sub concrete classes.
In this method, we take the canvas and the feature in world coordinates and convert it to
screen coordinates.
This method converts a feature in world coordinates to screen coordinates.
A screen coordinate shape.
This parameter is the feature to be converted from world coordinates.
This parameter is the canvas that will be used to convert the world coordinate feature to a screen coorindate feature.
This class is used to draw area features.
You should use this class to draw area features. You can specify a base color and the number of
colors you want based on that color to draw the interior, and you can specify an outline pen
with which to draw the border. You can optionally choose to
use only the outline pen or the fill brush to generate different effects.
This is the constructor the for the class. If you use this constructor, then you need to set
the required properties manually.
This is the default constructor.
None
None
This is the constructor the for the class.
This is the constructor for this class.
None
None.
This parameter represents the outline pen that will be used on the style.
This parameter represents the base color that will be used in the class.
This prameter represents how many colors will be used in the style, based on the
base color.
This is the constructor the for the class.
This is the constructor for this class.
None
None.
This parameter represents the outline pen that will be used on the style.
This parameter represents the base color that will be used in the class.
This prameter represents how many colors will be used in the style, based on the
base color.
This parameter describes the PenBrushDrawingOrder that will be used when drawing the area type feature.
This gets or sets the number of colors in the style.
This gets or sets the number of colors in the style.
None.
This gets the cached style in the class.
This gets the cached style in the class.
This gets the cached style in the class. The key of the style in the cache is
feature.Id & feature.GetHashCode().
This gets or sets the base color of the style.
This gets or sets the base color of the style.
None.
This method clears the cached style in the cache.
None.
This method clears the cached style in the cache.
This method draws the features on the canvas you provided.
This overridden method is called from the concrete public method Draw. In this
method, we take the features you passed in and draw them on the canvas you provided.
Each style (based on its properties) may draw each feature differently.
When overriding this method, consider each feature and its column data values. You can
use the full power of the GeoCanvas to do the drawing. If you need column data for a
feature, be sure to override the GetRequiredColumnNamesCore and add the columns you need
to the collection. In many of the styles, we add properties to allow the user to specify
which field they need; then, in the GetRequiredColumnNamesCore, we read that property and
add it to the collection.
None
In the event you attempt to call this method when the GeoCanvas's IsDrawing mode is false, it will throw an InvalidOperationException.
If you pass a null as the canvas, we will throw an ArgumentNullException.
If you pass a null as the features, we will throw an ArgumentNullException.
If OutlinePen is null, we will throw an ArgumentNullException.
If FillSolidBrush is null, we will throw an ArgumentNullException.
This parameter represents the features you want to draw on the canvas.
This parameter represents the canvas you want to draw the features on.
The labels will be drawn in the current layer only.
The labels will be drawn in all layers.
This class stores simple label information used in the PositionStyle.
This class is used in the PositionStyle for storing simple label infromation. It
has a limited scope.
This is a constructor for the class.
This is the default constructor. If you use this constructor, then you need to
manually set the properties necessary for this class.
None
If you use this constructor, then you need to manually set the properties
necessary for this class.
This is a constructor for the class.
This constructor allows you to pass in the original text and the simple polygon
in screen coordinates.
None
None
This parameter is the text for the label.
This parameter is a polygon in screen coordinates that represents the area of the
label.
This property gets and sets the text for the label.
This property gets the text for the label.
None
This property gets and sets the polygon in screen coordinates that represents the
area of the label.
This property gets the polygon in screen coordinates that represents the area of
the label.
None
This enumeration represents the spline type for labeling.
Default SplineType provided in PositionStyle.
This SplineType will label the text in a line type without any spling effects, this kinds of type will gain
better performance compare to StandardSplining.
This SplineType will label the text in a standard Spline way, it will have much better outlook in some situations
while it will lose slightly some performance.
This SplineType will force the labe text using Spline way, otherwise the label won't display.Usually it is just used for Asian languages
like Chinese or Japanese.
This class is used to label features on the map.
The text style is used for labeling things on the map. There are a great number
of properties that give you a lot of control over how things are labeled. At the core,
you need to set the font you want to use to label, the TextSolidBrush to define the
color and look of the text, and the TextColumnName you want to use for the text to
draw. Each of the additional properties can be reviewed in the help or samples.
This is a constructor for the class.
This is the default constructor for the class. If you use this constructor, you
should set the required properties manually.
None
If you use this constructor, you should set the required properties
manually.
This is a constructor for the class.
None
This constructor allows you to pass in the minimum required fields for labeling.
You may want to explore the other properties to control how your labels look.
This constructor allows you to pass in the minimum required fields for labeling.
You may want to explore the other properties to control how your labels look.
This parameter is the name of the column that contains the text you want to draw.
This parameter is the font used to draw the text.
This parameter is the TextSolidBrush used to draw the text.
This property gets and sets the X pixel offset for drawing each feature.
This property gets the X pixel offset for drawing each feature.
This property allows you to specify an X offset. When combined with a Y offset, it is
useful to allow you to achieve effects such as drop shadows, etc. There also may be times
when you need to modify the location of feature data so as to better align it with raster
satellite data.
This property gets and sets the Y pixel offset for drawing each feature.
This property gets the Y pixel offset for drawing each feature.
This property allows you to specify a Y offset. When combined with an X offset, it is
useful to allow you to achieve effects such as drop shadows, etc. There also may be times
when you need to modify the location of feature data so as to better align it with raster
satellite data.
This property gets and sets whether the labeler will try to fit the label as best as it
can on the visible part of a line on the screen.
This property gets whether the labeler will try to fit the label as best as it can on
the visible part of a line on the screen.
A label will normally be displayed in the center of a line. If only a small piece
of the line is visible on the screen, we cannot see it's label by default. If we set this
property to ture though, the label will be displayed in the center of that piece in screen.
This property gets and sets whether the labeler will try to fit the label as best as it
can on the visible part of a polygon on the screen.
This property gets whether the labeler will try to fit the label as best as it can on
the visible part of a polygon on the screen.
A label will normally be displayed in the center of a polygon. If only a small piece
of the polygon is visible on the screen, we cannot see it's label by default. If we set this
property to ture though, the label will be displayed in the center of that piece in screen.
This property returns a collection of area styles allowing you to stack multiple
area styles on top of each other.
This property returns a collection of area styles.
Using this collection, you can stack multiple area styles on top of each other.
When we draw the features, we will draw them in order that they exist in the collection. You can use
these stacks to create drop shadow effects, multiple colored outlines,
etc.
This property gets and sets the rotation angle of the item being
positioned.
This property gets the rotation angle of the item being positioned.
None
This property gets and sets the format that will be applied to the text.
This property gets the format that will be applied to the text.
With this property, you can apply formats to the text that is retrieved from the
feature.
This property gets and sets the format that will be applied to the text which can be parsed to double type.
This property gets the format that will be applied to the text which can be parsed to double type..
With this property, you can apply formats to the text that is retrieved from the
feature.
This property gets and sets the format that will be applied to the text which can be parsed to DateTime type.
This property gets the format that will be applied to the text which can be parsed to DateTime type..
With this property, you can apply formats to the text that is retrieved from the
feature.
This property gets and sets the SolidBrush that will be used to draw the
text.
This property gets the SolidBrush that will be used to draw the text.
You can use this property to draw a solid color; however, if you need to use other
brushes, you can access them through the Advanced property of this class.
This property gets and sets the font that will be used to draw the text.
This property gets the font that will be used to draw the text.
None
This property gets and sets the halo pen you may use to draw a halo around the
text.
This property gets the halo pen you may use to draw a halo around the
text.
The halo pen allows you to draw a halo effect around the text, making it stand out
more on a busy background.
This property gets and sets the column name in the data that you want to get the text from.
This property gets the column name in the data that you want to get the text from.
This property is used when retrieving text from a feature. You will want to
specify the name of the column that contains the text you want to draw.
This property gets and sets the AreaStyle used to draw a mask behind the
text.
This property gets the AreaStyle used to draw a mask behind the text.
A mask is a plate behind the text that is rectangular and slightly larger than
the width and height of the text. It allows the label to stand out well on a busy
background. You can also try the HaloPen property instead of the mask, if the mask effect is
too pronounced.
This property gets and sets the margin around the text that will be used for the mask.
This property gets the margin around the text that will be used for the mask.
This determines how much larger the mask is than the text, in pixels.
This property gets the advanced properties of the class.
This property gets the advanced properties of the class.
The advanced properties have been consolidated in the Advanced property. This way,
the standard options are more easily visible and the advanced options are hidden
away.
This property gets and sets whether we should force horizontal labeling for lines.
This property gets whether we should force horizontal labeling for lines.
Normally, lines are labeled in the direction of the line. There may be some cases,
however, when you want to have the line labeled horizontally regardless of the line's direction.
In such a case, you can set this property to force the lines to be labeled horizontally.
Gets or sets the SplineType for labeling.
Gets or sets the DrawingLavel for this style.
Gets a value represents a keyValuepair which is a feature id and label position of the feature
This method draws a sample feature on the canvas you provided.
This virtual method is called from the concrete public method Draw. In this
method, we draw a sample style on the canvas you provided. This is typically used to
display a legend or other sample area.
When implementing this virtual method, consider the canvas size and draw the sample
image appropriately. You should keep in mind that the sample typically shows up on a
legend.
None
If you pass a null as the canvas, we will throw an ArgumentNullException.
In the event you attempt to call this method when the GeoCanvas's IsDrawing mode is false, it will throw an InvalidOperationException.
This parameter represents the canvas you want to draw the features on.
The class provides commonly-used TextStyles and some methods to
create various kinds of TextStyles. A TextStyle is a kind of
sheet used to render a font on the map.
Get the commonly-used city TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used city TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used city TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used city TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used city TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used city TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used city TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used capital TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used capital TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used capital TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used nodata TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used water TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used water TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used military TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used wildlife TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used state TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used state TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used swamp TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used swamp TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used urban TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used urban TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used country TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used country TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used county TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used county TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used antarctical TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used evergreen TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used evergreen TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used grass TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used waterIntermittent TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used sand TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used seaice TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used snowice TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used tundra TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used crop TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used forest TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
The column name in the DBF that contains the text you wish to display on the label.
Get the commonly-used park TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used localroad TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used localroad TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used localroad TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used localroad TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used secondary road TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used secondary road TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used major street TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used major street TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used major street TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used major road TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used major road TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used major road TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used major road TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used highway TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used highway TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used highway TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used highway TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used highway TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used interstate TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used interstate TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used interstate TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used interstate TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used internationalBorder TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used internationalBorder TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used railway TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used railway TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used railway TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used railway TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used state border TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used state river TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used state river TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used state canal TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used state contested border TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used state contested border TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used state degree line TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used state equator TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used river intermittent TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used pipeline TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used pipeline TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used pipeline TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used utility TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used utility TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get the commonly-used utility TextStyle based on the given columnName point-type data.
The desired commonly-used Textstyle.
Get simple TextStyle.
The desired TextStyle.
The string stands for the column name.
The string stands for the font family name. For example : "Arial".
The float number stands for the font size.
The DrawingFontStyles used to set the style of the font.
The GeoColor used to set the font color.
Get simple TextStyle.
The desired TextStyle.
The string stands for the column name.
The string stands for the font family name. For example : "Arial".
The float number stands for the font size.
The DrawingFontStyles used to set the style of the font.
The GeoColor used to set the font color.
The float value stands for the xOffset of the font on the map in pixel
The float value stands for the yOffset of the font on the map in pixel
Get simple TextStyle.
The desired TextStyle.
The string stands for the column name.
The string stands for the font family name. For example : "Arial".
The float number stands for the font size.
The DrawingFontStyles used to set the style of the font.
The GeoColor used to set the font color.
The GeoColor used to set the halopen color.
The float value to set the halopen width value.
Get simple TextStyle.
The desired TextStyle.
The string stands for the column name.
The string stands for the font family name. For example : "Arial".
The float number stands for the font size.
The DrawingFontStyles used to set the style of the font.
The GeoColor used to set the font color.
The GeoColor used to set the halopen color.
The float value to set the halopen width value.
The float value stands for the xOffset of the font on the map in pixel
The float value stands for the yOffset of the font on the map in pixel
Get simple TextStyle.
The desired TextStyle.
The string stands for the column name.
The string stands for the font family name. For example : "Arial".
The float number stands for the font size.
The DrawingFontStyles used to set the style of the font.
The GeoColor used to set the font color.
The GeoColor used to set the mask fill color.
Get simple TextStyle.
The desired TextStyle.
The string stands for the column name.
The string stands for the font family name. For example : "Arial".
The float number stands for the font size.
The DrawingFontStyles used to set the style of the font.
The GeoColor used to set the font color.
The GeoColor used to set the mask fill color.
The float value stands for the xOffset of the font on the map in pixel
The float value stands for the yOffset of the font on the map in pixel
Get simple TextStyle.
The desired TextStyle.
The string stands for the column name.
The GeoFont used to set the font of the text.
The GeoSolidBrush used to set the brush of the text.
The areaStyle used as mask of of the TextStyle.
The float value stands for the xOffset of the font on the map in pixel
The float value stands for the yOffset of the font on the map in pixel
Get simple TextStyle.
The desired TextStyle.
The string stands for the column name.
The string stands for the font family name. For example : "Arial".
The float number stands for the font size.
The DrawingFontStyles used to set the style of the font.
The GeoColor used to set the font color.
The GeoColor used to set the mask pen color.
The float value used to set the mask pen size.
Get simple TextStyle.
The desired TextStyle.
The string stands for the column name.
The string stands for the font family name. For example : "Arial".
The float number stands for the font size.
The DrawingFontStyles used to set the style of the font.
The GeoColor used to set the font color.
The GeoColor used to set the mask pen color.
The float value used to set the mask pen size.
The float value stands for the xOffset of the font on the map in pixel
The float value stands for the yOffset of the font on the map in pixel
This class represents a candidate with world center point information for labeling.
This class is used in the labeling system. We keep track of
every potential label in this class as it goes through the labeling rules.
This property gets or sets the Center Point position in world Coordinate system.
This is a default constructor for the class.
None
If you use this constructor, then you should set the applicable properties
manually.
This is a constructor for the class.
This constructor allows you to pass in the text of the label.
None
None
This parameter represents the text of the label before it is potentially
modified.
This is a constructor for the class.
This constructor allows you to pass in the text of the label as well as the world center
point.
None
None
This parameter represents the text of the label before it is potentially
modified.
This parameter is the center of the polygon (in world coordinates) representing the area to
be labeled.
map suite license status order by the eval invalid then full invalid then eval valid then full valid.
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.
Looks up a localized string similar to The evaluation edition has not been installed on the machine, please go to Map Suite Product Center to start evaluation or activate it..
Looks up a localized string similar to The evaluation has expired. Please go to Map Suite Product Center or contact ThinkGeo for purchasing option or an extension to the trial..