User Tools

Site Tools


thinkgeo.mapsuite.core.lineshape

Differences

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

Link to this comparison view

Next revision
Previous revision
thinkgeo.mapsuite.core.lineshape [2015/08/20 03:08]
127.0.0.1 external edit
thinkgeo.mapsuite.core.lineshape [2017/03/16 21:59] (current)
Line 1: Line 1:
 ====== ThinkGeo.MapSuite.Core.LineShape ====== ====== ThinkGeo.MapSuite.Core.LineShape ======
  
 +{{section>​upgrade_map_suite_to_10.0}}
  
- 
-<!-- Class --> 
 This class represents a LineShape, which is defined as a single line with two or more points. This class represents a LineShape, which is defined as a single line with two or more points.
-=== Remarks === 
-The LineShape is one of the more commonly used shapes. Typically it is used for representing roads in GIS data files. 
 ===== Inheritance Hierarchy ===== ===== Inheritance Hierarchy =====
-*System.Object +  ​*System.Object 
-**[[ThinkGeo.MapSuite.Core.BaseShape]] +    *ThinkGeo.MapSuite.Core.BaseShape 
-***[[ThinkGeo.MapSuite.Core.LineBaseShape]] +      *ThinkGeo.MapSuite.Core.LineBaseShape 
-****[[ThinkGeo.MapSuite.Core.LineShape]]+        ***ThinkGeo.MapSuite.Core.LineShape**
 ===== Members Summary ===== ===== Members Summary =====
 ==== Public Constructors ==== ==== Public Constructors ====
-^ Name ^ Parameters ^ DeclaringType ^ Summary ^ +** {{wiki:​PublicMethod.gif|}} LineShape() ​**
-{{wiki:​PublicMethod.gif|Public Method}}[[#LineShape()|LineShape]] ​  ​| ​   |    | This constructor creates the LineShape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​LineShape(IEnumerable<​Vertex>​)|LineShape]] ​  | IEnumerable<​[[ThinkGeo.MapSuite.Core.Vertex|Vertex]]> ​  ​| ​   | This constructor creates the LineShape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​LineShape(String)|LineShape]] ​  | String ​  ​| ​   | This constructor creates the LineShape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​LineShape(Byte[])|LineShape]] ​  | Byte[] ​  ​| ​   | This constructor creates the LineShape. ​  |+
  
-==== Protected Constructors ​==== +  * //This constructor creates the LineShape.//​ 
-^ Name ^ Parameters ^ DeclaringType ^ Summary ^+== Remarks ​== 
 +  * //None// 
 +== Parameters ​== 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} LineShape(IEnumerable<​Vertex>​) **
  
 +  * //This constructor creates the LineShape.//​
 +== Remarks ==
 +  * //None//
 +== Parameters ==
 +  * //points//
 +    * Type:​IEnumerable<​[[ThinkGeo.MapSuite.Core.Vertex|Vertex]]>​
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} LineShape(String) **
 +
 +  * //This constructor creates the LineShape.//​
 +== Remarks ==
 +  * //None//
 +== Parameters ==
 +  * //​wellKnownText//​
 +    * Type:String
 +    * Description:​This parameter is the well-known text used to build the shape.
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} LineShape(Byte[]) **
 +
 +  * //This constructor creates the LineShape.//​
 +== Remarks ==
 +  * //None//
 +== Parameters ==
 +  * //​wellKnownBinary//​
 +    * Type:Byte[]
 +    * Description:​This parameter is the well-known binary used to build the shape.
 +
 +<div newline></​div>​
 +==== Protected Constructors ====
 ==== Public Methods ==== ==== Public Methods ====
-^ Name ^ Parameters ^ DeclaringType ^ Summary ^ +** {{wiki:​PublicMethod.gif|}} ReversePoints() ​**
-{{wiki:​PublicMethod.gif|Public Method}}[[#​Buffer(Double,​ Int32, BufferCapType,​ GeographyUnit,​ DistanceUnit)|Buffer]] ​  | Double, Int32, [[ThinkGeo.MapSuite.Core.BufferCapType|BufferCapType]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method computes the area containing all of the points within a given distance from this shape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Buffer(Double,​ GeographyUnit,​ DistanceUnit)|Buffer]] ​  | Double, [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method computes the area containing all of the points within a given distance from this shape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Buffer(Double,​ Int32, GeographyUnit,​ DistanceUnit)|Buffer]] ​  | Double, Int32, [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method computes the area containing all of the points within a given distance from this shape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​CloneDeep()|CloneDeep]] ​  ​| ​   | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns a complete copy of the shape without any references in common. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Contains(BaseShape)|Contains]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the targetShape lies within the interior of the current shape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Contains(Feature)|Contains]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the targetFeature lies within the interior of the current shape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​ConvexHull()|ConvexHull]] ​  ​| ​   | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  | This method returns the convex hull of the shape defined as the smallest convex ring that contains all the points in the shape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​CreateShapeFromGeoJson(String)|CreateShapeFromGeoJson]] ​  | String ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​CreateShapeFromWellKnownData(String)|CreateShapeFromWellKnownData]] ​  | String ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method creates a BaseShape from a string of well-known text.   | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​CreateShapeFromWellKnownData(Byte[])|CreateShapeFromWellKnownData]] ​  | Byte[] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method creates a BaseShape from a string of well-known binary. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Crosses(Feature)|Crosses]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the current shape and the targetFeature share some but not all interior points. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Crosses(BaseShape)|Crosses]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the current shape and the targetShape share some but not all interior points. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Equals(Object)|Equals]] ​  | Object ​  | Object ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetAccurateLength(String,​ DistanceUnit,​ DistanceCalculationMode)|GetAccurateLength]] ​  | String, [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceCalculationMode|DistanceCalculationMode]] ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetAccurateLength(Int32,​ DistanceUnit,​ DistanceCalculationMode)|GetAccurateLength]] ​  | Int32, [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceCalculationMode|DistanceCalculationMode]] ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetBoundingBox()|GetBoundingBox]] ​  ​| ​   | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method calculates the smallest RectangleShape that encompasses the entire geometry. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetCenterPoint()|GetCenterPoint]] ​  ​| ​   | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns the center point of the current shape'​s bounding box.   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetClosestPointTo(Feature,​ GeographyUnit)|GetClosestPointTo]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns the point of the current shape that is closest to the target feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetClosestPointTo(BaseShape,​ GeographyUnit)|GetClosestPointTo]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns the point of the current shape that is closest to the target shape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetCrossing(BaseShape)|GetCrossing]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns the crossing points between the current shape and the passed-in target shape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetDistanceTo(BaseShape,​ GeographyUnit,​ DistanceUnit)|GetDistanceTo]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method computes the distance between the current shape and the targetShape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetDistanceTo(Feature,​ GeographyUnit,​ DistanceUnit)|GetDistanceTo]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method computes the distance between the current shape and the targetFeature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeature(IDictionary<​String,​ String>​)|GetFeature]] ​  | IDictionary<​String,​ String> ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | Get a corresponding feature which has the same Id and BaseShape as the current shape. Additionally,​ pass the specified columnValues into the returned feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeature()|GetFeature]] ​  ​| ​   | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | Get a corresponding feature which has the same Id and BaseShape as the current shape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetGeoJson()|GetGeoJson]] ​  ​| ​   | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetHashCode()|GetHashCode]] ​  ​| ​   | Object ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetIntersection(Feature)|GetIntersection]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]] ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetIntersection(AreaBaseShape)|GetIntersection]] ​  | [[ThinkGeo.MapSuite.Core.AreaBaseShape|AreaBaseShape]] ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetLength(GeographyUnit,​ DistanceUnit)|GetLength]] ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  | This method returns the length of the line shape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetLineOnALine(StartingPoint,​ PointShape)|GetLineOnALine]] ​  | [[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]],​ [[ThinkGeo.MapSuite.Core.PointShape|PointShape]] ​  ​| ​   | This method returns a BaseLineShape,​ based on a starting position and other factors. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetLineOnALine(StartingPoint,​ Double, Double, GeographyUnit,​ DistanceUnit)|GetLineOnALine]] ​  | [[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]],​ Double, Double, [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  ​| ​   | This method returns a BaseLineShape,​ based on a starting position and other factors. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetLineOnALine(StartingPoint,​ Single)|GetLineOnALine]] ​  | [[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]],​ Single ​  ​| ​   | This method returns a BaseLineShape,​ based on a starting position and other factors. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetLineOnALine(StartingPoint,​ Single, Single)|GetLineOnALine]] ​  | [[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]],​ Single, Single ​  ​| ​   | This method returns a BaseLineShape,​ based on a starting position and other factors. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetLineOnALine(PointShape,​ PointShape)|GetLineOnALine]] ​  | [[ThinkGeo.MapSuite.Core.PointShape|PointShape]],​ [[ThinkGeo.MapSuite.Core.PointShape|PointShape]] ​  ​| ​   | This method returns a BaseLineShape,​ based on a starting position and other factors. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetPointOnALine(StartingPoint,​ Single)|GetPointOnALine]] ​  | [[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]],​ Single ​  ​| ​   | This method returns a PointShape on the line, based on a percentage of the length of the line from the first or last vertex defined in the startingPoint parameter. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetPointOnALine(StartingPoint,​ Double, GeographyUnit,​ DistanceUnit)|GetPointOnALine]] ​  | [[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]],​ Double, [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  ​| ​   | This method returns a PointShape on the line, based on a distance on the line from the first or last vertex defined in the startingPoint parameter. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetShortestLineTo(Feature,​ GeographyUnit)|GetShortestLineTo]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns the shortest LineShape between this shape and the targetFeature. parameter. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetShortestLineTo(BaseShape,​ GeographyUnit)|GetShortestLineTo]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns the shortest LineShape between this shape and the targetShape parameter. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetType()|GetType]] ​  ​| ​   | Object ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetWellKnownBinary()|GetWellKnownBinary]] ​  ​| ​   | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns a byte array that represents the shape in well-known binary. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetWellKnownBinary(WkbByteOrder)|GetWellKnownBinary]] ​  | [[ThinkGeo.MapSuite.Core.WkbByteOrder|WkbByteOrder]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns a byte array that represents the shape in well-known binary. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetWellKnownBinary(RingOrder)|GetWellKnownBinary]] ​  | [[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetWellKnownBinary(RingOrder,​ WkbByteOrder)|GetWellKnownBinary]] ​  | [[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]],​ [[ThinkGeo.MapSuite.Core.WkbByteOrder|WkbByteOrder]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetWellKnownText()|GetWellKnownText]] ​  ​| ​   | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns the well-known text representation of this shape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetWellKnownText(RingOrder)|GetWellKnownText]] ​  | [[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns the well-known text representation of this shape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetWellKnownType()|GetWellKnownType]] ​  ​| ​   | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns the well-known type for the shape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Intersects(Feature)|Intersects]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the current shape and the targetFeature have at least one point in common. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Intersects(BaseShape)|Intersects]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the current shape and the targetShape have at least one point in common. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​IsClosed()|IsClosed]] ​  ​| ​   |    | This method determines whether the line is closed, meaning that the last point and first point are the same.   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​IsDisjointed(Feature)|IsDisjointed]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the current shape and the targetFeature have no points in common. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​IsDisjointed(BaseShape)|IsDisjointed]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the current shape and the targetShape have no points in common. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​IsTopologicallyEqual(Feature)|IsTopologicallyEqual]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the current shape and the targetFeature are topologically equal. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​IsTopologicallyEqual(BaseShape)|IsTopologicallyEqual]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the current shape and the targetShape are topologically equal. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​IsWithin(BaseShape)|IsWithin]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the current shape lies within the interior of the targetShape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​IsWithin(Feature)|IsWithin]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the current shape lies within the interior of the targetFeature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​LoadFromWellKnownData(String)|LoadFromWellKnownData]] ​  | String ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method hydrates the current shape with its data from well-known text.   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​LoadFromWellKnownData(Byte[])|LoadFromWellKnownData]] ​  | Byte[] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method hydrates the current shape with its data from well-known binary. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Overlaps(Feature)|Overlaps]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the current shape and the targetFeature share some but not all points in common. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Overlaps(BaseShape)|Overlaps]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the current shape and the targetShape share some but not all points in common. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Register(PointShape,​ PointShape, DistanceUnit,​ GeographyUnit)|Register]] ​  | [[ThinkGeo.MapSuite.Core.PointShape|PointShape]],​ [[ThinkGeo.MapSuite.Core.PointShape|PointShape]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns a BaseShape which has been registered from its original coordinate system to another based on two anchor PointShapes. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Register(Feature,​ Feature, DistanceUnit,​ GeographyUnit)|Register]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns a BaseShape which has been registered from its original coordinate system to another based on two anchor PointShapes. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​RemoveVertex(Vertex,​ LineShape)|RemoveVertex]] ​  | [[ThinkGeo.MapSuite.Core.Vertex|Vertex]],​ [[ThinkGeo.MapSuite.Core.LineShape|LineShape]] ​  ​| ​   | This method removes the selected vertex from line shape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​RemoveVertex(Vertex)|RemoveVertex]] ​  | [[ThinkGeo.MapSuite.Core.Vertex|Vertex]] ​  ​| ​   | This method removes the selected vertex from line shape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#ReversePoints()|ReversePoints]] ​  ​| ​   |    | This method reverses the order of the points in the line.   | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​Rotate(Feature,​ PointShape, Single)|Rotate]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ [[ThinkGeo.MapSuite.Core.PointShape|PointShape]],​ Single ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns a feature rotated by a number of degrees based on a pivot point. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Rotate(PointShape,​ Single)|Rotate]] ​  | [[ThinkGeo.MapSuite.Core.PointShape|PointShape]],​ Single ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method rotates a shape a number of degrees based on a pivot point. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​Rotate(BaseShape,​ PointShape, Single)|Rotate]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ [[ThinkGeo.MapSuite.Core.PointShape|PointShape]],​ Single ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns a shape rotated by a number of degrees based on a pivot point. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​ScaleDown(Double)|ScaleDown]] ​  | Double ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  | This method decreases the size of the LineShape by the percentage given in the percentage parameter. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​ScaleDown(LineBaseShape,​ Double)|ScaleDown]] ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]],​ Double ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  | This method returns a new shape that is decreases by the percentage given in the percentage parameter. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​ScaleDown(Feature,​ Double)|ScaleDown]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ Double ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  | This method returns a new feature that is decreases by the percentage given in the percentage parameter. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​ScaleTo(Double)|ScaleTo]] ​  | Double ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method increases or decreases the size of the shape by the specified scale factor given in the parameter. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​ScaleTo(BaseShape,​ Double)|ScaleTo]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ Double ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method increases or decreases the size of the shape by the specified scale factor given in the parameter. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​ScaleUp(Feature,​ Double)|ScaleUp]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ Double ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  | This method returns a new feature that is increased by the percentage given in the percentage parameter. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​ScaleUp(Double)|ScaleUp]] ​  | Double ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  | This method increases the size of the LineShape by the percentage given in the percentage parameter. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​ScaleUp(LineBaseShape,​ Double)|ScaleUp]] ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]],​ Double ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  | This method returns a new shape that is increased by the percentage given in the percentage parameter. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​Simplify(LineBaseShape,​ Double, SimplificationType)|Simplify]] ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]],​ Double, [[ThinkGeo.MapSuite.Core.SimplificationType|SimplificationType]] ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  | Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​Simplify(LineBaseShape,​ GeographyUnit,​ Double, DistanceUnit,​ SimplificationType)|Simplify]] ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ Double, [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]],​ [[ThinkGeo.MapSuite.Core.SimplificationType|SimplificationType]] ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  | Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Simplify(GeographyUnit,​ Double, DistanceUnit,​ SimplificationType)|Simplify]] ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ Double, [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]],​ [[ThinkGeo.MapSuite.Core.SimplificationType|SimplificationType]] ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  | Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Simplify(Double,​ SimplificationType)|Simplify]] ​  | Double, [[ThinkGeo.MapSuite.Core.SimplificationType|SimplificationType]] ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  | Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​ToPolygonShape()|ToPolygonShape]] ​  ​| ​   |    | This method generates a PolygonShape based the vertexes of the line.   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​ToString()|ToString]] ​  ​| ​   | Object ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Touches(Feature)|Touches]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns of the current shape and the targetFeature have at least one boundary point in common, but no interior points. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Touches(BaseShape)|Touches]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the current shape and the targetShape have at least one boundary point in common, but no interior points. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​TranslateByDegree(Double,​ Double)|TranslateByDegree]] ​  | Double, Double ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method moves a base shape from one location to another based on a distance and a direction in degrees. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​TranslateByDegree(Double,​ Double, GeographyUnit,​ DistanceUnit)|TranslateByDegree]] ​  | Double, Double, [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method moves a base shape from one location to another based on a distance and a direction in degrees. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​TranslateByDegree(Feature,​ Double, Double, GeographyUnit,​ DistanceUnit)|TranslateByDegree]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ Double, Double, [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns a feature repositioned from one location to another, based on a distance and a direction in degrees. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​TranslateByDegree(BaseShape,​ Double, Double, GeographyUnit,​ DistanceUnit)|TranslateByDegree]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ Double, Double, [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns a shape repositioned from one location to another based on a distance and a direction in degrees. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​TranslateByOffset(Double,​ Double, GeographyUnit,​ DistanceUnit)|TranslateByOffset]] ​  | Double, Double, [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method moves a base shape from one location to another based on an X and Y offset distance. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​TranslateByOffset(Double,​ Double)|TranslateByOffset]] ​  | Double, Double ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method moves a base shape from one location to another based on an X and Y offset distance. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​TranslateByOffset(Feature,​ Double, Double, GeographyUnit,​ DistanceUnit)|TranslateByOffset]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ Double, Double, [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns a feature repositioned from one location to another based on an X and Y offset distance. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​TranslateByOffset(BaseShape,​ Double, Double, GeographyUnit,​ DistanceUnit)|TranslateByOffset]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ Double, Double, [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns a shape repositioned from one location to another based on an X and Y offset distance. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Union(Feature)|Union]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]] ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​Union(IEnumerable<​Feature>​)|Union]] ​  | IEnumerable<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]> ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}{{wiki:​Static.gif|Static Member}}[[#​Union(IEnumerable<​LineBaseShape>​)|Union]] ​  | IEnumerable<​[[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]]> ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  | Calculates a new geometry that contains all the points in this LineBaseShape and input LineBaseShape set.   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Union(LineBaseShape)|Union]] ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  | Calculates a new geometry that contains all the points in this LineBaseShape and input LineBaseShape ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Validate(ShapeValidationMode)|Validate]] ​  | [[ThinkGeo.MapSuite.Core.ShapeValidationMode|ShapeValidationMode]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns a ShapeValidationResult based on a series of tests. ​  |+
  
-==== Protected Methods ==== +  ​* //This method reverses the order of the points in the line.// 
-^ Name ^ Parameters ^ DeclaringType ^ Summary ^ +== Remarks == 
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​BufferCore(Double,​ Int32, BufferCapType,​ GeographyUnit,​ DistanceUnit)|BufferCore]] ​  | Double, Int32, [[ThinkGeo.MapSuite.Core.BufferCapType|BufferCapType]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  ​| This method computes the area containing all of the points within a given distance from this shape. ​  | +  * //None//
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​CloneDeepCore()|CloneDeepCore]] ​  ​| ​   | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]](overriden) ​  | This method returns a complete copy of the shape without any references in common. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​ContainsCore(BaseShape)|ContainsCore]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the targetShape lies within the interior of the current shape. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​ConvexHullCore()|ConvexHullCore]] ​  ​| ​   | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  | This method returns the convex hull of the shape defined as the smallest convex ring that contains all the points in the shape. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​CrossesCore(BaseShape)|CrossesCore]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the current shape and the targetShape share some but not all interior points. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​Finalize()|Finalize]] ​  ​| ​   | Object ​  ​| ​   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​GetAccurateLengthCore(String,​ DistanceUnit,​ DistanceCalculationMode)|GetAccurateLengthCore]] ​  | String, [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceCalculationMode|DistanceCalculationMode]] ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  ​| ​   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​GetBoundingBoxCore()|GetBoundingBoxCore]] ​  ​| ​   | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]](overriden) ​  | This method calculates the smallest RectangleShape that encompasses the entire geometry. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​GetCenterPointCore()|GetCenterPointCore]] ​  ​| ​   | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]](overriden) ​  ​| ​   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​GetClosestPointToCore(BaseShape,​ GeographyUnit)|GetClosestPointToCore]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]](overriden) ​  | This method returns the point of the current shape that is closest to the target shape. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​GetCrossingCore(BaseShape)|GetCrossingCore]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]](overriden) ​  | This method returns the crossing points between the current shape and the passed-in target shape. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​GetDistanceToCore(BaseShape,​ GeographyUnit,​ DistanceUnit)|GetDistanceToCore]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]](overriden) ​  | This method computes the distance between the current shape and the targetShape. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​GetGeoJsonCore()|GetGeoJsonCore]] ​  ​| ​   | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  ​| ​   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​GetIntersectionCore(AreaBaseShape)|GetIntersectionCore]] ​  | [[ThinkGeo.MapSuite.Core.AreaBaseShape|AreaBaseShape]] ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  ​| ​   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​GetLengthCore(GeographyUnit,​ DistanceUnit)|GetLengthCore]] ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]](overriden) ​  | This method returns the length of the LineShape. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​GetLineOnALineCore(StartingPoint,​ Double, Double, GeographyUnit,​ DistanceUnit)|GetLineOnALineCore]] ​  | [[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]],​ Double, Double, [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  ​| ​   | This method returns a BaseLineShape,​ based on a starting position and other factors. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​GetPointOnALineCore(StartingPoint,​ Double, GeographyUnit,​ DistanceUnit)|GetPointOnALineCore]] ​  | [[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]],​ Double, [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  ​| ​   | This method returns a PointShape on the line, based on a distance on the line from the first or last vertex defined in the startingPoint parameter. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​GetShortestLineToCore(BaseShape,​ GeographyUnit)|GetShortestLineToCore]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns the shortest LineShape between this shape and the targetShape parameter. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​GetWellKnownBinaryCore(RingOrder,​ WkbByteOrder)|GetWellKnownBinaryCore]] ​  | [[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]],​ [[ThinkGeo.MapSuite.Core.WkbByteOrder|WkbByteOrder]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns a byte array that represents the shape in well-known binary. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​GetWellKnownTextCore(RingOrder)|GetWellKnownTextCore]] ​  | [[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]](overriden) ​  | This method returns the well-known text representation of this shape. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​GetWellKnownTypeCore()|GetWellKnownTypeCore]] ​  ​| ​   | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]](overriden) ​  | This method returns the well-known type for the shape. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​IntersectsCore(BaseShape)|IntersectsCore]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the current shape and the targetShape have at least one point in common. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​IsClosedCore()|IsClosedCore]] ​  ​| ​   |    | This method determines whether the line is closed, meaning that the last point and first point are the same.   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​IsDisjointedCore(BaseShape)|IsDisjointedCore]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the current shape and the targetShape have no points in common. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​IsTopologicallyEqualCore(BaseShape)|IsTopologicallyEqualCore]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the current shape and the targetShape are topologically equal. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​IsWithinCore(BaseShape)|IsWithinCore]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the current shape lies within the interior of the targetShape. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​LoadFromWellKnownDataCore(Byte[])|LoadFromWellKnownDataCore]] ​  | Byte[] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]](overriden) ​  | This method hydrates the current shape with its data from well-known binary. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​LoadFromWellKnownDataCore(String)|LoadFromWellKnownDataCore]] ​  | String ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]](overriden) ​  | This method hydrates the current shape with its data from well-known text.   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​MemberwiseClone()|MemberwiseClone]] ​  ​| ​   | Object ​  ​| ​   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​OverlapsCore(BaseShape)|OverlapsCore]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the current shape and the targetShape share some but not all points in common. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​RegisterCore(PointShape,​ PointShape, DistanceUnit,​ GeographyUnit)|RegisterCore]] ​  | [[ThinkGeo.MapSuite.Core.PointShape|PointShape]],​ [[ThinkGeo.MapSuite.Core.PointShape|PointShape]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]](overriden) ​  | This method returns a BaseShape which has been registered from its original coordinate system to another, based on two anchor PointShapes. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​ReversePointsCore()|ReversePointsCore]] ​  ​| ​   |    | This method reverses the order of the points in the line.   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​RotateCore(PointShape,​ Single)|RotateCore]] ​  | [[ThinkGeo.MapSuite.Core.PointShape|PointShape]],​ Single ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]](overriden) ​  | This method rotates the shape a number of degrees based on a pivot point. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​ScaleDownCore(Double)|ScaleDownCore]] ​  | Double ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]](overriden) ​  | This method decreases the size of the LineShape by the percentage given in the percentage parameter. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​ScaleToCore(Double)|ScaleToCore]] ​  | Double ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method increases or decreases the size of the shape by the specified scale factor given in the parameter. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​ScaleUpCore(Double)|ScaleUpCore]] ​  | Double ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]](overriden) ​  | This method increases the size of the LineShape by the percentage given in the percentage parameter. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​SimplifyCore(Double,​ SimplificationType)|SimplifyCore]] ​  | Double, [[ThinkGeo.MapSuite.Core.SimplificationType|SimplificationType]] ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  | Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​TouchesCore(BaseShape)|TouchesCore]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | This method returns if the current shape and the targetShape have at least one boundary point in common, but no interior points. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​TranslateByDegreeCore(Double,​ Double, GeographyUnit,​ DistanceUnit)|TranslateByDegreeCore]] ​  | Double, Double, [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]](overriden) ​  | This method moves the base shape from one location to another based on a distance and a direction in degrees. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​TranslateByOffsetCore(Double,​ Double, GeographyUnit,​ DistanceUnit)|TranslateByOffsetCore]] ​  | Double, Double, [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]](overriden) ​  | This method moves the base shape from one location to another based on an X and Y offset distance. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​UnionCore(IEnumerable<​LineBaseShape>​)|UnionCore]] ​  | IEnumerable<​[[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]]> ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] ​  | The protected virtual method used by "​Union"​ that you can overwrite to implement your own logic. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​ValidateCore(ShapeValidationMode)|ValidateCore]] ​  | [[ThinkGeo.MapSuite.Core.ShapeValidationMode|ShapeValidationMode]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]](overriden) ​  | This method returns a ShapeValidationResult based on a series of tests. ​  |+
  
