User Tools

Site Tools


thinkgeo.mapsuite.portablecore.feature

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
thinkgeo.mapsuite.portablecore.feature [2015/08/20 03:08]
127.0.0.1 external edit
thinkgeo.mapsuite.portablecore.feature [2017/03/16 21:59] (current)
Line 1: Line 1:
-====== ThinkGeo.MapSuite.PortableCore.Feature ======+====== ThinkGeo.MapSuite.Core.Feature ======
  
 +{{section>​upgrade_map_suite_to_10.0}}
  
- 
-<!-- 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. 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 ===== ===== Inheritance Hierarchy =====
-*System.Object +  ​*System.Object 
-**[[ThinkGeo.MapSuite.PortableCore.Feature]]+    ***ThinkGeo.MapSuite.Core.Feature**
 ===== Members Summary ===== ===== Members Summary =====
 ==== Public Constructors ==== ==== Public Constructors ====
-^ Name ^ Parameters ^ DeclaringType ^ Summary ^ +** {{wiki:​PublicMethod.gif|}} Feature() ​**
-{{wiki:​PublicMethod.gif|Public Method}}[[#Feature()|Feature]] ​  ​| ​   |    |    | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Feature(BaseShape)|Feature]] ​  | [[ThinkGeo.MapSuite.PortableCore.BaseShape|BaseShape]] ​  ​| ​   | This method is the constructor for the Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Feature(Byte[])|Feature]] ​  | Byte[] ​  ​| ​   | This method is the constructor for the Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Feature(Byte[],​ String)|Feature]] ​  | Byte[], String ​  ​| ​   | This method is the constructor for the Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Feature(String)|Feature]] ​  | String ​  ​| ​   | This method is the constructor for the Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Feature(String,​ String)|Feature]] ​  | String, String ​  ​| ​   | This method is the constructor for the Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Feature(BaseShape,​ IDictionary<​String,​ String>​)|Feature]] ​  | [[ThinkGeo.MapSuite.PortableCore.BaseShape|BaseShape]],​ IDictionary<​String,​ String> ​  ​| ​   | This method is the constructor for the Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Feature(BaseShape,​ IEnumerable<​String>​)|Feature]] ​  | [[ThinkGeo.MapSuite.PortableCore.BaseShape|BaseShape]],​ IEnumerable<​String> ​  ​| ​   |    | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Feature(String,​ String, IDictionary<​String,​ String>​)|Feature]] ​  | String, String, IDictionary<​String,​ String> ​  ​| ​   | This method is the constructor for the Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Feature(String,​ String, IEnumerable<​String>​)|Feature]] ​  | String, String, IEnumerable<​String> ​  ​| ​   |    | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Feature(Byte[],​ String, IEnumerable<​String>​)|Feature]] ​  | Byte[], String, IEnumerable<​String> ​  ​| ​   | This method is the constructor for the Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Feature(Byte[],​ String, IDictionary<​String,​ String>​)|Feature]] ​  | Byte[], String, IDictionary<​String,​ String> ​  ​| ​   | This method is the constructor for the Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Feature(Vertex)|Feature]] ​  | [[ThinkGeo.MapSuite.PortableCore.Vertex|Vertex]] ​  ​| ​   | This method is the constructor for the Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Feature(Vertex,​ String)|Feature]] ​  | [[ThinkGeo.MapSuite.PortableCore.Vertex|Vertex]],​ String ​  ​| ​   | This method is the constructor for the Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Feature(Vertex,​ String, IEnumerable<​String>​)|Feature]] ​  | [[ThinkGeo.MapSuite.PortableCore.Vertex|Vertex]],​ String, IEnumerable<​String> ​  ​| ​   | This method is the constructor for the Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Feature(Vertex,​ String, IDictionary<​String,​ String>​)|Feature]] ​  | [[ThinkGeo.MapSuite.PortableCore.Vertex|Vertex]],​ String, IDictionary<​String,​ String> ​  ​| ​   |    | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Feature(Double,​ Double)|Feature]] ​  | Double, Double ​  ​| ​   | This method is the constructor for the Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Feature(Double,​ Double, String)|Feature]] ​  | Double, Double, String ​  ​| ​   | This method is the constructor for the Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Feature(Double,​ Double, String, IEnumerable<​String>​)|Feature]] ​  | Double, Double, String, IEnumerable<​String> ​  ​| ​   | This method is the constructor for the Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Feature(Double,​ Double, String, IDictionary<​String,​ String>​)|Feature]] ​  | Double, Double, String, IDictionary<​String,​ String> ​  ​| ​   |    |+
  
-==== Protected Constructors ​==== +  * //N/A// 
-^ Name ^ Parameters ^ DeclaringType ^ Summary ^+== Remarks ​== 
 +  * //N/A// 
 +== Parameters ​== 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} Feature(BaseShape) **
  
 +  * //This method is the constructor for the Feature.//
 +== Remarks ==
 +  * //When you create the Feature, specify the ID of the BaseShape you want to use as a basis.//
 +== Parameters ==
 +  * //​baseShape//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]
 +    * Description:​This parameter represents the base shape you wish to use as the basis of the new Feature.
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Feature(Byte[]) **
 +
 +  * //This method is the constructor for the Feature.//
 +== Remarks ==
 +  * //This overload allows you to create a feature using well-known binary. The Id for this Feature will be a random GUID.//
 +== Parameters ==
 +  * //​wellKnownBinary//​
 +    * Type:Byte[]
 +    * Description:​This parameter is the well-known binary used to create the feature.
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Feature(Byte[],​String) **
 +
 +  * //This method is the constructor for the Feature.//
 +== Remarks ==
 +  * //This overload allows you to create a feature using well-known binary and specify the Id.//
 +== Parameters ==
 +  * //​wellKnownBinary//​
 +    * Type:Byte[]
 +    * Description:​This parameter is the well-known binary used to create the Feature.
 +
 +  * //id//
 +    * Type:String
 +    * Description:​This parameter is the Id used for the Feature.
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Feature(String) **
 +
 +  * //This method is the constructor for the Feature.//
 +== Remarks ==
 +  * //This overload allows you to create a feature using well-known text. The Id for the Feature will be a random GUID.//
 +== Parameters ==
 +  * //​wellKnownText//​
 +    * Type:String
 +    * Description:​This parameter is the well-known text used to create the Feature.
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Feature(String,​String) **
 +
 +  * //This method is the constructor for the Feature.//
 +== Remarks ==
 +  * //This overload allows you to create the Feature from well-known text and specify the Id.//
 +== Parameters ==
 +  * //​wellKnownText//​
 +    * Type:String
 +    * Description:​This parameter is the well-known text used to create the Feature.
 +
 +  * //id//
 +    * Type:String
 +    * Description:​This parameter is the Id used in the Feature.
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Feature(BaseShape,​IDictionary<​String,​String>​) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +== Parameters ==
 +  * //​baseShape//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]
 +    * Description:​N/​A
 +
 +  * //​columnValues//​
 +    * Type:​IDictionary<​String,​String>​
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Feature(BaseShape,​IEnumerable<​String>​) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +== Parameters ==
 +  * //​baseShape//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]
 +    * Description:​N/​A
 +
 +  * //​columnValues//​
 +    * Type:​IEnumerable<​String>​
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Feature(String,​String,​IDictionary<​String,​String>​) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +== Parameters ==
 +  * //​wellKnownText//​
 +    * Type:String
 +    * Description:​N/​A
 +
 +  * //id//
 +    * Type:String
 +    * Description:​N/​A
 +
 +  * //​columnValues//​
 +    * Type:​IDictionary<​String,​String>​
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Feature(String,​String,​IEnumerable<​String>​) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +== Parameters ==
 +  * //​wellKnownText//​
 +    * Type:String
 +    * Description:​N/​A
 +
 +  * //id//
 +    * Type:String
 +    * Description:​N/​A
 +
 +  * //​columnValues//​
 +    * Type:​IEnumerable<​String>​
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Feature(Byte[],​String,​IEnumerable<​String>​) **
 +
 +  * //This method is the constructor for the Feature.//
 +== Remarks ==
 +  * //This overload allows you to create the Feature from well-known binary and feature ID, as well as specify the column values.//
 +== Parameters ==
 +  * //​wellKnownBinary//​
 +    * Type:Byte[]
 +    * Description:​This parameter is the well-known binary used to create the Feature.
 +
 +  * //id//
 +    * Type:String
 +    * Description:​This parameter is the Id used in the Feature.
 +
 +  * //​columnValues//​
 +    * Type:​IEnumerable<​String>​
 +    * Description:​This parameter is the columnValues used in the Feature.
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Feature(Byte[],​String,​IDictionary<​String,​String>​) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +== Parameters ==
 +  * //​wellKnownBinary//​
 +    * Type:Byte[]
 +    * Description:​N/​A
 +
 +  * //id//
 +    * Type:String
 +    * Description:​N/​A
 +
 +  * //​columnValues//​
 +    * Type:​IDictionary<​String,​String>​
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Feature(Vertex) **
 +
 +  * //This method is the constructor for the Feature.//
 +== Remarks ==
 +  * //You can use this constructor to create a point Feature easily.//
 +== Parameters ==
 +  * //vertex//
 +    * Type:​[[ThinkGeo.MapSuite.Core.Vertex|Vertex]]
 +    * Description:​This parameter is the x & y decimalDegreesValue pair used to make the point. The Id for the Feature will be a random GUID.
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Feature(Vertex,​String) **
 +
 +  * //This method is the constructor for the Feature.//
 +== Remarks ==
 +  * //You can use this constructor to create a point Feature and specify the Id.//
 +== Parameters ==
 +  * //vertex//
 +    * Type:​[[ThinkGeo.MapSuite.Core.Vertex|Vertex]]
 +    * Description:​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//
 +    * Type:String
 +    * Description:​This parameter is the Id used in the Feature.
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Feature(Vertex,​String,​IEnumerable<​String>​) **
 +
 +  * //This method is the constructor for the Feature.//
 +== Remarks ==
 +  * //You can use this constructor to create a point Feature and specify the Id as well as the column values.//
 +== Parameters ==
 +  * //vertex//
 +    * Type:​[[ThinkGeo.MapSuite.Core.Vertex|Vertex]]
 +    * Description:​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//
 +    * Type:String
 +    * Description:​This parameter is the Id used in the Feature.
 +
 +  * //​columnValues//​
 +    * Type:​IEnumerable<​String>​
 +    * Description:​This parameter is the columnValues used in the Feature.
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Feature(Vertex,​String,​IDictionary<​String,​String>​) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +== Parameters ==
 +  * //vertex//
 +    * Type:​[[ThinkGeo.MapSuite.Core.Vertex|Vertex]]
 +    * Description:​N/​A
 +
 +  * //id//
 +    * Type:String
 +    * Description:​N/​A
 +
 +  * //​columnValues//​
 +    * Type:​IDictionary<​String,​String>​
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Feature(Double,​Double) **
 +
 +  * //This method is the constructor for the Feature.//
 +== Remarks ==
 +  * //You can use this constructor to create a point Feature based on x and y coordinates.//​
 +== Parameters ==
 +  * //x//
 +    * Type:Double
 +    * Description:​This parameter is the x decimalDegreesValue pair used to make the point. The Id for the Feature will be a random GUID.
 +
 +  * //y//
 +    * Type:Double
 +    * Description:​This parameter is the y decimalDegreesValue pair used to make the point. The Id for the Feature will be a random GUID.
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Feature(Double,​Double,​String) **
 +
 +  * //This method is the constructor for the Feature.//
 +== Remarks ==
 +  * //You can use this constructor to create a point Feature based on x and y coordinates and specify the Id.//
 +== Parameters ==
 +  * //x//
 +    * Type:Double
 +    * Description:​This parameter is the x decimalDegreesValue pair used to make the point.
 +
 +  * //y//
 +    * Type:Double
 +    * Description:​This parameter is the y decimalDegreesValue pair used to make the point.
 +
 +  * //id//
 +    * Type:String
 +    * Description:​This parameter is the Id used in the Feature.
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Feature(Double,​Double,​String,​IEnumerable<​String>​) **
 +
 +  * //This method is the constructor for the Feature.//
 +== 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 ==
 +  * //x//
 +    * Type:Double
 +    * Description:​This parameter is the x decimalDegreesValue pair used to make the point.
 +
 +  * //y//
 +    * Type:Double
 +    * Description:​This parameter is the y decimalDegreesValue pair used to make the point.
 +
 +  * //id//
 +    * Type:String
 +    * Description:​This parameter is the Id used in the Feature.
 +
 +  * //​columnValues//​
 +    * Type:​IEnumerable<​String>​
 +    * Description:​This parameter is the columnValues used in the Feature. Each string
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Feature(Double,​Double,​String,​IDictionary<​String,​String>​) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +== Parameters ==
 +  * //x//
 +    * Type:Double
 +    * Description:​N/​A
 +
 +  * //y//
 +    * Type:Double
 +    * Description:​N/​A
 +
 +  * //id//
 +    * Type:String
 +    * Description:​N/​A
 +
 +  * //​columnValues//​
 +    * Type:​IDictionary<​String,​String>​
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +==== Protected Constructors ====
 ==== Public Methods ==== ==== Public Methods ====
-^ Name ^ Parameters ^ DeclaringType ^ Summary ^ +** {{wiki:​PublicMethod.gif|}} IsTopologicallyEqual(Feature) ​**
-{{wiki:​PublicMethod.gif|Public Method}}[[#​Buffer(Double,​ Int32, GeographyUnit,​ DistanceUnit)|Buffer]] ​  | Double, Int32, [[ThinkGeo.MapSuite.PortableCore.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.PortableCore.DistanceUnit|DistanceUnit]] ​  ​| ​   | This method computes the area containing all of the points within a given distance from this feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Buffer(Double,​ GeographyUnit,​ DistanceUnit)|Buffer]] ​  | Double, [[ThinkGeo.MapSuite.PortableCore.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.PortableCore.DistanceUnit|DistanceUnit]] ​  ​| ​   | This method computes the area containing all of the points within a given distance from this feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Buffer(Double,​ Int32, BufferCapType,​ GeographyUnit,​ DistanceUnit)|Buffer]] ​  | Double, Int32, [[ThinkGeo.MapSuite.PortableCore.BufferCapType|BufferCapType]],​ [[ThinkGeo.MapSuite.PortableCore.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.PortableCore.DistanceUnit|DistanceUnit]] ​  ​| ​   | This method computes the area containing all of the points within a given distance from this feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​CloneDeep(ReturningColumnsType)|CloneDeep]] ​  | [[ThinkGeo.MapSuite.PortableCore.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method clones the entire structure, creating a totally separate copy.   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​CloneDeep()|CloneDeep]] ​  ​| ​   |    |    | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​CloneDeep(IEnumerable<​String>​)|CloneDeep]] ​  | IEnumerable<​String> ​  ​| ​   | This method clones the entire structure, creating a totally separate copy.   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Contains(Feature)|Contains]] ​  | [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]] ​  ​| ​   | This method returns if the targetFeature lies within the interior of the current feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​CreateFeatureFromGeoJson(String)|CreateFeatureFromGeoJson]] ​  | String ​  ​| ​   |    | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​CreateFeatureFromWellKnownData(String)|CreateFeatureFromWellKnownData]] ​  | String ​  ​| ​   |    | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​CreateFeatureFromWellKnownData(Byte[])|CreateFeatureFromWellKnownData]] ​  | Byte[] ​  ​| ​   |    | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Crosses(Feature)|Crosses]] ​  | [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]] ​  ​| ​   | This method returns if the current feature and the targetFeature share some but not all interior points. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Equals(Object)|Equals]] ​  | Object ​  | Object ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetBoundingBox()|GetBoundingBox]] ​  ​| ​   |    | This method returns the bounding box of the Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetConvexHull()|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. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetDifference(Feature)|GetDifference]] ​  | [[ThinkGeo.MapSuite.PortableCore.Feature|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. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetGeoJson()|GetGeoJson]] ​  ​| ​   |    |    | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetHashCode()|GetHashCode]] ​  ​| ​   | Object ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetIntersection(Feature)|GetIntersection]] ​  | [[ThinkGeo.MapSuite.PortableCore.Feature|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. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetInvalidReason()|GetInvalidReason]] ​  ​| ​   |    |    | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetShape()|GetShape]] ​  ​| ​   |    | This method returns the shape class that represents the Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetType()|GetType]] ​  ​| ​   | Object ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetWellKnownBinary()|GetWellKnownBinary]] ​  ​| ​   |    | This method returns the well-known binary that represents the Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetWellKnownBinary(RingOrder,​ WkbByteOrder)|GetWellKnownBinary]] ​  | [[ThinkGeo.MapSuite.PortableCore.RingOrder|RingOrder]],​ [[ThinkGeo.MapSuite.PortableCore.WkbByteOrder|WkbByteOrder]] ​  ​| ​   |    | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetWellKnownBinary(RingOrder)|GetWellKnownBinary]] ​  | [[ThinkGeo.MapSuite.PortableCore.RingOrder|RingOrder]] ​  ​| ​   |    | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetWellKnownBinary(WkbByteOrder)|GetWellKnownBinary]] ​  | [[ThinkGeo.MapSuite.PortableCore.WkbByteOrder|WkbByteOrder]] ​  ​| ​   |    | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetWellKnownText(RingOrder)|GetWellKnownText]] ​  | [[ThinkGeo.MapSuite.PortableCore.RingOrder|RingOrder]] ​  ​| ​   | This method returns the well-known text representation of this feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetWellKnownText()|GetWellKnownText]] ​  ​| ​   |    | This method returns the well-known text that represents the Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetWellKnownType()|GetWellKnownType]] ​  ​| ​   |    | This method returns the well known type that represents the Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Intersects(Feature)|Intersects]] ​  | [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]] ​  ​| ​   | This method returns if the current feature and the targetFeature have at least one point in common. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​IsDisjointed(Feature)|IsDisjointed]] ​  | [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]] ​  ​| ​   | This method returns if the current feature and the targetFeature have no points in common. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#IsTopologicallyEqual(Feature)|IsTopologicallyEqual]] ​  | [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]] ​  ​| ​   | This method returns if the current feature and the targetFeature are topologically equal. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​IsValid()|IsValid]] ​  ​| ​   |    | This method returns the results of some simple validity tests on the Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​IsWithin(Feature)|IsWithin]] ​  | [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]] ​  ​| ​   | This method returns if the current feature lies within the interior of the targetFeature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​MakeValid()|MakeValid]] ​  ​| ​   |    |    | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Overlaps(Feature)|Overlaps]] ​  | [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]] ​  ​| ​   | This method returns if the current feature and the targetFeature share some but not all points in common. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​ToString()|ToString]] ​  ​| ​   | Object(overriden) ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Touches(Feature)|Touches]] ​  | [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]] ​  ​| ​   | This method returns of the current feature and the targetFeature have at least one boundary point in common, but no interior points. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Union(Feature)|Union]] ​  | [[ThinkGeo.MapSuite.PortableCore.Feature|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. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​Union(IEnumerable<​Feature>​)|Union]] ​  | IEnumerable<​[[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]> ​  ​| ​   | This method returns the union of the specified features. ​  |+
  
-==== Protected Methods ==== +  ​* //This method returns ​if the current feature and the targetFeature are topologically equal.// 
-^ Name ^ Parameters ^ DeclaringType ^ Summary ^ +== Remarks == 
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​Finalize()|Finalize]] ​  ​|    | Object ​  ​| ​   | +  * //​Topologically equal means that the shapes are essentially the sameFor examplelet's say you have a line with two points, point A and point BYou also have another line that is made up of point A, point B and point CPoint 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 twoThey are both straight linesso point B of line two would lie on the first lineEssentially the two lines are the same, with line 2 having just one extra pointTopologically they are the same line, so this method would return trueAs this is a concrete public ​method ​that wraps Core method, we reserve ​the right to add events and other logic to preor post-process data returned by the Core version of the methodIn this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needsIf you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​GetBoundingBoxCore()|GetBoundingBoxCore]] ​  ​| ​   |    |    | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​GetGeoJsonCore()|GetGeoJsonCore]] ​  ​| ​   |    |    | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​GetShapeCore()|GetShapeCore]] ​  ​| ​   |    | This method returns the shape class that represents ​the Feature  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​GetWellKnownBinaryCore(RingOrderWkbByteOrder)|GetWellKnownBinaryCore]] ​  | [[ThinkGeo.MapSuite.PortableCore.RingOrder|RingOrder]][[ThinkGeo.MapSuite.PortableCore.WkbByteOrder|WkbByteOrder]] ​  ​| ​   | This method ​returns ​byte array that represents ​the feature in well-known binary  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​GetWellKnownTextCore(RingOrder)|GetWellKnownTextCore]] ​  | [[ThinkGeo.MapSuite.PortableCore.RingOrder|RingOrder]] ​  ​| ​   |    | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​GetWellKnownTypeCore()|GetWellKnownTypeCore]] ​  ​| ​   |    |    | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​MemberwiseClone()|MemberwiseClone]] ​  ​| ​   | Object ​  ​| ​   |+
  
-==== Public Properties ==== +== Return Value == 
-^ Name ^ Return ^ DeclaringType ^ Summary ^ +  * Type:Boolean 
-| {{wiki:PublicProperty.gif|Public Property}}[[#​CanMakeValid|CanMakeValid]] ​  ​| ​Boolean ​  |    |    | +  * Description:This method returns if the current feature and the targetFeature are topologically equal.
-| {{wiki:PublicProperty.gif|Public Property}}[[#​ColumnValues|ColumnValues]] ​  | Dictionary<​String,​String> ​  ​| ​   | This property gets a dictionary of values to represent ​the column data related to this Feature. ​  | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​Id|Id]] ​  | String ​  ​| ​   | This property gets the Id for the Feature. ​  | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​Tag|Tag]] ​  | Object ​  ​| ​   | The tag of the Feature  |+
  
-==== Protected Properties ==== +== Parameters ​== 
-^ Name ^ Return ^ DeclaringType ^ Summary ^+  * //​targetFeature//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:​The targetFeature that contains a shape you wish to compare the current one to.
  
-==== Public Events ==== +<div newline></​div>​ 
-^ Name ^ Event Arguments ^ DeclaringType ^ Summary ^+** {{wiki:​PublicMethod.gif|}} Overlaps(Feature) **
  
-===== Public Constructors ===== +  * //This method returns if the current feature and the targetFeature share some but not all points in common.// 
-==== Feature() ==== +== Remarks ​== 
-=== Parameters === +  ​* //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.//​
-^  Name ^  Type ^  Description ^+
  
-[[#Public Constructors|Go Back]] +== Return Value == 
-==== Feature(BaseShape) ==== +  ​Type:Boolean 
-This method is the constructor for the Feature. +  Description:This method returns if the current feature and the targetFeature share some but not all points in common.
-=== 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 ​  | [[ThinkGeo.MapSuite.PortableCore.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.PortableCore.BaseShape --> ​  ​| ​This parameter represents ​the base shape you wish to use as the basis of the new Feature  |+
  
-[[#Public Constructors|Go Back]] +== Parameters ​== 
-==== Feature(Byte[]) ​==== +  * //​targetFeature//​ 
-This method is the constructor for the Feature. +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-=== Overloads === +    * Description:​The targetFeature that contains a shape you wish to compare ​the current one to.
-This overload allows you to create a feature using well-known binary. +
-=== Remarks === +
-This overload allows you to create a feature using well-known binaryThe Id for this Feature ​will be a random GUID. +
-=== Parameters === +
-^  Name ^  Type ^  Description ^ +
-wellKnownBinary ​  | Byte[]<​!-- System.Byte[[]] --> ​  | This parameter is the well-known binary used to create the feature  |+
  
-[[#Public Constructors|Go Back]] +<div newline></​div
-==== Feature(Byte[],​ String) ==== +** {{wiki:​PublicMethod.gif|}} Touches(Feature) **
-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.Byte[[]] --  | 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.   |+
  
-[[#Public Constructors|Go Back]] +  * //This method ​returns of the current feature and the targetFeature have at least one boundary point in common, but no interior points.// 
-==== Feature(String) ==== +== Remarks == 
-This method ​is the constructor for the Feature+  * //As this is concrete public method that wraps a Core method, we reserve ​the right to add events and other logic to preor post-process data returned by the Core version of the methodIn this way, we leave our framework open on our end, but also allow you the developer ​to extend our logic to suit your needsIf you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//​
-=== Overloads === +
-This overload allows you to create a feature using well-known text. +
-=== Remarks ​=== +
-This overload allows you to create ​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  |+
  
-[[#Public Constructors|Go Back]] +== Return Value == 
-==== Feature(String,​ String) ​==== +  ​Type:Boolean 
-This method is the constructor for the Feature. +  Description:This method returns of the current feature and the targetFeature have at least one boundary point in common, but no interior points.
-=== 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  |+
  
-[[#Public Constructors|Go Back]] +== Parameters == 
-==== Feature(BaseShape,​ IDictionary<​String,​ String>) ==== +  ​* //​targetFeature//​ 
-This method is the constructor for the Feature. +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-=== Overloads === +    * Description:​The targetFeature which contains a shape that you wish to compare ​the current one to.
-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 ​  ​| ​[[ThinkGeo.MapSuite.PortableCore.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.PortableCore.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. ​  |+
  
-[[#Public Constructors|Go Back]] +<div newline></div
-==== Feature(BaseShape,​ IEnumerable<String>) ==== +** {{wiki:​PublicMethod.gif|}} GetIntersection(Feature) **
-=== Parameters === +
-^  Name ^  Type ^  Description ^ +
-| baseShape ​  | [[ThinkGeo.MapSuite.PortableCore.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.PortableCore.BaseShape --  |    | +
-| columnValues ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String--> ​  ​| ​   |+
  
-[[#Public Constructors|Go Back]] +  * //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.// 
-==== Feature(String,​ String, IDictionary<​String,​ String>) ==== +== Remarks ​== 
-This method ​is the constructor for the Feature. +  ​* //None//
-=== 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. ​  |+
  
-[[#Public Constructors|Go Back]] +== Return Value == 
-==== Feature(String,​ String, IEnumerable<​String>​) ==== +  ​Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-=== Parameters === +  * Description:​The return type is a Feature that contains the set of all points which lie in both the current feature and the target feature.
-^  Name ^  ​Type ​^  Description ^ +
-| wellKnownText ​  | String<​!-- System.String --> ​  ​| ​   | +
-| id   | String<​!-- System.String --> ​  ​| ​   ​+
-| columnValues ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  ​| ​   |+
  
-[[#Public Constructors|Go Back]] +== Parameters == 
-==== Feature(Byte[],​ String, IEnumerable<​String>​) ==== +  ​* //​targetFeature//​ 
-This method is the constructor for the Feature. +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-=== Overloads === +    * Description:​The feature you are trying to find the intersection with.
-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.Byte[[]] --> ​  | 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  |+
  
-[[#Public Constructors|Go Back]] +<div newline></div
-==== Feature(Byte[],​ String, IDictionary<String, String>) ==== +** {{wiki:​PublicMethod.gif|}} GetDifference(Feature) **
-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.Byte[[]] --  | 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.   |+
  
-[[#Public Constructors|Go Back]] +  * //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.// 
-==== Feature(Vertex) ==== +== Remarks == 
-This method ​is the constructor for the Feature. +  ​* //None//
-=== 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 ​  | [[ThinkGeo.MapSuite.PortableCore.Vertex|Vertex]]<​!-- ThinkGeo.MapSuite.PortableCore.Vertex --> ​  | This parameter is the x & y decimalDegreesValue pair used to make the point. The Id for the Feature will be a random GUID.   |+
  
-[[#Public Constructors|Go Back]] +== Return Value == 
-==== Feature(Vertex,​ String) ​==== +  ​Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-This method is the constructor for the Feature. +  * Description:​The return type is Feature ​that is the set of all points which lie in the current feature but not in the target 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 ​  ​| ​[[ThinkGeo.MapSuite.PortableCore.Vertex|Vertex]]<!-- ThinkGeo.MapSuite.PortableCore.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  |+
  
-[[#Public Constructors|Go Back]] +== Parameters == 
-==== Feature(Vertex,​ String, IEnumerable<​String>​) ==== +  ​* //​targetFeature//​ 
-This method is the constructor for the Feature. +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-=== Overloads === +    * Description:​The feture ​you are trying to find the difference with.
-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 ​  ​| ​[[ThinkGeo.MapSuite.PortableCore.Vertex|Vertex]]<!-- ThinkGeo.MapSuite.PortableCore.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. ​  |+
  
-[[#Public Constructors|Go Back]] +<div newline></div
-==== Feature(Vertex,​ String, IDictionary<String, String>) ==== +** {{wiki:​PublicMethod.gif|}} GetConvexHull() **
-=== Parameters === +
-^  Name ^  Type ^  Description ^ +
-| vertex ​  | [[ThinkGeo.MapSuite.PortableCore.Vertex|Vertex]]<!-- ThinkGeo.MapSuite.PortableCore.Vertex --  |    | +
-| id   | String<​!-- System.String --> ​     | +
-| columnValues ​  | IDictionary<​String,​String><​!-- System.Collections.Generic.IDictionary{System.String,​System.String--> ​  ​| ​   |+
  
-[[#Public Constructors|Go Back]] +  * //This method ​returns ​the convex hull of the feature, defined as the smallest convex ring that contains all of the points ​in the feature.// 
-==== Feature(Double,​ Double) ==== +== Remarks == 
-This method ​is the constructor for 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 onWith convex hull, you can get an idea of the regions those points are located in.//
-=== 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 and y coordinates. +
-=== Parameters === +
-^  Name ^  Type ^  Description ^ +
-| x   | Double<​!-- System.Double --> ​  | This parameter is the x decimalDegreesValue pair used to make the pointThe 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  |+
  
-[[#Public Constructors|Go Back]] +== Return Value == 
-==== Feature(Double,​ Double, String) ​==== +  * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-This method is the constructor for the Feature. +  ​Description:This method returns ​the convex hull of the feature, defined as the smallest convex ring that contains all of the points ​in 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  |+
  
-[[#Public Constructors|Go Back]] +== Parameters == 
-==== Feature(Double,​ Double, String, IEnumerable<​String>​) ==== +<div newline></div
-This method is the constructor for the Feature. +** {{wiki:​PublicMethod.gif|}} GetInvalidReason() **
-=== 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 ​  |+
  
-[[#Public Constructors|Go Back]] +  * //N/A// 
-==== Feature(Double,​ Double, String, IDictionary<​String,​ String>) ==== +== Remarks ​== 
-=== Parameters === +  ​* //N/A//
- 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} --> ​  ​| ​   |+
  
-[[#Public Constructors|Go Back]] +== Return Value == 
-===== Protected Constructors ===== +  * Type:String 
-===== Public Methods ===== +  * Description:​N/​A
-==== 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. +== Parameters ​== 
-=== Return Value === +<div newline></​div>​ 
-^ Return Type ^ Description ^ +** {{wiki:​PublicMethod.gif|}} MakeValid() **
-| [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<!-- ThinkGeo.MapSuite.PortableCore.Feature --  | The return type is a Feature that represents all of the points within a given distance from the feature  ​|+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| 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. ​  | +  ​* //N/A//
-| quadrantSegments ​  | Int32<​!-- System.Int32 --> ​  | The quadrant segments are the number of points in each quarter circle. ​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 ​  | [[ThinkGeo.MapSuite.PortableCore.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.PortableCore.GeographyUnit --> ​  | This is the geographic unit of the feature you are performing the operation on.   | +
-| distanceUnit ​  | [[ThinkGeo.MapSuite.PortableCore.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.PortableCore.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.PortableCore.Feature ​--> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-==== Buffer(Double,​ GeographyUnit,​ DistanceUnit) ==== +  * Description:​N/​A
-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. +== Parameters ​== 
-=== Return Value === +<div newline></​div>​ 
-^ Return Type ^ Description ^ +** {{wiki:​PublicMethod.gif|}} GetWellKnownBinary() **
-| [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<!-- ThinkGeo.MapSuite.PortableCore.Feature --  | The return type is a Feature that represents all of the points within a given distance from the feature  ​|+
  
-=== Parameters === +  * //This method returns the well-known binary that represents the Feature.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| 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. ​  | +  ​* //​This ​will return a copy of the well-known binary that represents ​the Feature.//
-| featureUnit ​  | [[ThinkGeo.MapSuite.PortableCore.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.PortableCore.GeographyUnit --> ​  | This is the geographic unit of the shape you are performing the operation on.   | +
-| distanceUnit ​  | [[ThinkGeo.MapSuite.PortableCore.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.PortableCore.DistanceUnit --> ​  | This is the distance unit you would like to use as the distanceFor example, if you select miles as your distanceUnit,​ then the distance will be calculated in miles for the operation. ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:Byte[] 
-==== Buffer(Double,​ Int32, BufferCapType,​ GeographyUnit,​ DistanceUnit) ​==== +  * Description:​This method ​returns ​the well-known binary that represents ​the Feature.
-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:+== Parameters == 
 +<div newline></​div>​ 
 +** {{wiki:PublicMethod.gif|}} GetWellKnownBinary(WkbByteOrder) **
  
-Please ensure that you validate the parameters being passed in and raise the exceptions defined above. +  * //N/A// 
-=== Return Value === +== Remarks ​== 
-^ Return Type ^ Description ^ +  * //N/A//
-| [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<​!-- ThinkGeo.MapSuite.PortableCore.Feature --> ​  | The return type is a Feature that represents all of the points within a given distance from the feature. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​^  Description ^ +  ​Type:Byte[] 
-| 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. ​  | +  * Description:​N/​A
-| quadrantSegments ​  | Int32<​!-- System.Int32 --> ​  | The number of quadrantSegments used in the buffer logic. ​  | +
-| bufferCapType ​  ​| ​[[ThinkGeo.MapSuite.PortableCore.BufferCapType|BufferCapType]]<!-- ThinkGeo.MapSuite.PortableCore.BufferCapType --> ​  | The bufferCapType used in the buffer logic. ​  | +
-| featureUnit ​  | [[ThinkGeo.MapSuite.PortableCore.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.PortableCore.GeographyUnit --> ​  | This is the geographic unit of the feature you are performing the operation on.   | +
-| distanceUnit ​  | [[ThinkGeo.MapSuite.PortableCore.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.PortableCore.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.PortableCore.Feature --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +  * //​byteOrder//​ 
-==== CloneDeep(ReturningColumnsType) ​==== +    ​* ​Type:[[ThinkGeo.MapSuite.Core.WkbByteOrder|WkbByteOrder]] 
-This method clones the entire structure, creating a totally separate copy. +    * Description:​N/​A
-=== 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 ^ +
-[[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<!-- ThinkGeo.MapSuite.PortableCore.Feature --> ​  | This method returns a clone of the entire structure, creating a totally separate copy.   |+
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} GetWellKnownBinary(RingOrder) **
-| returningColumnNamesType ​  | [[ThinkGeo.MapSuite.PortableCore.ReturningColumnsType|ReturningColumnsType]]<!-- ThinkGeo.MapSuite.PortableCore.ReturningColumnsType --  | This parameter allows you to select a type from the ReturningColumnsType that you wish to return with  ​|+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +  * //N/A// 
-[[#Public Methods|Go Back]] +== Remarks ​== 
-==== CloneDeep() ==== +  * //N/A//
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<​!-- ThinkGeo.MapSuite.PortableCore.Feature --> ​  ​| ​   |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​^+  ​Type:Byte[] 
 +  Description:N/A
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +  * //​outerRingOrder//​ 
-==== CloneDeep(IEnumerable<​String>​) ​==== +    ​* ​Type:[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] 
-This method clones the entire structure, creating a totally separate copy. +    * Description:​N/​A
-=== 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 ^ +
-[[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<!-- ThinkGeo.MapSuite.PortableCore.Feature --> ​  | This method returns a clone of the entire structure, creating a totally separate copy.   |+
  
-=== Parameters === +<div newline></div> 
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} GetWellKnownBinary(RingOrder,​WkbByteOrder) **
-| 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.PortableCore.Feature --> +  * //N/A// 
-[[#Public Methods|Go Back]] +== Remarks == 
-==== Contains(Feature) ==== +  * //N/A//
-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 === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:Byte[] 
-| targetFeature ​  | [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<​!-- ThinkGeo.MapSuite.PortableCore.Feature --> ​  | The targetFeature that contains a shape you wish to compare the current one to.   |+  Description:N/A
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +  * //​outerRingOrder//​ 
-==== CreateFeatureFromGeoJson(String) ​==== +    ​* ​Type:[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] 
-<!-- static --> +    * Description:​N/​A
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-[[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<!-- ThinkGeo.MapSuite.PortableCore.Feature --> ​  ​| ​   |+
  
-=== Parameters === +  * //​byteOrder//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.WkbByteOrder|WkbByteOrder]] 
-| geoJson ​  | String<​!-- System.String --> ​  |    ​|+    * Description:​N/​A
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +<div newline></div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} ToString() **
-==== CreateFeatureFromWellKnownData(String) ==== +
-<!-- static --+
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<​!-- ThinkGeo.MapSuite.PortableCore.Feature --> ​  ​| ​   ​|+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| wellKnownText ​  | String<​!-- System.String --> ​  ​| ​   |+  ​* //N/A//
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:String 
-==== CreateFeatureFromWellKnownData(Byte[]) ==== +  * Description:N/A
-<!-- static --> +
-=== Return Value === +
-^ Return ​Type Description ​+
-| [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<​!-- ThinkGeo.MapSuite.PortableCore.Feature --> ​  ​| ​   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  Type ^  Description ^ +<div newline></​div>​ 
-| wellKnownBinary ​  | Byte[]<​!-- System.Byte[[]] --> ​  ​| ​   ​|+** {{wiki:​PublicMethod.gif|}} GetWellKnownType() **
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +  * //This method returns the well known type that represents ​the Feature.// 
-[[#Public Methods|Go Back]] +== Remarks == 
-==== Crosses(Feature) ==== +  * //None//
-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 === +== Return Value == 
-^  Name ^  ​Type ​^  Description ^ +  ​Type:[[ThinkGeo.MapSuite.Core.WellKnownType|WellKnownType]] 
-| targetFeature ​  ​| ​[[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<!-- ThinkGeo.MapSuite.PortableCore.Feature --> ​  | The targetFeature ​that contains a shape you wish to compare ​the current one to  |+  * Description:​This method returns the well known type that represents ​the Feature.
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +<div newline></​div>​ 
-==== Equals(Object) ​==== +** {{wiki:​PublicMethod.gif|}} GetShape() **
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Boolean<​!-- System.Boolean --> ​  ​| ​   ​|+
  
-=== Parameters === +  * //This method returns the shape class that represents the Feature.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| obj   | Object<!-- System.Object --> ​  ​| ​   |+  ​* //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.//
  
-<!-- System.Object --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-==== GetBoundingBox() ==== +  * Description:​This method returns the shape class that represents ​the Feature.
-This method returns the bounding box of the Feature. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-[[ThinkGeo.MapSuite.PortableCore.RectangleShape|RectangleShape]]<!-- ThinkGeo.MapSuite.PortableCore.RectangleShape --> ​  ​| ​This method returns the bounding box of the Feature. ​  |+
  
-=== Parameters === +== Parameters == 
-^  Name ^  Type ^  Description ^+<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetWellKnownText() **
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +  * //This method returns the well-known text that represents ​the Feature.// 
-[[#Public Methods|Go Back]] +== Remarks == 
-==== GetConvexHull() ==== +  * //This method ​allows ​you to get the well-known text from FeatureBecause the Feature stores ​the geometry for itself ​in well-known binaryit may take some time to generate ​the text if the geometry is complex.//
-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 ​certain type of person you are doing statistics onWith convex hull, you can get an idea of the regions those points are located ​in+
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<​!-- ThinkGeo.MapSuite.PortableCore.Feature --> ​  | This method returns the convex hull of the featuredefined as the smallest convex ring that contains all of the points in the feature  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​^+  ​Type:String 
 +  Description:This method returns the well-known text that represents the Feature.
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +<div newline></​div>​ 
-==== GetDifference(Feature) ​==== +** {{wiki:​PublicMethod.gif|}} GetWellKnownText(RingOrder) **
-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 ^ +
-| [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<!-- ThinkGeo.MapSuite.PortableCore.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 === +  * //This method returns the well-known text representation of this feature.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetFeature ​  | [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<​!-- ThinkGeo.MapSuite.PortableCore.Feature ​-->   | The feture ​you are trying to find the difference with  |+  ​* //This method returns a stringthat represents the shape in well-known textWell-known text allows you to describe geometries as a string of textWell-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 applicationsAn alternative to well-known text is well-known binary, which is a binary representation of a geometry objectWe have methods that work with well-known binary as wellBelow 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),(--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.//
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:String 
-==== GetGeoJson() ==== +  * Description:This method returns a string that represents the shape in well-known text.
-=== Return Value === +
-^ Return ​Type Description ​+
-| String<!-- System.String --> ​  ​| ​   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  ​Description ​^+  ​* //​outerRingOrder//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] 
 +    * Description:N/A
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} GetGeoJson() **
-==== GetHashCode() ==== +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Int32<​!-- System.Int32 --> ​  ​| ​   |+
  
-=== Parameters === +  * //N/A// 
-^  Name ^  Type ^  Description ^+== Remarks ​== 
 +  ​* //N/A//
  
-<!-- System.Object --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:String 
-==== GetIntersection(Feature) ==== +  * Description:N/A
-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 ​+
-| [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<​!-- ThinkGeo.MapSuite.PortableCore.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 ​=== +== Parameters == 
-^  Name ^  Type ^  Description ^ +<div newline></​div>​ 
-| targetFeature ​  | [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<!-- ThinkGeo.MapSuite.PortableCore.Feature --  | The feature you are trying to find the intersection with  ​|+** {{wiki:​PublicMethod.gif|}} GetBoundingBox() **
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +  * //This method returns the bounding box of the Feature.// 
-[[#Public Methods|Go Back]] +== Remarks ​== 
-==== GetInvalidReason() ==== +  * //None//
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| String<​!-- System.String --> ​  ​| ​   |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​^+  ​Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
 +  Description:This method returns the bounding box of the Feature.
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +<div newline></​div>​ 
-==== GetShape() ​==== +** {{wiki:​PublicMethod.gif|}} CloneDeep(IEnumerable<String>) **
-This method returns the shape class that represents the Feature. +
-=== Remarks === +
-This method allows you to get a shape class from a FeatureBecause 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 ^ +
-[[ThinkGeo.MapSuite.PortableCore.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.PortableCore.BaseShape --  | This method returns the shape class that represents the Feature. ​  |+
  
-=== Parameters === +  * //This method clones the entire structure, creating a totally separate copy.// 
-^  Name ^  Type ^  Description ^+== 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.//
  
-<​!-- ​ThinkGeo.MapSuite.PortableCore.Feature ​--> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-==== GetType() ==== +  ​* ​Description:This method returns a clone of the entire structure, creating a totally separate copy.
-=== Return Value === +
-^ Return Type ^ Description ​+
-| Type<!-- System.Type --> ​  ​| ​   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  ​Description ​^+  ​* //​returningColumnNames//​ 
 +    * Type:​IEnumerable<​String>​ 
 +    * Description:This parameter represents the columnar data fields that you wish to include in the clone.
  
-<!-- System.Object --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} CloneDeep(ReturningColumnsType**
-==== 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.Byte[[]] --> ​  | This method returns the well-known binary that represents the Feature. ​  |+
  
-=== Parameters === +  * //This method clones the entire structure, creating a totally separate copy.// 
-^  Name ^  Type ^  Description ^+== 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.//
  
-<​!-- ​ThinkGeo.MapSuite.PortableCore.Feature ​--> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-==== GetWellKnownBinary(RingOrderWkbByteOrder) ==== +  * Description:​This method returns a clone of the entire structurecreating a totally separate copy.
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Byte[]<​!-- System.Byte[[]] --> ​  ​| ​   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​returningColumnNamesType//​ 
-| outerRingOrder ​  ​| ​[[ThinkGeo.MapSuite.PortableCore.RingOrder|RingOrder]]<!-- ThinkGeo.MapSuite.PortableCore.RingOrder --> ​  ​| ​   +    * Type:[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
-| byteOrder ​  | [[ThinkGeo.MapSuite.PortableCore.WkbByteOrder|WkbByteOrder]]<​!-- ThinkGeo.MapSuite.PortableCore.WkbByteOrder --> ​  ​| ​   |+    * Description:​This parameter allows you to select a type from the ReturningColumnsType that you wish to return with.
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} CloneDeep() **
-==== GetWellKnownBinary(RingOrder==== +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Byte[]<​!-- System.Byte[[]] --> ​  ​| ​   |+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| outerRingOrder ​  | [[ThinkGeo.MapSuite.PortableCore.RingOrder|RingOrder]]<​!-- ThinkGeo.MapSuite.PortableCore.RingOrder --> ​  ​| ​   |+  ​* //N/A//
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-==== GetWellKnownBinary(WkbByteOrder) ==== +  * Description:​N/​A
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-| Byte[]<​!-- System.Byte[[]] --> ​  ​| ​   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  Type ^  Description ^ +<div newline></​div>​ 
-| byteOrder ​  | [[ThinkGeo.MapSuite.PortableCore.WkbByteOrder|WkbByteOrder]]<​!-- ThinkGeo.MapSuite.PortableCore.WkbByteOrder --> ​  ​| ​   ​|+** {{wiki:​PublicMethod.gif|}} IsValid() **
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +  * //This method returns the results ​of some simple validity tests on the Feature.// 
-[[#Public Methods|Go Back]] +== Remarks == 
-==== GetWellKnownText(RingOrder) ==== +  * //This method ​is used primarily ​to ensure that Feature is validThe reason ​is, since this is a structure, we cannot control the main constructor that allows ​you to create ​Feature ​in an invalid state -- that state being one with no well-known binary ​at its core. If you use the constructure set providedthen 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 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 string of textWell-known text is useful when you want to save 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)+== Return Value == 
 +  * Type:​Boolean 
 +  * Description:​This method returns the results of some simple validity tests on the Feature.
  
-LINESTRING(4 5,10 50,25 80)+== Parameters == 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} Union(Feature**
  
-POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))+  * //This method returns the union of the current feature and the target featuredefined 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.//
  
-MULTIPOINT(3.7 9.7,4.9 11.6)+== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +  * Description:​The return type is a Feature that contains the set of all points which lie in the current feature or the target feature.
  
-MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))+== Parameters == 
 +  * //​targetFeature//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:​The feature you are trying to find the union with.
  
-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)))+<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} Buffer(Double,GeographyUnit,DistanceUnit**
  
-Overriding:+  * //This method computes the area containing all of the points within a given distance from this feature.//​ 
 +== 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.//​
  
-Please ensure that you validate the parameters being passed in and raise the exceptions defined above. +== Return Value == 
-=== Return Value === +  ​* ​Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-^ Return ​Type ^ Description ^ +  * Description:​The return type is Feature ​that represents ​all of the points within a given distance from the feature.
-| String<​!-- System.String --> ​  This method returns ​string ​that represents the shape in well-known text  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  ​Description ​+  ​* //​distance//​ 
-| outerRingOrder ​  | [[ThinkGeo.MapSuite.PortableCore.RingOrder|RingOrder]]<​!-- ThinkGeo.MapSuite.PortableCore.RingOrder --> ​  ​| ​   |+    * Type:Double 
 +    * Description:The distance is the number of units to buffer the current shapeThe distance unit will be the one specified in the distanceUnit parameter.
  
-<​!-- ​ThinkGeo.MapSuite.PortableCore.Feature --> +  * //​featureUnit//​ 
-[[#Public Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-==== GetWellKnownText() ==== +    * Description:​This is the geographic unit of the shape you are performing ​the operation on.
-This method returns ​the well-known text that represents ​the Feature. +
-=== Remarks === +
-This method allows ​you to get the well-known text from a FeatureBecause 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 === +  * //​distanceUnit//​ 
-^  Name ^  ​Type ^  ​Description ​^+    ​* ​Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
 +    * Description: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.PortableCore.Feature --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} Buffer(Double,​Int32,​GeographyUnit,​DistanceUnit**
-==== GetWellKnownType() ==== +
-This method returns the well known type that represents the Feature. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.PortableCore.WellKnownType|WellKnownType]]<​!-- ThinkGeo.MapSuite.PortableCore.WellKnownType --> ​  | This method returns the well known type that represents the Feature. ​  |+
  
-=== Parameters === +  * //This method computes the area containing all of the points within a given distance from this feature.//​ 
-^  Name ^  Type ^  Description ^+== 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.//​
  
-<​!-- ​ThinkGeo.MapSuite.PortableCore.Feature ​--> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-==== Intersects(Feature) ==== +  * Description:​The return type is a Feature ​that represents all of the points within a given distance from the 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 ​=== +== Parameters == 
-^  Name ^  ​Type ​^  ​Description ​+  ​* //​distance//​ 
-| targetFeature ​  | [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<​!-- ThinkGeo.MapSuite.PortableCore.Feature --> ​  ​| ​The targetFeature you wish to compare ​the current one to  |+    * Type:Double 
 +    * Description:The distance is the number of units to buffer ​the current ​shape. The distance unit will be the one specified in the distanceUnit parameter.
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +  * //​quadrantSegments//​ 
-[[#Public Methods|Go Back]] +    * Type:Int32 
-==== IsDisjointed(Feature) ==== +    ​* ​Description:The quadrant segments are the number of points in each quarter circleA 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 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 commonAs 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 === +  * //​featureUnit//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-| targetFeature ​  ​| ​[[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<!-- ThinkGeo.MapSuite.PortableCore.Feature --> ​  | The feature you wish to compare ​the current one to  |+    * Description:​This is the geographic unit of the feature you are performing ​the operation on.
  
-<​!-- ​ThinkGeo.MapSuite.PortableCore.Feature --> +  * //​distanceUnit//​ 
-[[#Public Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-==== IsTopologicallyEqual(Feature) ==== +    * Description:​This is the distance unit you would like to use as the distance. For example, ​if you select miles as your distanceUnitthen the distance will be calculated in miles for the operation.
-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 twoand 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 methodIn this waywe leave our framework open on our endbut also allow you the developer to extend our logic to suit your needs. If you have questions about thisplease contact our support team as we would be happy to work with you on extending our framework. +<div newline></​div>​ 
-=== Return Value === +** {{wiki:​PublicMethod.gif|}} Buffer(Double,Int32,BufferCapType,GeographyUnit,​DistanceUnit) **
-^ Return Type ^ Description ^ +
-| Boolean<​!-- System.Boolean --> ​  | This method returns if the current feature and the targetFeature are topologically equal. ​  |+
  
-=== Parameters === +  * //This method computes the area containing all of the points within a given distance from this feature.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetFeature ​  | [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<​!-- ThinkGeo.MapSuite.PortableCore.Feature --> ​  ​| ​The targetFeature ​that contains a shape you wish to compare ​the current one to  |+  ​* //This method computes the area containing all of the points within a given distance from this featureIn 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.//
  
-<​!-- ​ThinkGeo.MapSuite.PortableCore.Feature ​--> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-==== IsValid() ==== +  * Description:​The return type is a Feature that represents all of the points within ​given distance from the feature.
-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 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 ​=== +== Parameters == 
-^  Name ^  ​Type ​^  ​Description ​^+  ​* //​distance//​ 
 +    * Type:Double 
 +    * Description:The distance is the number of units to buffer the current feature. The distance unit will be the one specified in the distanceUnit parameter.
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +  * //​quadrantSegments//​ 
-[[#Public Methods|Go Back]] +    * Type:Int32 
-==== IsWithin(Feature) ==== +    * Description:​The number ​of quadrantSegments used in the buffer ​logic.
-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 methodIn 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 === +  * //​bufferCapType//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.BufferCapType|BufferCapType]] 
-| targetFeature ​  ​| ​[[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<!-- ThinkGeo.MapSuite.PortableCore.Feature --> ​  ​| ​The targetFeature that contains a shape you wish to compare ​the current one to  |+    * Description:​The bufferCapType used in the buffer logic.
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +  * //​featureUnit//​ 
-[[#Public Methods|Go Back]] +    ​* ​Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-==== MakeValid() ==== +    * Description:​This is the geographic unit of the feature you are performing the operation on.
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-[[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<!-- ThinkGeo.MapSuite.PortableCore.Feature --> ​  ​| ​   |+
  
-=== Parameters === +  * //​distanceUnit//​ 
-^  Name ^  ​Type ^  ​Description ​^+    ​* ​Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
 +    * Description: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.PortableCore.Feature --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} Contains(Feature) ​**
-==== 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 === +  * //This method returns if the targetFeature lies within the interior of the current feature.//​ 
-^  Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetFeature ​  | [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<​!-- ThinkGeo.MapSuite.PortableCore.Feature --> ​  | The targetFeature that contains a shape you wish to compare ​the current one to.   |+  ​* //As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to preor post-process data returned by the Core version of the methodIn this way, we leave our framework open on our end, but also allow you the developer ​to extend our logic to suit your needsIf you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//​
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:Boolean 
-==== ToString() ==== +  * Description:This method returns if the targetFeature lies within the interior of the current feature.
-=== Return Value === +
-^ Return ​Type Description ​+
-| String<​!-- System.String --> ​  ​| ​   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  ​Description ​^+  ​* //​targetFeature//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:The targetFeature that contains a shape you wish to compare the current one to.
  
-<!-- System.Object(overriden) --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} Crosses(Feature) ​**
-==== 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 === +  * //This method returns if the current feature and the targetFeature share some but not all interior points.// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetFeature ​  | [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<​!-- ThinkGeo.MapSuite.PortableCore.Feature --> ​  | The targetFeature which contains a shape that you wish to compare the current one to.   |+  ​* //As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to preor post-process data returned by the Core version of the methodIn this way, we leave our framework open on our end, but also allow you the developer ​to extend our logic to suit your needsIf you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//​
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:​Boolean 
-==== Union(Feature) ​==== +  * Description:​This method returns ​if the current feature and the targetFeature share some but not all interior ​points.
-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 ^ +
-| [[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<​!-- ThinkGeo.MapSuite.PortableCore.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 ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetFeature//​ 
-| targetFeature ​  ​| ​[[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<!-- ThinkGeo.MapSuite.PortableCore.Feature --> ​  ​| ​The feature ​you are trying ​to find the union with  |+    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:​The targetFeature that contains a shape you wish to compare ​the current one to.
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +<div newline></div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} IsWithin(Feature) **
-==== 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 ^ +
-[[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]<​!-- ThinkGeo.MapSuite.PortableCore.Feature --> ​  | The return type is a Feature that contains the set of all points that lie within the features you specified. ​  |+
  
-=== Parameters === +  * //This method returns if the current feature lies within the interior of the targetFeature.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetFeatures ​  | IEnumerable<​[[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]><​!-- System.Collections.Generic.IEnumerable{ThinkGeo.MapSuite.PortableCore.Feature} --> ​  | The features ​you are trying ​to find the union with.   |+  ​* //As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to preor post-process data returned by the Core version of the methodIn this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needsIf you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:Boolean 
-===== Protected Methods ===== +  * Description:This method returns if the current feature lies within the interior of the targetFeature.
-==== Finalize() ==== +
-=== Return Value === +
-^ Return ​Type Description ​+
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  ​Description ​^+  ​* //​targetFeature//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:The targetFeature that contains a shape you wish to compare the current one to.
  
-<!-- System.Object --+<div newline></​div
-[[#​Protected Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} Intersects(Feature**
-==== GetBoundingBoxCore() ==== +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.PortableCore.RectangleShape|RectangleShape]]<​!-- ThinkGeo.MapSuite.PortableCore.RectangleShape --> ​  ​| ​   |+
  
-=== Parameters === +  * //This method returns if the current feature and the targetFeature have at least one point in common.// 
-^  Name ^  Type ^  Description ^+== 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.//​
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +== Return Value == 
-[[#​Protected Methods|Go Back]] +  ​* ​Type:Boolean 
-==== GetGeoJsonCore() ==== +  * Description:This method returns if the current feature and the targetFeature have at least one point in common.
-=== Return Value === +
-^ Return ​Type Description ​+
-| String<​!-- System.String --> ​  ​| ​   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  ​Description ​^+  ​* //​targetFeature//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:The targetFeature you wish to compare the current one to.
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --+<div newline></​div
-[[#​Protected Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} IsDisjointed(Feature**
-==== 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 ^ +
-| [[ThinkGeo.MapSuite.PortableCore.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.PortableCore.BaseShape --> ​  | This method returns the shape class that represents the Feature. ​  |+
  
-=== Parameters === +  * //This method returns if the current feature and the targetFeature have no points in common.// 
-^  Name ^  Type ^  Description ^+== Remarks ​== 
 +  ​* //None//
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +== Return Value == 
-[[#​Protected Methods|Go Back]] +  * Type:​Boolean 
-==== GetWellKnownBinaryCore(RingOrder,​ WkbByteOrder) ​==== +  * Description:​This method returns ​if the current ​feature ​and the targetFeature have no points ​in commonAs this is a concrete public ​method that wraps a Core method, we reserve ​the right to add events and other logic to preor post-process data returned by the Core version of the methodIn this way, we leave our framework open on our end, but also allow you the developer ​to extend our logic to suit your needsIf 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 byte array that represents ​the feature in well-known binary. +
-=== Remarks === +
-This method ​returns a byte array that represents ​the feature in well-known binaryWell-known binary allows ​you to describe geometries as a binary arrayWell-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:+== Parameters == 
 +  * //​targetFeature//​ 
 +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:​The feature you wish to compare the current one to.
  
-Please ensure that you validate the parameters being passed in and raise the exceptions defined above. +<div newline></​div>​ 
-=== Return Value === +** {{wiki:​PublicMethod.gif|}} Equals(Object) **
-^ Return Type ^ Description ^ +
-| Byte[]<!-- System.Byte[[]] --  | This method returns a byte array that represents the feature in well-known binary  ​|+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| outerRingOrder ​  | [[ThinkGeo.MapSuite.PortableCore.RingOrder|RingOrder]]<​!-- ThinkGeo.MapSuite.PortableCore.RingOrder --> ​  ​| ​   | +  ​* //N/A//
-| byteOrder ​  | [[ThinkGeo.MapSuite.PortableCore.WkbByteOrder|WkbByteOrder]]<​!-- ThinkGeo.MapSuite.PortableCore.WkbByteOrder --> ​  | This parameter specifies if the byte order is big- or little-endian. ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +== Return Value == 
-[[#​Protected Methods|Go Back]] +  ​* ​Type:Boolean 
-==== GetWellKnownTextCore(RingOrder) ==== +  * Description:N/A
-=== Return Value === +
-^ Return ​Type Description ​+
-| String<​!-- System.String --> ​  ​| ​   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //obj// 
-| outerRingOrder ​  | [[ThinkGeo.MapSuite.PortableCore.RingOrder|RingOrder]]<​!-- ThinkGeo.MapSuite.PortableCore.RingOrder --> ​  ​| ​   |+    * Type:Object 
 +    ​* Description:​N/​A
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --+<div newline></​div
-[[#​Protected Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} GetHashCode() **
-==== GetWellKnownTypeCore() ==== +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.PortableCore.WellKnownType|WellKnownType]]<​!-- ThinkGeo.MapSuite.PortableCore.WellKnownType --> ​  ​| ​   |+
  
-=== Parameters === +  * //N/A// 
-^  Name ^  Type ^  Description ^+== Remarks ​== 
 +  ​* //N/A//
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +== Return Value == 
-[[#​Protected Methods|Go Back]] +  ​* ​Type:Int32 
-==== MemberwiseClone() ==== +  * Description:N/A
-=== Return Value === +
-^ Return ​Type Description ​+
-| Object<​!-- System.Object --> ​  ​| ​   |+
  
-=== Parameters === +== Parameters == 
-^  Name ^  Type ^  Description ^+<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetType() **
  
-<!-- System.Object --> +  * //N/A// 
-[[#​Protected Methods|Go Back]] +== Remarks ​== 
-===== Public Properties ===== +  * //N/A//
-==== CanMakeValid ==== +
-=== Return Value === +
-^ Return Type ^ +
-| Boolean<​!-- System.Boolean --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature --> +== Return Value == 
-[[#Public Properties|Go Back]] +  * Type:Type 
-==== ColumnValues ==== +  * Description:​N/​A
-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.PortableCore.Feature --> +== Parameters ​== 
-[[#Public Properties|Go Back]] +<div newline></​div>​ 
-==== Id ==== +** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} CreateFeatureFromGeoJson(String) **
-This property gets the Id for the Feature. +
-=== Remarks === +
-The Id is a string that represents the unique identifier for this FeatureIf the feature is returned from a FeatureSource,​ the Id will be the unique field descriptor used by the FeatureSourceFor 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.PortableCore.Feature --> +  * //N/A// 
-[[#Public Properties|Go Back]] +== Remarks ​== 
-==== Tag ==== +  * //N/A//
-The tag of the Feature. +
-=== Return Value === +
-^ Return Type ^ +
-| Object<​!-- System.Object --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Feature ​--+== Return Value == 
-[[#Public Properties|Go Back]] +  * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-===== Protected ​Properties ​===== +  * Description:​N/​A 
-===== Public Events ​===== + 
-__NOTOC__ +== Parameters == 
-[[Category:MapSuitePortableCore]] +  * //​geoJson//​ 
-[[Category:​ThinkGeo.MapSuite.PortableCore]] +    * Type:​String 
-[[Category:UpdateDocumentation]]+    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} CreateFeatureFromWellKnownData(Byte[]) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​wellKnownBinary//​ 
 +    * Type:​Byte[] 
 +    * Description:​N/​A 
 + 
 +<div newline></​div
 +** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} CreateFeatureFromWellKnownData(String) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​wellKnownText//​ 
 +    * Type:​String 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} Union(IEnumerable<​Feature>​) ** 
 + 
 +  * //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 == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +  * Description:​The return type is a Feature that contains the set of all points that lie within the features you specified. 
 + 
 +== Parameters == 
 +  * //​targetFeatures//​ 
 +    * Type:​IEnumerable<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
 +    * Description:​The features you are trying to find the union with. 
 + 
 +<div newline></​div>​ 
 +==== Protected ​Methods ​==== 
 +** {{wiki:​ProtectedMethod.gif|}} GetStartPoint() ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +  * Description:​N/​A 
 + 
 +== Parameters ​== 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} GetEndPoint() ** 
 + 
 +  * //N/A// 
 +== Remarks ​== 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +  * Description:N/A 
 + 
 +== Parameters == 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} GetAllPoints() ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Vertex|Vertex]]> 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} SetWellKnownBinary(Byte[]) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:Void 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //wkb// 
 +    * Type:Byte[
 +    * Description:N/A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} 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 == 
 +  * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +  * Description:​This method returns the shape class that represents the Feature. 
 + 
 +== Parameters == 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} 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 == 
 +  * Type:Byte[
 +  * Description:​This method returns a byte array that represents the feature in well-known binary. 
 + 
 +== Parameters == 
 +  * //​outerRingOrder//​ 
 +    * Type:[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] 
 +    * Description:N/A 
 + 
 +  * //​byteOrder//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.WkbByteOrder|WkbByteOrder]] 
 +    * Description:​This parameter specifies if the byte order is big- or little-endian. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} GetWellKnownTypeCore() ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.WellKnownType|WellKnownType]] 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} GetWellKnownTextCore(RingOrder) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​String 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​outerRingOrder//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} GetGeoJsonCore() ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​String 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} GetBoundingBoxCore() ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} Finalize() ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:Void 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} MemberwiseClone() ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​Object 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +<div newline></​div>​ 
 +==== Public Properties ==== 
 +** {{wiki:​PublicProperty.gif|}} CanMakeValid ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 +== Return Value == 
 +  * Type:​Boolean 
 + 
 +** {{wiki:​PublicProperty.gif|}} 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 == 
 +  * Type:​String 
 + 
 +** {{wiki:​PublicProperty.gif|}} Tag ** 
 + 
 +  * //The tag of the Feature.//​ 
 +== Remarks == 
 +  * //N/A// 
 +== Return Value == 
 +  * Type:​Object 
 + 
 +** {{wiki:​PublicProperty.gif|}} 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 == 
 +  * Type:​Dictionary<​String,​String>​ 
 + 
 +==== Protected Properties ==== 
 +==== Public Events ====
  
thinkgeo.mapsuite.portablecore.feature.1440040132.txt.gz · Last modified: 2015/09/21 08:07 (external edit)