User Tools

Site Tools


thinkgeo.mapsuite.core.feature

This is an old revision of the document!


Table of Contents

ThinkGeo.MapSuite.Core.Feature

<!– Class –> 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.

Inheritance Hierarchy

Members Summary

Public Constructors

Name Parameters DeclaringType Summary
Public MethodFeature
Public MethodFeature BaseShape This method is the constructor for the Feature.
Public MethodFeature Byte[] This method is the constructor for the Feature.
Public MethodFeature Byte[], String This method is the constructor for the Feature.
Public MethodFeature String This method is the constructor for the Feature.
Public MethodFeature String, String This method is the constructor for the Feature.
Public MethodFeature BaseShape, IDictionary<String, String> This method is the constructor for the Feature.
Public MethodFeature BaseShape, IEnumerable<String>
Public MethodFeature String, String, IDictionary<String, String> This method is the constructor for the Feature.
Public MethodFeature String, String, IEnumerable<String>
Public MethodFeature Byte[], String, IEnumerable<String> This method is the constructor for the Feature.
Public MethodFeature Byte[], String, IDictionary<String, String> This method is the constructor for the Feature.
Public MethodFeature Vertex This method is the constructor for the Feature.
Public MethodFeature Vertex, String This method is the constructor for the Feature.
Public MethodFeature Vertex, String, IEnumerable<String> This method is the constructor for the Feature.
Public MethodFeature Vertex, String, IDictionary<String, String>
Public MethodFeature Double, Double This method is the constructor for the Feature.
Public MethodFeature Double, Double, String This method is the constructor for the Feature.
Public MethodFeature Double, Double, String, IEnumerable<String> This method is the constructor for the Feature.
Public MethodFeature Double, Double, String, IDictionary<String, String>

Protected Constructors

Name Parameters DeclaringType Summary

Public Methods

Name Parameters DeclaringType Summary
Public MethodBuffer Double, GeographyUnit, DistanceUnit This method computes the area containing all of the points within a given distance from this feature.
Public MethodBuffer Double, Int32, GeographyUnit, DistanceUnit This method computes the area containing all of the points within a given distance from this feature.
Public MethodBuffer Double, Int32, BufferCapType, GeographyUnit, DistanceUnit This method computes the area containing all of the points within a given distance from this feature.
Public MethodCloneDeep ReturningColumnsType This method clones the entire structure, creating a totally separate copy.
Public MethodCloneDeep IEnumerable<String> This method clones the entire structure, creating a totally separate copy.
Public MethodCloneDeep
Public MethodContains Feature This method returns if the targetFeature lies within the interior of the current feature.
Public MethodStatic MemberCreateFeatureFromGeoJson String
Public MethodStatic MemberCreateFeatureFromWellKnownData Byte[]
Public MethodStatic MemberCreateFeatureFromWellKnownData String
Public MethodCrosses Feature This method returns if the current feature and the targetFeature share some but not all interior points.
Public MethodEquals Object Object
Public MethodGetBoundingBox This method returns the bounding box of the Feature.
Public MethodGetConvexHull This method returns the convex hull of the feature, defined as the smallest convex ring that contains all of the points in the feature.
Public MethodGetDifference Feature 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.
Public MethodGetGeoJson
Public MethodGetHashCode Object
Public MethodGetIntersection Feature 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.
Public MethodGetInvalidReason
Public MethodGetShape This method returns the shape class that represents the Feature.
Public MethodGetType Object
Public MethodGetWellKnownBinary This method returns the well-known binary that represents the Feature.
Public MethodGetWellKnownBinary WkbByteOrder
Public MethodGetWellKnownBinary RingOrder
Public MethodGetWellKnownBinary RingOrder, WkbByteOrder
Public MethodGetWellKnownText RingOrder This method returns the well-known text representation of this feature.
Public MethodGetWellKnownText This method returns the well-known text that represents the Feature.
Public MethodGetWellKnownType This method returns the well known type that represents the Feature.
Public MethodIntersects Feature This method returns if the current feature and the targetFeature have at least one point in common.
Public MethodIsDisjointed Feature This method returns if the current feature and the targetFeature have no points in common.
Public MethodIsTopologicallyEqual Feature This method returns if the current feature and the targetFeature are topologically equal.
Public MethodIsValid This method returns the results of some simple validity tests on the Feature.
Public MethodIsWithin Feature This method returns if the current feature lies within the interior of the targetFeature.
Public MethodMakeValid
Public MethodOverlaps Feature This method returns if the current feature and the targetFeature share some but not all points in common.
Public MethodSetWellKnownBinary Byte[]
Public MethodToString Object(overriden)
Public MethodTouches Feature This method returns of the current feature and the targetFeature have at least one boundary point in common, but no interior points.
Public MethodUnion Feature 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.
Public MethodStatic MemberUnion IEnumerable<Feature> This method returns the union of the specified features.