-==== Public Properties ==== +== Return Value == 
-^ Name ^ Return ^ DeclaringType ^ Summary ^ +  * Type:Void 
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​CanRotate|CanRotate]] ​  | Boolean ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]](overriden) ​  | This property specifies whether the shape can be rotated. ​  | +  * Description:N/A
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​Id|Id]] ​  | String ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | The id of the shape. ​  | +
-| {{wiki:PublicProperty.gif|Public Property}}[[#​Tag|Tag]] ​  | Object ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] ​  | The tag of the shape. ​  | +
-| {{wiki:PublicProperty.gif|Public Property}}[[#​Vertices|Vertices]] ​  | Collection<​[[ThinkGeo.MapSuite.Core.Vertex|Vertex]]> ​  ​| ​   | This property is the collection of points that make up the LineShape. ​  |+
  
-==== Protected Properties ==== +== Parameters ​== 
-^ Name ^ Return ^ DeclaringType ^ Summary ^+<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} IsClosed() **
  
-==== Public Events ==== +  * //This method determines whether the line is closed, meaning that the last point and first point are the same.// 
-^ Name ^ Event Arguments ^ DeclaringType ^ Summary ^+== Remarks ​== 
 +  * //None//
  
-===== Public Constructors ===== +== Return Value == 
-==== LineShape() ==== +  ​Type:Boolean 
-This constructor creates the LineShape. +  Description:The return value indicating whether the line is closed.
-=== Overloads === +
-This overload creates the LineShape without any points. +
-=== Parameters === +
-^  Name ^  ​Type ​ ​Description ​^+
  
-[[#Public Constructors|Go Back]] +== Parameters == 
-==== LineShape(IEnumerable<​Vertex>​) ==== +<div newline></div> 
-This constructor creates the LineShape. +** {{wiki:​PublicMethod.gif|}GetPointOnALine(StartingPoint,​Single) **
-=== Overloads === +
-This overload creates the LineShape with a vertex collection. +
-=== Parameters ​=== +
-^  Name ^  Type ^  Description ^ +
-| points ​  | IEnumerable<[[ThinkGeo.MapSuite.Core.Vertex|Vertex]]><!-- System.Collections.Generic.IEnumerable{ThinkGeo.MapSuite.Core.Vertex--> ​  ​| ​   |+
  
-[[#Public Constructors|Go Back]] +  * //This method returns a PointShape on the line, based on a percentage of the length of the line from the first or last vertex defined in the startingPoint parameter.// 
-==== LineShape(String) ==== +== Remarks ​== 
-This constructor creates ​the LineShape. +  ​* //If you pass 100 or 0 as the percentage of the line, it will return either ​the first or last vertex, depending on the value of the startingPoint argument.//
-=== Overloads === +
-This constructor allows you to build the shape from well-known text+
-=== Parameters === +
- Name ^  Type ^  Description ^ +
-| wellKnownText ​  | String<​!-- System.String --> ​  | This parameter is the well-known text used to build the shape  |+
  
-[[#Public Constructors|Go Back]] +== Return Value == 
-==== LineShape(Byte[]) ​==== +  ​Type:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-This constructor creates the LineShape. +  * Description:​This method returns a PointShape on the line, based on a percentage of the length of the line from the first or last vertex defined in the startingPoint parameter.
-=== Overloads === +
-This constructor allows you to build the shape from well-known binary. +
-=== Parameters === +
-^  Name ^  ​Type ​^  Description ^ +
-| wellKnownBinary ​  | Byte[]<​!-- System.Byte[[]] --> ​  ​| ​This parameter is the well-known binary used to build the shape  |+
  
-[[#Public Constructors|Go Back]] +== Parameters ​== 
-===== Protected Constructors ===== +  * //​startingPoint//​ 
-===== Public Methods ===== +    * Type:​[[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]] 
-==== Buffer(Double,​ Int32, BufferCapType,​ GeographyUnit,​ DistanceUnit) ==== +    * Description:​The startingPoint defines whether the method ​starts at the beginning or the end of the line.
-This method ​computes ​the area containing all of the points within a given distance from this shape. +
-=== Remarks === +
-This method computes ​the area containing all of the points within a given distance from this shape.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +  * //​percentageOfLine//​ 
-=== Return Value === +    * Type:Single 
-^ Return Type ^ Description ​+    ​* ​Description:This parameter defines ​the percentage into the line. Valid values are between 0 and 100.
-| [[ThinkGeo.MapSuite.Core.MultipolygonShape|MultipolygonShape]]<​!-- ThinkGeo.MapSuite.Core.MultipolygonShape --> ​  | The return type is a MultiPolygonShape that represents all of the points within a given distance from the shape  |+
  
-=== Parameters === +<div newline></div
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} GetPointOnALine(StartingPoint,​Double,​GeographyUnit,DistanceUnit) **
-| distance ​  | Double<!-- System.Double --  | The distance is the number of units to buffer the current shape. The distance unit will be the one specified in the distanceUnit parameter. ​  | +
-| quadrantSegments ​  | Int32<!-- System.Int32 --  | The quadrant segments are the number of points in each quarter circle. A good default is 8, but if you want smoother edges you can increase this number. The valid range for this number is from 3 to 100.   | +
-| bufferCapType ​  | [[ThinkGeo.MapSuite.Core.BufferCapType|BufferCapType]]<​!-- ThinkGeo.MapSuite.Core.BufferCapType --> ​  | The bufferCapType determines how the caps of the buffered object look. They range from rounded to squared off.   | +
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This is the geographic unit of the shape you are performing the operation on.   | +
-| distanceUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This is the distance unit you would like to use as the distance. For example, if you select miles as your distanceUnit,​ then the distance will be calculated in miles for the operation. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +  * //This method ​returns a PointShape on the line, based on a distance ​on the line from the first or last vertex defined in the startingPoint parameter.// 
-[[#Public Methods|Go Back]] +== Remarks == 
-==== Buffer(Double,​ GeographyUnit,​ DistanceUnit) ==== +  * //Passing in distance will return either ​the first or last point on the line, depending upon the value of the startingPoint parameter.//
-This method ​computes ​the area containing all of the points within ​given distance from this shape+
-=== Remarks ​=== +
-This method computes the area containing all of the points within ​given distance ​from this shape. In this case, you will be using the rounded RoundedBufferCapStyle and the default 8 quadrant segments. The distance unit is determined by the distanceUnit argument.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +== Return Value == 
-=== Return Value === +  ​* ​Type:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-^ Return ​Type ^ Description ^ +  * Description:​This method returns ​PointShape on the line, based on a distance ​on the line from the first or last vertex defined in the startingPoint parameter.
-[[ThinkGeo.MapSuite.Core.MultipolygonShape|MultipolygonShape]]<!-- ThinkGeo.MapSuite.Core.MultipolygonShape --> ​  | The return type is MultiPolygonShape that represents all of the points within ​given distance from the shape  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​startingPoint//​ 
-| 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. ​  | +    * Type:[[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]] 
-| shapeUnit ​  ​| ​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This is the geographic unit of the shape you are performing the operation on.   | +    * Description:​The startingPoint defines whether ​the method starts at the beginning or the end of the line.
-| distanceUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This is the distance unit you would like to use as the distance. For example, if you select miles as your distanceUnit,​ then the distance will be calculated in miles for the operation  |+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +  * //​distance//​ 
-[[#Public Methods|Go Back]] +    * Type:Double 
-==== Buffer(Double, Int32, GeographyUnit,​ DistanceUnit) ==== +    * Description:​This parameter specifies ​the distance ​into the line you wish to move in the unit specified ​by the distanceUnit ​parameter. Valid values must be greater than or equal to 0.
-This method computes ​the area containing all of the points within a given distance ​from this shape. +
-=== Remarks === +
-This method computes ​the area containing all of the points within a given distance from this shape. In this case, you will be using the rounded RoundedBufferCapStyle. The distance ​unit is determined ​by the distanceUnit ​argument.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +  * //​shapeUnit//​ 
-=== Return Value === +    ​* ​Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-^ Return ​Type ^ Description ^ +    * Description:​This ​is the GeographyUnit ​of the shape you are performing ​the operation on.
-[[ThinkGeo.MapSuite.Core.MultipolygonShape|MultipolygonShape]]<!-- ThinkGeo.MapSuite.Core.MultipolygonShape --> ​  | The return type is a MultiPolygonShape that represents all of the points within a given distance from the shape  |+
  
-=== Parameters === +  ​* //distanceUnit// 
-^  Name ^  Type ^  Description ^ +    * Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-| 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. ​  | +    * Description:​This is the DistanceUnit ​you would like to use for the distance ​parameter. For example, if you select miles as your distanceUnit,​ then the distance will be measured ​in miles.
-| quadrantSegments ​  | Int32<​!-- System.Int32 --> ​  | The quadrant segments are the number of points in each quarter circle. A good default is 8, but if you want smoother edges you can increase this number. The valid range for this number is from 3 to 100.   | +
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This is the geographic unit of the shape you are performing the operation on.   | +
-| distanceUnit ​  ​| ​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  ​| ​This is the distance unit you would like to use as the distance. For example, if you select miles as your distanceUnit,​ then the distance will be calculated ​in miles for the operation  |+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} GetLineOnALine(StartingPoint,Single,Single) **
-==== CloneDeep() ==== +
-This method returns a complete copy of the shape without any references in common. +
-=== Remarks === +
-As this is a concrete public method that wraps a Core methodwe 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 waywe 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 ^ +
-| [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | This method returns a complete copy of the shape without any references in common. ​  |+
  
-=== Parameters === +  * //This method returns a BaseLineShape,​ based on a starting position and other factors.//​ 
-^  Name ^  Type ^  Description ^+== Remarks ​== 
 +  ​* //None//
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:[[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] 
-==== Contains(BaseShape) ==== +  * Description:​This method returns a BaseLineShape,​ based on starting position ​and other factors.
-This method returns ​if the targetShape lies within the interior of the current shape. +
-=== Remarks === +
-As this is concrete public method that wraps 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 targetShape lies within the interior of the current shape. ​  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​startingPoint//​ 
-| targetShape ​  ​| ​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  ​| ​The shape you wish to compare ​the current one to  |+    * Type:[[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]] 
 +    * Description:​The startingPoint defines whether the method starts at the beginning or the end of the line.
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +  * //​startingPercentageOfTheLine//​ 
-[[#Public Methods|Go Back]] +    * Type:Single 
-==== Contains(Feature) ==== +    * Description:​This parameter defines ​the starting percentage into the lineValid values must be greater than 0 and less than or equal to 100.
-This method returns if the targetFeature lies within ​the interior of the current shape. +
-=== 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 needsIf 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 shape. ​  |+
  
-=== Parameters === +  * //​percentageOfTheLine//​ 
-^  Name ^  ​Type ^  ​Description ​+    ​* ​Type:Single 
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<​!-- ThinkGeo.MapSuite.Core.Feature --> ​  | The targetFeature that contains a shape you wish to compare the current one to.   |+    * Description:This parameter defines the percentage into the lineValid values must be greater than 0 and less than or equal to 100.
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} GetLineOnALine(StartingPoint,​Single**
-==== ConvexHull() ==== +
-This method returns the convex hull of the shape defined as the smallest convex ring that contains all the points in the shape. +
-=== Remarks === +
-This method is useful when you want to create a perimeter around the shape. For example if you had a MultiPolygon which represented buildings in a campus you could easily get the convex hull of the buildings and determine the perimeter of all of the buildings together. This also works with MultiPoint shapes where each point may represent a certain type of person you are doing statistics on. With convex hull you can get an idea of the regions those points are located in.+
  
-As this is a concrete public ​method ​that wraps Core method we reserve the right to add events ​and other logic to pre or post process data returned by the Core version of the method. In this way we leave our framework open on our end but also allow you the developer to extend our logic to your needs. If you have questions about this please contact support as we would be happy to work with you on extending our framework+  * //​This ​method ​returns ​BaseLineShape,​ based on a starting position ​and other factors.// 
-=== Return Value === +== Remarks ​== 
-^ Return Type ^ Description ^ +  * //None//
-| [[ThinkGeo.MapSuite.Core.RingShape|RingShape]]<​!-- ThinkGeo.MapSuite.Core.RingShape --> ​  | This method returns a RingShape defined as the smallest convex ring that contains all the points in the shape. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​^+  ​Type:​[[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] 
 +  Description:This method returns a BaseLineShape,​ based on a starting position and other factors.
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +  * //​startingPoint//​ 
-==== CreateShapeFromGeoJson(String) ​==== +    ​* ​Type:[[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]] 
-<!-- static --> +    * Description:​The startingPoint defines whether the method starts at the beginning or the end of the line.
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  ​| ​   |+
  
-=== Parameters === +  * //​percentageOfLine//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:Single 
-| geoJson ​  | String<​!-- System.String --> ​  ​| ​   |+    ​* Description:​This parameter defines the percentage into the line. Valid values must be greater than 0 and less than or equal to 100.
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +<div newline></div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} GetLineOnALine(StartingPoint,Double,Double,​GeographyUnit,​DistanceUnit) **
-==== CreateShapeFromWellKnownData(String) ==== +
-<!-- static --+
-This method creates a BaseShape from a string of well-known text. +
-=== Remarks === +
-This method creates a BaseShape from a string of well-known text. Well-known text allows you to describe geometries as a string of text. Well-known text is useful when you want to save a geometry in a format such as a text fileor when you simply want to cut and paste the text between other applications. An alternative to well-known text is well-known binarywhich 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)+  * //This method returns a BaseLineShape,​ based on a starting position and other factors.//​ 
 +== Remarks == 
 +  * //None//
  
-LINESTRING(4 5,10 50,25 80)+== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] 
 +  * Description:​This method returns a BaseLineShapebased on a starting position and other factors.
  
-POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))+== Parameters == 
 +  * //​startingPoint//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]] 
 +    * Description:​The startingPoint defines whether the method starts at the beginning or the end of the line.
  
-MULTIPOINT(3.7 9.7,4.9 11.6)+  * //​startingDistance//​ 
 +    * Type:​Double 
 +    * Description:​The starting distance from which you will start getting the lineFor exampleif the line is 3 units long and you have a starting distance of 1 unit, the result will be the last two units of the line. Valid values must be greater than 0The starting distance will be in the GeographyUnit of the shape.
  
-MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))+  * //​distance//​ 
 +    * Type:​Double 
 +    * Description:​The amount of the line you want to get after the startingDistance. Valid values must be greater than 0.
  
-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))) +  * //​shapeUnit//​ 
-=== Return Value === +    ​* ​Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-^ Return ​Type ^ Description ^ +    * Description:​This ​is the GeographyUnit of the shape you are performing the operation on.
-[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | The return type is a higher level shape constructed from the well-known text you passed into the method. Though the object is a higher level shape, such as a PolygonShape or MultiPointShape, ​you will need to cast it to that shape in order to use its unique properties  |+
  
-=== Parameters === +  * //​distanceUnit//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-| wellKnownText ​  | String<​!-- System.String --> ​  A string representing ​the geometry ​in well-known text format  |+    * Description:​This is the DistanceUnit you would like to use for the distance parameter. For example, if you select miles as your distanceUnit,​ then the distance will be measured ​in miles.
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +<div newline></div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} GetLineOnALine(StartingPoint,PointShape) **
-==== CreateShapeFromWellKnownData(Byte[]) ==== +
-<!-- static --+
-This method creates a BaseShape from a string of well-known binary. +
-=== Remarks === +
-This method creates a BaseShape from a string of well-known binary. Well-known binary allows you to describe geometries as a binary array. Well-known binary is useful when you want to save a geometry in an efficient format using as little space as possible. An alternative to well-known binary is well-known text, which is a textual representation of a geometry object. We have methods that work with well-known text as well. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | The return type is a higher level shape constructed from the well-known binary you passed into the method. Though the object is a higher level shapesuch as a PolygonShape or MultiPointShape,​ you will need to cast it to that shape in order to use its unique properties. ​  |+
  
-=== Parameters === +  * //This method returns a BaseLineShape,​ based on a starting position and other factors.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| wellKnownBinary ​  | Byte[]<​!-- System.Byte[[]] --> ​  | An array of bytes representing the geometry in well-known binary format. ​  |+  ​* //None//
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:[[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] 
-==== Crosses(Feature) ==== +  * Description:​This method returns a BaseLineShape,​ based on starting position ​and other factors.
-This method returns ​if the current shape and the targetFeature share some but not all interior points. +
-=== Remarks === +
-As this is concrete public method that wraps 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 shape and the targetFeature share some but not all interior points. ​  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​startingPoint//​ 
-| targetFeature ​  ​| ​[[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --> ​  ​| ​The targetFeature that contains a shape you wish to compare ​the current one to  |+    * Type:[[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]] 
 +    * Description:​The startingPoint defines whether the method starts at the beginning or the end of the line.
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape --> +  * //​endPointShape//​ 
-[[#Public Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-==== Crosses(BaseShape) ==== +    * Description:​The BaseLineShape ​returned ​will be between ​the startingPoint ​and the endPointShape specified in this parameter.
-This method returns if the current shape and the targetShape 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 shape and the targetShape share some but not all interior points  |+
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} GetLineOnALine(PointShape,​PointShape) **
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --  | The shape you wish to compare the current one to  ​|+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +  * //This method returns a BaseLineShape,​ based on a starting position and other factors.// 
-[[#Public Methods|Go Back]] +== Remarks ​== 
-==== Equals(Object) ==== +  * //None//
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Boolean<​!-- System.Boolean --> ​  ​| ​   |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:​[[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] 
-| obj   | Object<​!-- System.Object --> ​  ​| ​   |+  Description:This method returns a BaseLineShape based on a start PointShape and an end PointShape.
  
-<!-- System.Object --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +  * //​startPointShape//​ 
-==== GetAccurateLength(String,​ DistanceUnit,​ DistanceCalculationMode) ​==== +    ​* ​Type:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-=== Return Value === +    * Description:​The startPointShape defines where you will start to get the line. If it does not stand on this LineShape, the closest point on the LineShape will be the start PointShape.
-^ Return ​Type ^ Description ^ +
-| Double<​!-- System.Double --> ​  |    ​|+
  
-=== Parameters === +  * //​endPointShape//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-| shapeProj4ProjectionParameters ​  | String<​!-- System.String --> ​  ​| ​   | +    * Description:​The endPointShape defines where you will stop getting the lineIf it does not stand on this LineShape, the closest point on the LineShape will be the end PointShape.
-| returningUnit ​  ​| ​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  ​| ​   +
-| distanceCalculationMode ​  | [[ThinkGeo.MapSuite.Core.DistanceCalculationMode|DistanceCalculationMode]]<​!-- ThinkGeo.MapSuite.Core.DistanceCalculationMode --> ​  ​| ​   |+
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} RemoveVertex(Vertex**
-==== GetAccurateLength(Int32, DistanceUnit,​ DistanceCalculationMode==== +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Double<​!-- System.Double --> ​  ​| ​   |+
  
-=== Parameters === +  * //This method removes the selected vertex from line shape.// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| shapeSrid ​  | Int32<​!-- System.Int32 --> ​  ​| ​   | +  ​* //N/A//
-| returningUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  ​| ​   | +
-| distanceCalculationMode ​  | [[ThinkGeo.MapSuite.Core.DistanceCalculationMode|DistanceCalculationMode]]<​!-- ThinkGeo.MapSuite.Core.DistanceCalculationMode --> ​  ​| ​   |+
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:​Boolean 
-==== GetBoundingBox() ​==== +  * Description:​If remove sucess it will return true, otherwise return false.
-This method calculates the smallest RectangleShape that encompasses the entire geometry. +
-=== Remarks === +
-The GetBoundingBox method calculates the smallest RectangleShape that can encompass the entire geometry by examining each point in the geometry.+
  
-Depending on the number ​of PointShapes ​and complexity of the geometry, this operation can take longer for larger objects.+== Parameters == 
 +  * //​selectedVertex//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.Vertex|Vertex]] 
 +    * Description:​The selected vertex must be a vertex ​of line shape, otherwise it will return false and line shape will keep the same.
  
-If the shape is a PointShape, then the bounding box's upper left and lower right points will be equal. This will create a RectangleShape with no area.+<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} ToPolygonShape() **
  
-As this is a concrete public ​method ​that wraps Core method, we reserve ​the right to add events and other logic to pre- or post-process data returned by the Core version ​of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework+  * //​This ​method ​generates ​PolygonShape based the vertexes ​of the line.// 
-=== Return Value === +== Remarks ​== 
-^ Return Type ^ Description ^ +  * //N/A//
-| [[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]<​!-- ThinkGeo.MapSuite.Core.RectangleShape --> ​  | The RectangleShape returned is the smallest RectangleShape that can encompass the entire geometry. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​^+  ​Type:​[[ThinkGeo.MapSuite.Core.PolygonShape|PolygonShape]] 
 +  Description:A generated polygon based on the vertexes of the line, otherwise return null.
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +<div newline></​div>​ 
-==== GetCenterPoint() ​==== +** {{wiki:​PublicMethod.gif|}} GetAccurateLength(Int32,DistanceUnit,DistanceCalculationMode) **
-This method returns the center point of the current shape'​s bounding box. +
-=== Remarks === +
-This method returns the center point of the current shape'​s bounding boxIt is important to note that this is the center point of the bounding box. There are numerous ways to calculate the "​center"​ of a geometrysuch as its weighted centeretc. You can find other centers by examining the various methods of the shape itself.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +  * //N/A// 
-=== Return Value === +== Remarks ​== 
-^ Return Type ^ Description ^ +  * //N/A//
-| [[ThinkGeo.MapSuite.Core.PointShape|PointShape]]<​!-- ThinkGeo.MapSuite.Core.PointShape --> ​  ​| ​PointShape representing the center point of the current shape'​s bounding box.   |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​^+  ​Type:Double 
 +  Description:N/A
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +  * //​shapeSrid//​ 
-==== GetClosestPointTo(Feature,​ GeographyUnit) ​==== +    * Type:Int32 
-This method returns the point of the current shape that is closest to the target feature. +    * Description:​N/​A
-=== Remarks === +
-This method returns the point of the current shape that is closest to the target feature. It is often the case that the point returned is not a point of the object itself. An example would be a line with two points that are far apart from each other. If you set the targetFeature to be a point midway between the points but a short distance away from the line, the method would return a point that is on the line but not either of the two points that make up the line.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +  * //​returningUnit//​ 
-=== Return Value === +    ​* ​Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-^ Return ​Type ^ Description ^ +    * Description:​N/​A
-[[ThinkGeo.MapSuite.Core.PointShape|PointShape]]<!-- ThinkGeo.MapSuite.Core.PointShape --> ​  ​| ​PointShape representing the closest point of the current shape to the targetFeature. ​  |+
  
-=== Parameters === +  * //​distanceCalculationMode//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.DistanceCalculationMode|DistanceCalculationMode]] 
-| targetFeature ​  ​| ​[[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --> ​  | The feature you are trying to find the closest point to.   | +    * Description:​N/​A
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | The geographic unit of the feature you are trying to find the closet point to.   |+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} GetAccurateLength(String,DistanceUnit,​DistanceCalculationMode**
-==== GetClosestPointTo(BaseShapeGeographyUnit==== +
-This method returns the point of the current shape that is closest to the target shape. +
-=== Remarks === +
-This method returns the point of the current shape that is closest to the target shape. It is often the case that the point returned is not a point of the object itself. An example would be a line with two points that are far apart from each other. If you set the targetShape to be a point midway between the points but a short distance away from the line, the method would return a point that is on the line but not either of the two points that make up the line.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +  * //N/A// 
-=== Return Value === +== Remarks ​== 
-^ Return Type ^ Description ^ +  * //N/A//
-| [[ThinkGeo.MapSuite.Core.PointShape|PointShape]]<​!-- ThinkGeo.MapSuite.Core.PointShape --> ​  ​| ​PointShape representing the closest point of the current shape to the targetShape. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:Double 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | The shape you are trying to find the closest point to.   | +  Description:N/A
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | The geographic unit of the shape you are trying to find the closet point to.   |+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +  * //​shapeProj4ProjectionParameters//​ 
-==== GetCrossing(BaseShape) ​==== +    * Type:String 
-This method returns the crossing points between the current shape and the passed-in target shape. +    ​* ​Description:N/A
-=== 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 ​+
-| [[ThinkGeo.MapSuite.Core.MultipointShape|MultipointShape]]<​!-- ThinkGeo.MapSuite.Core.MultipointShape --> ​  | This method returns the crossing points between the current shape and the passed-in target shape. ​  |+
  
-=== Parameters === +  * //​returningUnit//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-| targetShape ​  ​| ​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | The target shape you wish to get crossing points with.   |+    * Description:​N/​A
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape --> +  * //​distanceCalculationMode//​ 
-[[#Public Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.DistanceCalculationMode|DistanceCalculationMode]] 
-==== GetDistanceTo(BaseShape,​ GeographyUnit,​ DistanceUnit) ==== +    * Description:​N/​A
-This method computes the distance between the current shape and the targetShape. +
-=== Remarks === +
-In this method we compute the closest distance between the two shapes. The returned unit will be in the unit of distance specified.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +<div newline></​div>​ 
-=== Return Value === +** {{wiki:​PublicMethod.gif|}} GetLength(GeographyUnit,​DistanceUnit) **
-^ Return Type ^ Description ^ +
-| Double<​!-- System.Double --> ​  The return type is the distance between this shape and the targetShape in the GeographyUnit ​of the shape. ​  |+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | The shape you are trying to find the distance to.   | +  ​* //N/A//
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This parameter is the unit of the shape you are getting the distance to.   | +
-| distanceUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This parameter is the unit of the distance you want the return value to be in.   |+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:Double 
-==== GetDistanceTo(Feature,​ GeographyUnit,​ DistanceUnit) ​==== +  * Description:​N/​A
-This method computes the distance between the current shape and the targetFeature. +
-=== Remarks === +
-In this method we compute the closest distance between a shape and a feature. The returned unit will be in the unit of distance specified.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +== Parameters ​== 
-=== Return Value === +  * //​shapeUnit//​ 
-^ Return ​Type ^ Description ^ +    * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-| Double<​!-- System.Double --> ​  The return type is the distance between this shape and the targetFeature in the GeographyUnit ​of the shape. ​  |+    * Description:​N/​A
  
-=== Parameters === +  * //​returningUnit//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<​!-- ThinkGeo.MapSuite.Core.Feature --> ​  | The feature you are trying to find the distance to.   | +    * Description:​N/​A
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This parameter is the unit of the shape which is contained in the targetFeature you are getting the distance to.   | +
-| distanceUnit ​  ​| ​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This parameter is the unit of the distance you want the return value to be in.   |+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +<div newline></div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} ScaleUp(Double) **
-==== GetFeature(IDictionary<String, String>) ==== +
-Get a corresponding feature which has the same Id and BaseShape as the current shapeAdditionally,​ pass the specified columnValues into the returned feature. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.Core.Feature|Feature]]<​!-- ThinkGeo.MapSuite.Core.Feature --> ​  | The feature with the same Id and BaseShape as the current BaseShape and with empty columnValues in it, substituted with the passed-in columnValues. ​  |+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| columnValues ​  | IDictionary<​String,​String><​!-- System.Collections.Generic.IDictionary{System.String,​System.String} --> ​  | The columnValues will be passed into returning feature. ​  |+  ​* //N/A//
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:Void 
-==== GetFeature() ==== +  * Description:N/A
-Get a corresponding feature which has the same Id and BaseShape as the current shape. +
-=== Return Value === +
-^ Return ​Type Description ​+
-| [[ThinkGeo.MapSuite.Core.Feature|Feature]]<​!-- ThinkGeo.MapSuite.Core.Feature --> ​  | The feature with the same Id and BaseShape as the current BaseShape, and with empty columnValues in it.   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  ​Description ​^+  ​* //​percentage//​ 
 +    * Type:Double 
 +    * Description:N/A
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} ScaleDown(Double**
-==== GetGeoJson() ==== +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| String<​!-- System.String --> ​  ​| ​   |+
  
-=== Parameters === +  * //N/A// 
-^  Name ^  Type ^  Description ^+== Remarks ​== 
 +  ​* //N/A//
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:Void 
-==== GetHashCode() ==== +  * Description:N/A
-=== Return Value === +
-^ Return ​Type Description ​+
-| Int32<​!-- System.Int32 --> ​  ​| ​   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  ​Description ​^+  ​* //​percentage//​ 
 +    * Type:Double 
 +    * Description:N/A
  
-<!-- System.Object --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} ConvexHull() **
-==== GetIntersection(Feature==== +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]]<​!-- ThinkGeo.MapSuite.Core.MultilineShape --> ​  ​| ​   |+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<​!-- ThinkGeo.MapSuite.Core.Feature --> ​  ​| ​   |+  ​* //N/A//
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:[[ThinkGeo.MapSuite.Core.RingShape|RingShape]] 
-==== GetIntersection(AreaBaseShape) ==== +  * Description:​N/​A
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]]<!-- ThinkGeo.MapSuite.Core.MultilineShape --> ​  ​| ​   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  Type ^  Description ^ +<div newline></​div>​ 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.AreaBaseShape|AreaBaseShape]]<​!-- ThinkGeo.MapSuite.Core.AreaBaseShape --> ​  ​| ​   ​|+** {{wiki:​PublicMethod.gif|}} Simplify(GeographyUnit,​Double,​DistanceUnit,​SimplificationType) **
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape --> +  * //N/A// 
-[[#Public Methods|Go Back]] +== Remarks == 
-==== GetLength(GeographyUnit,​ DistanceUnit) ==== +  * //N/A//
-This method returns the length of the line shape. +
-=== Remarks ​=== +
-This is a useful method when you want to know the total length of a line-based shape. If the shape is a MultiLineShape,​ then the length is the sum of all of its lines.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +== Return Value == 
-=== Return Value === +  ​* ​Type:[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]] 
-^ Return ​Type ^ Description ^ +  * Description:​N/​A
-| Double<​!-- System.Double --> ​  | This overload returns the length in the unit of your choice, based on the returningUnit parameter specified  ​|+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​shapeUnit//​ 
-| shapeUnit ​  ​| ​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This is the GeographyUnit of the shape you are performing the operation on.   | +    * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-| returningUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This is the distance unit you would like to use as the return value. For example, if you select miles as your returningUnit,​ then the distance will be returned in miles. ​  |+    * Description:​N/​A
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape --> +  * //​tolerance//​ 
-[[#Public Methods|Go Back]] +    * Type:Double 
-==== GetLineOnALine(StartingPoint,​ PointShape) ==== +    ​* ​Description:N/A
-This method returns a BaseLineShape,​ based on a starting position and other factors. +
-=== Overloads === +
-This overload allows you to specify the starting point and another point. +
-=== Return Value === +
-^ Return Type ^ Description ​+
-| [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]]<​!-- ThinkGeo.MapSuite.Core.LineBaseShape --> ​  | This method returns a BaseLineShape,​ based on a starting position and other factors. ​  |+
  
-=== Parameters === +  * //​toleranceUnit//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-| startingPoint ​  ​| ​[[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]]<!-- ThinkGeo.MapSuite.Core.StartingPoint --> ​  | The startingPoint defines whether the method starts at the beginning or the end of the line.   | +    * Description:​N/​A
-| endPointShape ​  | [[ThinkGeo.MapSuite.Core.PointShape|PointShape]]<​!-- ThinkGeo.MapSuite.Core.PointShape --> ​  | The BaseLineShape returned will be between the startingPoint and the endPointShape specified in this parameter. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.LineShape --> +  * //​simplificationType//​ 
-[[#Public Methods|Go Back]] +    ​* ​Type:[[ThinkGeo.MapSuite.Core.SimplificationType|SimplificationType]] 
-==== GetLineOnALine(StartingPoint,​ Double, Double, GeographyUnit,​ DistanceUnit) ==== +    * Description:​N/​A
-This method returns a BaseLineShape,​ based on a starting position and other factors. +
-=== Overloads === +
-This overload allows you to specify the starting point along with the starting distance. This allows you to get a certain distance of the line after the starting distance. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-[[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]]<!-- ThinkGeo.MapSuite.Core.LineBaseShape --> ​  | This method returns a BaseLineShape,​ based on a starting position and other factors. ​  |+
  
-=== Parameters === +<div newline></div> 
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} Simplify(Double,SimplificationType) **
-| startingPoint ​  | [[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]]<!-- ThinkGeo.MapSuite.Core.StartingPoint --  | The startingPoint defines whether the method starts at the beginning or the end of the line.   | +
-| startingDistance ​  | Double<!-- System.Double --  | The starting distance from which you will start getting the lineFor example, if the line is 3 units long and you have a starting distance of 1 unit, the result will be the last two units of the line. Valid values must be greater than 0. The starting distance will be in the GeographyUnit of the shape. ​  | +
-| distance ​  | Double<!-- System.Double --> ​  | The amount of the line you want to get after the startingDistance. Valid values must be greater than 0.   | +
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This is the GeographyUnit of the shape you are performing the operation on.   | +
-| distanceUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This is the DistanceUnit you would like to use for the distance parameter. For exampleif you select miles as your distanceUnit,​ then the distance will be measured in miles. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.LineShape --> +  * //N/A// 
-[[#Public Methods|Go Back]] +== Remarks ​== 
-==== GetLineOnALine(StartingPoint,​ Single) ==== +  * //N/A//
-This method returns a BaseLineShape,​ based on a starting position and other factors. +
-=== Overloads === +
-This overload allows you to pass the starting point and percentage of the line. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]]<​!-- ThinkGeo.MapSuite.Core.LineBaseShape --> ​  | This method returns a BaseLineShape,​ based on a starting position and other factors. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​^  Description ^ +  ​Type:[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]] 
-| startingPoint ​  ​| ​[[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]]<!-- ThinkGeo.MapSuite.Core.StartingPoint --> ​  | The startingPoint defines whether the method starts at the beginning or the end of the line.   | +  * Description:​N/​A
-| percentageOfLine ​  | Single<​!-- System.Single --> ​  | This parameter defines the percentage into the line. Valid values must be greater than 0 and less than or equal to 100.   |+
  
-<!-- ThinkGeo.MapSuite.Core.LineShape --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +  * //​tolerance//​ 
-==== GetLineOnALine(StartingPoint,​ Single, Single) ​==== +    * Type:Double 
-This method returns a BaseLineShape,​ based on a starting position and other factors. +    ​* ​Description:N/A
-=== Overloads === +
-This overload allows you to pass the starting point, starting percentage of the line and percentage of the line. +
-=== Return Value === +
-^ Return Type ^ Description ​+
-| [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]]<​!-- ThinkGeo.MapSuite.Core.LineBaseShape --> ​  | This method returns a BaseLineShape,​ based on a starting position and other factors. ​  |+
  
-=== Parameters === +  * //​simplificationType//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.SimplificationType|SimplificationType]] 
-| startingPoint ​  ​| ​[[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]]<!-- ThinkGeo.MapSuite.Core.StartingPoint --> ​  | The startingPoint defines whether the method starts at the beginning or the end of the line.   | +    * Description:​N/​A
-| startingPercentageOfTheLine ​  | Single<​!-- System.Single --> ​  | This parameter defines the starting percentage into the line. Valid values must be greater than 0 and less than or equal to 100.   | +
-| percentageOfTheLine ​  | Single<​!-- System.Single --> ​  | This parameter defines the percentage into the line. Valid values must be greater than 0 and less than or equal to 100.   |+
  
-<!-- ThinkGeo.MapSuite.Core.LineShape --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} Union(LineBaseShape**
-==== GetLineOnALine(PointShape, PointShape==== +
-This method returns a BaseLineShape,​ based on a starting position and other factors. +
-=== Overloads === +
-This overload allows you to pass in two points to get a BaseLineShape from the original LineShape. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]]<​!-- ThinkGeo.MapSuite.Core.LineBaseShape --> ​  | This method returns a BaseLineShape based on a start PointShape and an end PointShape. ​  |+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| startPointShape ​  | [[ThinkGeo.MapSuite.Core.PointShape|PointShape]]<​!-- ThinkGeo.MapSuite.Core.PointShape --> ​  | The startPointShape defines where you will start to get the line. If it does not stand on this LineShape, the closest point on the LineShape will be the start PointShape. ​  | +  ​* //N/A//
-| endPointShape ​  | [[ThinkGeo.MapSuite.Core.PointShape|PointShape]]<​!-- ThinkGeo.MapSuite.Core.PointShape --> ​  | The endPointShape defines where you will stop getting the line. If it does not stand on this LineShape, the closest point on the LineShape will be the end PointShape. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.LineShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]] 
-==== GetPointOnALine(StartingPoint,​ Single) ==== +  * Description:​N/​A
-This method returns a PointShape on the line, based on a percentage of the length of the line from the first or last vertex defined in the startingPoint parameter. +
-=== Overloads === +
-This overload allows you to pass a percentage determining how far you want to move along the line, as well as the option for starting from either the beginning or the end of the line. +
-=== Remarks === +
-If you pass 100 or 0 as the percentage of the line, it will return either the first or last vertex, depending on the value of the startingPoint argument. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-[[ThinkGeo.MapSuite.Core.PointShape|PointShape]]<!-- ThinkGeo.MapSuite.Core.PointShape --> ​  | This method returns a PointShape on the line, based on a percentage of the length of the line from the first or last vertex defined in the startingPoint parameter. ​  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetShape//​ 
-| startingPoint ​  ​| ​[[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]]<!-- ThinkGeo.MapSuite.Core.StartingPoint --> ​  | The startingPoint defines whether the method starts at the beginning or the end of the line.   | +    * Type:[[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] 
-| percentageOfLine ​  | Single<​!-- System.Single --> ​  | This parameter defines the percentage into the line. Valid values are between 0 and 100.   |+    * Description:​N/​A
  
-<!-- ThinkGeo.MapSuite.Core.LineShape --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} Union(Feature**
-==== GetPointOnALine(StartingPoint,​ Double, GeographyUnit,​ DistanceUnit==== +
-This method returns a PointShape on the line, based on a distance on the line from the first or last vertex defined in the startingPoint parameter. +
-=== Overloads === +
-This overload allows you to pass a distance determining how far you want to move along the line using your unit of choice, as well as the option to start from the beginning or the end of the line. +
-=== Remarks === +
-Passing in a 0 distance will return either the first or last point on the line, depending upon the value of the startingPoint parameter. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.Core.PointShape|PointShape]]<​!-- ThinkGeo.MapSuite.Core.PointShape --> ​  | This method returns a PointShape on the line, based on a distance on the line from the first or last vertex defined in the startingPoint parameter. ​  |+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| startingPoint ​  | [[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]]<​!-- ThinkGeo.MapSuite.Core.StartingPoint --> ​  | The startingPoint defines whether the method starts at the beginning or the end of the line.   | +  ​* //N/A//
-| distance ​  | Double<​!-- System.Double --> ​  | This parameter specifies the distance into the line you wish to move in the unit specified by the distanceUnit parameter. Valid values must be greater than or equal to 0.   | +
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This is the GeographyUnit of the shape you are performing the operation on.   | +
-| distanceUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This is the DistanceUnit you would like to use for the distance parameter. For example, if you select miles as your distanceUnit,​ then the distance will be measured in miles. ​  |+
  
-<​!-- ​ThinkGeo.MapSuite.Core.LineShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]] 
-==== GetShortestLineTo(Feature,​ GeographyUnit) ==== +  * Description:​N/​A
-This method returns the shortest LineShape between this shape and the targetFeature. parameter. +
-=== Remarks === +
-This method returns a MultiLineShape representing the shortest distance between the shape you're calling the method on and the targetShape. In some instances, based on the GeographicType or Projection, the line may not be straight. This is effect is similar to what you might see on an international flight when the displayed flight path is curved.+
  
-Overriding:+== Parameters == 
 +  * //​targetFeature//​ 
 +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:​N/​A
  
-Please ensure that you validate the parameters being passed in and raise the exceptions defined above. +<div newline></​div>​ 
-=== Return Value === +** {{wiki:​PublicMethod.gif|}} GetIntersection(Feature) **
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]]<!-- ThinkGeo.MapSuite.Core.MultilineShape --  | A MultiLineShape representing the shortest distance between the shape you're calling the method on and the targetFeature  ​|+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<​!-- ThinkGeo.MapSuite.Core.Feature --> ​  | The feature you are trying to find the distance to.   | +  ​* //N/A//
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | The geographic unit of the feature you are trying to find the distance to.   |+
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]] 
-==== GetShortestLineTo(BaseShape,​ GeographyUnit) ==== +  * Description:​N/​A
-This method returns the shortest LineShape between this shape and the targetShape parameter. +
-=== Remarks === +
-This method returns a LineShape representing the shortest distance between the shape you're calling the method on and the targetShape. In some instances, based on the GeographicType or Projection, the line may not be straight. This effect is similar to what you might see on an international flight when the displayed flight path is curved.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +== Parameters ​== 
-=== Return Value === +  * //​targetFeature//​ 
-^ Return ​Type ^ Description ^ +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]]<!-- ThinkGeo.MapSuite.Core.MultilineShape --> ​  ​| ​LineShape representing the shortest distance between the shape you're calling the method on and the targetShape. ​  |+    * Description:​N/​A
  
-=== Parameters === +<div newline></div> 
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} GetIntersection(AreaBaseShape) **
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --  | The shape you are trying to find the distance to.   | +
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<!-- ThinkGeo.MapSuite.Core.GeographyUnit --  | The geographic unit of the Shape you are trying to find the distance to  ​|+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +  * //N/A// 
-[[#Public Methods|Go Back]] +== Remarks ​== 
-==== GetType() ==== +  * //N/A//
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Type<!-- System.Type --> ​  ​| ​   |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​^+  ​Type:​[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]] 
 +  Description:N/A
  
-<!-- System.Object --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +  * //​targetShape//​ 
-==== GetWellKnownBinary() ​==== +    * Type:​[[ThinkGeo.MapSuite.Core.AreaBaseShape|AreaBaseShape]] 
-This method returns a byte array that represents the shape in well-known binary. +    * Description:​N/​A
-=== Remarks === +
-This method returns a byte array that represents the shape 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.+
  
-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. +<div newline></​div>​ 
-=== Return Value === +** {{wiki:​PublicMethod.gif|}} LoadFromWellKnownData(String) **
-^ Return Type ^ Description ^ +
-| Byte[]<!-- System.Byte[[]] --  | This method returns a byte array that represents the shape in well-known binary  ​|+
  
-=== Parameters === +  * //N/A// 
-^  Name ^  Type ^  Description ^+== Remarks ​== 
 +  ​* //N/A//
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:Void 
-==== GetWellKnownBinary(WkbByteOrder) ​==== +  * Description:​N/​A
-This method returns a byte array that represents the shape in well-known binary. +
-=== Remarks === +
-This method returns a byte array that represents the shape in well-known binary. Well-known binary allows you to describe geometries as a binary array. Well-known binary is useful when you want to save a geometry in an efficient format using as little space as possible. An alternative to well-known binary is well-known text, which is a textual representation of a geometry object. We have methods that work with well known text as well.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +== Parameters ​== 
-=== Return Value === +  * //​wellKnownText//​ 
-^ Return ​Type Description ​+    * Type:String 
-| Byte[]<​!-- System.Byte[[]] --> ​  | This method returns a byte array that represents the shape in well-known binary. ​  |+    * Description:N/A
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} GetWellKnownText() **
-| byteOrder ​  | [[ThinkGeo.MapSuite.Core.WkbByteOrder|WkbByteOrder]]<!-- ThinkGeo.MapSuite.Core.WkbByteOrder --  | This parameter is the byte order used to encode the well-known binary  ​|+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +  * //N/A// 
-[[#Public Methods|Go Back]] +== Remarks ​== 
-==== GetWellKnownBinary(RingOrder) ==== +  * //N/A//
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Byte[]<​!-- System.Byte[[]] --> ​  ​| ​   |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:String 
-| outerRingOrder ​  | [[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]]<​!-- ThinkGeo.MapSuite.Core.RingOrder --> ​  ​| ​   |+  Description:N/A
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +<div newline></​div>​ 
-==== GetWellKnownBinary(RingOrder,​ WkbByteOrder) ​==== +** {{wiki:​PublicMethod.gif|}} GetGeoJson() **
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Byte[]<​!-- System.Byte[[]] --> ​  ​| ​   ​|+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| outerRingOrder ​  | [[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]]<​!-- ThinkGeo.MapSuite.Core.RingOrder --> ​  ​| ​   | +  ​* //N/A//
-| byteOrder ​  | [[ThinkGeo.MapSuite.Core.WkbByteOrder|WkbByteOrder]]<​!-- ThinkGeo.MapSuite.Core.WkbByteOrder --> ​  ​| ​   |+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:String 
-==== GetWellKnownText() ​==== +  * Description:​N/​A
-This method returns the well-known text representation of this shape. +
-=== Remarks === +
-This method returns a string that represents the shape in well-known text. Well-known text allows you to describe geometries as a string of text. Well-known text is useful when you want to save a geometry in a format such as a text file, or when you simply want to cut and paste the text between other applications. An alternative to well-known text is well-known binary, which is a binary representation of a geometry object. We have methods that work with well-known binary as well. Below are some samples of what well-known text might look like for various kinds of geometries.+
  
-POINT(5 17)+== Parameters == 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetWellKnownText(RingOrder**
  
-LINESTRING(4 5,10 50,25 80)+  * //N/A// 
 +== Remarks == 
 +  * //N/A//
  
-POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))+== Return Value == 
 +  * Type:​String 
 +  * Description:​N/​A
  
-MULTIPOINT(3.7 9.7,4.9 11.6)+== Parameters == 
 +  * //​outerRingOrder//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] 
 +    * Description:​N/​A
  
-MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))+<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} LoadFromWellKnownData(Byte[]**
  
-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)))+  * //N/A// 
 +== Remarks == 
 +  * //N/A//
  