Protected Methods

Name Parameters DeclaringType Summary
Protected MethodFinalize Object
Protected MethodGetBoundingBoxCore
Protected MethodGetGeoJsonCore
Protected MethodGetShapeCore This method returns the shape class that represents the Feature.
Protected MethodGetWellKnownBinaryCore RingOrder, WkbByteOrder This method returns a byte array that represents the feature in well-known binary.
Protected MethodGetWellKnownTextCore RingOrder
Protected MethodGetWellKnownTypeCore
Protected MethodMemberwiseClone Object

Public Properties

Name Return DeclaringType Summary
Public PropertyCanMakeValid Boolean
Public PropertyColumnValues Dictionary<String,String> This property gets a dictionary of values to represent the column data related to this Feature.
Public PropertyId String This property gets the Id for the Feature.
Public PropertyLinkColumnValues Dictionary<String,Collection<LinkColumnValue»
Public PropertyTag Object The tag of the Feature.

Protected Properties

Name Return DeclaringType Summary

Public Events

Name Event Arguments DeclaringType Summary

Public Constructors

Feature()

Parameters

Name Type Description

Go Back

Feature(BaseShape)

This method is the constructor for the Feature.

Overloads

This method allows you to pass in a BaseShape to construct your Feature.

Remarks

When you create the Feature, specify the ID of the BaseShape you want to use as a basis.

Parameters

Name Type Description
baseShape BaseShape<!– ThinkGeo.MapSuite.Core.BaseShape –> This parameter represents the base shape you wish to use as the basis of the new Feature.

Go Back

Feature(Byte[])

This method is the constructor for the Feature.

Overloads

This overload allows you to create a feature using well-known binary.

Remarks

This overload allows you to create a feature using well-known binary. The Id for this Feature will be a random GUID.

Parameters

Name Type Description
wellKnownBinary Byte[]<!– System.Bytethinkgeo.mapsuite.core.feature –> This parameter is the well-known binary used to create the feature.

Go Back

Feature(Byte[], String)

This method is the constructor for the Feature.

Overloads

This overload allows you to create a feature using well-known binary and specify the Id.

Remarks

This overload allows you to create a feature using well-known binary and specify the Id.

Parameters

Name Type Description
wellKnownBinary Byte[]<!– System.Bytethinkgeo.mapsuite.core.feature –> This parameter is the well-known binary used to create the Feature.
id String<!– System.String –> This parameter is the Id used for the Feature.

Go Back

Feature(String)

This method is the constructor for the Feature.

Overloads

This overload allows you to create a feature using well-known text.

Remarks

This overload allows you to create a feature using well-known text. The Id for the Feature will be a random GUID.

Parameters

Name Type Description
wellKnownText String<!– System.String –> This parameter is the well-known text used to create the Feature.

Go Back

Feature(String, String)

This method is the constructor for the Feature.

Overloads

This overload allows you to create the Feature from well-known text and specify the Id.

Remarks

This overload allows you to create the Feature from well-known text and specify the Id.

Parameters

Name Type Description
wellKnownText String<!– System.String –> This parameter is the well-known text used to create the Feature.
id String<!– System.String –> This parameter is the Id used in the Feature.

Go Back

Feature(BaseShape, IDictionary<String, String>)

This method is the constructor for the Feature.

Overloads

This overload allows you to create the Feature from a baseShape and specify the column values.

Remarks

This overload allows you to create the Feature from a baseShape and specify the column values.

Parameters

Name Type Description
baseShape BaseShape<!– ThinkGeo.MapSuite.Core.BaseShape –> This parameter is the baseShape used to create the Feature.
columnValues IDictionary<String,String><!– System.Collections.Generic.IDictionary{System.String,System.String} –> This parameter is the columnValues used in the Feature.

Go Back

Feature(BaseShape, IEnumerable<String>)

Parameters

Name Type Description
baseShape BaseShape<!– ThinkGeo.MapSuite.Core.BaseShape –>
columnValues IEnumerable<String><!– System.Collections.Generic.IEnumerable{System.String} –>

Go Back

Feature(String, String, IDictionary<String, String>)

This method is the constructor for the Feature.

Overloads

This overload allows you to create the Feature from well-known text and feature ID, as well as specify the column values.

Remarks

This overload allows you to create the Feature from well-known text and feature ID, as well as specify the column values.

Parameters

Name Type Description
wellKnownText String<!– System.String –> This parameter is the well-known text used to create the Feature.
id String<!– System.String –> This parameter is the Id used in the Feature.
columnValues IDictionary<String,String><!– System.Collections.Generic.IDictionary{System.String,System.String} –> This parameter is the columnValues used in the Feature.

Go Back

Feature(String, String, IEnumerable<String>)

Parameters

Name Type Description
wellKnownText String<!– System.String –>
id String<!– System.String –>
columnValues IEnumerable<String><!– System.Collections.Generic.IEnumerable{System.String} –>

Go Back

Feature(Byte[], String, IEnumerable<String>)

This method is the constructor for the Feature.

Overloads

This overload allows you to create the Feature from well-known binary and feature ID, as well as specify the column values.

Remarks

This overload allows you to create the Feature from well-known binary and feature ID, as well as specify the column values.

Parameters

Name Type Description
wellKnownBinary Byte[]<!– System.Bytethinkgeo.mapsuite.core.feature –> This parameter is the well-known binary used to create the Feature.
id String<!– System.String –> This parameter is the Id used in the Feature.
columnValues IEnumerable<String><!– System.Collections.Generic.IEnumerable{System.String} –> This parameter is the columnValues used in the Feature.

Go Back

Feature(Byte[], String, IDictionary<String, String>)

This method is the constructor for the Feature.

Overloads

This overload allows you to create the Feature from well-known binary and feature ID, as well as specify the column values.

Remarks

This overload allows you to create the Feature from well-known binary and feature ID, as well as specify the column values.

Parameters

Name Type Description
wellKnownBinary Byte[]<!– System.Bytethinkgeo.mapsuite.core.feature –> This parameter is the well-known binary used to create the Feature.
id String<!– System.String –> This parameter is the Id used in the Feature.
columnValues IDictionary<String,String><!– System.Collections.Generic.IDictionary{System.String,System.String} –> This parameter is the columnValues used in the Feature.

Go Back

Feature(Vertex)

This method is the constructor for the Feature.

Overloads

This overload creates a point Feature for the vertex you pass in.

Remarks

You can use this constructor to create a point Feature easily.

Parameters

Name Type Description
vertex Vertex<!– ThinkGeo.MapSuite.Core.Vertex –> This parameter is the x & y decimalDegreesValue pair used to make the point. The Id for the Feature will be a random GUID.

Go Back

Feature(Vertex, String)

This method is the constructor for the Feature.