-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 Value === +  ​* ​Type:Void 
-^ Return ​Type Description ​+  * Description:N/A
-| String<​!-- System.String --> ​  | This method returns a string that represents the shape in well-known text.   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  ​Description ​^+  ​* //​wellKnownBinary//​ 
 +    * Type:Byte[] 
 +    * Description:N/A
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} GetWellKnownBinary() **
-==== GetWellKnownText(RingOrder==== +
-This method returns the well-known text representation of this shape. +
-=== Remarks === +
-This method returns a stringthat represents the shape in well-known text. Well-known text allows you to describe geometries as a string of text. Well-known text is useful when you want to save a geometry in a format such as a text file, or when you simply want to cut and paste the text between other applications. An alternative to well-known text is well-known binary, which is a binary representation of a geometry object. We have methods that work with well-known binary as well. Below are some samples of what well-known text might look like for various kinds of geometries.+
  
-POINT(5 17)+  * //N/A// 
 +== Remarks == 
 +  * //N/A//
  
-LINESTRING(4 5,10 50,25 80)+== Return Value == 
 +  * Type:​Byte[] 
 +  * Description:​N/​A
  
-POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))+== Parameters == 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetWellKnownBinary(WkbByteOrder**
  
-MULTIPOINT(3.7 9.7,4.9 11.6)+  * //N/A// 
 +== Remarks == 
 +  * //N/A//
  
-MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))+== Return Value == 
 +  * Type:​Byte[] 
 +  * Description:​N/​A
  