Overloads

This overload creates a point Feature for the vertex you pass in.

Remarks

You can use this constructor to create a point Feature and specify the Id.

Parameters

Name Type Description
vertex Vertex<!– ThinkGeo.MapSuite.Core.Vertex –> 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.
id String<!– System.String –> This parameter is the Id used in the Feature.

Go Back

Feature(Vertex, String, IEnumerable<String>)

This method is the constructor for the Feature.

Overloads

This overload creates a point Feature for the vertex you pass in.

Remarks

You can use this constructor to create a point Feature and specify the Id as well as the column values.

Parameters

Name Type Description
vertex Vertex<!– ThinkGeo.MapSuite.Core.Vertex –> 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.
id String<!– System.String –> This parameter is the Id used in the Feature.
columnValues IEnumerable<String><!– System.Collections.Generic.IEnumerable{System.String} –> This parameter is the columnValues used in the Feature.

Go Back

Feature(Vertex, String, IDictionary<String, String>)

Parameters

Name Type Description
vertex Vertex<!– ThinkGeo.MapSuite.Core.Vertex –>
id String<!– System.String –>
columnValues IDictionary<String,String><!– System.Collections.Generic.IDictionary{System.String,System.String} –>

Go Back

Feature(Double, Double)

This method is the constructor for the Feature.

Overloads

This overload creates a point feature for the vertex you pass in.

Remarks

You can use this constructor to create a point Feature based on x and y coordinates.

Parameters

Name Type Description
x Double<!– System.Double –> This parameter is the x decimalDegreesValue pair used to make the point. The Id for the Feature will be a random GUID.
y Double<!– System.Double –> This parameter is the y decimalDegreesValue pair used to make the point. The Id for the Feature will be a random GUID.

Go Back

Feature(Double, Double, String)

This method is the constructor for the Feature.

Overloads

This overload creates a point feature for the vertex you pass in.

Remarks

You can use this constructor to create a point Feature based on x and y coordinates and specify the Id.

Parameters

Name Type Description
x Double<!– System.Double –> This parameter is the x decimalDegreesValue pair used to make the point.
y Double<!– System.Double –> This parameter is the y decimalDegreesValue pair used to make the point.
id String<!– System.String –> This parameter is the Id used in the Feature.

Go Back

Feature(Double, Double, String, IEnumerable<String>)

This method is the constructor for the Feature.

Overloads

This overload creates a point feature for the vertex you pass in.

Remarks

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.

Parameters

Name Type Description
x Double<!– System.Double –> This parameter is the x decimalDegreesValue pair used to make the point.
y Double<!– System.Double –> This parameter is the y decimalDegreesValue pair used to make the point.
id String<!– System.String –> This parameter is the Id used in the Feature.
columnValues IEnumerable<String><!– System.Collections.Generic.IEnumerable{System.String} –> This parameter is the columnValues used in the Feature. Each string

Go Back

Feature(Double, Double, String, IDictionary<String, String>)

Parameters

Name Type Description
x Double<!– System.Double –>
y Double<!– System.Double –>
id String<!– System.String –>
columnValues IDictionary<String,String><!– System.Collections.Generic.IDictionary{System.String,System.String} –>

Go Back

Protected Constructors

Public Methods

Buffer(Double, GeographyUnit, DistanceUnit)

This method computes the area containing all of the points within a given distance from this feature.

Overloads

This overload allows you to specify the distance in your choice of unit and uses defaults for everything else.

Remarks

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.

Return Value

Return Type Description
Feature<!– ThinkGeo.MapSuite.Core.Feature –> The return type is a Feature that represents all of the points within a given distance from the feature.

Parameters

Name Type Description
distance Double<!– System.Double –> The distance is the number of units to buffer the current shape. The distance unit will be the one specified in the distanceUnit parameter.
featureUnit GeographyUnit<!– ThinkGeo.MapSuite.Core.GeographyUnit –> This is the geographic unit of the shape you are performing the operation on.
distanceUnit DistanceUnit<!– ThinkGeo.MapSuite.Core.DistanceUnit –> 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.

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

Buffer(Double, Int32, GeographyUnit, DistanceUnit)

This method computes the area containing all of the points within a given distance from this feature.

Overloads

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.

Remarks

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.

Return Value

Return Type Description
Feature<!– ThinkGeo.MapSuite.Core.Feature –> The return type is a Feature that represents all of the points within a given distance from the feature.

Parameters

Name Type Description
distance Double<!– System.Double –> The distance is the number of units to buffer the current shape. The distance unit will be the one specified in the distanceUnit parameter.
quadrantSegments Int32<!– System.Int32 –> 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.
featureUnit GeographyUnit<!– ThinkGeo.MapSuite.Core.GeographyUnit –> This is the geographic unit of the feature you are performing the operation on.
distanceUnit DistanceUnit<!– ThinkGeo.MapSuite.Core.DistanceUnit –> 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.

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

Buffer(Double, Int32, BufferCapType, GeographyUnit, DistanceUnit)

This method computes the area containing all of the points within a given distance from this feature.

Overloads

This overload allows you to specify the distance in your choice of unit and uses defaults for everything else.

Remarks

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.

Return Value

Return Type Description
Feature<!– ThinkGeo.MapSuite.Core.Feature –> The return type is a Feature that represents all of the points within a given distance from the feature.

Parameters

Name Type Description
distance Double<!– System.Double –> The distance is the number of units to buffer the current feature. The distance unit will be the one specified in the distanceUnit parameter.
quadrantSegments Int32<!– System.Int32 –> The number of quadrantSegments used in the buffer logic.
bufferCapType BufferCapType<!– ThinkGeo.MapSuite.Core.BufferCapType –> The bufferCapType used in the buffer logic.
featureUnit GeographyUnit<!– ThinkGeo.MapSuite.Core.GeographyUnit –> This is the geographic unit of the feature you are performing the operation on.
distanceUnit DistanceUnit<!– ThinkGeo.MapSuite.Core.DistanceUnit –> 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.

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

CloneDeep(ReturningColumnsType)

This method clones the entire structure, creating a totally separate copy.

Remarks

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.

Return Value

Return Type Description
Feature<!– ThinkGeo.MapSuite.Core.Feature –> This method returns a clone of the entire structure, creating a totally separate copy.

Parameters

Name Type Description
returningColumnNamesType ReturningColumnsType<!– ThinkGeo.MapSuite.Core.ReturningColumnsType –> This parameter allows you to select a type from the ReturningColumnsType that you wish to return with.

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

CloneDeep(IEnumerable<String>)

This method clones the entire structure, creating a totally separate copy.

Remarks

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.

Return Value

Return Type Description
Feature<!– ThinkGeo.MapSuite.Core.Feature –> This method returns a clone of the entire structure, creating a totally separate copy.

Parameters

Name Type Description
returningColumnNames IEnumerable<String><!– System.Collections.Generic.IEnumerable{System.String} –> This parameter represents the columnar data fields that you wish to include in the clone.

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

CloneDeep()

Return Value

Return Type Description
Feature<!– ThinkGeo.MapSuite.Core.Feature –>

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

Contains(Feature)

This method returns if the targetFeature lies within the interior of the current feature.

Remarks

As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.

Return Value

Return Type Description
Boolean<!– System.Boolean –> This method returns if the targetFeature lies within the interior of the current feature.

Parameters

Name Type Description
targetFeature Feature<!– ThinkGeo.MapSuite.Core.Feature –> The targetFeature that contains a shape you wish to compare the current one to.

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

CreateFeatureFromGeoJson(String)

<!– static –>

Return Value

Return Type Description
Feature<!– ThinkGeo.MapSuite.Core.Feature –>

Parameters

Name Type Description
geoJson String<!– System.String –>

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