-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)))+== Parameters == 
 +  * //​byteOrder//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.WkbByteOrder|WkbByteOrder]] 
 +    * Description:​N/​A
  
-Overriding:+<div newline></​div>​ 
 +** {{wiki:PublicMethod.gif|}} GetWellKnownBinary(RingOrder) **
  
-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//
-| String<​!-- System.String --> ​  | This method returns a string that represents the shape in well-known text.   |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:Byte[] 
-| outerRingOrder ​  | [[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]]<​!-- ThinkGeo.MapSuite.Core.RingOrder --> ​  ​| ​   |+  Description:N/A
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +  * //​outerRingOrder//​ 
-==== GetWellKnownType() ​==== +    ​* ​Type:[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] 
-This method returns the well-known type for the shape. +    * Description:​N/​A
-=== 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 ^ +
-[[ThinkGeo.MapSuite.Core.WellKnownType|WellKnownType]]<!-- ThinkGeo.MapSuite.Core.WellKnownType --> ​  | This method returns the well-known type for the shape. ​  |+
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^+** {{wiki:​PublicMethod.gif|}} GetWellKnownBinary(RingOrder,​WkbByteOrder) **
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +  * //N/A// 
-[[#Public Methods|Go Back]] +== Remarks == 
-==== Intersects(Feature) ==== +  * //N/A//
-This method returns if the current shape 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 shape and the targetFeature have at least one point in common. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:Byte[] 
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<​!-- ThinkGeo.MapSuite.Core.Feature --> ​  | The targetFeature you wish to compare the current one to.   |+  Description:N/A
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape --> +== Parameters == 
-[[#Public Methods|Go Back]] +  * //​outerRingOrder//​ 
-==== Intersects(BaseShape) ==== +    * Type:[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] 
-This method returns if the current shape and the targetShape have at least one point in common. +    ​* ​Description:N/A
-=== 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 shape and the targetShape have at least one point in common. ​  |+
  
-=== Parameters === +  * //​byteOrder//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.WkbByteOrder|WkbByteOrder]] 
-| targetShape ​  ​| ​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | The shape you wish to compare the current one to.   |+    * Description:​N/​A
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} GetBoundingBox() **
-==== IsClosed() ==== +
-This method determines whether the line is closed, meaning that the last point and first point are the same. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Boolean<​!-- System.Boolean --> ​  | The return value indicating whether the line is closed. ​  |+
  
-=== Parameters === +  * //N/A// 
-^  Name ^  Type ^  Description ^+== Remarks ​== 
 +  ​* //N/A//
  
-<!-- ThinkGeo.MapSuite.Core.LineShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
-==== IsDisjointed(Feature) ==== +  * Description:​N/​A
-This method returns if the current shape and the targetFeature have no points in common. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-| Boolean<​!-- System.Boolean --> ​  | This method returns if the current shape 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 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. ​  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  Type ^  Description ^ +<div newline></​div>​ 
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --  | The feature you wish to compare the current one to  ​|+** {{wiki:​PublicMethod.gif|}} GetWellKnownType() **
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +  * //N/A// 
-[[#Public Methods|Go Back]] +== Remarks ​== 
-==== IsDisjointed(BaseShape) ==== +  * //N/A//
-This method returns if the current shape and the targetShape have no points in common. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Boolean<​!-- System.Boolean --> ​  | This method returns if the current shape and the targetShape have no points in common. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​^  Description ^ +  ​Type:[[ThinkGeo.MapSuite.Core.WellKnownType|WellKnownType]] 
-| targetShape ​  ​| ​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | The shape you wish to compare the current one to.   |+  * Description:​N/​A
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +<div newline></​div>​ 
-==== IsTopologicallyEqual(Feature) ​==== +** {{wiki:​PublicMethod.gif|}} CloneDeep() **
-This method returns if the current shape and the targetFeature are topologically equal. +
-=== Remarks === +
-Topologically equal means that the shapes are essentially the same. For example, let's say you have a line with two points, point A and point B. You also have another line that is made up of point A, point B and point C. Point A of line one shares the same vertex as point A of line two, and point B of line one shares the same vertex as point C of line two. They are both straight lines, so point B of line two would lie on the first line. Essentially the two lines are the same, with line 2 having just one extra point. Topologically they are the same line, so this method would return true.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +  * //N/A// 
-=== Return Value === +== Remarks ​== 
-^ Return Type ^ Description ^ +  * //N/A//
-| Boolean<​!-- System.Boolean --> ​  | This method returns if the current shape and the targetFeature are topologically equal. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​^  Description ^ +  ​Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-| targetFeature ​  ​| ​[[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --> ​  | The targetFeature that contains a shape you wish to compare the current one to.   |+  * Description:​N/​A
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +<div newline></​div>​ 
-==== IsTopologicallyEqual(BaseShape) ​==== +** {{wiki:​PublicMethod.gif|}} TranslateByOffset(Double,Double,GeographyUnit,DistanceUnit) **
-This method returns if the current shape and the targetShape are topologically equal. +
-=== Remarks === +
-Topologically equal means that the shapes are essentially the sameFor examplelet's say you have a line with two pointspoint A and point B. You also have another line that is made up of point Apoint B and point C. Point A of line one shares the same vertex as point A of line two, and point B of line one shares the same vertex as point C of line two. They are both straight lines, so point B of line two would lie on the first line. Essentially the two lines are the same, with line 2 having just one extra point. Topologically they are the same line, so this method would return true.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +  * //N/A// 
-=== Return Value === +== Remarks ​== 
-^ Return Type ^ Description ^ +  * //N/A//
-| Boolean<​!-- System.Boolean --> ​  | This method returns if the current shape and the targetShape are topologically equal. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:Void 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | The shape you wish to compare the current one to.   |+  Description:N/A
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +  * //​xOffsetDistance//​ 
-==== IsWithin(BaseShape) ​==== +    * Type:Double 
-This method returns if the current shape lies within the interior of the targetShape. +    ​* ​Description:N/A
-=== 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 shape lies within the interior of the targetShape. ​  |+
  
-=== Parameters === +  * //​yOffsetDistance//​ 
-^  Name ^  ​Type ^  ​Description ​+    ​* ​Type:Double 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | The shape you wish to compare the current one to.   |+    * Description:N/A
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape --> +  * //​shapeUnit//​ 
-[[#Public Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-==== IsWithin(Feature) ==== +    ​* ​Description:N/A
-This method returns if the current shape lies within the interior of the targetFeature. +
-=== Remarks === +
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +
-=== Return Value === +
-^ Return Type ^ Description ​+
-| Boolean<​!-- System.Boolean --> ​  | This method returns if the current shape lies within the interior of the targetFeature. ​  |+
  
-=== Parameters === +  * //​distanceUnit//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-| targetFeature ​  ​| ​[[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --> ​  | The targetFeature that contains a shape you wish to compare the current one to.   |+    * Description:​N/​A
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} TranslateByOffset(Double,​Double**
-==== LoadFromWellKnownData(String==== +
-This method hydrates the current shape with its data from well-known text. +
-=== 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 ^ +
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| wellKnownText ​  | String<​!-- System.String --> ​  | This parameter is the well-known text you will use to hydrate your object. ​  |+  ​* //N/A//
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:Void 
-==== LoadFromWellKnownData(Byte[]) ​==== +  * Description:​N/​A
-This method hydrates the current shape with its data from well-known binary. +
-=== Remarks === +
-This is used when you want to hydrate a shape based on well-known binary. You can create the shape and then load the well-known binary using this method.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +== Parameters ​== 
-=== Return Value === +  * //​xOffsetDistance//​ 
-^ Return ​Type ^ Description ^ +    * Type:Double 
-| Void<!-- System.Void --> ​  ​| ​   |+    ​* Description:​N/​A
  
-=== Parameters === +  * //​yOffsetDistance//​ 
-^  Name ^  ​Type ^  ​Description ​+    ​* ​Type:Double 
-| wellKnownBinary ​  | Byte[]<​!-- System.Byte[[]] --> ​  | This parameter is the well-known binary used to populate the shape. ​  |+    * Description:N/A
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} TranslateByDegree(Double,Double,GeographyUnit,DistanceUnit) **
-==== Overlaps(Feature) ==== +
-This method returns if the current shape and the targetFeature share some but not all points in common. +
-=== Remarks === +
-As this is a concrete public method that wraps a Core methodwe 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 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 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 shape and the targetFeature share some but not all points in common. ​  |+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<​!-- ThinkGeo.MapSuite.Core.Feature --> ​  | The targetFeature that contains a shape you wish to compare the current one to.   |+  ​* //N/A//
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:Void 
-==== Overlaps(BaseShape) ==== +  * Description:N/A
-This method returns if the current shape and the targetShape 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 shape and the targetShape share some but not all points in common. ​  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  ​Description ​+  ​* //​distance//​ 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | The shape you wish to compare the current one to.   |+    * Type:Double 
 +    * Description:N/A
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +  * //​angleInDegrees//​ 
-[[#Public Methods|Go Back]] +    * Type:Double 
-==== Register(PointShape,​ PointShape, DistanceUnit,​ GeographyUnit) ==== +    * Description:​N/​A
-This method returns a BaseShape which has been registered from its original coordinate system to another based on two anchor PointShapes. +
-=== Remarks === +
-Registering allows you to take a geometric shape generated in a planar system and attach it to the ground in a Geographic Unit.+
  
-A common scenario is integrating geometric shapes from external programs (such as CAD software or a modeling system) and placing them onto a mapYou may have the schematics of a building in a CAD system and the relationship between all the points of the building are in feetYou want to then take the CAD image and attach it to where it really exists on a map. You would use the register method to do this.+  * //​shapeUnit//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
 +    * Description:​N/​A
  
-Registering is also useful for scientific modeling, where software models things such as a plume of hazardous materials or the fallout from a volcanoThe modeling software typically generates these models in a fictitious planar systemYou would then use the register to take the abstract model and attach it to a map with real coordinates.+  * //​distanceUnit//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
 +    * Description:​N/​A
  
-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. +<div newline></​div>​ 
-=== Return Value === +** {{wiki:​PublicMethod.gif|}} TranslateByDegree(Double,​Double) **
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --  | This method returns a BaseShape which has been registered from its original coordinate system to another based on two anchor PointShapes  ​|+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| fromPoint ​  | [[ThinkGeo.MapSuite.Core.PointShape|PointShape]]<​!-- ThinkGeo.MapSuite.Core.PointShape --> ​  | This parameter is the anchor PointShape in the coordinate of origin. ​  | +  ​* //N/A//
-| toPoint ​  | [[ThinkGeo.MapSuite.Core.PointShape|PointShape]]<​!-- ThinkGeo.MapSuite.Core.PointShape --> ​  | This parameter is the anchor PointShape in the coordinate of destination. ​  | +
-| fromUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This parameter is the DistanceUnit of the coordinate of origin. ​  | +
-| toUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This parameter is the GeographyUnit of the coordinate of destination. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:Void 
-==== Register(Feature,​ Feature, DistanceUnit,​ GeographyUnit) ​==== +  * Description:​N/​A
-This method returns a BaseShape which has been registered from its original coordinate system to another based on two anchor PointShapes. +
-=== Remarks === +
-Registering allows you to take a geometric shape generated in a planar system and attach it to the ground in a Geographic Unit.+
  
-common scenario is integrating geometric shapes from external programs (such as CAD software or a modeling system) and placing them onto a map. You may have the schematics of a building in a CAD system and the relationship between all the points of the building are in feet. You want to then take the CAD image and attach it to where it really exists on a map. You would use the register method to do this.+== Parameters == 
 +  * //​distance//​ 
 +    * Type:​Double 
 +    * Description:​N/​A
  
-Registering is also useful for scientific modeling, where software models things such as a plume of hazardous materials or the fallout from a volcano. The modeling software typically generates these models in a fictitious planar system. You would then use the register to take the abstract model and attach it to a map with real coordinates.+  * //​angleInDegrees//​ 
 +    * Type:​Double 
 +    * Description:​N/​A
  
-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. +<div newline></​div>​ 
-=== Return Value === +** {{wiki:​PublicMethod.gif|}} Rotate(PointShape,​Single) **
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --  | This method returns a BaseShape which has been registered from its original coordinate system to another based on two anchor PointShapes  ​|+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| fromPoint ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<​!-- ThinkGeo.MapSuite.Core.Feature --> ​  | This parameter is the anchor PointFeature in the coordinate of origin. ​  | +  ​* //N/A//
-| toPoint ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<​!-- ThinkGeo.MapSuite.Core.Feature --> ​  | This parameter is the anchor PointFeature in the coordinate of destination. ​  | +
-| fromUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This parameter is the DistanceUnit of the coordinate of origin. ​  | +
-| toUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This parameter is the GeographyUnit of the coordinate of destination. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:Void 
-==== RemoveVertex(Vertex,​ LineShape) ==== +  * Description:N/A
-<!-- static --> +
-This method removes the selected vertex from line shape. +
-=== Return Value === +
-^ Return ​Type Description ​+
-| Boolean<​!-- System.Boolean --> ​  | If remove sucess it will return true, otherwise return false. ​  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​pivotPoint//​ 
-| selectedVertex ​  ​| ​[[ThinkGeo.MapSuite.Core.Vertex|Vertex]]<!-- ThinkGeo.MapSuite.Core.Vertex --> ​  | The selected vertex must be a vertex of line shape, otherwise it will return false and line shape will keep the same.   | +    * Type:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-| lineShape ​  | [[ThinkGeo.MapSuite.Core.LineShape|LineShape]]<​!-- ThinkGeo.MapSuite.Core.LineShape --> ​  | The line shape will be removed one vertex. ​  |+    * Description:​N/​A
  
-<!-- ThinkGeo.MapSuite.Core.LineShape --> +  * //​degreeAngle//​ 
-[[#Public Methods|Go Back]] +    * Type:Single 
-==== RemoveVertex(Vertex) ==== +    ​* ​Description:N/A
-This method removes the selected vertex from line shape. +
-=== Return Value === +
-^ Return Type ^ Description ​+
-| Boolean<​!-- System.Boolean --> ​  | If remove sucess it will return true, otherwise return false. ​  |+
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} GetShortestLineTo(BaseShape,GeographyUnit) **
-| selectedVertex ​  | [[ThinkGeo.MapSuite.Core.Vertex|Vertex]]<​!-- ThinkGeo.MapSuite.Core.Vertex --> ​  | The selected vertex must be a vertex of line shapeotherwise it will return false and line shape will keep the same.   |+
  
-<!-- ThinkGeo.MapSuite.Core.LineShape --> +  * //N/A// 
-[[#Public Methods|Go Back]] +== Remarks ​== 
-==== ReversePoints() ==== +  * //N/A//
-This method reverses the order of the points in the line. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​^+  ​Type:​[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]] 
 +  Description:N/A
  
-<​!-- ​ThinkGeo.MapSuite.Core.LineShape --> +== Parameters == 
-[[#Public Methods|Go Back]] +  * //​targetShape//​ 
-==== Rotate(Feature,​ PointShape, Single) ==== +    * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-<!-- static --> +    * Description:​N/​A
-This method returns a feature rotated by a number of degrees based on a pivot point. +
-=== Remarks === +
-This method returns a feature rotated by a number of degrees based on a pivot point. By placing the pivot point in the center of the feature you can achieve in-place rotation. By moving the pivot point outside of the center of the feature you can translate the feature in a circular motion. Moving the pivot point further outside of the center will make the circular area larger.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +  * //​shapeUnit//​ 
-=== Return Value === +    ​* ​Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-^ Return ​Type ^ Description ^ +    * Description:​N/​A
-[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | This method returns a shape rotated by a number of degrees based on a pivot point. ​  |+
  
-=== Parameters === +<div newline></div
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} GetShortestLineTo(Feature,GeographyUnit) **
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --  | This parameter is the basis for the rotation. ​  | +
-| pivotPoint ​  | [[ThinkGeo.MapSuite.Core.PointShape|PointShape]]<!-- ThinkGeo.MapSuite.Core.PointShape --  | The pivotPoint represents the center of rotation. ​  | +
-| degreeAngle ​  | Single<​!-- System.Single --> ​  The number of degrees of rotation requiredfrom 0 to 360.   |+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +  * //N/A// 
-[[#Public Methods|Go Back]] +== Remarks == 
-==== Rotate(PointShape,​ Single) ==== +  * //N/A//
-This method rotates a shape a number of degrees based on a pivot point. +
-=== Remarks ​=== +
-This method returns a shape rotated by a number of degrees based on a pivot point. By placing the pivot point in the center of the shape you can achieve in-place rotation. By moving the pivot point outside of the center of the shape you can translate the shape in a circular motion. Moving the pivot point further outside of the center will make the circular area larger.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +== Return Value == 
-=== Return Value === +  ​* ​Type:​[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]] 
-^ Return ​Type ^ Description ^ +  * Description:​N/​A
-| Void<!-- System.Void --> ​  ​| ​   ​|+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetFeature//​ 
-| pivotPoint ​  ​| ​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]]<!-- ThinkGeo.MapSuite.Core.PointShape --> ​  | The pivotPoint represents the center of rotation. ​  | +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-| degreeAngle ​  | Single<​!-- System.Single --> ​  | The number of degrees of rotation required, from 0 to 360.   |+    * Description:​N/​A
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape --> +  * //​shapeUnit//​ 
-[[#Public Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-==== Rotate(BaseShape,​ PointShape, Single) ==== +    * Description:​N/​A
-<!-- static --> +
-This method returns a shape rotated by a number of degrees based on a pivot point. +
-=== Remarks === +
-This method returns a shape rotated by a number of degrees based on a pivot point. By placing the pivot point in the center of the shape you can achieve in-place rotation. By moving the pivot point outside of the center of the shape you can translate the shape in a circular motion. Moving the pivot point further outside of the center will make the circular area larger.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +<div newline></​div>​ 
-=== Return Value === +** {{wiki:​PublicMethod.gif|}} GetClosestPointTo(BaseShape,​GeographyUnit) **
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | This method returns a shape rotated by a number of degrees based on a pivot point. ​  |+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| sourceBaseShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | This parameter is the basis for the rotation. ​  | +  ​* //N/A//
-| pivotPoint ​  | [[ThinkGeo.MapSuite.Core.PointShape|PointShape]]<​!-- ThinkGeo.MapSuite.Core.PointShape --> ​  | The pivotPoint represents the center of rotation. ​  | +
-| degreeAngle ​  | Single<​!-- System.Single --> ​  | The number of degrees of rotation required, from 0 to 360.   |+
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-==== ScaleDown(Double) ==== +  * Description:​N/​A
-This method decreases the size of the LineShape by the percentage given in the percentage parameter. +
-=== Remarks === +
-This method is useful when you would like to decrease the size of the shape. Note that a larger percentage will scale the shape down faster as you apply the operation multiple times. There is also a ScaleUp method that will enlarge the shape as well.+
  
-As this is a concrete public method that wraps a Core method we reserve the right to add events and other logic to pre or post process data returned by the Core version of the method. In this way we leave our framework open on our end but also allow you the developer to extend our logic to your needs. If you have questions about this please contact support as we would be happy to work with you on extending our framework. +== Parameters ​== 
-=== Return Value === +  * //​targetShape//​ 
-^ Return ​Type ^ Description ^ +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-| Void<!-- System.Void --> ​  |    ​|+    * Description:​N/​A
  
-=== Parameters === +  * //​shapeUnit//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-| percentage ​  | Double<​!-- System.Double --> ​  | This is the percentage by which to decrease the shape�s size  ​|+    * Description:​N/​A
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} GetClosestPointTo(Feature,GeographyUnit**
-==== ScaleDown(LineBaseShapeDouble==== +
-<!-- static --> +
-This method returns a new shape that is decreases by the percentage given in the percentage parameter. +
-=== Remarks === +
-This method is useful when you would like to decrease the size of the shape. Note that a larger percentage will scale the shape down faster as you apply the operation multiple times. There is also a ScaleUp method that will enlarge the shape as well.+
  
-As this is a concrete public method that wraps a Core method we reserve the right to add events and other logic to pre or post process data returned by the Core version of the method. In this way we leave our framework open on our end but also allow you the developer to extend our logic to your needs. If you have questions about this please contact support as we would be happy to work with you on extending our framework. +  * //N/A// 
-=== Return Value === +== Remarks ​== 
-^ Return Type ^ Description ^ +  * //N/A//
-| [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]]<​!-- ThinkGeo.MapSuite.Core.LineBaseShape --> ​  | a scaled down line type shape. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​^  Description ^ +  ​Type:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-| sourceLineBaseShape ​  ​| ​[[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]]<!-- ThinkGeo.MapSuite.Core.LineBaseShape --> ​  | This parameter is the basis for the scale up up but is not modified. ​  | +  * Description:​N/​A
-| percentage ​  | Double<​!-- System.Double --> ​  | This is the percentage by which to decrease the shape�s size.   |+
  
-<​!-- ​ThinkGeo.MapSuite.Core.LineBaseShape --> +== Parameters == 
-[[#Public Methods|Go Back]] +  * //​targetFeature//​ 
-==== ScaleDown(Feature,​ Double) ==== +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-<!-- static --> +    * Description:​N/​A
-This method returns a new feature that is decreases by the percentage given in the percentage parameter. +
-=== Remarks === +
-This method is useful when you would like to decrease the size of the feature. Note that a larger percentage will scale the shape down faster as you apply the operation multiple times. There is also a ScaleUp method that will enlarge the shape as well.+
  
-As this is a concrete public method that wraps a Core method we reserve the right to add events and other logic to pre or post process data returned by the Core version of the method. In this way we leave our framework open on our end but also allow you the developer to extend our logic to your needs. If you have questions about this please contact support as we would be happy to work with you on extending our framework. +  * //​shapeUnit//​ 
-=== Return Value === +    ​* ​Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-^ Return ​Type ^ Description ^ +    * Description:​N/​A
-[[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --> ​  | a scaled down line type feature. ​  |+
  
-=== Parameters === +<div newline></div> 
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} GetCenterPoint() **
-| sourceLine ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --  | This parameter is the basis for the scale up up but is not modified. ​  | +
-| percentage ​  | Double<!-- System.Double --  | This is the percentage by which to decrease the shape�s size  ​|+
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape --> +  * //N/A// 
-[[#Public Methods|Go Back]] +== Remarks == 
-==== ScaleTo(Double) ==== +  * //N/A//
-This method increases or decreases the size of the shape by the specified scale factor given in the parameter. +
-=== 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 ^ +
-| Void<!-- System.Void --> ​  | This method is useful when you would like to increase or decrease the size of the shape. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-| scale   | Double<​!-- System.Double --> ​  | Pepresents a value which scaleFactor to   |+  Description:N/A
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +<div newline></div> 
-==== ScaleTo(BaseShape,​ Double) ​==== +** {{wiki:​PublicMethod.gif|}} Buffer(Double,​GeographyUnit,​DistanceUnit) **
-<!-- static --> +
-This method increases or decreases the size of the shape by the specified scale factor given in the parameter. +
-=== Remarks === +
-It will call the instanced method ScaleTo internally. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --  | This method is useful when you would like to increase or decrease the size of the shape  ​|+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| baseShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | Represents a shape which you want to resize ​  | +  ​* //N/A//
-| scale   | Double<​!-- System.Double --> ​  | Pepresents a value which scaleFactor to.   |+
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:[[ThinkGeo.MapSuite.Core.MultipolygonShape|MultipolygonShape]] 
-==== ScaleUp(Feature,​ Double) ==== +  * Description:​N/​A
-<!-- static --> +
-This method returns a new feature that is increased by the percentage given in the percentage parameter. +
-=== Remarks === +
-This method is useful when you would like to increase the size of the feature. Note that a larger percentage will scale the shape up faster as you apply the operation multiple times. There is also a ScaleDown method that will shrink the shape as well.+
  
-As this is a concrete public method that wraps a Core method we reserve the right to add events and other logic to pre or post process data returned by the Core version of the method. In this way we leave our framework open on our end but also allow you the developer to extend our logic to your needs. If you have questions about this please contact support as we would be happy to work with you on extending our framework. +== Parameters ​== 
-=== Return Value === +  * //​distance//​ 
-^ Return ​Type Description ​+    * Type:Double 
-| [[ThinkGeo.MapSuite.Core.Feature|Feature]]<​!-- ThinkGeo.MapSuite.Core.Feature --> ​  | a scaled line type feature. ​  |+    * Description:N/A
  
-=== Parameters === +  * //​shapeUnit//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-| sourceLine ​  ​| ​[[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --> ​  | This parameter is the basis for the scale up up but is not modified. ​  | +    * Description:​N/​A
-| percentage ​  | Double<​!-- System.Double --> ​  | This is the percentage by which to increase the shape�s size.   |+
  
-<​!-- ​ThinkGeo.MapSuite.Core.LineBaseShape --> +  * //​distanceUnit//​ 
-[[#Public Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-==== ScaleUp(Double) ==== +    * Description:​N/​A
-This method increases the size of the LineShape by the percentage given in the percentage parameter. +
-=== Remarks === +
-This method is useful when you would like to increase the size of the shape. Note that a larger percentage will scale the shape up faster as you apply the operation multiple times. There is also a ScaleDown method that will shrink the shape as well.+
  
-As this is a concrete public method that wraps a Core method we reserve the right to add events and other logic to pre or post process data returned by the Core version of the method. In this way we leave our framework open on our end but also allow you the developer to extend our logic to your needs. If you have questions about this please contact support as we would be happy to work with you on extending our framework. +<div newline></​div>​ 
-=== Return Value === +** {{wiki:​PublicMethod.gif|}} Buffer(Double,​Int32,​GeographyUnit,​DistanceUnit) **
-^ Return Type ^ Description ^ +
-| Void<!-- System.Void --> ​  ​| ​   ​|+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| percentage ​  | Double<​!-- System.Double --> ​  | This is the percentage by which to increase the shape�s size.   |+  ​* //N/A//
  
-<​!-- ​ThinkGeo.MapSuite.Core.LineBaseShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:[[ThinkGeo.MapSuite.Core.MultipolygonShape|MultipolygonShape]] 
-==== ScaleUp(LineBaseShape,​ Double) ==== +  * Description:​N/​A
-<!-- static --> +
-This method returns a new shape that is increased by the percentage given in the percentage parameter. +
-=== Remarks === +
-This method is useful when you would like to increase the size of the shape. Note that a larger percentage will scale the shape up faster as you apply the operation multiple times. There is also a ScaleDown method that will shrink the shape as well.+
  
-As this is a concrete public method that wraps a Core method we reserve the right to add events and other logic to pre or post process data returned by the Core version of the method. In this way we leave our framework open on our end but also allow you the developer to extend our logic to your needs. If you have questions about this please contact support as we would be happy to work with you on extending our framework. +== Parameters ​== 
-=== Return Value === +  * //​distance//​ 
-^ Return ​Type Description ​+    * Type:Double 
-| [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]]<​!-- ThinkGeo.MapSuite.Core.LineBaseShape --> ​  | a scaled line type shape. ​  |+    * Description:N/A
  
-=== Parameters === +  * //​quadrantSegments//​ 
-^  Name ^  ​Type ^  ​Description ​+    ​* ​Type:Int32 
-| sourceShape ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]]<​!-- ThinkGeo.MapSuite.Core.LineBaseShape --> ​  | This parameter is the basis for the scale up up but is not modified. ​  | +    * Description:N/A
-| percentage ​  | Double<​!-- System.Double --> ​  | This is the percentage by which to increase the shape�s size.   |+
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape --> +  * //​shapeUnit//​ 
-[[#Public Methods|Go Back]] +    ​* ​Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-==== Simplify(LineBaseShape,​ Double, SimplificationType) ==== +    * Description:​N/​A
-<!-- static --> +
-Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]]<!-- ThinkGeo.MapSuite.Core.MultilineShape --> ​  | Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType. ​  |+
  
-=== Parameters === +  * //​distanceUnit//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-| targetShape ​  ​| ​[[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]]<!-- ThinkGeo.MapSuite.Core.LineBaseShape --> ​  | target shape which will be simplified. ​  | +    * Description:​N/​A
-| tolerance ​  | Double<​!-- System.Double --> ​  | distance tolerance ​  | +
-| simplificationType ​  | [[ThinkGeo.MapSuite.Core.SimplificationType|SimplificationType]]<​!-- ThinkGeo.MapSuite.Core.SimplificationType --> ​  | Specifies which algorthm will be use to simplify. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} Buffer(Double,​Int32,​BufferCapType,​GeographyUnit,​DistanceUnit) ​**
-==== Simplify(LineBaseShape, GeographyUnit, Double, DistanceUnit, SimplificationType==== +
-<!-- static --> +
-Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]]<​!-- ThinkGeo.MapSuite.Core.MultilineShape --> ​  | Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType. ​  |+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]]<​!-- ThinkGeo.MapSuite.Core.LineBaseShape --> ​  | target shape which will be simplified. ​  | +  ​* //N/A//
-| targetShapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | the geography unit of the target shape   | +
-| tolerance ​  | Double<​!-- System.Double --> ​  | distance tolerance ​  | +
-| toleranceUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | the distance unit of tolerance ​  | +
-| simplificationType ​  | [[ThinkGeo.MapSuite.Core.SimplificationType|SimplificationType]]<​!-- ThinkGeo.MapSuite.Core.SimplificationType --> ​  | Specifies which algorthm will be use to simplify. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:[[ThinkGeo.MapSuite.Core.MultipolygonShape|MultipolygonShape]] 
-==== Simplify(GeographyUnit,​ Double, DistanceUnit,​ SimplificationType) ==== +  * Description:​N/​A
-Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]]<!-- ThinkGeo.MapSuite.Core.MultilineShape --> ​  | Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType. ​  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​distance//​ 
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | the geography unit of the target shape   | +    * Type:Double 
-| tolerance ​  ​| ​Double<!-- System.Double --> ​  | distance tolerance ​  | +    * Description:​N/​A
-| toleranceUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | the distance unit of tolerance ​  | +
-| simplificationType ​  | [[ThinkGeo.MapSuite.Core.SimplificationType|SimplificationType]]<​!-- ThinkGeo.MapSuite.Core.SimplificationType --> ​  | Specifies which algorthm will be use to simplify. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape --> +  * //​quadrantSegments//​ 
-[[#Public Methods|Go Back]] +    * Type:Int32 
-==== Simplify(Double,​ SimplificationType) ==== +    ​* ​Description:N/A
-Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType. +
-=== Return Value === +
-^ Return Type ^ Description ​+
-| [[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]]<​!-- ThinkGeo.MapSuite.Core.MultilineShape --> ​  | Simplify the LineBaseShape to MultilineShape depends on distance tolerance and different SimplificationType. ​  |+
  
-=== Parameters === +  * //​bufferCapType//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.BufferCapType|BufferCapType]] 
-| tolerance ​  | Double<​!-- System.Double --> ​  | distance tolerance ​  | +    * Description:​N/​A
-| simplificationType ​  ​| ​[[ThinkGeo.MapSuite.Core.SimplificationType|SimplificationType]]<!-- ThinkGeo.MapSuite.Core.SimplificationType --> ​  | Specifies which algorthm will be use to simplify. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape --> +  * //​shapeUnit//​ 
-[[#Public Methods|Go Back]] +    ​* ​Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-==== ToPolygonShape() ==== +    * Description:​N/​A
-This method generates a PolygonShape based the vertexes of the line. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-[[ThinkGeo.MapSuite.Core.PolygonShape|PolygonShape]]<!-- ThinkGeo.MapSuite.Core.PolygonShape --> ​  ​| ​generated polygon based on the vertexes of the line, otherwise return null.   |+
  
-=== Parameters === +  * //​distanceUnit//​ 
-^  Name ^  ​Type ^  ​Description ​^+    ​* ​Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
 +    * Description:N/A
  
-<!-- ThinkGeo.MapSuite.Core.LineShape --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} GetDistanceTo(BaseShape,​GeographyUnit,​DistanceUnit**
-==== ToString() ==== +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| String<​!-- System.String --> ​  ​| ​   |+
  
-=== Parameters === +  * //N/A// 
-^  Name ^  Type ^  Description ^+== Remarks ​== 
 +  ​* //N/A//
  
-<!-- System.Object --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:Double 
-==== Touches(Feature) ==== +  * Description:N/A
-This method returns of the current shape 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 shape and the targetFeature have at least one boundary point in common, but no interior points. ​  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetShape//​ 
-| targetFeature ​  ​| ​[[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --> ​  | The targetFeature which contains a shape that you wish to compare the current one to.   |+    * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​N/​A
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape --> +  * //​shapeUnit//​ 
-[[#Public Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-==== Touches(BaseShape) ==== +    ​* ​Description:N/A
-This method returns if the current shape and the targetShape 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 if the current shape and the targetShape have at least one boundary point in common, but no interior points. ​  |+
  
-=== Parameters === +  * //​distanceUnit//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-| targetShape ​  ​| ​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | The shape you wish to compare the current one to.   |+    * Description:​N/​A
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} GetDistanceTo(Feature,GeographyUnit,​DistanceUnit**
-==== TranslateByDegree(DoubleDouble==== +
-This method moves a base shape from one location to another based on a distance and a direction in degrees. +
-=== Remarks === +
-This method moves a base shape from one location to another based on angleInDegrees and distance parameter. With this overload, it is important to note that the distance is based on the supplied distanceUnit parameter. For example, if your shape is in decimal degrees and you call this method with a distanceUnit of miles, you're going to move this shape a number of miles based on the distance value and the angleInDegrees. In this way, you can easily move a shape in decimal degrees five miles to the north.+
  
-If you pass a distance of 0, then the operation is ignored.+  * //N/A// 
 +== Remarks == 
 +  * //N/A//
  
-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 Value === +  ​* ​Type:Double 
-^ Return ​Type Description ​+  * Description:N/A
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetFeature//​ 
-| distance ​  | Double<​!-- System.Double --> ​  | The distance is the number of units to move the shape using the angle specifiedThe distance unit will be the DistanceUnit specified in the distanceUnit parameterThe distance must be greater than or equal to 0.   +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-| angleInDegrees ​  | Double<​!-- System.Double --> ​  ​| ​number between 0 and 360 degrees that represents the direction you wish to move the shape, with 0 being up.   |+    * Description:​N/​A
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape --> +  * //​shapeUnit//​ 
-[[#Public Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-==== TranslateByDegree(Double,​ Double, GeographyUnit,​ DistanceUnit) ==== +    * Description:​N/​A
-This method moves a base shape from one location to another based on a distance and a direction in degrees. +
-=== Remarks === +
-This method moves a base shape from one location to another based on angleInDegrees and distance parameter. With this overload, it is important to note that the distance is based on the supplied distanceUnit parameter. For example, if your shape is in decimal degrees and you call this method with a distanceUnit of miles, you're going to move this shape a number of miles based on the distance value and the angleInDegrees. In this way, you can easily move a shape in decimal degrees five miles to the north.+
  
-If you pass a distance of 0, then the operation is ignored.+  * //​distanceUnit//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
 +    * Description:​N/​A
  
-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|}} Register(PointShape,PointShape,DistanceUnit,GeographyUnit) **
-^ Return Type ^ Description ^ +
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| distance ​  | Double<​!-- System.Double --> ​  | The distance is the number of units to move the shape using the angle specified. The distance unit will be the DistanceUnit specified in the distanceUnit parameter. The distance must be greater than or equal to 0.   | +  ​* //N/A//
-| angleInDegrees ​  | Double<​!-- System.Double --> ​  ​| ​number between 0 and 360 degrees that represents the direction you wish to move the shape, with 0 being up.   | +
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This is the geographic unit of the shape you are performing the operation on.   | +
-| distanceUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This is the DistanceUnit you would like to use as the measure of the translate. For example if you select miles as your distanceUnit then the distance will be calculated in miles. ​  |+
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape ​--> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-==== TranslateByDegree(Feature,​ Double, Double, GeographyUnit,​ DistanceUnit) ==== +  * Description:​N/​A
-<!-- static --> +
-This method returns a feature repositioned from one location to another, based on a distance and a direction in degrees. +
-=== Remarks === +
-This method returns a feature repositioned from one location to another based on angleInDegrees and distance parameter. With this overload, it is important to note that the distance is based on the supplied distanceUnit parameter. For example, if your shape is in decimal degrees and you call this method with a distanceUnit of miles, you're going to move this feature a number of miles based on the distance value and the angleInDegrees. In this way, you can easily move a shape in decimal degrees five miles to the north.+
  
-If you pass a distance of 0, then the operation is ignored.+== Parameters == 
 +  * //​fromPoint//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
 +    * Description:​N/​A
  
-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. +  * //toPoint// 
-=== Return Value === +    ​* ​Type:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-^ Return ​Type ^ Description ^ +    * Description:​N/​A
-[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | This method returns a feature repositioned from one location to another, based on a distance and a direction in degrees. ​  |+
  
-=== Parameters === +  * //​fromUnit//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-| targetFeature ​  ​| ​[[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --> ​  | This parameter is the basis of the move.   | +    * Description:​N/​A
-| distance ​  | Double<​!-- System.Double --> ​  | The distance is the number of units to move the shape using the angle specified. The distance unit will be the DistanceUnit specified in the distanceUnit parameter. The distance must be greater than or equal to 0.   | +
-| angleInDegrees ​  | Double<​!-- System.Double --> ​  ​| ​number between 0 and 360 degrees that represents the direction you wish to move the feature, with 0 being up.   | +
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This is the geographic unit of the shape you are performing the operation on.   | +
-| distanceUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This is the distance unit you would like to use as the measure for the move. For example, if you select miles as your distance unit, then the distance will be calculated in miles. ​  |+
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape --> +  * //​toUnit//​ 
-[[#Public Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-==== TranslateByDegree(BaseShape,​ Double, Double, GeographyUnit,​ DistanceUnit) ==== +    * Description:​N/​A
-<!-- static --> +
-This method returns a shape repositioned from one location to another based on a distance and a direction in degrees. +
-=== Remarks === +
-This method returns a shape repositioned from one location to another based on angleInDegrees and distance parameter. With this overload, it is important to note that the distance is based on the supplied distanceUnit parameter. For example, if your shape is in decimal degrees and you call this method with a distanceUnit of miles, you're going to move this shape a number of miles based on the distance value and the angleInDegrees. In this way, you can easily move a shape in decimal degrees five miles to the north.+
  
-If you pass a distance of 0, then the operation is ignored.+<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} Register(Feature,​Feature,​DistanceUnit,​GeographyUnit) **
  
-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. +  * //N/A// 
-=== Return Value === +== Remarks ​== 
-^ Return Type ^ Description ^ +  * //N/A//
-| [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | This method returns a shape repositioned from one location to another based on a distance and a direction in degrees. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​^  Description ^ +  ​Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-| targetShape ​  ​| ​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | This parameter is the basis of the move.   | +  * Description:​N/​A
-| distance ​  | Double<​!-- System.Double --> ​  | The distance is the number of units to move the shape using the angle specified. The distance unit will be the one specified in the distanceUnit parameter. The distance must be greater than or equal to 0.   | +
-| angleInDegrees ​  | Double<​!-- System.Double --> ​  ​| ​number between 0 and 360 degrees that represents the direction you wish to move the shape, with 0 being up.   | +
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This is the geographic unit of the shape you are performing the operation on.   | +
-| distanceUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This is the distance unit you would like to use as the measure for the move. For example, if you select miles as your distance unit, then the distance will be calculated in miles. ​  |+
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape --> +== Parameters == 
-[[#Public Methods|Go Back]] +  * //​fromPoint//​ 
-==== TranslateByOffset(Double,​ Double, GeographyUnit,​ DistanceUnit) ==== +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-This method moves a base shape from one location to another based on an X and Y offset distance. +    * Description:​N/​A
-=== Remarks === +
-This method moves a base shape from one location to another based on an X and Y offset distance. With this overload, it is important to note that the X and Y offset units are based on the distanceUnit parameter. For example, if your shape is in decimal degrees and you call this method with an X offset of 1 and a Y offset of 1, you're going to move this shape one unit of the distanceUnit in the horizontal direction and one unit of the distanceUnit in the vertical direction. In this way, you can easily move a shape in decimal degrees five miles on the X axis and 3 miles on the Y axis.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the 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+  * //​toPoint//​ 
-=== Return Value === +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-^ Return Type ^ Description ​+    ​* ​Description:N/A
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +  * //​fromUnit//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-| xOffsetDistance ​  | Double<​!-- System.Double --> ​  | This is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter. ​  | +    * Description:​N/​A
-| yOffsetDistance ​  | Double<​!-- System.Double --> ​  | This is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter. ​  | +
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This is the geographic unit of the base shape you are performing the operation on.   | +
-| distanceUnit ​  ​| ​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This is the distance unit you would like to use as the measure for the move. For example, if you select miles as your distance unit, then the xOffsetDistance and yOffsetDistance will be calculated in miles. ​  |+
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape --> +  * //​toUnit//​ 
-[[#Public Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-==== TranslateByOffset(Double,​ Double) ==== +    * Description:​N/​A
-This method moves a base shape from one location to another based on an X and Y offset distance. +
-=== Remarks === +
-This method moves a base shape from one location to another based on an X and Y offset distance. With this overload, it is important to note that the X and Y offset units are based on the distanceUnit parameter. For example, if your shape is in decimal degrees and you call this method with an X offset of 1 and a Y offset of 1, you're going to move this shape one unit of the distanceUnit in the horizontal direction and one unit of the distanceUnit in the vertical direction. In this way, you can easily move a shape in decimal degrees five miles on the X axis and 3 miles on the Y axis.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +<div newline></​div>​ 
-=== Return Value === +** {{wiki:​PublicMethod.gif|}} Validate(ShapeValidationMode) **
-^ Return Type ^ Description ^ +
-| Void<!-- System.Void --> ​  ​| ​   ​|+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| xOffsetDistance ​  | Double<​!-- System.Double --> ​  | This is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter. ​  | +  ​* //N/A//
-| yOffsetDistance ​  | Double<​!-- System.Double --> ​  | This is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter. ​  |+
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:[[ThinkGeo.MapSuite.Core.ShapeValidationResult|ShapeValidationResult]] 
-==== TranslateByOffset(Feature,​ Double, Double, GeographyUnit,​ DistanceUnit) ==== +  * Description:​N/​A
-<!-- static --> +
-This method returns a feature repositioned from one location to another based on an X and Y offset distance. +
-=== Remarks === +
-This method returns a feature repositioned from one location to another based on an X and Y offset distance. With this overload, it is important to note that the X and Y offset units are based on the distanceUnit parameter. For example, if your shape is in decimal degrees and you call this method with an X offset of 1 and a Y offset of 1, you're going to move this shape one unit of the distanceUnit in the horizontal direction and one unit of the distanceUnit in the vertical direction. In this way, you can easily move a shape in decimal degrees five miles on the X axis and 3 miles on the Y axis.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +== Parameters ​== 
-=== Return Value === +  * //​validationMode//​ 
-^ Return ​Type ^ Description ^ +    * Type:[[ThinkGeo.MapSuite.Core.ShapeValidationMode|ShapeValidationMode]] 
-[[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --> ​  | This method returns a feature repositioned from one location to another based on an X and Y offset distance. ​  |+    * Description:​N/​A
  
-=== Parameters === +<div newline></div
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} IsDisjointed(BaseShape) **
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --  | This parameter is the basis of the moved feature. ​  | +
-| xOffsetDistance ​  | Double<!-- System.Double --  | This is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter. ​  | +
-| yOffsetDistance ​  | Double<​!-- System.Double --> ​  | This is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter. ​  | +
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This is the geographic unit of the shape you are performing the operation on.   | +
-| distanceUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This is the distance unit you would like to use as the measure for the move. For example, if you select miles as your distance unit, then the xOffsetDistance and yOffsetDistance will be calculated in miles  ​|+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +  * //N/A// 
-[[#Public Methods|Go Back]] +== Remarks == 
-==== TranslateByOffset(BaseShape,​ Double, Double, GeographyUnit,​ DistanceUnit) ==== +  * //N/A//
-<!-- static --> +
-This method returns a shape repositioned from one location to another based on an X and Y offset distance. +
-=== Remarks ​=== +
-This method returns a shape repositioned from one location to another based on an X and Y offset distance. With this overload, it is important to note that the X and Y offset units are based on the distanceUnit parameter. For example, if your shape is in decimal degrees and you call this method with an X offset of 1 and a Y offset of 1, you're going to move this shape one unit of the distanceUnit in the horizontal direction and one unit of the distanceUnit in the vertical direction. In this way, you can easily move a shape in decimal degrees five miles on the X axis and 3 miles on the Y axis.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +== Return Value == 
-=== Return Value === +  ​* ​Type:Boolean 
-^ Return ​Type Description ​+  * Description:N/A
-| [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | This method returns a shape repositioned from one location to another based on an X and Y offset distance. ​  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetShape//​ 
-| targetShape ​  ​| ​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | This parameter is the basis of the moved shape. ​  | +    * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-| xOffsetDistance ​  | Double<​!-- System.Double --> ​  | This is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter. ​  | +    * Description:​N/​A
-| yOffsetDistance ​  | Double<​!-- System.Double --> ​  | This is the number of vertical units of movement in the distance unit specified in the distanceUnit parameter. ​  | +
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This is the geographic unit of the shape you are performing the operation on.   | +
-| distanceUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This is the distance unit you would like to use as the measure for the move. For example, if you select miles as your distance unit, then the xOffsetDistance and yOffsetDistance will be calculated in miles. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} IsDisjointed(Feature) ​**
-==== Union(Feature) ​==== +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]]<​!-- ThinkGeo.MapSuite.Core.MultilineShape --> ​  ​| ​   |+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<​!-- ThinkGeo.MapSuite.Core.Feature --> ​  ​| ​   |+  ​* //N/A//
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:Boolean 
-==== Union(IEnumerable<​Feature>​) ==== +  * Description:N/A
-<!-- static --> +
-=== Return Value === +
-^ Return ​Type Description ​+
-| [[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]]<​!-- ThinkGeo.MapSuite.Core.MultilineShape --> ​  ​| ​   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetFeature//​ 
-| targetFeatures ​  | IEnumerable<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.Generic.IEnumerable{ThinkGeo.MapSuite.Core.Feature} --> ​  ​| ​   |+    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:​N/​A
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape --> +<div newline></div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} Intersects(BaseShape) **
-==== Union(IEnumerable<LineBaseShape>) ==== +
-<!-- static --> +
-Calculates a new geometry that contains all the points in this LineBaseShape and input LineBaseShape set. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]]<​!-- ThinkGeo.MapSuite.Core.MultilineShape --> ​  | A set combining the points of this LineBaseShape and the points of input LineBaseShape set.   |+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| lineBaseShapes ​  | IEnumerable<​[[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]]><​!-- System.Collections.Generic.IEnumerable{ThinkGeo.MapSuite.Core.LineBaseShape} --> ​  ​| ​   |+  ​* //N/A//
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:Boolean 
-==== Union(LineBaseShape) ==== +  * Description:N/A
-Calculates a new geometry that contains all the points in this LineBaseShape and input LineBaseShape +
-=== Return Value === +
-^ Return ​Type Description ​+
-| [[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]]<​!-- ThinkGeo.MapSuite.Core.MultilineShape --> ​  ​| ​set combining the points of this LineBaseShape and the points of input LineBaseShape. ​  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetShape//​ 
-| targetShape ​  ​| ​[[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]]<!-- ThinkGeo.MapSuite.Core.LineBaseShape --> ​  | The target LineBasheShape with which to compute the union   |+    * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​N/​A
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} Intersects(Feature**
-==== Validate(ShapeValidationMode==== +
-This method returns a ShapeValidationResult based on a series of tests. +
-=== Remarks === +
-We use this method, with the simple enumeration,​ internally before doing any kind of other methods on the shape. In this way, we are able to verify the integrity of the shape itself. If you wish to test things such as whether a polygon self-intersects,​ we invite you to call this method with the advanced ShapeValidationMode. One thing to consider is that for complex polygon shapes this operation could take some time, which is why we only run the basic, faster test. If you are dealing with polygon shapes that are suspect, we suggest you run the advanced test.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +  * //N/A// 
-=== Return Value === +== Remarks ​== 
-^ Return Type ^ Description ^ +  * //N/A//
-| [[ThinkGeo.MapSuite.Core.ShapeValidationResult|ShapeValidationResult]]<​!-- ThinkGeo.MapSuite.Core.ShapeValidationResult --> ​  | This method returns a ShapeValidationResult based on a series of tests. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:Boolean 
-| validationMode ​  | [[ThinkGeo.MapSuite.Core.ShapeValidationMode|ShapeValidationMode]]<​!-- ThinkGeo.MapSuite.Core.ShapeValidationMode --> ​  | This parameter determines whether the test is simple or advanced. In some cases, the advanced tests can take some time. The simple test is designed to always be fast.   |+  Description:N/A
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape --> +== Parameters == 
-[[#Public Methods|Go Back]] +  * //​targetFeature//​ 
-===== Protected Methods ===== +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-==== BufferCore(Double,​ Int32, BufferCapType,​ GeographyUnit,​ DistanceUnit) ==== +    * Description:​N/​A
-This method computes the area containing all of the points within a given distance from this shape. +
-=== Remarks === +
-This method computes the area containing all of the points within a given distance from this shape. In this case, you will be using the rounded RoundedBufferCapStyle and the default 8 quadrant segments. The distance unit is determined by the distanceUnit argument.+
  
-Overriding:+<div newline></​div>​ 
 +** {{wiki:PublicMethod.gif|}} Touches(BaseShape) **
  
-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.Core.MultipolygonShape|MultipolygonShape]]<​!-- ThinkGeo.MapSuite.Core.MultipolygonShape --> ​  | The return type is a MultiPolygonShape that represents all of the points within a given distance from the shape. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:Boolean 
-| 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. ​  | +  Description:N/A
-| quadrantSegments ​  | Int32<​!-- System.Int32 --> ​  | The number of quadrantSegments used in the buffer logic. ​  | +
-| bufferCapType ​  | [[ThinkGeo.MapSuite.Core.BufferCapType|BufferCapType]]<​!-- ThinkGeo.MapSuite.Core.BufferCapType --> ​  | The bufferCapType used in the buffer logic. ​  | +
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This is the geographic unit of the shape you are performing the operation on.   | +
-| distanceUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This is the distance unit you would like to use as the distance. For example, if you select miles as your distanceUnit,​ then the distance will be calculated in miles for the operation. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Parameters ​== 
-[[#​Protected Methods|Go Back]] +  * //​targetShape//​ 
-==== CloneDeepCore() ​==== +    ​* ​Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-This method returns a complete copy of the shape without any references in common. +    * Description:​N/​A
-=== Remarks === +
-When you override this method, you need to ensure that there are no references in common between the original and the copy. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | This method returns a complete copy of the shape without any references in common. ​  |+
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^+** {{wiki:​PublicMethod.gif|}} Touches(Feature) **
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape(overriden) --> +  * //N/A// 
-[[#​Protected Methods|Go Back]] +== Remarks == 
-==== ContainsCore(BaseShape) ==== +  * //N/A//
-This method returns if the targetShape lies within the interior of the current shape. +
-=== Remarks ​=== +
-Overriding:+
  
-Please ensure that you validate the parameters being passed in and raise the exceptions defined above. +== Return Value == 
-=== Return Value === +  ​* ​Type:Boolean 
-^ Return ​Type Description ​+  * Description:N/A
-| Boolean<​!-- System.Boolean --> ​  | This method returns if the targetShape lies within the interior of the current shape. ​  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetFeature//​ 
-| targetShape ​  ​| ​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | The shape you wish to compare the current one to.   |+    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:​N/​A
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --+<div newline></​div
-[[#​Protected Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} Crosses(BaseShape**
-==== ConvexHullCore() ==== +
-This method returns the convex hull of the shape defined as the smallest convex ring that contains all the points in the shape. +
-=== Remarks === +
-This method is useful when you want to create a perimeter around the shape. For example, if you had a MultiPolygon that represented buildings on a campus, you could easily get the convex hull of the buildings and determine the perimeter of all of the buildings together. This also works with MultiPoint shapes, where each point may represent a certain type of person you are doing statistics on. With convex hull, you can get an idea of the regions those points are located in. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.Core.RingShape|RingShape]]<​!-- ThinkGeo.MapSuite.Core.RingShape --> ​  | This method returns a RingShape defined as the smallest convex ring that contains all the points in the shape. ​  |+
  
-=== Parameters === +  * //N/A// 
-^  Name ^  Type ^  Description ^+== Remarks ​== 
 +  ​* //N/A//
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape --> +== Return Value == 
-[[#​Protected Methods|Go Back]] +  * Type:​Boolean 
-==== CrossesCore(BaseShape) ​==== +  * Description:N/A
-This method returns if the current shape and the targetShape share some but not all interior points. +
-=== Remarks === +
-Overriding:+
  
-Please ensure that you validate the parameters being passed in and raise the exceptions defined above. +== Parameters ​== 
-=== Return Value === +  * //​targetShape//​ 
-^ Return ​Type ^ Description ^ +    * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-| Boolean<​!-- System.Boolean --> ​  | This method returns if the current shape and the targetShape share some but not all interior points  ​|+    * Description:​N/​A
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} Crosses(Feature) **
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --  | The shape you wish to compare the current one to  ​|+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +  * //N/A// 
-[[#​Protected Methods|Go Back]] +== Remarks ​== 
-==== Finalize() ==== +  * //N/A//
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​^+  ​Type:Boolean 
 +  Description:N/A
  
-<!-- System.Object --> +== Parameters ​== 
-[[#​Protected Methods|Go Back]] +  * //​targetFeature//​ 
-==== GetAccurateLengthCore(String,​ DistanceUnit,​ DistanceCalculationMode) ​==== +    ​* ​Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-=== Return Value === +    * Description:​N/​A
-^ Return ​Type ^ Description ^ +
-| Double<​!-- System.Double --> ​  |    ​|+
  
-=== Parameters === +<div newline></div
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} IsWithin(BaseShape) **
-| shapeProj4ProjectionParameters ​  | String<!-- System.String --  |    | +
-| returningUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<!-- ThinkGeo.MapSuite.Core.DistanceUnit --  |    | +
-| distanceCalculationMode ​  | [[ThinkGeo.MapSuite.Core.DistanceCalculationMode|DistanceCalculationMode]]<​!-- ThinkGeo.MapSuite.Core.DistanceCalculationMode --> ​  ​| ​   ​|+
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape --> +  * //N/A// 
-[[#​Protected Methods|Go Back]] +== Remarks == 
-==== GetBoundingBoxCore() ==== +  * //N/A//
-This method calculates the smallest RectangleShape that encompasses the entire geometry. +
-=== Remarks ​=== +
-The GetBoundingBox method calculates the smallest RectangleShape that can encompass the entire geometry by examining each point in the geometry.+
  
-Depending on the number of PointShapes and complexity of the geometry this operation can take longer for larger objects.+== Return Value == 
 +  * Type:​Boolean 
 +  * Description:​N/​A
  
-If the shape is a PointShape, than the bounding box's upper left and lower right points will be equalThis will create a RectangleShape with no area.+== Parameters == 
 +  * //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​N/​A
  
-Overriding:+<div newline></​div>​ 
 +** {{wiki:PublicMethod.gif|}} IsWithin(Feature) **
  
-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.Core.RectangleShape|RectangleShape]]<​!-- ThinkGeo.MapSuite.Core.RectangleShape --> ​  | The RectangleShape returned is the smallest RectangleShape that can encompass the entire geometry. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​^+  ​Type:Boolean 
 +  Description:N/A
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape(overriden) --> +== Parameters ​== 
-[[#​Protected Methods|Go Back]] +  * //​targetFeature//​ 
-==== GetCenterPointCore() ​==== +    ​* ​Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-=== Return Value === +    * Description:​N/​A
-^ Return ​Type ^ Description ^ +
-[[ThinkGeo.MapSuite.Core.PointShape|PointShape]]<!-- ThinkGeo.MapSuite.Core.PointShape --> ​  ​| ​   |+
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^+** {{wiki:​PublicMethod.gif|}} Contains(BaseShape) **
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape(overriden) --> +  * //N/A// 
-[[#​Protected Methods|Go Back]] +== Remarks == 
-==== GetClosestPointToCore(BaseShape,​ GeographyUnit) ==== +  * //N/A//
-This method returns the point of the current shape that is closest to the target shape. +
-=== Remarks ​=== +
-This method returns the point of the current shape that is closest to the target shape. It is often the case that the point returned is not a point of the object itself. An example would be a line with two points that are far apart from each other. If you set the targetShape to be a point midway between the points but a short distance away from the line, the method would return a point that is on the line but not either of the two points that make up the line. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.Core.PointShape|PointShape]]<​!-- ThinkGeo.MapSuite.Core.PointShape --> ​  ​| ​PointShape representing the closest point of the current shape to the targetShape. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:Boolean 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | The shape you are trying to find the closest point to.   | +  Description:N/A
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This is the GeographyUnit of the shape you are performing the operation on.   |+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape(overriden) --> +== Parameters ​== 
-[[#​Protected Methods|Go Back]] +  * //​targetShape//​ 
-==== GetCrossingCore(BaseShape) ​==== +    ​* ​Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-This method returns the crossing points between the current shape and the passed-in target shape. +    * Description:​N/​A
-=== 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 ^ +
-[[ThinkGeo.MapSuite.Core.MultipointShape|MultipointShape]]<!-- ThinkGeo.MapSuite.Core.MultipointShape --> ​  | This method returns the crossing points between the current shape and the passed-in target shape. ​  |+
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} Contains(Feature) **
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --  | The target shape you wish to get crossing with  ​|+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape(overriden) --> +  * //N/A// 
-[[#​Protected Methods|Go Back]] +== Remarks == 
-==== GetDistanceToCore(BaseShape,​ GeographyUnit,​ DistanceUnit) ==== +  * //N/A//
-This method computes the distance between the current shape and the targetShape. +
-=== Overloads === +
-The distance returned will be in the unit of the shape. +
-=== Remarks ​=== +
-In this method, we compute the closest distance between the two shapes. The returned unit will be in the unit of distance specified.+
  
-Overriding:+== Return Value == 
 +  * Type:Boolean 
 +  * Description:​N/​A
  
-Please ensure that you validate the parameters being passed in and raise the exceptions defined above. +== Parameters ​== 
-=== Return Value === +  * //​targetFeature//​ 
-^ Return ​Type ^ Description ^ +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-| Double<​!-- System.Double --> ​  | The return type is the distance between this shape and the targetShape in the GeographyUnit of the shape  ​|+    * Description:​N/​A
  
-=== Parameters === +<div newline></div
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} Overlaps(BaseShape) **
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --  | The shape you are trying to find the distance to.   | +
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<!-- ThinkGeo.MapSuite.Core.GeographyUnit --  | This is the GeographicUnit of the shape you are performing the operation on.   | +
-| distanceUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This is the DistanceUnit you would like to use as the return value. For example, if you select miles as your distanceUnit,​ then the distance will be returned in miles. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape(overriden) --> +  * //N/A// 
-[[#​Protected Methods|Go Back]] +== Remarks ​== 
-==== GetGeoJsonCore() ==== +  * //N/A//
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| String<​!-- System.String --> ​  ​| ​   |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​^+  ​Type:Boolean 
 +  Description:N/A
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Parameters ​== 
-[[#​Protected Methods|Go Back]] +  * //​targetShape//​ 
-==== GetIntersectionCore(AreaBaseShape) ​==== +    ​* ​Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-=== Return Value === +    * Description:​N/​A
-^ Return ​Type ^ Description ^ +
-[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]]<!-- ThinkGeo.MapSuite.Core.MultilineShape --> ​  ​| ​   |+
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} Overlaps(Feature) **
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.AreaBaseShape|AreaBaseShape]]<​!-- ThinkGeo.MapSuite.Core.AreaBaseShape --> ​  ​| ​   ​|+
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape --> +  * //N/A// 
-[[#​Protected Methods|Go Back]] +== Remarks == 
-==== GetLengthCore(GeographyUnit,​ DistanceUnit) ==== +  * //N/A//
-This method returns the length of the LineShape. +
-=== Overloads === +
-This overload returns the length in the unit of your choice, based on returningUnit you specify. +
-=== Remarks ​=== +
-This is a useful method when you want to know the total length of a line-based shape. If the shape is a MultiLineShape,​ then the length is the sum of all of its lines. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Double<​!-- System.Double --> ​  | This overload returns the length in the unit of your choice, based on returningUnit you specify. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:Boolean 
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This is the GeographyUnit of the shape you are performing the operation on.   | +  Description:N/A
-| returningUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This is the DistanceUnit you would like to use as the return value. For example, if you select miles as your returningUnit,​ then the distance will be returned in miles. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape(overriden) --> +== Parameters ​== 
-[[#​Protected Methods|Go Back]] +  * //​targetFeature//​ 
-==== GetLineOnALineCore(StartingPoint,​ Double, Double, GeographyUnit,​ DistanceUnit) ​==== +    ​* ​Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-This method returns a BaseLineShape,​ based on a starting position and other factors. +    * Description:​N/​A
-=== Overloads === +
-This overload allows you to specify the starting point along with the starting distance. This allows you to get a certain distance of the line after the starting distance. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-[[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]]<!-- ThinkGeo.MapSuite.Core.LineBaseShape --> ​  | This method returns a BaseLineShape,​ based on a starting position and other factors. ​  |+
  
-=== Parameters === +<div newline></div
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} IsTopologicallyEqual(BaseShape) **
-| startingPoint ​  | [[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]]<!-- ThinkGeo.MapSuite.Core.StartingPoint --  | The startingPoint defines whether the method starts at the beginning or the end of the line.   | +
-| startingDistance ​  | Double<!-- System.Double --  | The starting distance from which you will start getting the line. For example, if the line is 3 units long and you have a starting distance of 1 unit, the result will be the last two units of the line. Valid values must be greater than 0. The starting distance will be in the GeographyUnit of the shape. ​  | +
-| distance ​  | Double<​!-- System.Double --> ​  | The amount of the line you want to get after the startingDistance. Valid values must be greater than 0.   | +
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This is the GeographyUnit of the shape you are performing the operation on.   | +
-| distanceUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This is the DistanceUnit you would like to use for the distance parameter. For example, if you select miles as your distanceUnit,​ then the distance will be measured in miles  ​|+
  
-<!-- ThinkGeo.MapSuite.Core.LineShape --> +  * //N/A// 
-[[#​Protected Methods|Go Back]] +== Remarks == 
-==== GetPointOnALineCore(StartingPoint,​ Double, GeographyUnit,​ DistanceUnit) ==== +  * //N/A//
-This method returns a PointShape on the line, based on a distance on the line from the first or last vertex defined in the startingPoint parameter. +
-=== Overloads === +
-This overload allows you to pass a distance determining how far you want to move along the line using your unit of choice, as well as the option to start from the beginning or the end of the line. +
-=== Remarks ​=== +
-Passing in a 0 distance will return either the first or last point on the line, depending on the value of the startingPoint parameter. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.Core.PointShape|PointShape]]<​!-- ThinkGeo.MapSuite.Core.PointShape --> ​  | This method returns a PointShape on the line, based on a distance on the line from the first or last vertex defined in the startingPoint parameter. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:Boolean 
-| startingPoint ​  | [[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]]<​!-- ThinkGeo.MapSuite.Core.StartingPoint --> ​  | The startingPoint defines whether the method starts at the beginning or the end of the line.   | +  Description:N/A
-| distance ​  | Double<​!-- System.Double --> ​  | This parameter specifies the distance into the line you wish to move in the unit specified by the distanceUnit parameter. Valid values must be greater than or equal to 0.   | +
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This is the GeographyUnit of the shape you are performing the operation on.   | +
-| distanceUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This is the DistanceUnit you would like to use for the distance parameter. For example, if you select miles as your distanceUnit,​ then the distance will be measured in miles. ​  |+
  
-<​!-- ​ThinkGeo.MapSuite.Core.LineShape --> +== Parameters == 
-[[#​Protected Methods|Go Back]] +  * //​targetShape//​ 
-==== GetShortestLineToCore(BaseShape,​ GeographyUnit) ==== +    * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-This method returns the shortest LineShape between this shape and the targetShape parameter. +    * Description:​N/​A
-=== Remarks === +
-This method returns a LineShape representing the shortest distance between the shape you're calling the method on and the targetShape. In some instances, based on the GeographicType or Projection, the line may not be straight. This is effect is similar to what you might see on an international flight when the displayed flight path is curved.+
  
-Overriding:+<div newline></​div>​ 
 +** {{wiki:PublicMethod.gif|}} IsTopologicallyEqual(Feature) **
  
-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.Core.MultilineShape|MultilineShape]]<​!-- ThinkGeo.MapSuite.Core.MultilineShape --> ​  ​| ​LineShape representing the shortest distance between the shape you're calling the method on and the targetShape. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:Boolean 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | The shape you are trying to find the distance to.   | +  Description:N/A
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | The geographic unit of the shape you are trying to find the distance to.   |+
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape --> +== Parameters == 
-[[#​Protected Methods|Go Back]] +  * //​targetFeature//​ 
-==== GetWellKnownBinaryCore(RingOrder,​ WkbByteOrder) ==== +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-This method returns a byte array that represents the shape in well-known binary. +    * Description:​N/​A
-=== Remarks === +
-This method returns a byte array that represents the shape in well-known binary. Well-known binary allows you to describe geometries as a binary array. Well-known binary is useful when you want to save a geometry in an efficient format using as little space as possible. An alternative to well-known binary is well-known text, which is a textual representation of a geometry object. We have methods that work with well known text as well.+
  
-Overriding:+<div newline></​div>​ 
 +** {{wiki:PublicMethod.gif|}} GetFeature() **
  
-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//
-| Byte[]<​!-- System.Byte[[]] --> ​  | This method returns a byte array that represents the shape in well-known binary. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​^  Description ^ +  ​Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-| outerRingOrder ​  ​| ​[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]]<!-- ThinkGeo.MapSuite.Core.RingOrder --> ​  ​| ​   | +  * Description:​N/​A
-| byteOrder ​  | [[ThinkGeo.MapSuite.Core.WkbByteOrder|WkbByteOrder]]<​!-- ThinkGeo.MapSuite.Core.WkbByteOrder --> ​  | This parameter specifies if the byte order is big- or little-endian. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Parameters ​== 
-[[#​Protected Methods|Go Back]] +<div newline></​div>​ 
-==== GetWellKnownTextCore(RingOrder) ​==== +** {{wiki:​PublicMethod.gif|}} GetFeature(IDictionary<​String,String>) **
-This method returns the well-known text representation of this shape. +
-=== Remarks === +
-This method returns a string that represents the shape in well-known textWell-known text allows you to describe a geometry as a string of text. Well-known text is useful when you want to save a geometry in a format such as a text fileor when you simply want to cut and paste the text between other applications. An alternative to well-known text is well-known binary, which is a binary representation of a geometry object. We have methods that work with well-known binary as well. Below are some samples of what well-known text might look like for various kinds of geometric figures.+
  
-POINT(5 17)+  * //N/A// 
 +== Remarks == 
 +  * //N/A//
  
-LINESTRING(4 5,10 50,25 80)+== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +  * Description:​N/​A
  
-POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))+== Parameters == 
 +  * //​columnValues//​ 
 +    * Type:​IDictionary<​String,String>​ 
 +    * Description:​N/​A
  
-MULTIPOINT(3.7 9.7,4.9 11.6)+<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetCrossing(BaseShape**
  
-MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))+  * //N/A// 
 +== Remarks == 
 +  * //N/A//
  
-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))) +== Return Value == 
-=== Return Value === +  ​* ​Type:[[ThinkGeo.MapSuite.Core.MultipointShape|MultipointShape]] 
-^ Return ​Type ^ Description ^ +  * Description:​N/​A
-| String<​!-- System.String --> ​  | This method returns a string that represents the shape in well-known text  ​|+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetShape//​ 
-| outerRingOrder ​  ​| ​[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]]<!-- ThinkGeo.MapSuite.Core.RingOrder --> ​  ​| ​   |+    * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​N/​A
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape(overriden) --+<div newline></​div
-[[#​Protected Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} ScaleTo(Double**
-==== GetWellKnownTypeCore() ==== +
-This method returns the well-known type for the shape. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.Core.WellKnownType|WellKnownType]]<​!-- ThinkGeo.MapSuite.Core.WellKnownType --> ​  | This method returns the well-known type for the shape. ​  |+
  
-=== Parameters === +  * //N/A// 
-^  Name ^  Type ^  Description ^+== Remarks ​== 
 +  ​* //N/A//
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape(overriden) --> +== Return Value == 
-[[#​Protected Methods|Go Back]] +  * Type:Void 
-==== IntersectsCore(BaseShape) ​==== +  * Description:N/A
-This method returns if the current shape and the targetShape have at least one point in common. +
-=== Remarks === +
-Overriding:+
  
-Please ensure that you validate the parameters being passed in and raise the exceptions defined above. +== Parameters ​== 
-=== Return Value === +  * //scale// 
-^ Return ​Type Description ​+    * Type:Double 
-| Boolean<​!-- System.Boolean --> ​  | This method returns if the current shape and the targetShape have at least one point in common. ​  |+    * Description:N/A
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} ToString() **
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --  | The shape you wish to compare the current one to  ​|+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +  * //N/A// 
-[[#​Protected Methods|Go Back]] +== Remarks ​== 
-==== IsClosedCore() ==== +  * //N/A//
-This method determines whether the line is closed, meaning that the last point and first point are the same. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Boolean<​!-- System.Boolean --> ​  | The return value indicating whether the line is closed. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​^+  ​Type:String 
 +  Description:N/A
  
-<!-- ThinkGeo.MapSuite.Core.LineShape --> +== Parameters ​== 
-[[#​Protected Methods|Go Back]] +<div newline></​div>​ 
-==== IsDisjointedCore(BaseShape) ​==== +** {{wiki:PublicMethod.gif|}} Equals(Object) **
-This method returns if the current shape and the targetShape have no points in common. +
-=== Remarks === +
-Overriding:+
  
-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//
-| Boolean<​!-- System.Boolean --> ​  | This method returns if the current shape and the targetShape have no points in common. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:Boolean 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | The shape you wish to compare the current one to.   |+  Description:N/A
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Parameters ​== 
-[[#​Protected Methods|Go Back]] +  * //obj// 
-==== IsTopologicallyEqualCore(BaseShape) ​==== +    * Type:Object 
-This method returns if the current shape and the targetShape are topologically equal. +    * Description:​N/​A
-=== 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 of line two, and point B of line one shares the same vertex as point C of line two. They are both straight lines, so point B of line two would lie on the first line. Essentially the two lines are the same, with line 2 having just one extra point. Topologically they are the same line, so this method would return true.+
  
-Overriding:+<div newline></​div>​ 
 +** {{wiki:PublicMethod.gif|}} GetHashCode() **
  
-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//
-| Boolean<​!-- System.Boolean --> ​  | This method returns if the current shape and the targetShape are topologically equal. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:Int32 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | The shape you wish to compare the current one to.   |+  Description:N/A
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Parameters ​== 
-[[#​Protected Methods|Go Back]] +<div newline></​div>​ 
-==== IsWithinCore(BaseShape) ​==== +** {{wiki:PublicMethod.gif|}} GetType() **
-This method returns if the current shape lies within the interior of the targetShape. +
-=== Remarks === +
-Overriding:+
  
-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//
-| Boolean<​!-- System.Boolean --> ​  | This method returns if the current shape lies within the interior of the targetShape. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:Type 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | The shape you wish to compare the current one to.   |+  Description:N/A
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +== Parameters ​== 
-[[#​Protected Methods|Go Back]] +<div newline></​div>​ 
-==== LoadFromWellKnownDataCore(Byte[]) ​==== +** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} RemoveVertex(Vertex,​LineShape) **
-This method hydrates the current shape with its data from well-known binary. +
-=== Remarks === +
-This is used when you want to hydrate a shape based on well-known binaryYou can create the shape and then load the well-known binary using this method. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-Void<!-- System.Void --> ​  ​| ​   ​|+
  
-=== Parameters === +  * //This method removes the selected vertex from line shape.// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| wellKnownBinary ​  | Byte[]<​!-- System.Byte[[]] --> ​  | This parameter is the well-known binary used to populate the shape. ​  |+  ​* //N/A//
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape(overriden) --> +== Return Value == 
-[[#​Protected Methods|Go Back]] +  ​* ​Type:Boolean 
-==== LoadFromWellKnownDataCore(String) ==== +  * Description:If remove sucess it will return true, otherwise return false.
-This method hydrates the current shape with its data from well-known text. +
-=== Return Value === +
-^ Return ​Type Description ​+
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​selectedVertex//​ 
-| wellKnownText ​  | String<​!-- System.String --> ​  This parameter is the well-known text you will use to hydrate your object  |+    * Type:​[[ThinkGeo.MapSuite.Core.Vertex|Vertex]] 
 +    * Description:​The selected vertex must be a vertex of line shape, otherwise it will return false and line shape will keep the same.
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape(overriden) --> +  * //​lineShape//​ 
-[[#​Protected Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.LineShape|LineShape]] 
-==== MemberwiseClone() ==== +    ​* ​Description:The line shape will be removed one vertex.
-=== Return Value === +
-^ Return Type ^ Description ​+
-| Object<​!-- System.Object --> ​  ​| ​   |+
  
-=== Parameters ​=== +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^+==== Protected Methods ​==== 
 +** {{wiki:​ProtectedMethod.gif|}} ReversePointsCore() **
  
-<!-- System.Object --> +  * //This method ​reverses ​the order of the points in the line.// 
-[[#​Protected Methods|Go Back]] +== Remarks == 
-==== OverlapsCore(BaseShape) ==== +  * //None//
-This method ​returns if the current shape and the targetShape share some but not all points in common+
-=== Remarks ​=== +
-Overriding:+
  
-Please ensure that you validate the parameters being passed in and raise the exceptions defined above. +== Return Value == 
-=== Return Value === +  ​* ​Type:Void 
-^ Return ​Type Description ​+  * Description:N/A
-| Boolean<​!-- System.Boolean --> ​  | This method returns if the current shape and the targetShape share some but not all points in common. ​  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  Type ^  Description ^ +<div newline></​div>​ 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --  | The shape you wish to compare the current one to  ​|+** {{wiki:​ProtectedMethod.gif|}} CloneDeepCore() **
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +  * //This method returns a complete copy of the shape without any references in common.// 
-[[#​Protected Methods|Go Back]] +== Remarks == 
-==== RegisterCore(PointShape,​ PointShape, DistanceUnit,​ GeographyUnit) ==== +  * //​When ​you override this method, you need to ensure that there are no references ​in common between the original ​and the copy.//
-This method returns a BaseShape which has been registered from its original coordinate system to another, based on two anchor PointShapes+
-=== Remarks ​=== +
-Registering allows ​you to take a geometric shape generated ​in a planar system ​and attach it to the ground in a Geographic Unit.+
  
-A common scenario is integrating geometric shapes from external programs (such as CAD software or a modeling system) and placing them onto a mapYou may have the schematics of building in a CAD system and the relationship between all the points ​of the building are in feet. You want to then take the CAD image and attach it to where it really exists on a map. You would use the register method to do this.+== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +  * Description:​This method returns ​complete copy of the shape without any references ​in common.
  
-Registering is also useful for scientific modeling, where software models things such as a plume of hazardous materials or the fallout from a volcano. The modeling software typically generates these models in a fictitious planar system. You would then use the register to take the abstract model and attach it to a map with real coordinates. +== Parameters ​== 
-=== Return Value === +<div newline></​div>​ 
-^ Return Type ^ Description ^ +** {{wiki:​ProtectedMethod.gif|}} IsClosedCore() **
-| [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --  | This method returns a BaseShape which has been registered from its original coordinate system to another, based on two anchor PointShapes  ​|+
  
-=== Parameters === +  ​* //This method determines whether ​the line is closed, meaning that the last point and first point are the same.// 
-^  Name ^  Type ^  Description ^ +== Remarks == 
-| fromPoint ​  | [[ThinkGeo.MapSuite.Core.PointShape|PointShape]]<​!-- ThinkGeo.MapSuite.Core.PointShape --> ​  ​This parameter is the anchor PointShape in the coordinate of origin. ​  | +  * //None//
-| toPoint ​  | [[ThinkGeo.MapSuite.Core.PointShape|PointShape]]<​!-- ThinkGeo.MapSuite.Core.PointShape --> ​  | This parameter ​is the anchor PointShape in the coordinate of destination  | +
-| fromUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This parameter is the DistanceUnit of the coordinate of origin. ​  | +
-| toUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This parameter is the GeographyUnit of the coordinate of destination. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape(overriden) --> +== Return Value == 
-[[#​Protected Methods|Go Back]] +  ​* ​Type:Boolean 
-==== ReversePointsCore() ==== +  * Description:The return value indicating whether the line is closed.
-This method reverses the order of the points in the line. +
-=== Return Value === +
-^ Return ​Type Description ​+
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +== Parameters == 
-^  Name ^  Type ^  Description ^+<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} GetLengthCore(GeographyUnit,​DistanceUnit) **
  
-<!-- ThinkGeo.MapSuite.Core.LineShape --> +  * //This method ​returns ​the length ​of the LineShape.// 
-[[#​Protected Methods|Go Back]] +== Remarks == 
-==== RotateCore(PointShape,​ Single) ==== +  * //This is a useful ​method ​when you want to know the total length of line-based shape. ​If the shape is a MultiLineShapethen the length is the sum of all of its lines.//
-This method ​rotates ​the shape a number ​of degrees based on a pivot point+
-=== Remarks ​=== +
-This method ​rotates ​the shape number of degrees ​based on a pivot point. By placing the pivot point in the center of the shape, you can achieve in-place rotationBy moving the pivot point outside of the center of the shape, ​you can translate ​the shape in a circular motion. Moving ​the pivot point further outside ​of the center will make the circular area larger. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:Double 
-| pivotPoint ​  | [[ThinkGeo.MapSuite.Core.PointShape|PointShape]]<​!-- ThinkGeo.MapSuite.Core.PointShape --> ​  | The pivotPoint represents ​the center of rotation. ​  | +  Description:This overload returns ​the length in the unit of your choice, based on returningUnit you specify.
-| degreeAngle ​  | Single<​!-- System.Single --> ​  | The number of degrees ​of rotation required from 0 to 360  |+
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape(overriden) --> +== Parameters == 
-[[#​Protected Methods|Go Back]] +  * //​shapeUnit//​ 
-==== ScaleDownCore(Double) ==== +    * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-This method decreases the size of the LineShape by the percentage given in the percentage parameter. +    * Description:​This is the GeographyUnit ​of the shape you are performing ​the operation ​on.
-=== Remarks === +
-This method ​is useful when you would like to decrease ​the size of the shape. Note that a larger percentage will scale the shape down faster, as you are applying ​the operation ​multiple timesThere is also a ScaleUp method that will enlarge the shape. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +  * //​returningUnit//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-| percentage ​  | Double<​!-- System.Double --> ​  | This is the percentage by which to decrease ​the shape'​s size  |+    * Description:​This is the DistanceUnit you would like to use as the return value. For example, if you select miles as your returningUnit,​ then the distance will be returned in miles.
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape(overriden) --+<div newline></​div
-[[#​Protected Methods|Go Back]] +** {{wiki:​ProtectedMethod.gif|}} GetPointOnALineCore(StartingPoint,​Double,GeographyUnit,DistanceUnit) **
-==== ScaleToCore(Double) ==== +
-This method increases or decreases the size of the shape by the specified scale factor given in the parameter. +
-=== Remarks === +
-This protected virtual method is called from the concrete public method ScaleTo. It does not take into account any transaction activityas this is the responsibility of the concrete public method ScaleTo. This wayas a developer, if you choose to override this method you do not have to consider transactions at all. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Void<!-- System.Void --> ​  | This method is useful when you would like to increase or decrease the size of the shape. ​  |+
  
-=== Parameters === +  * //This method returns a PointShape on the line, based on a distance on the line from the first or last vertex defined in the startingPoint parameter.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| scale   | Double<​!-- System.Double --> ​  | Pepresents ​a value which scaleFactor to   |+  ​* //Passing in 0 distance will return either the first or last point on the line, depending on the value of the startingPoint parameter.//​
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape --> +== Return Value == 
-[[#​Protected Methods|Go Back]] +  * Type:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-==== ScaleUpCore(Double) ==== +  * Description:​This method ​returns a PointShape on the line, based on a distance on the line from the first or last vertex defined ​in the startingPoint ​parameter.
-This method ​increases ​the size of the LineShape by the percentage given in the percentage ​parameter. +
-=== Remarks === +
-This method is useful when you would like to increase the size of the shape. Note that a larger percentage will scale the shape up faster, as you are applying the operation multiple times. There is also a ScaleDown method that will shrink the shape. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​startingPoint//​ 
-| percentage ​  | Double<​!-- System.Double --> ​  This is the percentage by which to increase ​the shape'​s size  |+    * Type:​[[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]] 
 +    * Description:​The startingPoint defines whether ​the method starts at the beginning or the end of the line.
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape(overriden) --> +  * //​distance//​ 
-[[#​Protected Methods|Go Back]] +    * Type:Double 
-==== SimplifyCore(Double, SimplificationType) ==== +    * Description:​This parameter specifies ​the distance ​into the line you wish to move in the unit specified by the distanceUnit parameter. Valid values must be greater than or equal to 0.
-Simplify ​the LineBaseShape to MultilineShape depends on distance ​tolerance and different SimplificationType. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]]<​!-- ThinkGeo.MapSuite.Core.MultilineShape --> ​  | Simplify ​the LineBaseShape ​to MultilineShape depends on distance tolerance and different SimplificationType  |+
  
-=== Parameters === +  * //​shapeUnit//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-| tolerance ​  | Double<​!-- System.Double --> ​  | distance tolerance ​  | +    * Description:​This is the GeographyUnit of the shape you are performing the operation on.
-| simplificationType ​  ​| ​[[ThinkGeo.MapSuite.Core.SimplificationType|SimplificationType]]<!-- ThinkGeo.MapSuite.Core.SimplificationType --> ​  | Specifies which algorthm will be use to simplify. ​  |+
  
-<​!-- ​ThinkGeo.MapSuite.Core.LineBaseShape --> +  * //​distanceUnit//​ 
-[[#​Protected Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-==== TouchesCore(BaseShape) ==== +    * Description:​This is the DistanceUnit you would like to use for the distance parameter. For exampleif you select miles as your distanceUnit,​ then the distance will be measured in miles.
-This method returns if the current shape and the targetShape have at least one boundary point in commonbut no interior points. +
-=== Remarks === +
-Overriding:+
  
-Please ensure that you validate the parameters being passed in and raise the exceptions defined above. +<div newline></​div>​ 
-=== Return Value === +** {{wiki:​ProtectedMethod.gif|}} GetLineOnALineCore(StartingPoint,Double,​Double,​GeographyUnit,​DistanceUnit) **
-^ Return Type ^ Description ^ +
-| Boolean<​!-- System.Boolean --> ​  This method returns if the current shape and the targetShape have at least one boundary point in commonbut no interior points. ​  |+
  
-=== Parameters === +  * //This method returns a BaseLineShape,​ based on a starting position and other factors.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | The shape you wish to compare the current one to.   |+  ​* //None//
  
-<​!-- ​ThinkGeo.MapSuite.Core.BaseShape --> +== Return Value == 
-[[#​Protected Methods|Go Back]] +  * Type:[[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]] 
-==== TranslateByDegreeCore(Double,​ Double, GeographyUnit,​ DistanceUnit) ==== +  * Description:​This method returns a BaseLineShape, based on a starting position ​and other factors.
-This method moves the base shape from one location to another based on a distance and a direction in degrees. +
-=== Overloads === +
-In this overload, the distance unit is based on a DistanceUnit you specify in the distanceUnit parameter, regardless of the shape'​s GeographicUnit. +
-=== Remarks === +
-This method returns a shape repositioned from one location to another based on angleInDegrees and distance parameter. With this overloadit is important to note that the distance is based on the supplied distanceUnit parameter. For example, if your shape is in decimal degrees and you call this method with distanceUnit of miles, you're going to move this shape a number of miles based on the distance value and the angleInDegrees. In this way, you can easily move a shape in decimal degrees five miles to the north.+
  
-If you pass a distance of 0, then the operation is ignored. +== Parameters ​== 
-=== Return Value === +  * //​startingPoint//​ 
-^ Return Type ^ Description ^ +    * Type:​[[ThinkGeo.MapSuite.Core.StartingPoint|StartingPoint]] 
-| Void<!-- System.Void --> ​  |    ​|+    * Description:​The startingPoint defines whether the method starts at the beginning or the end of the line.
  
-=== Parameters === +  * //​startingDistance//​ 
-^  Name ^  ​Type ^  ​Description ​+    ​* ​Type:Double 
-distance ​  | Double<​!-- System.Double --> ​  | The distance ​is the number of units to move the shape using the angle specified. The distance unit will be the one specified in the distanceUnit parameterThe distance ​must be greater than or equal to 0.   | +    * Description:The starting ​distance ​from which you will start getting the lineFor example, if the line is units long and you have a starting ​distance ​of 1 unit, the result ​will be the last two units of the lineValid values ​must be greater than 0. The starting distance will be in the GeographyUnit of the shape.
-| angleInDegrees ​  | Double<​!-- System.Double --> ​  | A number between 0 and 360 degrees that represents ​the direction you wish to move the shape, with 0 being up.   | +
-| shapeUnit ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This is the GeographicUnit ​of the shape you are performing the operation on  | +
-| distanceUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This is the DistanceUnit you would like to use as the measure for the move. For example, if you select miles as your distanceUnit,​ then the distance will be calculated in miles. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape(overriden) --> +  * //​distance//​ 
-[[#​Protected Methods|Go Back]] +    * Type:Double 
-==== TranslateByOffsetCore(Double, Double, GeographyUnit,​ DistanceUnit) ==== +    * Description:​The amount ​of the line you want to get after the startingDistanceValid values must be greater than 0.
-This method moves the base shape from one location to another based on an X and Y offset distance. +
-=== Overloads === +
-In this overload, the X and Y offset are based on a DistanceUnit you specify, regardless ​of the shape'​s GeographicUnit. +
-=== Remarks === +
-This method returns a shape repositioned from one location to another based on an X and Y offset distance. With this overload, it is important to note that the X and Y offset units are based on the distanceUnit parameter. For example, if your shape is in decimal degrees and you call this method with an X offset of 1 and a Y offset of 1, you're going to move this shape one unit of the distanceUnit in the horizontal direction and one unit of the distanceUnit in the vertical directionIn this way, you can easily move a shape in decimal degrees five miles on the X axis and 3 miles on the Y axis. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +  * //​shapeUnit//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-| xOffsetDistance ​  | Double<​!-- System.Double --> ​  | This is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter. ​  | +    * Description:​This is the GeographyUnit ​of the shape you are performing the operation on.
-| yOffsetDistance ​  | Double<​!-- System.Double --> ​  | This is the number of vertical units of movement in the distance unit specified in the distanceUnit parameter. ​  | +
-| shapeUnit ​  ​| ​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  ​| ​This is the GeographicUnit ​of the shape you are performing the operation on.   | +
-| distanceUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This is the distance unit you would like to use as the measure for the move. For example, if you select miles as your distance unit, then the xOffsetDistance and yOffsetDistance will be calculated in miles. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape(overriden) --> +  * //​distanceUnit//​ 
-[[#​Protected Methods|Go Back]] +    ​* ​Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-==== UnionCore(IEnumerable<​LineBaseShape>​) ==== +    * Description:​This is the DistanceUnit you would like to use for the distance parameter. For example, if you select miles as your distanceUnit,​ then the distance will be measured in miles.
-The protected virtual method used by "​Union"​ that you can overwrite to implement your own logic. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]]<!-- ThinkGeo.MapSuite.Core.MultilineShape --> ​  | A set combining ​the points of this LineBaseShape and the points of input LineBaseShape set  |+
  
-=== Parameters === +<div newline></div> 
-^  Name ^  Type ^  Description ^ +** {{wiki:​ProtectedMethod.gif|}} GetDistanceToCore(BaseShape,​GeographyUnit,​DistanceUnit) **
-| lineBaseShapes ​  | IEnumerable<[[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]]><!-- System.Collections.Generic.IEnumerable{ThinkGeo.MapSuite.Core.LineBaseShape--> ​  | The target LineBasheShape set with which to compute the union   |+
  
-<!-- ThinkGeo.MapSuite.Core.LineBaseShape --> +  * //This method ​computes the distance between the current shape and the targetShape.// 
-[[#​Protected Methods|Go Back]] +== Remarks == 
-==== ValidateCore(ShapeValidationMode) ==== +  * //In this method, ​we compute ​the closest distance between ​the two shapesThe returned unit will be in the unit of distance specified.Overriding:​Please ensure that you validate ​the parameters being passed in and raise the exceptions defined above.//
-This method ​returns a ShapeValidationResult based on a series of tests+
-=== Remarks ​=== +
-We use this method, ​with the simple enumeration,​ internally before doing any kind of other methods on the shapeIn this way, we are able to verify ​the integrity ​of the shape itselfIf you wish to test things such as whether a polygon self-intersects,​ we invite you to call this method with the advanced ShapeValidationMode. One thing to consider is that for complex polygon shapes this operation could take some time, which is why we only run the basic, faster testIf you are dealing with polygon shapes that are suspect, we suggest you run the advanced test. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.Core.ShapeValidationResult|ShapeValidationResult]]<​!-- ThinkGeo.MapSuite.Core.ShapeValidationResult --> ​  | This method returns a ShapeValidationResult based on a series of tests. ​  |+
  
-=== Parameters === +== Return Value == 
- Name ^  ​Type ​ ​Description ​^ +  * Type:​Double 
-validationMode ​  | [[ThinkGeo.MapSuite.Core.ShapeValidationMode|ShapeValidationMode]]<!-- ThinkGeo.MapSuite.Core.ShapeValidationMode ​--> ​  ​| This parameter determines whether the test is simple or advanced. In some cases, the advanced tests can take some time. The simple test is designed to always be fast.   ​|+  * Description:​The return type is the distance between this shape and the targetShape in the GeographyUnit of the shape. 
 + 
 +== Parameters =
 +  * //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​The shape you are trying to find the distance to. 
 + 
 +  * //​shapeUnit//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
 +    * Description:​This is the GeographicUnit of the shape you are performing the operation on. 
 + 
 +  * //​distanceUnit//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
 +    * Description:​This is the DistanceUnit you would like to use as the return value. For example, if you select miles as your distanceUnit,​ then the distance will be returned in miles. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} ScaleUpCore(Double) ** 
 + 
 +  * //This method increases the size of the LineShape by the percentage given in the percentage parameter.//​ 
 +== Remarks ​== 
 +  ​* //This method is useful when you would like to increase the size of the shape. Note that a larger percentage will scale the shape up faster, as you are applying the operation multiple times. There is also a ScaleDown method that will shrink the shape.// 
 + 
 +== Return Value == 
 +  Type:Void 
 +  Description:N/A 
 + 
 +== Parameters == 
 +  * //​percentage//​ 
 +    * Type:​Double 
 +    * Description:​This is the percentage by which to increase the shape'​s size. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} ScaleDownCore(Double) ** 
 + 
 +  * //This method decreases the size of the LineShape by the percentage given in the percentage parameter.//​ 
 +== Remarks == 
 +  * //This method is useful when you would like to decrease the size of the shape. Note that a larger percentage will scale the shape down faster, as you are applying the operation multiple times. There is also a ScaleUp method that will enlarge the shape.// 
 + 
 +== Return Value == 
 +  * Type:Void 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​percentage//​ 
 +    * Type:​Double 
 +    * Description:​This is the percentage by which to decrease the shape'​s size. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} RegisterCore(PointShape,​PointShape,​DistanceUnit,​GeographyUnit) ** 
 + 
 +  * //This method returns a BaseShape which has been registered from its original coordinate system to another, based on two anchor PointShapes.//​ 
 +== Remarks == 
 +  * //​Registering allows you to take a geometric shape generated in a planar system and attach it to the ground in a Geographic Unit.A common scenario is integrating geometric shapes from external programs (such as CAD software or a modeling system) and placing them onto a map. You may have the schematics of a building in a CAD system and the relationship between all the points of the building are in feet. You want to then take the CAD image and attach it to where it really exists on a map. You would use the register method to do this.Registering is also useful for scientific modeling, where software models things such as a plume of hazardous materials or the fallout from a volcano. The modeling software typically generates these models in a fictitious planar system. You would then use the register to take the abstract model and attach it to a map with real coordinates.//​ 
 + 
 +== Return Value == 
 +  * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +  * Description:​This method returns a BaseShape which has been registered from its original coordinate system to another, based on two anchor PointShapes. 
 + 
 +== Parameters == 
 +  * //​fromPoint//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
 +    * Description:​This parameter is the anchor PointShape in the coordinate of origin. 
 + 
 +  * //​toPoint//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
 +    * Description:​This parameter is the anchor PointShape in the coordinate of destination. 
 + 
 +  * //​fromUnit//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
 +    * Description:​This parameter is the DistanceUnit of the coordinate of origin. 
 + 
 +  * //​toUnit//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
 +    * Description:​This parameter is the GeographyUnit of the coordinate of destination. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} TranslateByOffsetCore(Double,​Double,​GeographyUnit,​DistanceUnit) ** 
 + 
 +  * //This method moves the base shape from one location to another based on an X and Y offset distance.//​ 
 +== Remarks == 
 +  * //This method returns a shape repositioned from one location to another based on an X and Y offset distance. With this overload, it is important to note that the X and Y offset units are based on the distanceUnit parameter. For example, if your shape is in decimal degrees and you call this method with an X offset of 1 and a Y offset of 1, you're going to move this shape one unit of the distanceUnit in the horizontal direction and one unit of the distanceUnit in the vertical direction. In this way, you can easily move a shape in decimal degrees five miles on the X axis and 3 miles on the Y axis.// 
 + 
 +== Return Value == 
 +  * Type:Void 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​xOffsetDistance//​ 
 +    * Type:​Double 
 +    * Description:​This is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter. 
 + 
 +  * //​yOffsetDistance//​ 
 +    * Type:​Double 
 +    * Description:​This is the number of vertical units of movement in the distance unit specified in the distanceUnit parameter. 
 + 
 +  * //​shapeUnit//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
 +    * Description:​This is the GeographicUnit of the shape you are performing the operation on. 
 + 
 +  * //​distanceUnit//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
 +    * Description:​This is the distance unit you would like to use as the measure for the move. For example, if you select miles as your distance unit, then the xOffsetDistance and yOffsetDistance will be calculated in miles. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} TranslateByDegreeCore(Double,​Double,​GeographyUnit,​DistanceUnit) ** 
 + 
 +  * //This method moves the base shape from one location to another based on a distance and a direction in degrees.//​ 
 +== Remarks == 
 +  * //This method returns a shape repositioned from one location to another based on angleInDegrees and distance parameter. With this overload, it is important to note that the distance is based on the supplied distanceUnit parameter. For example, if your shape is in decimal degrees and you call this method with a distanceUnit of miles, you're going to move this shape a number of miles based on the distance value and the angleInDegrees. In this way, you can easily move a shape in decimal degrees five miles to the north.If you pass a distance of 0, then the operation is ignored.//​ 
 + 
 +== Return Value == 
 +  * Type:Void 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​distance//​ 
 +    * Type:​Double 
 +    * Description:​The distance is the number of units to move the shape using the angle specified. The distance unit will be the one specified in the distanceUnit parameter. The distance must be greater than or equal to 0. 
 + 
 +  * //​angleInDegrees//​ 
 +    * Type:​Double 
 +    * Description:​A number between 0 and 360 degrees that represents the direction you wish to move the shape, with 0 being up. 
 + 
 +  * //​shapeUnit//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
 +    * Description:​This is the GeographicUnit of the shape you are performing the operation on. 
 + 
 +  * //​distanceUnit//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
 +    * Description:​This is the DistanceUnit you would like to use as the measure for the move. For example, if you select miles as your distanceUnit,​ then the distance will be calculated in miles. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} RotateCore(PointShape,​Single) ** 
 + 
 +  * //This method rotates the shape a number of degrees based on a pivot point.// 
 +== Remarks == 
 +  * //This method rotates the shape a number of degrees based on a pivot point. By placing the pivot point in the center of the shape, you can achieve in-place rotation. By moving the pivot point outside of the center of the shape, you can translate the shape in a circular motion. Moving the pivot point further outside of the center will make the circular area larger.// 
 + 
 +== Return Value == 
 +  * Type:Void 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​pivotPoint//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
 +    * Description:​The pivotPoint represents the center of rotation. 
 + 
 +  * //​degreeAngle//​ 
 +    * Type:​Single 
 +    * Description:​The number of degrees of rotation required from 0 to 360. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} GetBoundingBoxCore() ** 
 + 
 +  * //This method calculates the smallest RectangleShape that encompasses the entire geometry.//​ 
 +== Remarks == 
 +  * //The GetBoundingBox method calculates the smallest RectangleShape that can encompass the entire geometry by examining each point in the geometry. Depending on the number of PointShapes and complexity of the geometry this operation can take longer for larger objects. If the shape is a PointShape, than the bounding box's upper left and lower right points will be equal. This will create a RectangleShape with no area. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.// 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
 +  * Description:​The RectangleShape returned is the smallest RectangleShape that can encompass the entire geometry. 
 + 
 +== Parameters == 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} GetClosestPointToCore(BaseShape,​GeographyUnit) ** 
 + 
 +  * //This method returns the point of the current shape that is closest to the target shape.// 
 +== Remarks == 
 +  * //This method returns the point of the current shape that is closest to the target shape. It is often the case that the point returned is not a point of the object itself. An example would be a line with two points that are far apart from each other. If you set the targetShape to be a point midway between the points but a short distance away from the line, the method would return a point that is on the line but not either of the two points that make up the line.// 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
 +  * Description:​A PointShape representing the closest point of the current shape to the targetShape. 
 + 
 +== Parameters == 
 +  * //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​The shape you are trying to find the closest point to. 
 + 
 +  * //​shapeUnit//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
 +    * Description:​This is the GeographyUnit of the shape you are performing the operation on. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} GetWellKnownTextCore(RingOrder) ** 
 + 
 +  * //This method returns the well-known text representation of this shape.// 
 +== Remarks == 
 +  * //This method returns a string that represents the shape in well-known text. Well-known text allows you to describe a geometry as a string of text. Well-known text is useful when you want to save a geometry in a format such as a text file, or when you simply want to cut and paste the text between other applications. An alternative to well-known text is well-known binary, which is a binary representation of a geometry object. We have methods that work with well-known binary as well. Below are some samples of what well-known text might look like for various kinds of geometric figures.POINT(5 17)LINESTRING(4 5,10 50,25 80)POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))MULTIPOINT(3.7 9.7,4.9 11.6)MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))MULTIPOLYGON(((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3)),((4 4,7 3,7 5,4 4)))// 
 + 
 +== Return Value == 
 +  * Type:​String 
 +  * Description:​This method returns a string that represents the shape in well-known text. 
 + 
 +== Parameters == 
 +  * //​outerRingOrder//​ 
 +    * Type:[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} GetWellKnownTypeCore() ** 
 + 
 +  * //This method returns the well-known type for the shape.// 
 +== Remarks == 
 +  * //None// 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.WellKnownType|WellKnownType]] 
 +  * Description:​This method returns the well-known type for the shape. 
 + 
 +== Parameters == 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} GetCenterPointCore() ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} LoadFromWellKnownDataCore(String) ** 
 + 
 +  * //This method hydrates the current shape with its data from well-known text.// 
 +== Remarks == 
 +  * //None// 
 + 
 +== Return Value == 
 +  * Type:Void 
 +  * Description:​None 
 + 
 +== Parameters == 
 +  * //​wellKnownText//​ 
 +    * Type:​String 
 +    * Description:​This parameter is the well-known text you will use to hydrate your object. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} LoadFromWellKnownDataCore(Byte[]) ** 
 + 
 +  * //This method hydrates the current shape with its data from well-known binary.// 
 +== Remarks == 
 +  * //This is used when you want to hydrate a shape based on well-known binary. You can create the shape and then load the well-known binary using this method.// 
 + 
 +== Return Value == 
 +  * Type:Void 
 +  * Description:​None 
 + 
 +== Parameters == 
 +  * //​wellKnownBinary//​ 
 +    * Type:​Byte[] 
 +    * Description:​This parameter is the well-known binary used to populate the shape. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} ValidateCore(ShapeValidationMode) ** 
 + 
 +  * //This method returns a ShapeValidationResult based on a series of tests.// 
 +== Remarks == 
 +  * //We use this method, with the simple enumeration,​ internally before doing any kind of other methods on the shape. In this way, we are able to verify the integrity of the shape itself. If you wish to test things such as whether a polygon self-intersects,​ we invite you to call this method with the advanced ShapeValidationMode. One thing to consider is that for complex polygon shapes this operation could take some time, which is why we only run the basic, faster test. If you are dealing with polygon shapes that are suspect, we suggest you run the advanced test.// 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.ShapeValidationResult|ShapeValidationResult]] 
 +  * Description:​This method returns a ShapeValidationResult based on a series of tests. 
 + 
 +== Parameters == 
 +  * //​validationMode//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.ShapeValidationMode|ShapeValidationMode]] 
 +    * Description:​This parameter determines whether the test is simple or advanced. In some cases, the advanced tests can take some time. The simple test is designed to always be fast. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} GetCrossingCore(BaseShape) ** 
 + 
 +  * //This method returns the crossing points between the current shape and the passed-in target shape.// 
 +== 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 == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.MultipointShape|MultipointShape]] 
 +  * Description:​This method returns the crossing points between the current shape and the passed-in target shape. 
 + 
 +== Parameters == 
 +  * //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​The target shape you wish to get crossing with. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} Scale(Double) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:Void 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​factor//​ 
 +    * Type:​Double 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} GetAccurateLengthCore(String,​DistanceUnit,​DistanceCalculationMode) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​Double 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​shapeProj4ProjectionParameters//​ 
 +    * Type:​String 
 +    * Description:​N/​A 
 + 
 +  * //​returningUnit//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
 +    * Description:​N/​A 
 + 
 +  * //​distanceCalculationMode//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.DistanceCalculationMode|DistanceCalculationMode]] 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} ConvexHullCore() ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.RingShape|RingShape]] 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} SimplifyCore(Double,​SimplificationType) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]] 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​tolerance//​ 
 +    * Type:​Double 
 +    * Description:​N/​A 
 + 
 +  * //​simplificationType//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.SimplificationType|SimplificationType]] 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} UnionCore(IEnumerable<​LineBaseShape>​) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]] 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​lineBaseShapes//​ 
 +    * Type:​IEnumerable<​[[ThinkGeo.MapSuite.Core.LineBaseShape|LineBaseShape]]>​ 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} GetIntersectionCore(AreaBaseShape) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]] 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.AreaBaseShape|AreaBaseShape]] 
 +    * 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|}} GetWellKnownBinaryCore(RingOrder,​WkbByteOrder) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​Byte[] 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​outerRingOrder//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] 
 +    * Description:​N/​A 
 + 
 +  * //​byteOrder//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.WkbByteOrder|WkbByteOrder]] 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} GetShortestLineToCore(BaseShape,​GeographyUnit) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]] 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​N/​A 
 + 
 +  * //​shapeUnit//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} BufferCore(Double,​Int32,​BufferCapType,​GeographyUnit,​DistanceUnit) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.MultipolygonShape|MultipolygonShape]] 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​distance//​ 
 +    * Type:​Double 
 +    * Description:​N/​A 
 + 
 +  * //​quadrantSegments//​ 
 +    * Type:​Int32 
 +    * Description:​N/​A 
 + 
 +  * //​bufferCapType//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BufferCapType|BufferCapType]] 
 +    * Description:​N/​A 
 + 
 +  * //​shapeUnit//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
 +    * Description:​N/​A 
 + 
 +  * //​distanceUnit//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} IsDisjointedCore(BaseShape) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​Boolean 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} IntersectsCore(BaseShape) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​Boolean 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} TouchesCore(BaseShape) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​Boolean 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} CrossesCore(BaseShape) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​Boolean 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} IsWithinCore(BaseShape) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​Boolean 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} ContainsCore(BaseShape) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​Boolean 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} OverlapsCore(BaseShape) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​Boolean 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} IsTopologicallyEqualCore(BaseShape) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​Boolean 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} ScaleToCore(Double) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:Void 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //scale// 
 +    * Type:​Double 
 +    * Description:​N/​A 
 + 
 +<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|}} Vertices ** 
 + 
 +This property is the collection of points that make up the LineShape. 
 +== Remarks == 
 +None 
 +== Return Value == 
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Vertex|Vertex]]>​ 
 + 
 +** {{wiki:​PublicProperty.gif|}} CanRotate **
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape(overriden) --> 
-[[#​Protected Methods|Go Back]] 
-===== Public Properties ===== 
-==== CanRotate ==== 
 This property specifies whether the shape can be rotated. This property specifies whether the shape can be rotated.
-=== Remarks ​===+== Remarks ==
 If this property returns false and you attempt call the rotate method, it will throw a NotImplementedException. If this property returns false and you attempt call the rotate method, it will throw a NotImplementedException.
-=== Return Value === +== Return Value == 
-^ Return ​Type +  ​* ​Type:Boolean
-| Boolean<​!-- System.Boolean ​--> ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape(overriden) --> +** {{wiki:​PublicProperty.gif|}} Id **
-[[#Public Properties|Go Back]] +
-==== Id ==== +
-The id of the shape. +
-=== Return Value === +
-^ Return Type ^ +
-| String<​!-- System.String --> ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +N/A 
-[[#Public Properties|Go Back]] +== Remarks ​== 
-==== Tag ==== +N/A 
-The tag of the shape. +== Return Value == 
-=== Return Value === +  ​* ​Type:String
-^ Return ​Type +
-| Object<​!-- System.Object --> ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.BaseShape --> +** {{wiki:​PublicProperty.gif|}} Tag **
-[[#Public Properties|Go Back]] +
-==== Vertices ==== +
-This property is the collection of points that make up the LineShape. +
-=== Return Value === +
-^ Return Type ^ +
-| Collection<​[[ThinkGeo.MapSuite.Core.Vertex|Vertex]]><​!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Vertex--> ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.LineShape --> +N/A 
-[[#Public Properties|Go Back]] +== Remarks == 
-===== Protected Properties ​===== +N/A 
-===== Public Events ====+== Return Value == 
-__NOTOC__ +  * Type:​Object 
-[[Category:​MapSuiteCore]] + 
-[[Category:​ThinkGeo.MapSuite.Core]] +==== Protected Properties ==== 
-[[Category:​UpdateDocumentation]]+==== Public Events ====
  
thinkgeo.mapsuite.core.lineshape.1440040129.txt.gz · Last modified: 2015/09/17 10:34 (external edit)