CreateFeatureFromWellKnownData(Byte[])

<!– static –>

Return Value

Return Type Description
Feature<!– ThinkGeo.MapSuite.Core.Feature –>

Parameters

Name Type Description
wellKnownBinary Byte[]<!– System.Bytethinkgeo.mapsuite.core.feature –>

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

CreateFeatureFromWellKnownData(String)

<!– static –>

Return Value

Return Type Description
Feature<!– ThinkGeo.MapSuite.Core.Feature –>

Parameters

Name Type Description
wellKnownText String<!– System.String –>

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

Crosses(Feature)

This method returns if the current feature and the targetFeature share some but not all interior points.

Remarks

As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.

Return Value

Return Type Description
Boolean<!– System.Boolean –> This method returns if the current feature and the targetFeature share some but not all interior points.

Parameters

Name Type Description
targetFeature Feature<!– ThinkGeo.MapSuite.Core.Feature –> The targetFeature that contains a shape you wish to compare the current one to.

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

Equals(Object)

Return Value

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

Parameters

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

<!– System.Object –> Go Back

GetBoundingBox()

This method returns the bounding box of the Feature.

Return Value

Return Type Description
RectangleShape<!– ThinkGeo.MapSuite.Core.RectangleShape –> This method returns the bounding box of the Feature.

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

GetConvexHull()

This method returns the convex hull of the feature, defined as the smallest convex ring that contains all of the points in the feature.

Remarks

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.

Return Value

Return Type Description
Feature<!– ThinkGeo.MapSuite.Core.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.

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

GetDifference(Feature)

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.

Return Value

Return Type Description
Feature<!– ThinkGeo.MapSuite.Core.Feature –> 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.

Parameters

Name Type Description
targetFeature Feature<!– ThinkGeo.MapSuite.Core.Feature –> The feture you are trying to find the difference with.

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

GetGeoJson()

Return Value

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

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

GetHashCode()

Return Value

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

Parameters

Name Type Description

<!– System.Object –> Go Back

GetIntersection(Feature)

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.

Return Value

Return Type Description
Feature<!– ThinkGeo.MapSuite.Core.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.

Parameters

Name Type Description
targetFeature Feature<!– ThinkGeo.MapSuite.Core.Feature –> The feature you are trying to find the intersection with.

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

GetInvalidReason()

Return Value

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

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

GetShape()

This method returns the shape class that represents the Feature.

Remarks

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.

Return Value

Return Type Description
BaseShape<!– ThinkGeo.MapSuite.Core.BaseShape –> This method returns the shape class that represents the Feature.

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

GetType()

Return Value

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

Parameters

Name Type Description

<!– System.Object –> Go Back

GetWellKnownBinary()

This method returns the well-known binary that represents the Feature.

Remarks

This will return a copy of the well-known binary that represents the Feature.

Return Value

Return Type Description
Byte[]<!– System.Bytethinkgeo.mapsuite.core.feature –> This method returns the well-known binary that represents the Feature.

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

GetWellKnownBinary(WkbByteOrder)

Return Value

Return Type Description
Byte[]<!– System.Bytethinkgeo.mapsuite.core.feature –>

Parameters

Name Type Description
byteOrder WkbByteOrder<!– ThinkGeo.MapSuite.Core.WkbByteOrder –>

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

GetWellKnownBinary(RingOrder)

Return Value

Return Type Description
Byte[]<!– System.Bytethinkgeo.mapsuite.core.feature –>

Parameters

Name Type Description
outerRingOrder RingOrder<!– ThinkGeo.MapSuite.Core.RingOrder –>

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

GetWellKnownBinary(RingOrder, WkbByteOrder)

Return Value

Return Type Description
Byte[]<!– System.Bytethinkgeo.mapsuite.core.feature –>

Parameters

Name Type Description
outerRingOrder RingOrder<!– ThinkGeo.MapSuite.Core.RingOrder –>
byteOrder WkbByteOrder<!– ThinkGeo.MapSuite.Core.WkbByteOrder –>

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

GetWellKnownText(RingOrder)

This method returns the well-known text representation of this feature.

Remarks

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)

POLYGON1)

MULTIPOINT(3.7 9.7,4.9 11.6)

MULTILINESTRING2)

MULTIPOLYGON3),4))

Overriding:

Please ensure that you validate the parameters being passed in and raise the exceptions defined above.

Return Value

Return Type Description
String<!– System.String –> This method returns a string that represents the shape in well-known text.

Parameters

Name Type Description
outerRingOrder RingOrder<!– ThinkGeo.MapSuite.Core.RingOrder –>

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

GetWellKnownText()

This method returns the well-known text that represents the Feature.

Remarks

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.

Return Value

Return Type Description
String<!– System.String –> This method returns the well-known text that represents the Feature.

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

GetWellKnownType()

This method returns the well known type that represents the Feature.

Return Value

Return Type Description
WellKnownType<!– ThinkGeo.MapSuite.Core.WellKnownType –> This method returns the well known type that represents the Feature.

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

Intersects(Feature)

This method returns if the current feature and the targetFeature have at least one point in common.

Remarks

As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.

Return Value

Return Type Description
Boolean<!– System.Boolean –> This method returns if the current feature and the targetFeature have at least one point in common.

Parameters

Name Type Description
targetFeature Feature<!– ThinkGeo.MapSuite.Core.Feature –> The targetFeature you wish to compare the current one to.

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

IsDisjointed(Feature)

This method returns if the current feature and the targetFeature have no points in common.

Return Value

Return Type Description
Boolean<!– System.Boolean –> 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.

Parameters

Name Type Description
targetFeature Feature<!– ThinkGeo.MapSuite.Core.Feature –> The feature you wish to compare the current one to.

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

IsTopologicallyEqual(Feature)

This method returns if the current feature and the targetFeature are topologically equal.

Remarks

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.

Return Value

Return Type Description
Boolean<!– System.Boolean –> This method returns if the current feature and the targetFeature are topologically equal.

Parameters

Name Type Description
targetFeature Feature<!– ThinkGeo.MapSuite.Core.Feature –> The targetFeature that contains a shape you wish to compare the current one to.

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

IsValid()

This method returns the results of some simple validity tests on the Feature.

Remarks

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.

Return Value

Return Type Description
Boolean<!– System.Boolean –> This method returns the results of some simple validity tests on the Feature.

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

IsWithin(Feature)

This method returns if the current feature lies within the interior of the targetFeature.

Remarks

As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.

Return Value

Return Type Description
Boolean<!– System.Boolean –> This method returns if the current feature lies within the interior of the targetFeature.

Parameters

Name Type Description
targetFeature Feature<!– ThinkGeo.MapSuite.Core.Feature –> The targetFeature that contains a shape you wish to compare the current one to.

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

MakeValid()

Return Value

Return Type Description
Feature<!– ThinkGeo.MapSuite.Core.Feature –>

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

Overlaps(Feature)

This method returns if the current feature and the targetFeature share some but not all points in common.

Remarks

As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.

Return Value

Return Type Description
Boolean<!– System.Boolean –> This method returns if the current feature and the targetFeature share some but not all points in common.

Parameters

Name Type Description
targetFeature Feature<!– ThinkGeo.MapSuite.Core.Feature –> The targetFeature that contains a shape you wish to compare the current one to.

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

SetWellKnownBinary(Byte[])

Return Value

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

Parameters

Name Type Description
wellKnownBinary Byte[]<!– System.Bytethinkgeo.mapsuite.core.feature –>

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

ToString()

Return Value

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

Parameters

Name Type Description

<!– System.Object(overriden) –> Go Back

Touches(Feature)

This method returns of the current feature and the targetFeature have at least one boundary point in common, but no interior points.

Remarks

As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.

Return Value

Return Type Description
Boolean<!– System.Boolean –> This method returns of the current feature and the targetFeature have at least one boundary point in common, but no interior points.

Parameters

Name Type Description
targetFeature Feature<!– ThinkGeo.MapSuite.Core.Feature –> The targetFeature which contains a shape that you wish to compare the current one to.

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

Union(Feature)

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.

Remarks

This is useful for adding area features together to form a larger area shape.

Return Value

Return Type Description
Feature<!– ThinkGeo.MapSuite.Core.Feature –> The return type is a Feature that contains the set of all points which lie in the current feature or the target feature.

Parameters

Name Type Description
targetFeature Feature<!– ThinkGeo.MapSuite.Core.Feature –> The feature you are trying to find the union with.

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

Union(IEnumerable<Feature>)

<!– static –> This method returns the union of the specified features.

Remarks

This is useful for adding area features together to form a larger area feature.

Return Value

Return Type Description
Feature<!– ThinkGeo.MapSuite.Core.Feature –> The return type is a Feature that contains the set of all points that lie within the features you specified.

Parameters

Name Type Description
targetFeatures IEnumerable<Feature><!– System.Collections.Generic.IEnumerable{ThinkGeo.MapSuite.Core.Feature} –> The features you are trying to find the union with.

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

Protected Methods

Finalize()

Return Value

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

Parameters

Name Type Description

<!– System.Object –> Go Back

GetBoundingBoxCore()

Return Value

Return Type Description
RectangleShape<!– ThinkGeo.MapSuite.Core.RectangleShape –>

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

GetGeoJsonCore()

Return Value

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

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

GetShapeCore()

This method returns the shape class that represents the Feature.

Remarks

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.

Return Value

Return Type Description
BaseShape<!– ThinkGeo.MapSuite.Core.BaseShape –> This method returns the shape class that represents the Feature.

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

GetWellKnownBinaryCore(RingOrder, WkbByteOrder)

This method returns a byte array that represents the feature in well-known binary.

Remarks

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.

Return Value

Return Type Description
Byte[]<!– System.Bytethinkgeo.mapsuite.core.feature –> This method returns a byte array that represents the feature in well-known binary.

Parameters

Name Type Description
outerRingOrder RingOrder<!– ThinkGeo.MapSuite.Core.RingOrder –>
byteOrder WkbByteOrder<!– ThinkGeo.MapSuite.Core.WkbByteOrder –> This parameter specifies if the byte order is big- or little-endian.

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

GetWellKnownTextCore(RingOrder)

Return Value

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

Parameters

Name Type Description
outerRingOrder RingOrder<!– ThinkGeo.MapSuite.Core.RingOrder –>

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

GetWellKnownTypeCore()

Return Value

Return Type Description
WellKnownType<!– ThinkGeo.MapSuite.Core.WellKnownType –>

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

MemberwiseClone()

Return Value

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

Parameters

Name Type Description

<!– System.Object –> Go Back

Public Properties

CanMakeValid

Return Value

Return Type
Boolean<!– System.Boolean –>

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

ColumnValues

This property gets a dictionary of values to represent the column data related to this Feature.

Remarks

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.

Return Value

Return Type
Dictionary<String,String><!– System.Collections.Generic.Dictionary{System.String,System.String} –>

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

Id

This property gets the Id for the Feature.

Remarks

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.

Return Value

Return Type
String<!– System.String –>

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

LinkColumnValues

Return Value

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

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

Tag

The tag of the Feature.

Return Value

Return Type
Object<!– System.Object –>

<!– ThinkGeo.MapSuite.Core.Feature –> Go Back

Protected Properties

Public Events

1) 2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3
2) 4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3
3) (2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3
4) 4 4,7 3,7 5,4 4
thinkgeo.mapsuite.core.feature.1440040128.txt.gz · Last modified: 2015/09/17 08:59 (external edit)