User Tools

Site Tools


thinkgeo.mapsuite.core.baseshape

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
thinkgeo.mapsuite.core.baseshape [2015/09/17 10:25]
admin
thinkgeo.mapsuite.core.baseshape [2017/03/16 21:59] (current)
Line 1: Line 1:
 ====== ThinkGeo.MapSuite.Core.BaseShape ====== ====== ThinkGeo.MapSuite.Core.BaseShape ======
 +
 +{{section>​upgrade_map_suite_to_10.0}}
 +
 The abstract class from which area shapes, line shapes, and point shapes inherit from. The abstract class from which area shapes, line shapes, and point shapes inherit from.
 ===== Inheritance Hierarchy ===== ===== Inheritance Hierarchy =====
Line 9: Line 12:
       *[[ThinkGeo.MapSuite.Core.PointBaseShape]]       *[[ThinkGeo.MapSuite.Core.PointBaseShape]]
 ===== Members Summary ===== ===== Members Summary =====
-=== Public Constructors === +==== Public Constructors ​==== 
-=== Protected Constructors === +==== Protected Constructors ==== 
-<div class_table>​ +** {{wiki:​ProtectedMethod.gif|}} BaseShape() **
-**{{wiki:​ProtectedMethod.gif|}}[[#BaseShape()|BaseShape]]** +
-  * **Parameters**:​N/​A +
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This is the default constructor for BaseShape. +
-</​div>​+
  
-=== Public Methods ​=== +  * //This is the default constructor for BaseShape.//​ 
-<​div ​class_table+== Remarks ​== 
-**{{wiki:​PublicMethod.gif|}}[[#Buffer(Double,​Int32,​BufferCapType,​GeographyUnit,​DistanceUnit)|Buffer]]** +  * //N/A// 
-  * **Parameters**:​Double,​Int32,​[[ThinkGeo.MapSuite.Core.BufferCapType|BufferCapType]],​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +== Parameters ​== 
-  * **DeclaringType**:​N/​A +<​div ​newline></​div> 
-  * **Summary**:​This method computes the area containing all of the points within a given distance from this shape. +==== Public Methods ==== 
-</​div>​+** {{wiki:​PublicMethod.gif|}} ​LoadFromWellKnownData(String) **
  
-<div class_table>​ +  ​//This method hydrates the current shape with its data from well-known text.// 
-**{{wiki:​PublicMethod.gif|}}[[#​Buffer(Double,​Int32,​GeographyUnit,​DistanceUnit)|Buffer]]** +== Remarks == 
-  * **Parameters**:​Double,​Int32,​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +  * //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.//
-  * **DeclaringType**:​N/+
-  * **Summary**:​This ​method ​computes ​the area containing all of the points within a given distance from this shape. +
-</div>+
  
-<div class_table>​ +== Return Value == 
-**{{wiki:​PublicMethod.gif|}}[[#​Buffer(Double,​GeographyUnit,​DistanceUnit)|Buffer]]** +  * Type:Void 
-  * **Parameters**:Double,​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +  * Description:None
-  * **DeclaringType**:N/A +
-  * **Summary**:​This method computes the area containing all of the points within a given distance from this shape. +
-</​div>​+
  
-<div class_table>​ +== Parameters == 
-**{{wiki:​PublicMethod.gif|}}[[#​CloneDeep()|CloneDeep]]** +  * //​wellKnownText//​ 
-  * **Parameters**:​N/A +    Type:String 
-  * **DeclaringType**:N/A +    Description:This parameter is the well-known text you will use to hydrate your object.
-  * **Summary**:​This ​method returns a complete copy of the shape without any references in common. +
-</​div>​+
  
-<​div ​class_table+<​div ​newline></​div
-**{{wiki:​PublicMethod.gif|}}[[#Contains(BaseShape)|Contains]]** +** {{wiki:​PublicMethod.gif|}} ​GetWellKnownText() **
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This method returns if the targetShape lies within the interior of the current shape. +
-</​div>​+
  
-<div class_table>​ +  ​//This method returns the well-known text representation of this shape.// 
-**{{wiki:​PublicMethod.gif|}}[[#​Contains(Feature)|Contains]]** +== Remarks == 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] +  * //This method returns ​a string that represents ​the shape in well-known text. Well-known text allows you to describe geometries as a string of text. Well-known text is useful when you want to save a geometry in a format such as a text file, or when you simply want to cut and paste the text between other applications. An alternative to well-known text is well-known binary, which is a binary representation ​of a geometry object. We have methods that work with well-known binary as well. Below are some samples of what well-known text might look like for various kinds of geometries.POINT(5 17)LINESTRING(4 5,10 50,25 80)POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))MULTIPOINT(3.7 9.7,4.9 11.6)MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))MULTIPOLYGON(((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3)),((4 4,7 3,7 5,4 4))) As this is a concrete public method that wraps a Core method, we reserve ​the right to add events and other logic to pre- or post-process data returned by the Core version of the 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.//
-  * **DeclaringType**:​N/+
-  * **Summary**:​This method returns ​if the targetFeature lies within ​the interior ​of the current shape. +
-</div>+
  
-<div class_table>​ +== Return Value == 
-**{{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}}[[#​CreateShapeFromGeoJson(String)|CreateShapeFromGeoJson]]** +  * Type:String 
-  * **Parameters**:String +  * Description:This method returns a string that represents the shape in well-known text.
-  * **DeclaringType**:N/A +
-  * **Summary**:​N/​A +
-</​div>​+
  
-<​div ​class_table+== Parameters == 
-**{{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}}[[#​CreateShapeFromWellKnownData(Byte[])|CreateShapeFromWellKnownData]]** +<​div ​newline></​div
-  * **Parameters**:​Byte[] +** {{wiki:​PublicMethod.gif|}} ​GetGeoJson() **
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This method creates a BaseShape from a string of well-known binary. +
-</​div>​+
  
-<div class_table>​ +  ​//N/A// 
-**{{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}}[[#​CreateShapeFromWellKnownData(String)|CreateShapeFromWellKnownData]]*+== Remarks == 
-  * **Parameters**:​String +  * //N/A//
-  * **DeclaringType**:​N/A +
-  * **Summary**:​This method creates a BaseShape from a string of well-known text. +
-</div>+
  
-<div class_table>​ +== Return Value == 
-**{{wiki:​PublicMethod.gif|}}[[#​Crosses(Feature)|Crosses]]** +  * Type:String 
-  * **Parameters**:[[ThinkGeo.MapSuite.Core.Feature|Feature]] +  * Description:N/A
-  * **DeclaringType**:N/A +
-  * **Summary**:​This method returns if the current shape and the targetFeature share some but not all interior points. +
-</​div>​+
  
-<​div ​class_table+== Parameters == 
-**{{wiki:​PublicMethod.gif|}}[[#Crosses(BaseShape)|Crosses]]** +<​div ​newline></​div
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +** {{wiki:​PublicMethod.gif|}} ​GetWellKnownText(RingOrder) **
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This method returns if the current shape and the targetShape share some but not all interior points. +
-</​div>​+
  
-<div class_table>​ +  ​//This method returns the well-known text representation of this shape.// 
-**{{wiki:​PublicMethod.gif|}}[[#​Equals(Object)|Equals]]** +== Remarks == 
-  * **Parameters**:​Object +  * //This method returns a stringthat represents the shape in well-known text. Well-known text allows you to describe geometries as a string of text. Well-known text is useful when you want to save a geometry in a format such as a text file, or when you simply want to cut and paste the text between other applications. An alternative to well-known text is well-known binary, which is a binary representation of a geometry object. We have methods that work with well-known binary as well. Below are some samples of what well-known text might look like for various kinds of geometries.POINT(5 17)LINESTRING(4 5,10 50,25 80)POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))MULTIPOINT(3.7 9.7,4.9 11.6)MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))MULTIPOLYGON(((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3)),((4 4,7 3,7 5,4 4))) OverridingPlease ensure that you validate the parameters being passed in and raise the exceptions defined above.//
-  * **DeclaringType**:Object +
-  * **Summary**:​N/+
-</div>+
  
-<div class_table>​ +== Return Value == 
-**{{wiki:​PublicMethod.gif|}}[[#​GetBoundingBox()|GetBoundingBox]]** +  * Type:String 
-  * **Parameters**:N/A +  * Description:This method ​returns a string ​that represents ​the shape in well-known text.
-  * **DeclaringType**:​N/​A +
-  * **Summary**:This method ​calculates the smallest RectangleShape ​that encompasses ​the entire geometry. +
-</​div>​+
  
-<div class_table>​ +== Parameters == 
-**{{wiki:PublicMethod.gif|}}[[#​GetCenterPoint()|GetCenterPoint]]** +  //​outerRingOrder//​ 
-  * **Parameters**:N/A +    ​Type:[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] 
-  * **DeclaringType**:​N/​A +    Description:N/A
-  * **Summary**:​This method returns the center point of the current shape'​s bounding box. +
-</​div>​+
  
-<​div ​class_table+<​div ​newline></​div
-**{{wiki:​PublicMethod.gif|}}[[#​GetClosestPointTo(BaseShape,​GeographyUnit)|GetClosestPointTo]]** +** {{wiki:​PublicMethod.gif|}} ​LoadFromWellKnownData(Byte[]**
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +
-  ​* **DeclaringType**:​N/​A +
-  * **Summary**:​This method returns the point of the current shape that is closest to the target shape. +
-</​div>​+
  
-<div class_table>​ +  ​//This method hydrates the current shape with its data from well-known binary.// 
-**{{wiki:​PublicMethod.gif|}}[[#​GetClosestPointTo(Feature,​GeographyUnit)|GetClosestPointTo]]** +== Remarks == 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]],​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +  * //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 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.//
-  * **DeclaringType**:​N/+
-  * **Summary**:​This method returns ​the point of the current ​shape that is closest ​to the target feature. +
-</div>+
  
-<div class_table>​ +== Return Value == 
-**{{wiki:​PublicMethod.gif|}}[[#​GetCrossing(BaseShape)|GetCrossing]]** +  * Type:Void 
-  * **Parameters**:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * Description:None
-  * **DeclaringType**:N/A +
-  * **Summary**:​This method returns the crossing points between the current shape and the passed-in target shape. +
-</​div>​+
  
-<div class_table>​ +== Parameters == 
-**{{wiki:​PublicMethod.gif|}}[[#​GetDistanceTo(Feature,​GeographyUnit,​DistanceUnit)|GetDistanceTo]]** +  //​wellKnownBinary//​ 
-  * **Parameters**:[[ThinkGeo.MapSuite.Core.Feature|Feature]],​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]+    Type:Byte[] 
-  * **DeclaringType**:​N/​A +    Description:This parameter is the well-known binary used to populate ​the shape.
-  * **Summary**:​This ​method computes ​the distance between ​the current ​shape and the targetFeature. +
-</​div>​+
  
-<​div ​class_table+<​div ​newline></​div
-**{{wiki:​PublicMethod.gif|}}[[#​GetDistanceTo(BaseShape,​GeographyUnit,​DistanceUnit)|GetDistanceTo]]** +** {{wiki:​PublicMethod.gif|}} ​GetWellKnownBinary() **
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This method computes the distance between the current shape and the targetShape. +
-</​div>​+
  
-<div class_table>​ +  ​//This method returns a byte array that represents the shape in well-known binary.// 
-**{{wiki:​PublicMethod.gif|}}[[#​GetFeature(IDictionary<​String,​String>​)|GetFeature]]** +== Remarks == 
-  * **Parameters**:​IDictionary<​String,​String>​ +  * //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.//
-  * **DeclaringType**:​N/+
-  * **Summary**:​N/+
-</div>+
  
-<div class_table>​ +== Return Value == 
-**{{wiki:PublicMethod.gif|}}[[#​GetFeature()|GetFeature]]** +  Type:Byte[] 
-  * **Parameters**:N/A +  * Description:This method returns ​byte array that represents ​the shape in well-known binary.
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​Get ​corresponding feature which has the same Id and BaseShape as the current ​shape. +
-</​div>​+
  
-<​div ​class_table+== Parameters == 
-**{{wiki:​PublicMethod.gif|}}[[#​GetGeoJson()|GetGeoJson]]** +<​div ​newline></​div
-  * **Parameters**:​N/​A +** {{wiki:​PublicMethod.gif|}} ​GetWellKnownBinary(WkbByteOrder) **
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​N/​A +
-</​div>​+
  
-<div class_table>​ +  ​//This method returns a byte array that represents the shape in well-known binary.// 
-**{{wiki:​PublicMethod.gif|}}[[#​GetHashCode()|GetHashCode]]** +== Remarks == 
-  * **Parameters**:​N/A +  * //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.//​
-  * **DeclaringType**:​Object +
-  * **Summary**:​N/+
-</div>+
  
-<div class_table>​ +== Return Value == 
-**{{wiki:​PublicMethod.gif|}}[[#​GetShortestLineTo(BaseShape,​GeographyUnit)|GetShortestLineTo]]** +  * Type:Byte[] 
-  * **Parameters**:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]+  * Description:This method returns ​a byte array that represents ​the shape in well-known binary.
-  * **DeclaringType**:​N/​A +
-  * **Summary**:This method returns the shortest LineShape between this shape and the targetShape parameter. +
-</​div>​+
  
-<div class_table>​ +== Parameters == 
-**{{wiki:​PublicMethod.gif|}}[[#​GetShortestLineTo(Feature,​GeographyUnit)|GetShortestLineTo]]** +  //​byteOrder//​ 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]],​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +    Type:​[[ThinkGeo.MapSuite.Core.WkbByteOrder|WkbByteOrder]] 
-  * **DeclaringType**:​N/​A +    Description:This parameter is the byte order used to encode ​the well-known binary.
-  * **Summary**:​This ​method returns ​the shortest LineShape between this shape and the targetFeatureparameter. +
-</​div>​+
  
-<​div ​class_table+<​div ​newline></​div
-**{{wiki:​PublicMethod.gif|}}[[#GetType()|GetType]]** +** {{wiki:​PublicMethod.gif|}} ​GetWellKnownBinary(RingOrder) **
-  * **Parameters**:​N/​A +
-  * **DeclaringType**:​Object +
-  * **Summary**:​N/​A +
-</​div>​+
  
-<div class_table>​ +  ​//N/A// 
-**{{wiki:​PublicMethod.gif|}}[[#​GetWellKnownBinary(WkbByteOrder)|GetWellKnownBinary]]*+== Remarks == 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.WkbByteOrder|WkbByteOrder]] +  * //N/A//
-  * **DeclaringType**:​N/A +
-  * **Summary**:​This method returns a byte array that represents the shape in well-known binary. +
-</div>+
  
-<div class_table>​ +== Return Value == 
-**{{wiki:​PublicMethod.gif|}}[[#​GetWellKnownBinary(RingOrder)|GetWellKnownBinary]]** +  * Type:Byte[] 
-  * **Parameters**:[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]+  * Description:N/A
-  * **DeclaringType**:N/A +
-  * **Summary**:​N/​A +
-</​div>​+
  
-<div class_table>​ +== Parameters == 
-**{{wiki:​PublicMethod.gif|}}[[#​GetWellKnownBinary(RingOrder,​WkbByteOrder)|GetWellKnownBinary]]** +  //​outerRingOrder//​ 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]],​[[ThinkGeo.MapSuite.Core.WkbByteOrder|WkbByteOrder]] +    Type:​[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] 
-  * **DeclaringType**:N/A +    Description:N/A
-  * **Summary**:​N/​A +
-</​div>​+
  
-<​div ​class_table+<​div ​newline></​div
-**{{wiki:​PublicMethod.gif|}}[[#GetWellKnownBinary()|GetWellKnownBinary]]** +** {{wiki:​PublicMethod.gif|}} GetWellKnownBinary(RingOrder,​WkbByteOrder) **
-  * **Parameters**:​N/​A +
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This method returns a byte array that represents the shape in well-known binary. +
-</​div>​+
  
-<div class_table>​ +  ​//N/A// 
-**{{wiki:​PublicMethod.gif|}}[[#​GetWellKnownText(RingOrder)|GetWellKnownText]]*+== Remarks == 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] +  * //N/A//
-  * **DeclaringType**:​N/A +
-  * **Summary**:​This method returns the well-known text representation of this shape. +
-</div>+
  
-<div class_table>​ +== Return Value == 
-**{{wiki:PublicMethod.gif|}}[[#​GetWellKnownText()|GetWellKnownText]]** +  Type:Byte[] 
-  * **Parameters**:N/A +  * Description:N/A
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This method returns the well-known text representation of this shape. +
-</​div>​+
  
-<div class_table>​ +== Parameters == 
-**{{wiki:PublicMethod.gif|}}[[#​GetWellKnownType()|GetWellKnownType]]** +  //​outerRingOrder//​ 
-  * **Parameters**:N/A +    ​Type:[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] 
-  * **DeclaringType**:​N/​A +    Description:N/A
-  * **Summary**:​This method returns the well-known type for the shape. +
-</​div>​+
  
-<div class_table>​ +  ​//​byteOrder//​ 
-**{{wiki:​PublicMethod.gif|}}[[#​Intersects(BaseShape)|Intersects]]*+    Type:​[[ThinkGeo.MapSuite.Core.WkbByteOrder|WkbByteOrder]] 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +    Description:N/A
-  * **DeclaringType**:N/A +
-  * **Summary**:​This method returns if the current shape and the targetShape have at least one point in common. +
-</​div>​+
  
-<​div ​class_table+<​div ​newline></​div
-**{{wiki:​PublicMethod.gif|}}[[#​Intersects(Feature)|Intersects]]** +** {{wiki:​PublicMethod.gif|}} ​GetBoundingBox() **
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] +
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This method returns if the current shape and the targetFeature have at least one point in common. +
-</​div>​+
  
-<div class_table>​ +  ​//This method calculates the smallest RectangleShape that encompasses the entire geometry.// 
-**{{wiki:​PublicMethod.gif|}}[[#​IsDisjointed(BaseShape)|IsDisjointed]]** +== Remarks == 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * //The GetBoundingBox method calculates the smallest RectangleShape that can encompass the entire geometry by examining each point in the geometryDepending on the number of PointShapes and complexity of the geometry, this operation can take longer for larger objectsIf the shape is a PointShape, then the bounding box's upper left and lower right points will be equal. This will create a RectangleShape with no area. As this is a concrete public ​method ​that wraps a Core method, we reserve ​the right to add events ​and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This method ​returns if the current shape and the targetShape ​have no points in common. +
-</div>+
  
-<div class_table>​ +== Return Value == 
-**{{wiki:​PublicMethod.gif|}}[[#​IsDisjointed(Feature)|IsDisjointed]]** +  * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] +  * Description:The RectangleShape returned is the smallest RectangleShape that can encompass ​the entire geometry.
-  * **DeclaringType**:​N/​A +
-  * **Summary**:This method returns if the current shape and the targetFeature have no points in common. +
-</​div>​+
  
-<​div ​class_table+== Parameters == 
-**{{wiki:​PublicMethod.gif|}}[[#​IsTopologicallyEqual(Feature)|IsTopologicallyEqual]]** +<​div ​newline></​div
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] +** {{wiki:​PublicMethod.gif|}} ​GetWellKnownType() **
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This method returns if the current shape and the targetFeature are topologically equal. +
-</​div>​+
  
-<div class_table>​ +  ​//This method returns the well-known type for the shape.// 
-**{{wiki:​PublicMethod.gif|}}[[#​IsTopologicallyEqual(BaseShape)|IsTopologicallyEqual]]** +== Remarks == 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * //As this is a concrete public ​method ​that wraps a Core method, we reserve ​the right to add events ​and other logic to pre- or post-process data returned by the Core version of the methodIn this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//
-  * **DeclaringType**:​N/+
-  * **Summary**:​This ​method ​returns if the current shape and the targetShape are topologically equal. +
-</div>+
  
-<div class_table>​ +== Return Value == 
-**{{wiki:​PublicMethod.gif|}}[[#​IsWithin(Feature)|IsWithin]]** +  * Type:​[[ThinkGeo.MapSuite.Core.WellKnownType|WellKnownType]] 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] +  * Description:This method returns the well-known type for the shape.
-  * **DeclaringType**:​N/​A +
-  * **Summary**:This method returns ​if the current ​shape lies within the interior of the targetFeature. +
-</​div>​+
  
-<​div ​class_table+== Parameters == 
-**{{wiki:​PublicMethod.gif|}}[[#IsWithin(BaseShape)|IsWithin]]** +<​div ​newline></​div
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +** {{wiki:​PublicMethod.gif|}} ​CloneDeep() **
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This method returns if the current shape lies within the interior of the targetShape. +
-</​div>​+
  
-<div class_table>​ +  ​//This method returns a complete copy of the shape without any references in common.// 
-**{{wiki:​PublicMethod.gif|}}[[#​LoadFromWellKnownData(String)|LoadFromWellKnownData]]** +== Remarks == 
-  * **Parameters**:​String +  * //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.//
-  * **DeclaringType**:​N/+
-  * **Summary**:​This ​method ​hydrates ​the current shape with its data from well-known text. +
-</div>+
  
-<div class_table>​ +== Return Value == 
-**{{wiki:PublicMethod.gif|}}[[#​LoadFromWellKnownData(Byte[])|LoadFromWellKnownData]]** +  Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-  * **Parameters**:​Byte[] +  * Description:This method ​returns a complete copy of the shape without any references in common.
-  * **DeclaringType**:​N/​A +
-  * **Summary**:This method ​hydrates ​the current ​shape with its data from well-known binary. +
-</​div>​+
  
-<​div ​class_table+== Parameters == 
-**{{wiki:​PublicMethod.gif|}}[[#Overlaps(BaseShape)|Overlaps]]** +<​div ​newline></​div
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +** {{wiki:​PublicMethod.gif|}} ​TranslateByOffset(Double,​Double,​GeographyUnit,​DistanceUnit) **
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This method returns if the current shape and the targetShape share some but not all points in common. +
-</​div>​+
  
-<div class_table>​ +  ​//This method moves a base shape from one location to another based on an X and Y offset distance.// 
-**{{wiki:​PublicMethod.gif|}}[[#​Overlaps(Feature)|Overlaps]]** +== Remarks == 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] +  * //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 needsIf you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//
-  * **DeclaringType**:​N/+
-  * **Summary**:​This method ​returns ​if the current ​shape and the targetFeature share some but not all points in common. +
-</div>+
  
-<div class_table>​ +== Return Value == 
-**{{wiki:​PublicMethod.gif|}}[[#​Register(Feature,​Feature,​DistanceUnit,​GeographyUnit)|Register]]** +  * Type:Void 
-  * **Parameters**:[[ThinkGeo.MapSuite.Core.Feature|Feature]],​[[ThinkGeo.MapSuite.Core.Feature|Feature]],​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]],​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +  * Description:N/A
-  * **DeclaringType**:N/A +
-  * **Summary**:​This method returns a BaseShape which has been registered from its original coordinate system to another based on two anchor PointShapes. +
-</​div>​+
  
-<div class_table>​ +== Parameters == 
-**{{wiki:​PublicMethod.gif|}}[[#​Register(PointShape,​PointShape,​DistanceUnit,​GeographyUnit)|Register]]** +  * //​xOffsetDistance//​ 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]],​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]],​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]],​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +    Type:Double 
-  * **DeclaringType**:N/A +    Description:This is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter.
-  * **Summary**:​This ​method returns a BaseShape which has been registered from its original coordinate system to another based on two anchor PointShapes. +
-</​div>​+
  
-<div class_table>​ +  ​//​yOffsetDistance//​ 
-**{{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}}[[#​Rotate(BaseShape,​PointShape,​Single)|Rotate]]*+    Type:Double 
-  * **Parameters**:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]],​Single +    Description:This is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter.
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This ​method returns a shape rotated by a number of degrees based on a pivot point. +
-</​div>​+
  
-<div class_table>​ +  ​//​shapeUnit//​ 
-**{{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}}[[#​Rotate(Feature,​PointShape,​Single)|Rotate]]*+    Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]],​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]],​Single +    Description:This is the geographic unit of the base shape you are performing the operation ​on.
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This ​method returns a feature rotated by a number ​of degrees based on a pivot point. +
-</​div>​+
  
-<div class_table>​ +  ​//​distanceUnit//​ 
-**{{wiki:​PublicMethod.gif|}}[[#​Rotate(PointShape,​Single)|Rotate]]*+    Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]],Single +    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.
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This ​method rotates a shape a number of degrees based on a pivot point. +
-</​div>​+
  
-<​div ​class_table+<​div ​newline></​div
-**{{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}}[[#​ScaleTo(BaseShape,Double)|ScaleTo]]** +** {{wiki:​PublicMethod.gif|}} ​TranslateByOffset(Double,Double) **
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​Double +
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This method increases or decreases the size of the shape by the specified scale factor given in the parameter. +
-</​div>​+
  
-<div class_table>​ +  ​//This method moves a base shape from one location to another based on an X and Y offset distance.// 
-**{{wiki:​PublicMethod.gif|}}[[#​ScaleTo(Double)|ScaleTo]]** +== Remarks == 
-  * **Parameters**:​Double +  * //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 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.//
-  * **DeclaringType**:​N/+
-  * **Summary**:​This method ​increases or decreases ​the size of the shape by the specified scale factor given in the parameter. +
-</div>+
  
-<div class_table>​ +== Return Value == 
-**{{wiki:​PublicMethod.gif|}}[[#​ToString()|ToString]]** +  * Type:Void 
-  * **Parameters**:N/A +  * Description:N/A
-  * **DeclaringType**:​Object +
-  * **Summary**:N/A +
-</​div>​+
  
-<div class_table>​ +== Parameters == 
-**{{wiki:​PublicMethod.gif|}}[[#​Touches(Feature)|Touches]]** +  * //​xOffsetDistance//​ 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] +    Type:Double 
-  * **DeclaringType**:N/A +    Description:This is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter.
-  * **Summary**:​This ​method returns ​of the current shape and the targetFeature have at least one boundary point in common, but no interior points. +
-</​div>​+
  
-<div class_table>​ +  ​//​yOffsetDistance//​ 
-**{{wiki:​PublicMethod.gif|}}[[#​Touches(BaseShape)|Touches]]*+    Type:Double 
-  * **Parameters**:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +    Description:This is the number of horizontal units of movement in the distance unit specified ​in the distanceUnit parameter.
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This ​method returns if the current shape and the targetShape have at least one boundary point in common, but no interior points. +
-</​div>​+
  
-<​div ​class_table+<​div ​newline></​div
-**{{wiki:​PublicMethod.gif|}}[[#TranslateByDegree(Double,​Double,​GeographyUnit,​DistanceUnit)|TranslateByDegree]]** +** {{wiki:​PublicMethod.gif|}} TranslateByDegree(Double,​Double,​GeographyUnit,​DistanceUnit) **
-  * **Parameters**:​Double,​Double,​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This method moves a base shape from one location to another based on a distance and a direction in degrees. +
-</​div>​+
  
-<div class_table>​ +  ​//This method moves a base shape from one location to another based on a distance and a direction in degrees.// 
-**{{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}}[[#​TranslateByDegree(BaseShape,​Double,​Double,​GeographyUnit,​DistanceUnit)|TranslateByDegree]]** +== Remarks == 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​Double,​Double,​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +  * //This method ​moves 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 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 shape in decimal ​degrees ​five miles to the north.If you pass a distance of 0, then the operation is ignored. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//
-  * **DeclaringType**:​N/+
-  * **Summary**:​This method ​returns ​a shape repositioned ​from one location to another based on a distance and a direction ​in degrees. +
-</div>+
  
-<div class_table>​ +== Return Value == 
-**{{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}}[[#​TranslateByDegree(Feature,​Double,​Double,​GeographyUnit,​DistanceUnit)|TranslateByDegree]]** +  * Type:Void 
-  * **Parameters**:[[ThinkGeo.MapSuite.Core.Feature|Feature]],​Double,​Double,​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +  * Description:N/A
-  * **DeclaringType**:N/A +
-  * **Summary**:​This method returns a feature repositioned from one location to another, based on a distance and a direction in degrees. +
-</​div>​+
  
-<div class_table>​ +== Parameters == 
-**{{wiki:​PublicMethod.gif|}}[[#​TranslateByDegree(Double,​Double)|TranslateByDegree]]** +  //​distance//​ 
-  * **Parameters**:Double,Double +    Type:Double 
-  * **DeclaringType**:N/A +    Description: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.
-  * **Summary**:​This method moves a base shape from one location to another based on a distance ​and a direction ​in degrees. +
-</​div>​+
  
-<div class_table>​ +  ​//​angleInDegrees//​ 
-**{{wiki:​PublicMethod.gif|}}[[#​TranslateByOffset(Double,​Double)|TranslateByOffset]]*+    Type:Double 
-  * **Parameters**:Double,Double +    Description:A number between 0 and 360 degrees that represents the direction you wish to move the shape, with 0 being up.
-  * **DeclaringType**:N/A +
-  * **Summary**:​This method moves a base shape from one location to another based on an X and Y offset distance. +
-</​div>​+
  
-<div class_table>​ +  ​//​shapeUnit//​ 
-**{{wiki:​PublicMethod.gif|}}[[#​TranslateByOffset(Double,​Double,​GeographyUnit,​DistanceUnit)|TranslateByOffset]]*+    Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-  * **Parameters**:Double,​Double,​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +    Description:This is the geographic unit of the shape you are performing the operation ​on.
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This ​method moves a base shape from one location to another based on an X and Y offset distance. +
-</​div>​+
  
-<div class_table>​ +  ​//​distanceUnit//​ 
-**{{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}}[[#​TranslateByOffset(BaseShape,​Double,​Double,​GeographyUnit,​DistanceUnit)|TranslateByOffset]]*+    Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-  * **Parameters**:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​Double,​Double,​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +    Description: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.
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This ​method returns a shape repositioned from one location ​to another based on an X and Y offset ​distance. +
-</​div>​+
  
-<​div ​class_table+<​div ​newline></​div
-**{{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}}[[#​TranslateByOffset(Feature,Double,​Double,​GeographyUnit,​DistanceUnit)|TranslateByOffset]]** +** {{wiki:​PublicMethod.gif|}} ​TranslateByDegree(Double,​Double) **
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]],​Double,​Double,​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This method returns a feature repositioned from one location to another based on an X and Y offset distance. +
-</​div>​+
  
-<div class_table>​ +  ​//This method moves a base shape from one location to another based on a distance and a direction in degrees.// 
-**{{wiki:​PublicMethod.gif|}}[[#​Validate(ShapeValidationMode)|Validate]]** +== Remarks == 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.ShapeValidationMode|ShapeValidationMode]] +  * //This method ​moves 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 distanceUnit ​of miles, you're going to move this shape a number of miles based on the distance value and the angleInDegreesIn this way, you can easily move a shape in decimal degrees five miles to the north.If you pass a distance of 0, then the operation is ignored. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//
-  * **DeclaringType**:​N/+
-  * **Summary**:​This method ​returns ​ShapeValidationResult ​based on a series ​of tests. +
-</div>+
  
-=== Protected Methods ​=== +== Return Value == 
-<div class_table>​ +  * Type:Void 
-**{{wiki:​ProtectedMethod.gif|}}[[#​BufferCore(Double,​Int32,​BufferCapType,​GeographyUnit,​DistanceUnit)|BufferCore]]** +  * Description:N/A
-  * **Parameters**:Double,​Int32,​[[ThinkGeo.MapSuite.Core.BufferCapType|BufferCapType]],​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +
-  * **DeclaringType**:N/A +
-  * **Summary**:​This method computes the area containing all of the points within a given distance from this shape. +
-</​div>​+
  
-<div class_table>​ +== Parameters == 
-**{{wiki:​ProtectedMethod.gif|}}[[#​CloneDeepCore()|CloneDeepCore]]** +  * //distance// 
-  * **Parameters**:​N/A +    Type:Double 
-  * **DeclaringType**:N/A +    Description: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.
-  * **Summary**:This method returns a complete copy of the shape without any references ​in common. +
-</​div>​+
  
-<div class_table>​ +  ​//​angleInDegrees//​ 
-**{{wiki:​ProtectedMethod.gif|}}[[#​ContainsCore(BaseShape)|ContainsCore]]*+    Type:Double 
-  * **Parameters**:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +    Description:A number between 0 and 360 degrees that represents ​the direction you wish to move the shape, with 0 being up.
-  * **DeclaringType**:N/A +
-  * **Summary**:​This method returns if the targetShape lies within ​the interior of the current ​shape. +
-</​div>​+
  
-<​div ​class_table+<​div ​newline></​div
-**{{wiki:ProtectedMethod.gif|}}[[#​CrossesCore(BaseShape)|CrossesCore]]** +** {{wiki:PublicMethod.gif|}} ​Rotate(PointShape,​Single) **
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This method returns if the current shape and the targetShape share some but not all interior points. +
-</​div>​+
  
-<div class_table>​ +  ​//This method rotates a shape a number of degrees based on a pivot point.// 
-**{{wiki:​ProtectedMethod.gif|}}[[#​Finalize()|Finalize]]** +== Remarks == 
-  * **Parameters**:​N/A +  * //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.//​
-  * **DeclaringType**:​Object +
-  * **Summary**:​N/+
-</div>+
  
-<div class_table>​ +== Return Value == 
-**{{wiki:​ProtectedMethod.gif|}}[[#​GetBoundingBoxCore()|GetBoundingBoxCore]]** +  * Type:Void 
-  * **Parameters**:N/A +  * Description:N/A
-  * **DeclaringType**:N/A +
-  * **Summary**:​This method calculates the smallest RectangleShape that encompasses the entire geometry. +
-</​div>​+
  
-<div class_table>​ +== Parameters == 
-**{{wiki:ProtectedMethod.gif|}}[[#​GetCenterPointCore()|GetCenterPointCore]]** +  //​pivotPoint//​ 
-  * **Parameters**:​N/​A +    ​Type:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-  * **DeclaringType**:​N/​A +    Description:The pivotPoint represents ​the center of rotation.
-  * **Summary**:This method returns ​the center ​point of the current shape'​s bounding box. +
-</​div>​+
  
-<div class_table>​ +  ​//​degreeAngle//​ 
-**{{wiki:​ProtectedMethod.gif|}}[[#​GetClosestPointToCore(BaseShape,​GeographyUnit)|GetClosestPointToCore]]*+    Type:Single 
-  * **Parameters**:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +    Description:The number ​of degrees of rotation required, from 0 to 360.
-  * **DeclaringType**:​N/​A +
-  * **Summary**:This method returns the point of the current shape that is closest ​to the target shape. +
-</​div>​+
  
-<​div ​class_table+<​div ​newline></​div
-**{{wiki:ProtectedMethod.gif|}}[[#​GetCrossingCore(BaseShape)|GetCrossingCore]]** +** {{wiki:PublicMethod.gif|}} ​GetShortestLineTo(BaseShape,​GeographyUnit) **
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This method returns the crossing points between the current shape and the passed-in target shape. +
-</​div>​+
  
-<div class_table>​ +  ​//This method returns the shortest LineShape between this shape and the targetShape parameter.// 
-**{{wiki:​ProtectedMethod.gif|}}[[#​GetDistanceToCore(BaseShape,​GeographyUnit,​DistanceUnit)|GetDistanceToCore]]** +== Remarks == 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +  * //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.//
-  * **DeclaringType**:​N/+
-  * **Summary**:​This method ​computes ​the distance between the current ​shape and the targetShape. +
-</div>+
  
-<div class_table>​ +== Return Value == 
-**{{wiki:ProtectedMethod.gif|}}[[#​GetGeoJsonCore()|GetGeoJsonCore]]** +  Type:[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]] 
-  * **Parameters**:N/A +  * Description:A LineShape representing the shortest distance between the shape you're calling the method on and the targetShape.
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​N/​A +
-</​div>​+
  
-<div class_table>​ +== Parameters == 
-**{{wiki:​ProtectedMethod.gif|}}[[#​GetShortestLineToCore(BaseShape,​GeographyUnit)|GetShortestLineToCore]]** +  //​targetShape//​ 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +    Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-  * **DeclaringType**:N/A +    Description:The shape you are trying to find the distance to.
-  * **Summary**:​This method returns the shortest LineShape between this shape and the targetShape parameter. +
-</​div>​+
  
-<div class_table>​ +  ​//​shapeUnit//​ 
-**{{wiki:​ProtectedMethod.gif|}}[[#​GetWellKnownBinaryCore(RingOrder,​WkbByteOrder)|GetWellKnownBinaryCore]]*+    Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]],​[[ThinkGeo.MapSuite.Core.WkbByteOrder|WkbByteOrder]] +    Description:The geographic unit of the Shape you are trying to find the distance to.
-  * **DeclaringType**:N/A +
-  * **Summary**:​This method returns a byte array that represents ​the shape in well-known binary. +
-</​div>​+
  
-<​div ​class_table+<​div ​newline></​div
-**{{wiki:ProtectedMethod.gif|}}[[#​GetWellKnownTextCore(RingOrder)|GetWellKnownTextCore]]** +** {{wiki:PublicMethod.gif|}} ​GetShortestLineTo(Feature,​GeographyUnit) **
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] +
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​N/​A +
-</​div>​+
  
-<div class_table>​ +  ​//This method returns the shortest LineShape between this shape and the targetFeatureparameter.//​ 
-**{{wiki:​ProtectedMethod.gif|}}[[#​GetWellKnownTypeCore()|GetWellKnownTypeCore]]** +== Remarks == 
-  * **Parameters**:​N/​A +  * //This method returns ​a MultiLineShape representing ​the shortest distance between ​the shape you're calling the method on and the targetShapeIn some instances, based on the GeographicType or Projection, the line may not be straight. This is effect is similar to what you might see on an international flight when the displayed flight path is curved. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.//
-  * **DeclaringType**:​N/+
-  * **Summary**:​This method returns the well-known type for the shape. +
-</div>+
  
-<div class_table>​ +== Return Value == 
-**{{wiki:​ProtectedMethod.gif|}}[[#​IntersectsCore(BaseShape)|IntersectsCore]]** +  * Type:​[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]] 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * Description:A MultiLineShape representing the shortest distance between ​the shape you're calling the method on and the targetFeature.
-  * **DeclaringType**:N/A +
-  * **Summary**:​This method returns if the current ​shape and the targetShape have at least one point in common. +
-</​div>​+
  
-<div class_table>​ +== Parameters == 
-**{{wiki:​ProtectedMethod.gif|}}[[#​IsDisjointedCore(BaseShape)|IsDisjointedCore]]** +  //​targetFeature//​ 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +    Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-  * **DeclaringType**:N/A +    Description:The feature you are trying to find the distance to.
-  * **Summary**:​This method returns if the current shape and the targetShape have no points in common. +
-</​div>​+
  
-<div class_table>​ +  ​//​shapeUnit//​ 
-**{{wiki:​ProtectedMethod.gif|}}[[#​IsTopologicallyEqualCore(BaseShape)|IsTopologicallyEqualCore]]*+    Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +    Description:The geographic unit of the feature you are trying to find the distance to.
-  * **DeclaringType**:​N/​A +
-  * **Summary**:This method returns if the current shape and the targetShape are topologically equal. +
-</​div>​+
  
-<​div ​class_table+<​div ​newline></​div
-**{{wiki:ProtectedMethod.gif|}}[[#​IsWithinCore(BaseShape)|IsWithinCore]]** +** {{wiki:PublicMethod.gif|}} ​GetClosestPointTo(BaseShape,​GeographyUnit) **
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This method returns if the current shape lies within the interior of the targetShape. +
-</​div>​+
  
-<div class_table>​ +  ​//This method returns the point of the current shape that is closest to the target shape.// 
-**{{wiki:​ProtectedMethod.gif|}}[[#​LoadFromWellKnownDataCore(String)|LoadFromWellKnownDataCore]]** +== Remarks == 
-  * **Parameters**:​String +  * //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 preor post-process data returned by the Core version of the methodIn this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your 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.//
-  * **DeclaringType**:​N/+
-  * **Summary**:​This method ​hydrates ​the current shape with its data from well-known text. +
-</div>+
  
-<div class_table>​ +== Return Value == 
-**{{wiki:ProtectedMethod.gif|}}[[#​LoadFromWellKnownDataCore(Byte[])|LoadFromWellKnownDataCore]]** +  Type:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-  * **Parameters**:Byte[] +  * Description:A PointShape representing the closest point of the current shape to the targetShape.
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This method hydrates ​the current shape with its data from well-known binary. +
-</​div>​+
  
-<div class_table>​ +== Parameters == 
-**{{wiki:ProtectedMethod.gif|}}[[#​MemberwiseClone()|MemberwiseClone]]** +  //​targetShape//​ 
-  * **Parameters**:N/A +    ​Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-  * **DeclaringType**:​Object +    Description:The shape you are trying to find the closest point to.
-  * **Summary**:​N/​A +
-</​div>​+
  
-<div class_table>​ +  ​//​shapeUnit//​ 
-**{{wiki:​ProtectedMethod.gif|}}[[#​OverlapsCore(BaseShape)|OverlapsCore]]*+    Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +    Description:The geographic unit of the shape you are trying to find the closet point to.
-  * **DeclaringType**:​N/​A +
-  * **Summary**:This method returns if the current ​shape and the targetShape share some but not all points in common. +
-</​div>​+
  
-<​div ​class_table+<​div ​newline></​div
-**{{wiki:ProtectedMethod.gif|}}[[#​RegisterCore(PointShape,​PointShape,​DistanceUnit,​GeographyUnit)|RegisterCore]]** +** {{wiki:PublicMethod.gif|}} ​GetClosestPointTo(Feature,​GeographyUnit) **
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]],​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]],​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]],​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This method returns a BaseShape which has been registered from its original coordinate system to another based on two anchor PointShapes. +
-</​div>​+
  
-<div class_table>​ +  ​//This method returns the point of the current shape that is closest to the target feature.// 
-**{{wiki:​ProtectedMethod.gif|}}[[#​RotateCore(PointShape,​Single)|RotateCore]]** +== Remarks == 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]],​Single +  * //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 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 lineAs 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.//
-  * **DeclaringType**:​N/+
-  * **Summary**:​This method ​rotates a shape a number ​of degrees based on pivot point. +
-</div>+
  
-<div class_table>​ +== Return Value == 
-**{{wiki:ProtectedMethod.gif|}}[[#​ScaleToCore(Double)|ScaleToCore]]** +  Type:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-  * **Parameters**:Double +  * Description:A PointShape representing ​the closest point of the current ​shape to the targetFeature.
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This method increases or decreases ​the size of the shape by the specified scale factor given in the parameter. +
-</​div>​+
  
-<div class_table>​ +== Parameters == 
-**{{wiki:​ProtectedMethod.gif|}}[[#​TouchesCore(BaseShape)|TouchesCore]]** +  //​targetFeature//​ 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +    Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-  * **DeclaringType**:N/A +    Description:The feature you are trying to find the closest ​point to.
-  * **Summary**:​This method returns if the current shape and the targetShape have at least one boundary ​point in common, but no interior points. +
-</​div>​+
  
-<div class_table>​ +  ​//​shapeUnit//​ 
-**{{wiki:​ProtectedMethod.gif|}}[[#​TranslateByDegreeCore(Double,​Double,​GeographyUnit,​DistanceUnit)|TranslateByDegreeCore]]*+    Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-  * **Parameters**:Double,​Double,​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +    Description:The geographic unit of the feature you are trying to find the closet point to.
-  * **DeclaringType**:N/A +
-  * **Summary**:​This method moves a base shape from one location ​to another based on a distance and a direction in degrees. +
-</​div>​+
  
-<​div ​class_table+<​div ​newline></​div
-**{{wiki:ProtectedMethod.gif|}}[[#​TranslateByOffsetCore(Double,​Double,​GeographyUnit,​DistanceUnit)|TranslateByOffsetCore]]** +** {{wiki:PublicMethod.gif|}} ​GetCenterPoint() **
-  * **Parameters**:​Double,​Double,​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +
-  * **DeclaringType**:​N/​A +
-  * **Summary**:​This method moves a base shape from one location to another based on an X and Y offset distance. +
-</​div>​+
  
-<div class_table>​ +  ​//This method returns the center point of the current shape'​s bounding box.// 
-**{{wiki:​ProtectedMethod.gif|}}[[#​ValidateCore(ShapeValidationMode)|ValidateCore]]** +== Remarks == 
-  * **Parameters**:​[[ThinkGeo.MapSuite.Core.ShapeValidationMode|ShapeValidationMode]] +  * //This method returns ​the center point of the current shape'​s bounding box. It is important to note that this is the center point of the bounding box. There are numerous ways to calculate the "​center"​ of geometry, such as its weighted center, etc. You can find other centers by examining the various methods of the shape itself. As this is 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.//
-  * **DeclaringType**:​N/+
-  * **Summary**:​This method returns a ShapeValidationResult based on series ​of tests. +
-</div>+
  
-=== Public Properties === +== Return Value == 
-**{{wiki:PublicProperty.gif|}}[[#CanRotate|CanRotate]]** +  Type:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-  * **Return**:Boolean +  * Description:A PointShape representing the center point of the current ​shape's bounding box.
-  * **Summary**:​This property specifies whether ​the shape can be rotated.+
  
-**{{wiki:PublicProperty.gif|}}[[#Id|Id]]** +== Parameters == 
-  * **Return**:​String +<div newline></​div>​ 
-  * **Summary**:​The id of the shape.+** {{wiki:PublicMethod.gif|}} ​Buffer(Double,​GeographyUnit,​DistanceUnit) ​**
  
-**{{wiki:​PublicProperty.gif|}}[[#​Tag|Tag]]** +  ​//This method computes the area containing all of the points within a given distance from this shape.// 
-  * **Return**:​Object +== Remarks == 
-  * **Summary**:​The tag of the shape.+  * //This method computes the area containing all of the points within a given distance from this shape. ​In this case, you will be using the rounded RoundedBufferCapStyle and the default 8 quadrant segments. The distance unit is determined by the distanceUnit argument. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//​
  
-=== Protected Properties === +== Return Value == 
-=== Public Events === +  * Type:[[ThinkGeo.MapSuite.Core.MultipolygonShape|MultipolygonShape]] 
-===== Public Constructors ===== +  * Description:​The return type is a MultiPolygonShape that represents ​all of the points within a given distance from the shape.
-===== Protected Constructors ===== +
-=== BaseShape() === +
-This is the default constructor for BaseShape. +
-==== Remarks ==== +
-N/A +
-==== Parameters ==== +
-[[#Protected Constructors|Go Back]] +
-===== Public Methods ===== +
-=== Buffer(Double,​Int32,​BufferCapType,​GeographyUnit,​DistanceUnit) === +
-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.+
  
-**Return Value** +== Parameters == 
-  * **Return ​Type**:[[ThinkGeo.MapSuite.Core.MultipolygonShape|MultipolygonShape]] +  * //​distance//​ 
-  * **Description**:The return type is a MultiPolygonShape that represents all of the points within a given distance ​from the shape.+    ​* Type:Double 
 +    * Description:​The ​distance ​is the number ​of units to buffer ​the current shape. The distance ​unit will be the one specified in the distanceUnit parameter.
  
-==== Parameters ==== +  ​//​shapeUnit//​ 
-**distance*+    * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-  * **Type**:Double +    * Description:​This is the geographic unit of the shape you are performing ​the operation on.
-  * **Description**:The distance ​is the number ​of units to buffer ​the current ​shape. The distance unit will be the one specified in the distanceUnit parameter.+
  
-**quadrantSegments** +  ​//​distanceUnit//​ 
-  * **Type**:Int32 +    * Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-  * **Description**:The quadrant segments are the number of points in each quarter circleA good default is 8but if you want smoother edges you can increase this number. The valid range for this number is from 3 to 100.+    * Description:​This is the distance unit you would like to use as the distanceFor example, if you select miles as your distanceUnit,​ then the distance will be calculated in miles for the operation.
  
-**bufferCapType** +<div newline></​div>​ 
-  * **Type**:[[ThinkGeo.MapSuite.Core.BufferCapType|BufferCapType]] +** {{wiki:PublicMethod.gif|}} Buffer(Double,​Int32,​GeographyUnit,​DistanceUnit) ​**
-  ​* **Description**:​The bufferCapType determines how the caps of the buffered object look. They range from rounded to squared off.+
  
-**shapeUnit** +  ​//This method computes the area containing all of the points within a given distance from this shape.// 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +== Remarks == 
-  * **Description**:​This ​is the geographic unit of the shape you are performing ​the operation ​on.+  * //This method computes the area containing all of the points within a given distance from this shapeIn this case, you will be using the rounded RoundedBufferCapStyleThe distance unit is determined by the distanceUnit argumentAs 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.//
  
-**distanceUnit** +== Return Value == 
-  ​* **Type**:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +  * Type:​[[ThinkGeo.MapSuite.Core.MultipolygonShape|MultipolygonShape]] 
-  ​* **Description**:This is the distance ​unit you would like to use as the distance. For example, if you select miles as your distanceUnit,​ then the distance will be calculated in miles for the operation.+  * Description:​The return type is a MultiPolygonShape that represents all of the points within a given distance ​from the shape.
  
-[[#Public Methods|Go Back]] +== Parameters ​== 
-=== Buffer(Double,​Int32,​GeographyUnit,​DistanceUnit) === +  * //distance// 
-This method computes the area containing all of the points within a given distance ​from this shape. +    * Type:Double 
-==== Remarks ==== +    * Description:​The distance is the number ​of units to buffer ​the current ​shape. The distance unit will be the one specified in the distanceUnit ​parameter.
-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.+
  
-**Return Value** +  ​//​quadrantSegments//​ 
-  * **Return ​Type**:[[ThinkGeo.MapSuite.Core.MultipolygonShape|MultipolygonShape]] +    * Type:Int32 
-  * **Description**:The return type is a MultiPolygonShape that represents all of the points ​within a given distance ​from the shape.+    * Description:​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.
  
-==== Parameters ==== +  ​//​shapeUnit//​ 
-**distance*+    * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-  * **Type**:Double +    * Description:​This is the geographic unit of the shape you are performing ​the operation on.
-  * **Description**:The distance ​is the number ​of units to buffer ​the current ​shape. The distance unit will be the one specified in the distanceUnit parameter.+
  
-**quadrantSegments** +  ​//​distanceUnit//​ 
-  * **Type**:Int32 +    * Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-  * **Description**:The quadrant segments are the number of points in each quarter circleA good default is 8but if you want smoother edges you can increase this number. The valid range for this number is from 3 to 100.+    * Description:​This is the distance unit you would like to use as the distanceFor example, if you select miles as your distanceUnit,​ then the distance will be calculated in miles for the operation.
  
-**shapeUnit** +<div newline></​div>​ 
-  * **Type**:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +** {{wiki:PublicMethod.gif|}} Buffer(Double,​Int32,​BufferCapType,​GeographyUnit,​DistanceUnit) ​**
-  ​* **Description**:​This is the geographic unit of the shape you are performing the operation on.+
  
-**distanceUnit** +  ​//This method computes the area containing all of the points within a given distance from this shape.// 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +== Remarks == 
-  * **Description**:​This is the distance unit you would like to use as the distanceFor exampleif you select miles as your distanceUnitthen the distance will be calculated in miles for the operation.+  * //This method computes the area containing all of the points within a given distance from this shape. 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 end, but 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.//
  
-[[#Public Methods|Go Back]] +== Return Value == 
-=== Buffer(Double,​GeographyUnit,​DistanceUnit) === +  * Type:[[ThinkGeo.MapSuite.Core.MultipolygonShape|MultipolygonShape]] 
-This method computes the area containing ​all of the points within a given distance from this shape. +  * Description:​The return type is a MultiPolygonShape that represents ​all of the points within a given distance from the 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. 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** +== Parameters == 
-  * **Return ​Type**:[[ThinkGeo.MapSuite.Core.MultipolygonShape|MultipolygonShape]] +  * //​distance//​ 
-  * **Description**:The return type is a MultiPolygonShape that represents all of the points within a given distance ​from the shape.+    ​* Type:Double 
 +    * Description:​The ​distance ​is the number ​of units to buffer ​the current shape. The distance ​unit will be the one specified in the distanceUnit parameter.
  
-==== Parameters ==== +  ​//​quadrantSegments//​ 
-**distance*+    * Type:Int32 
-  * **Type**:Double +    * Description:​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.
-  * **Description**:The distance is the number of units to buffer the current shape. The distance unit will be the one specified in the distanceUnit parameter.+
  
-**shapeUnit** +  ​//​bufferCapType//​ 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +    * Type:​[[ThinkGeo.MapSuite.Core.BufferCapType|BufferCapType]] 
-  * **Description**:This is the geographic unit of the shape you are performing the operation on.+    * Description:​The bufferCapType determines how the caps of the buffered object look. They range from rounded to squared off.
  
-**distanceUnit** +  ​//​shapeUnit//​ 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-  * **Description**:This is the distance ​unit you would like to use as the distance. For example, if you select miles as your distanceUnit,​ then the distance will be calculated in miles for the operation.+    * Description:​This is the geographic ​unit of the shape you are performing ​the operation ​on.
  
-[[#Public Methods|Go Back]] +  * //​distanceUnit//​ 
-=== CloneDeep() === +    * Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-This method returns a complete copy of the shape without any references in common. +    * Description:​This is the distance unit you would like to use as the distanceFor exampleif you select miles as your distanceUnitthen the distance will be calculated in miles for the operation.
-==== Remarks ==== +
-As this is a concrete public method that wraps a Core method, we reserve ​the right to add events and other logic to pre- or post-process data returned by the Core version of the methodIn this way, we leave our framework open on our 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.+
  
-**Return Value** +<div newline></​div>​ 
-  * **Return Type**:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +** {{wiki:PublicMethod.gif|}} GetDistanceTo(BaseShape,​GeographyUnit,​DistanceUnit) ​**
-  ​* **Description**:​This method returns a complete copy of the shape without any references in common.+
  
-==== Parameters ==== +  * //This method ​computes ​the distance between ​the current shape and the targetShape.// 
-[[#Public Methods|Go Back]] +== Remarks == 
-=== Contains(BaseShape) === +  * //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.//
-This method ​returns if the targetShape 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 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 == 
-  * **Return ​Type**:Boolean +  * Type:Double 
-  ​* **Description**:This method returns if the targetShape ​lies within ​the interior ​of the current ​shape.+  * Description:​The return type is the distance between this shape and the targetShape ​in the GeographyUnit ​of the shape.
  
-==== Parameters ​==== +== Parameters == 
-**targetShape** +  //targetShape// 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-  * **Description**:The shape you wish to compare ​the current one to.+    * Description:​The shape you are trying ​to find the distance ​to.
  
-[[#Public Methods|Go Back]] +  * //​shapeUnit//​ 
-=== Contains(Feature) === +    * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-This method returns if the targetFeature lies within the interior ​of the current ​shape+    * Description:​This parameter is the unit of the shape you are getting ​the distance ​to.
-==== 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** +  ​//​distanceUnit//​ 
-  **Return ​Type**:Boolean +    * Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-  * **Description**:This method returns if the targetFeature lies within ​the interior of the current shape.+    * Description:​This ​parameter is the unit of the distance you want the return value to be in.
  
-==== Parameters ==== +<div newline></​div>​ 
-**targetFeature** +** {{wiki:PublicMethod.gif|}} GetDistanceTo(Feature,​GeographyUnit,​DistanceUnit) ​**
-  * **Type**:[[ThinkGeo.MapSuite.Core.Feature|Feature]] +
-  ​* **Description**:​The targetFeature that contains a shape you wish to compare the current one to.+
  
-[[#Public Methods|Go Back]] +  * //This method computes the distance between the current shape and the targetFeature./​
-=== CreateShapeFromGeoJson(String) === +== Remarks == 
-N/A +  * //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.//
-==== Remarks ​==== +
-N/A+
  
-**Return Value** +== Return Value == 
-  * **Return ​Type**:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * Type:Double 
-  ​* **Description**:N/A+  * Description:​The return type is the distance between this shape and the targetFeature in the GeographyUnit of the shape.
  
-==== Parameters ​==== +== Parameters == 
-**geoJson** +  //​targetFeature//​ 
-  * **Type**:String +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-  * **Description**:N/A+    * Description:​The feature you are trying to find the distance to.
  
-[[#Public Methods|Go Back]] +  * //​shapeUnit//​ 
-=== CreateShapeFromWellKnownData(Byte[]) === +    * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-This method creates a BaseShape from a string ​of well-known binary. +    * Description:​This parameter is the unit of the shape which is contained in the targetFeature ​you are getting the distance ​to.
-==== 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** +  ​//​distanceUnit//​ 
-  **Return ​Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +    * Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-  * **Description**:The return type is a higher level shape constructed from the well-known binary ​you passed into the method. Though the object is a higher level shape, such as a PolygonShape or MultiPointShape,​ you will need to cast it to that shape in order to use its unique properties.+    * Description:​This parameter ​is the unit of the distance ​you want the return value to be in.
  
-==== Parameters ==== +<div newline></​div>​ 
-**wellKnownBinary** +** {{wiki:PublicMethod.gif|}} Register(PointShape,​PointShape,​DistanceUnit,​GeographyUnit) ​**
-  * **Type**:Byte[] +
-  ​* **Description**:​An array of bytes representing the geometry in well-known binary format.+
  
-[[#Public Methods|Go Back]] +  * //This method ​returns ​a BaseShape ​which has been registered ​from its original coordinate system to another based on two anchor PointShapes.// 
-=== CreateShapeFromWellKnownData(String) === +== Remarks == 
-This method ​creates ​a BaseShape from a string of well-known text+  * //​Registering ​allows you to take 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 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 modelingwhere software models things such as plume of hazardous materials or the fallout from volcanoThe 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 coordinatesAs this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to preor post-process data returned by the Core version ​of the methodIn this waywe leave our framework open on our endbut also allow you the developer to extend our logic to suit your needsIf you have questions about thisplease contact our support team as we would be happy to work with you on extending our framework.//
-==== Remarks ​==== +
-This method creates a BaseShape from a string of well-known text. Well-known text allows you to describe geometries as 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 binarywhich is binary representation ​of a geometry objectWe have methods that work with well-known binary as wellBelow are some samples of what well-known text might look like for various kinds of geometries.POINT(5 17)LINESTRING(4 5,10 50,25 80)POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))MULTIPOINT(3.7 9.7,4.9 11.6)MULTILINESTRING((4 5,11 51,21 26),(-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** +== Return Value == 
-  * **Return ​Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-  ​* **Description**:The return type is 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.+  * Description:​This method returns ​BaseShape which has been registered ​from its original coordinate system ​to another based on two anchor PointShapes.
  
-==== Parameters ​==== +== Parameters == 
-**wellKnownText** +  //​fromPoint//​ 
-  * **Type**:String +    * Type:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-  * **Description**:A string representing ​the geometry ​in well-known text format.+    * Description:​This parameter is the anchor PointShape ​in the coordinate of origin.
  
-[[#Public Methods|Go Back]] +  * //​toPoint//​ 
-=== Crosses(Feature) === +    * Type:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-This method returns if the current shape and the targetFeature share some but not all interior points. +    * Description:​This parameter ​is the anchor PointShape in the coordinate ​of destination.
-==== 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** +  ​//​fromUnit//​ 
-  **Return ​Type**:Boolean +    * Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-  * **Description**:This method returns if the current shape and the targetFeature share some but not all interior points.+    * Description:​This ​parameter is the DistanceUnit of the coordinate of origin.
  
-==== Parameters ==== +  ​//toUnit// 
-**targetFeature*+    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] +    * Description:​This parameter is the GeographyUnit of the coordinate of destination.
-  * **Description**:The targetFeature that contains a shape you wish to compare ​the current one to.+
  
-[[#Public Methods|Go Back]] +<div newline></​div>​ 
-=== Crosses(BaseShape) === +** {{wiki:​PublicMethod.gif|}} Register(Feature,Feature,DistanceUnit,GeographyUnit) **
-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 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** +  ​//This method returns a BaseShape which has been registered from its original coordinate system to another based on two anchor PointShapes.//​ 
-  * **Return Type**:​Boolean +== Remarks == 
-  * **Description**:​This method returns if the current ​shape and the targetShape share some but not all interior ​points.+  * //​Registering allows you to take a geometric ​shape generated in a planar system ​and attach it to the ground in a Geographic Unit.A common scenario is integrating geometric shapes from external programs (such as CAD software or a modeling system) and placing them onto a map. You may have the schematics of a building in a CAD system and the relationship between ​all the points ​of the building are in feet. You want to then take the CAD image and attach it to where it really exists on a map. You would use the register method to do this.Registering is also useful for scientific modeling, where software models things such as a plume of hazardous materials or the fallout from a volcano. The modeling software typically generates these models in a fictitious planar system. You would then use the register to take the abstract model and attach it to a map with real coordinates. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//
  
-==== Parameters ==== +== Return Value == 
-**targetShape** +  * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-  ​* **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.
-  ​* **Description**:The shape you wish to compare the current one to.+
  
-[[#Public Methods|Go Back]] +== Parameters ​== 
-=== Equals(Object) === +  * //​fromPoint/​
-N/A +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-==== Remarks ==== +    * Description:​This parameter is the anchor PointFeature in the coordinate of origin.
-N/A+
  
-**Return Value** +  ​//toPoint// 
-  **Return ​Type**:Boolean +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-  * **Description**:N/A+    * Description:​This parameter is the anchor PointFeature in the coordinate of destination.
  
-==== Parameters ==== +  ​//​fromUnit//​ 
-**obj*+    * Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-  * **Type**:Object +    * Description:​This parameter is the DistanceUnit of the coordinate of origin.
-  * **Description**:N/A+
  
-[[#Public Methods|Go Back]] +  * //​toUnit//​ 
-=== GetBoundingBox() === +    * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-This method calculates ​the smallest RectangleShape that encompasses the entire geometry. +    * Description:​This parameter is the GeographyUnit ​of the coordinate ​of destination.
-==== 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, then the bounding box's upper left and lower right points will be equal. This will create a RectangleShape with no area. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version ​of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.+
  
-**Return Value** +<div newline></​div>​ 
-  * **Return Type**:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] +** {{wiki:PublicMethod.gif|}} Validate(ShapeValidationMode) ​**
-  ​* **Description**:​The RectangleShape returned is the smallest RectangleShape that can encompass the entire geometry.+
  
-==== Parameters ==== +  * //This method returns ​a ShapeValidationResult based on a series ​of tests.// 
-[[#Public Methods|Go Back]] +== Remarks == 
-=== GetCenterPoint() === +  * //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 itselfIf you wish to test things ​such as whether a polygon self-intersectswe invite you to call this method with the advanced ShapeValidationModeOne 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.//
-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 boxThere are numerous ways to calculate the "​center"​ of a geometry, ​such as its weighted centeretcYou 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.+
  
-**Return Value** +== Return Value == 
-  * **Return ​Type**:​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] +  * Type:​[[ThinkGeo.MapSuite.Core.ShapeValidationResult|ShapeValidationResult]] 
-  ​* **Description**:A PointShape representing the center point of the current shape'​s bounding box.+  * Description:​This method returns a ShapeValidationResult based on a series ​of tests.
  
-==== Parameters ​==== +== Parameters == 
-[[#Public Methods|Go Back]] +  * //​validationMode//​ 
-=== GetClosestPointTo(BaseShape,​GeographyUnit) === +    * Type:[[ThinkGeo.MapSuite.Core.ShapeValidationMode|ShapeValidationMode]] 
-This method returns ​the point of the current shape that is closest to the target shape. +    * Description:​This parameter determines whether ​the test is simple or advancedIn some cases, the advanced tests can take some timeThe simple test is designed ​to always ​be fast.
-==== 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 lineAs 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** +<div newline></​div>​ 
-  * **Return Type**:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] +** {{wiki:PublicMethod.gif|}} IsDisjointed(BaseShape) ​**
-  ​* **Description**:​A PointShape representing the closest point of the current shape to the targetShape.+
  
-==== Parameters ==== +  * //This method returns if the current shape and the targetShape have no points in common.// 
-**targetShape** +== Remarks ​== 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * //None//
-  * **Description**:​The shape you are trying to find the closest point to.+
  
-**shapeUnit** +== Return Value == 
-  ​* **Type**:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +  * Type:Boolean 
-  ​* **Description**:The geographic unit of the shape you are trying ​to find the closet point to.+  * Description:​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.
  
-[[#Public Methods|Go Back]] +== Parameters ​== 
-=== GetClosestPointTo(Feature,​GeographyUnit) === +  * //​targetShape//​ 
-This method returns the point of the current shape that is closest to the target feature. +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-==== Remarks ==== +    * Description:​The shape you wish to compare ​the current one to.
-This method returns the point of the current shape that is closest to the target featureIt is often the case that the point returned is not a point of the object itselfAn example would be a line with two points that are far apart from each otherIf 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.+
  
-**Return Value** +<div newline></​div>​ 
-  * **Return Type**:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] +** {{wiki:PublicMethod.gif|}} IsDisjointed(Feature) ​**
-  ​* **Description**:​A PointShape representing the closest point of the current shape to the targetFeature.+
  
-==== Parameters ==== +  * //This method returns if the current shape and the targetFeature have no points in common.// 
-**targetFeature** +== Remarks ​== 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] +  * //None//
-  * **Description**:​The feature you are trying to find the closest point to.+
  
-**shapeUnit** +== Return Value == 
-  ​* **Type**:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +  * Type:Boolean 
-  ​* **Description**:The geographic unit of the feature ​you are trying to find the closet point to.+  * Description:​This method returns if the current shape and the targetFeature have no points in common. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version ​of the method. In this way, we leave our framework open on our end, but also allow you the developer ​to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.
  
-[[#Public Methods|Go Back]] +== Parameters ​== 
-=== GetCrossing(BaseShape) === +  * //​targetFeature//​ 
-This method returns the crossing points between the current shape and the passed-in target shape. +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-==== Remarks ==== +    * Description:​The feature ​you wish to compare ​the current one to.
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to 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** +<div newline></​div>​ 
-  * **Return Type**:[[ThinkGeo.MapSuite.Core.MultipointShape|MultipointShape]] +** {{wiki:PublicMethod.gif|}} Intersects(BaseShape) ​**
-  ​* **Description**:​This method returns the crossing points between the current shape and the passed-in target shape.+
  
-==== Parameters ==== +  * //This method returns if the current shape and the targetShape have at least one point in common.// 
-**targetShape** +== Remarks ​== 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * //As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the methodIn this way, we leave our framework open on our end, but also allow you the developer ​to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//
-  * **Description**:​The target shape you wish to get crossing points ​with.+
  
-[[#Public Methods|Go Back]] +== Return Value == 
-=== GetDistanceTo(Feature,​GeographyUnit,​DistanceUnit) === +  * Type:​Boolean 
-This method ​computes the distance between ​the current shape and the targetFeature. +  * Description:​This method ​returns if the current shape and the targetShape have at least one point in common.
-==== 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.+
  
-**Return Value** +== Parameters == 
-  * **Return ​Type**:Double +  * //​targetShape//​ 
-  * **Description**:The return type is the distance between this shape and the targetFeature in the GeographyUnit of the shape.+    ​* Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​The shape you wish to compare ​the current one to.
  
-==== Parameters ==== +<div newline></​div>​ 
-**targetFeature** +** {{wiki:PublicMethod.gif|}} Intersects(Feature**
-  * **Type**:[[ThinkGeo.MapSuite.Core.Feature|Feature]] +
-  ​* **Description**:​The feature you are trying to find the distance to.+
  
-**shapeUnit** +  ​//This method returns if the current shape and the targetFeature have at least one point in common.// 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +== Remarks == 
-  * **Description**:​This parameter ​is the unit of the shape which is contained in the targetFeature ​you are getting ​the distance ​to.+  * //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.//
  
-**distanceUnit** +== Return Value == 
-  ​* **Type**:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +  * Type:Boolean 
-  ​* **Description**:This parameter is the unit of the distance you want the return value to be in.+  * Description:​This ​method returns if the current shape and the targetFeature have at least one point in common.
  
-[[#Public Methods|Go Back]] +== Parameters ​== 
-=== GetDistanceTo(BaseShape,​GeographyUnit,​DistanceUnit) === +  * //​targetFeature//​ 
-This method computes the distance between the current shape and the targetShape. +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-==== Remarks ==== +    * Description:​The targetFeature ​you wish to compare ​the current one to.
-In this method we compute the closest distance between the two shapesThe returned unit will be in the unit of distance specifiedAs this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the methodIn this way, we leave our framework open on our end, but also allow you the developer ​to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.+
  
-**Return Value** +<div newline></​div>​ 
-  * **Return Type**:Double +** {{wiki:PublicMethod.gif|}} Touches(BaseShape) ​**
-  ​* **Description**:​The return type is the distance between this shape and the targetShape in the GeographyUnit of the shape.+
  
-==== Parameters ==== +  * //This method returns if the current shape and the targetShape have at least one boundary point in common, but no interior points.// 
-**targetShape** +== Remarks ​== 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * //As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the methodIn this way, we leave our framework open on our end, but also allow you the developer ​to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//
-  * **Description**:​The shape you are trying to find the distance ​to.+
  
-**shapeUnit** +== Return Value == 
-  ​* **Type**:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +  * Type:Boolean 
-  ​* **Description**:This parameter is the unit of the shape you are getting ​the distance to.+  * Description:​This ​method returns if the current ​shape and the targetShape have at least one boundary point in common, but no interior points.
  
-**distanceUnit** +== Parameters == 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +  * //​targetShape//​ 
-  * **Description**:This parameter is the unit of the distance ​you want the return value to be in.+    ​* Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​The shape you wish to compare ​the current one to.
  
-[[#Public Methods|Go Back]] +<div newline></div> 
-=== GetFeature(IDictionary<String,​String>) === +** {{wiki:​PublicMethod.gif|}} Touches(Feature) **
-N/A +
-==== Remarks ==== +
-N/A+
  
-**Return Value** +  ​//This method returns of the current shape and the targetFeature have at least one boundary point in common, but no interior points.// 
-  * **Return Type**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] +== Remarks == 
-  * **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 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.//
  
-==== Parameters ==== +== Return Value == 
-**columnValues** +  * Type:Boolean 
-  ​* **Type**:IDictionary<​String,​String>​ +  * Description:​This method returns of the current shape and the targetFeature have at least one boundary point in common, but no interior points.
-  ​* **Description**:N/A+
  
-[[#Public Methods|Go Back]] +== Parameters == 
-=== GetFeature() === +  * //​targetFeature//​ 
-Get corresponding feature which has the same Id and BaseShape as the current ​shape. +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-==== Remarks ==== +    * Description:​The targetFeature which contains ​shape that you wish to compare ​the current ​one to.
-N/A+
  
-**Return Value** +<div newline></​div>​ 
-  * **Return Type**:[[ThinkGeo.MapSuite.Core.Feature|Feature]] +** {{wiki:PublicMethod.gif|}} Crosses(BaseShape) ​**
-  ​* **Description**:​The feature with the same Id and BaseShape as the current BaseShape, and with empty columnValues in it.+
  
-==== Parameters ==== +  * //This method returns if the current shape and the targetShape share some but not all interior points./
-[[#Public Methods|Go Back]] +== Remarks == 
-=== GetGeoJson() === +  * //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 +
-==== Remarks ​==== +
-N/A+
  
-**Return Value** +== Return Value == 
-  * **Return ​Type**:String +  * Type:Boolean 
-  ​* **Description**:N/A+  * Description:​This method returns if the current shape and the targetShape share some but not all interior points.
  
-==== Parameters ​==== +== Parameters == 
-[[#Public Methods|Go Back]] +  * //​targetShape//​ 
-=== GetHashCode() === +    * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-N/A +    * Description:​The shape you wish to compare the current one to.
-==== Remarks ==== +
-N/A+
  
-**Return Value** +<div newline></​div>​ 
-  * **Return Type**:Int32 +** {{wiki:PublicMethod.gif|}} Crosses(Feature) ​**
-  ​* **Description**:​N/​A+
  
-==== Parameters ==== +  * //This method returns ​if the current ​shape and the targetFeature share some but not all interior points.// 
-[[#Public Methods|Go Back]] +== Remarks == 
-=== GetShortestLineTo(BaseShape,​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.//
-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.+
  
-**Return Value** +== Return Value == 
-  * **Return ​Type**:[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]] +  * Type:Boolean 
-  ​* **Description**:A LineShape representing the shortest distance between ​the shape you're calling the method on and the targetShape.+  * Description:​This method returns if the current ​shape and the targetFeature share some but not all interior points.
  
-==== Parameters ​==== +== Parameters == 
-**targetShape** +  //​targetFeature//​ 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-  * **Description**:The shape you are trying ​to find the distance ​to.+    * Description:​The ​targetFeature that contains a shape you wish to compare ​the current one to.
  
-**shapeUnit** +<div newline></​div>​ 
-  * **Type**:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +** {{wiki:PublicMethod.gif|}} IsWithin(BaseShape) ​**
-  ​* **Description**:​The geographic unit of the Shape you are trying to find the distance to.+
  
-[[#Public Methods|Go Back]] +  * //This method returns ​if the current ​shape lies within the interior of the targetShape.// 
-=== GetShortestLineTo(Feature,​GeographyUnit) === +== Remarks == 
-This method returns the shortest LineShape between this shape and the targetFeature. parameter+  * //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 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 thisplease contact our support team as we would be happy to work with you on extending our framework.//
-==== Remarks ​==== +
-This method ​returns ​MultiLineShape representing ​the shortest distance between ​the shape you're calling ​the method ​on and the targetShape. In some instancesbased on the GeographicType or Projectionthe line may not be straight. This is effect is similar ​to what you might see on an international flight when the displayed flight path is curved. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.+
  
-**Return Value** +== Return Value == 
-  * **Return ​Type**:[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]] +  * Type:Boolean 
-  ​* **Description**:A MultiLineShape representing the shortest distance between ​the shape you're calling ​the method on and the targetFeature.+  * Description:​This method returns if the current ​shape lies within ​the interior of the targetShape.
  
-==== Parameters ​==== +== Parameters == 
-**targetFeature** +  //​targetShape//​ 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-  * **Description**:The feature ​you are trying ​to find the distance ​to.+    * Description:​The ​shape you wish to compare ​the current one to.
  
-**shapeUnit** +<div newline></​div>​ 
-  * **Type**:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +** {{wiki:PublicMethod.gif|}} IsWithin(Feature) ​**
-  ​* **Description**:​The geographic unit of the feature you are trying to find the distance to.+
  
-[[#Public Methods|Go Back]] +  * //This method returns if the current shape lies within the interior of the targetFeature./​
-=== GetType() === +== 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.//
-==== Remarks ​==== +
-N/A+
  
-**Return Value** +== Return Value == 
-  * **Return ​Type**:Type +  * Type:Boolean 
-  ​* **Description**:N/A+  * Description:​This method returns if the current shape lies within the interior of the targetFeature.
  
-==== Parameters ==== +== Parameters == 
-[[#Public Methods|Go Back]] +  * //​targetFeature//​ 
-=== GetWellKnownBinary(WkbByteOrder) === +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-This method returns a byte array that represents the shape in well-known binary. +    * Description:​The targetFeature ​that contains ​a shape you wish to compare ​the current one to.
-==== Remarks ==== +
-This method returns ​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.+
  
-**Return Value** +<div newline></​div>​ 
-  * **Return Type**:Byte[] +** {{wiki:PublicMethod.gif|}} Contains(BaseShape) ​**
-  ​* **Description**:​This method returns a byte array that represents the shape in well-known binary.+
  
-==== Parameters ==== +  * //This method returns if the targetShape lies within the interior of the current shape.// 
-**byteOrder** +== Remarks ​== 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.WkbByteOrder|WkbByteOrder]] +  * //As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the methodIn this way, we leave our framework open on our end, but also allow you the developer ​to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//
-  * **Description**:​This parameter is the byte order used to encode the well-known binary.+
  
-[[#Public Methods|Go Back]] +== Return Value == 
-=== GetWellKnownBinary(RingOrder) === +  * Type:​Boolean 
-N/A +  * Description:​This method returns if the targetShape lies within the interior of the current shape.
-==== Remarks ==== +
-N/A+
  
-**Return Value** +== Parameters == 
-  * **Return ​Type**:Byte[] +  * //​targetShape//​ 
-  * **Description**:N/A+    ​* Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]
 +    * Description:​The shape you wish to compare the current one to.
  
-==== Parameters ==== +<div newline></​div>​ 
-**outerRingOrder** +** {{wiki:PublicMethod.gif|}} Contains(Feature) ​**
-  * **Type**:[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] +
-  ​* **Description**:​N/​A+
  
-[[#Public Methods|Go Back]] +  * //This method returns if the targetFeature lies within the interior of the current shape./
-=== GetWellKnownBinary(RingOrder,​WkbByteOrder) === +== 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.//
-==== Remarks ​==== +
-N/A+
  
-**Return Value** +== Return Value == 
-  * **Return ​Type**:Byte[] +  * Type:Boolean 
-  ​* **Description**:N/A+  * Description:​This method returns if the targetFeature lies within the interior of the current shape.
  
-==== Parameters ​==== +== Parameters == 
-**outerRingOrder** +  //​targetFeature//​ 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-  * **Description**:N/A+    * Description:​The targetFeature that contains a shape you wish to compare the current one to.
  
-**byteOrder** +<div newline></​div>​ 
-  * **Type**:[[ThinkGeo.MapSuite.Core.WkbByteOrder|WkbByteOrder]] +** {{wiki:PublicMethod.gif|}} Overlaps(BaseShape) ​**
-  ​* **Description**:​N/​A+
  
-[[#Public Methods|Go Back]] +  * //This method returns ​if the current ​shape and the targetShape share some but not all points ​in common.// 
-=== GetWellKnownBinary() === +== Remarks == 
-This method returns ​a byte array that represents ​the shape in well-known binary+  * //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.//
-==== 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.+
  
-**Return Value** +== Return Value == 
-  * **Return ​Type**:Byte[] +  * Type:Boolean 
-  ​* **Description**:This method returns ​a byte array that represents ​the shape in well-known binary.+  * Description:​This method returns ​if the current ​shape and the targetShape share some but not all points ​in common.
  
-==== Parameters ​==== +== Parameters == 
-[[#Public Methods|Go Back]] +  * //​targetShape//​ 
-=== GetWellKnownText(RingOrder) === +    * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-This method returns the well-known text representation of this shape+    * Description:​The ​shape you wish to compare ​the current one to.
-==== Remarks ==== +
-This method returns a stringthat represents the shape in well-known text. Well-known text allows ​you to describe geometries as a string of text. Well-known text is useful when you want to save a geometry in a format such as a text file, or when you simply want to cut and paste the text between other applications. An alternative ​to well-known text is well-known binary, which is a binary representation of a geometry object. We have methods that work with well-known binary as well. Below are some samples of what well-known text might look like for various kinds of geometries.POINT(5 17)LINESTRING(4 5,10 50,25 80)POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))MULTIPOINT(3.7 9.7,4.9 11.6)MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))MULTIPOLYGON(((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3)),((4 4,7 3,7 5,4 4))) Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.+
  
-**Return Value** +<div newline></​div>​ 
-  * **Return Type**:String +** {{wiki:PublicMethod.gif|}} Overlaps(Feature) ​**
-  ​* **Description**:​This method returns a string that represents the shape in well-known text.+
  
-==== Parameters ==== +  * //This method returns if the current shape and the targetFeature share some but not all points in common.// 
-**outerRingOrder** +== Remarks ​== 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] +  * //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.//
-  * **Description**:​N/A+
  
-[[#Public Methods|Go Back]] +== Return Value == 
-=== GetWellKnownText() === +  * Type:​Boolean 
-This method returns the well-known text representation of this shape. +  * Description:​This method returns ​if the current ​shape and the targetFeature share some but not all points in common.
-==== 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)LINESTRING(4 5,10 50,25 80)POLYGON((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3))MULTIPOINT(3.7 9.7,4.9 11.6)MULTILINESTRING((4 5,11 51,21 26),(-4 -7,-9 -7,-14 -3))MULTIPOLYGON(((2 2,6 2,6 6,2 6,2 2),(3 3,4 3,4 4,3 4,3 3)),((4 4,7 3,7 5,4 4))) As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.+
  
-**Return Value** +== Parameters == 
-  * **Return ​Type**:String +  * //​targetFeature//​ 
-  * **Description**:This method returns ​string that represents ​the shape in well-known text.+    ​* Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:​The targetFeature that contains ​shape you wish to compare ​the current one to.
  
-==== Parameters ==== +<div newline></​div>​ 
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} IsTopologicallyEqual(BaseShape**
-=== GetWellKnownType() === +
-This method returns the well-known type for the 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** +  ​//This method returns if the current shape and the targetShape are topologically equal.// 
-  * **Return Type**:​[[ThinkGeo.MapSuite.Core.WellKnownType|WellKnownType]] +== Remarks == 
-  * **Description**:​This ​method ​returns ​the well-known type for the shape.+  * //​Topologically equal means that the shapes are essentially the sameFor example, let's say you have a line with two points, point A and point BYou also have another line that is made up of point A, point B and point CPoint A of line one shares the same vertex as point A of line two, and point B of line one shares the same vertex as point C of line 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 preor 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 == 
-[[#Public Methods|Go Back]] +  * Type:​Boolean 
-=== Intersects(BaseShape) === +  * Description:​This method returns if the current shape and the targetShape ​are topologically equal.
-This method returns if the current shape and the targetShape ​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** +== Parameters == 
-  * **Return ​Type**:Boolean +  * //​targetShape//​ 
-  * **Description**:This method returns if the current ​shape and the targetShape have at least one point in common.+    ​* Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​The shape you wish to compare ​the current one to.
  
-==== Parameters ==== +<div newline></​div>​ 
-**targetShape** +** {{wiki:PublicMethod.gif|}} IsTopologicallyEqual(Feature) ​**
-  * **Type**:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +
-  ​* **Description**:​The shape you wish to compare the current one to.+
  
-[[#Public Methods|Go Back]] +  * //This method returns if the current shape and the targetFeature ​are topologically equal.// 
-=== Intersects(Feature) === +== Remarks == 
-This method returns if the current shape and the targetFeature ​have at least one point in common+  * //​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.//
-==== 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 Value == 
-  * **Return ​Type**:Boolean +  * Type:​Boolean 
-  ​* **Description**:This method returns if the current shape and the targetFeature ​have at least one point in common.+  * Description:​This method returns if the current shape and the targetFeature ​are topologically equal.
  
-==== Parameters ​==== +== Parameters == 
-**targetFeature** +  //targetFeature// 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-  * **Description**:The targetFeature you wish to compare the current one to.+    * Description:​The targetFeature ​that contains a shape you wish to compare the current one to.
  
-[[#Public Methods|Go Back]] +<div newline></​div>​ 
-=== IsDisjointed(BaseShape=== +** {{wiki:​PublicMethod.gif|}} GetFeature() **
-This method returns if the current shape and the targetShape have no points in common. +
-==== Remarks ==== +
-None+
  
-**Return Value** +  ​//Get corresponding feature which has the same Id and BaseShape as the current shape.// 
-  * **Return Type**:​Boolean +== Remarks == 
-  * **Description**:​This method returns if the current shape and the targetShape have no points in common. 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.+  * //N/A//
  
-==== Parameters ==== +== Return Value == 
-**targetShape** +  * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-  ​* **Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * Description:​The ​feature with the same Id and BaseShape as the current ​BaseShape, and with empty columnValues in it.
-  ​* **Description**:The shape you wish to compare ​the current ​one to.+
  
-[[#Public Methods|Go Back]] +== Parameters ​== 
-=== IsDisjointed(Feature) === +<div newline></​div>​ 
-This method returns if the current shape and the targetFeature have no points in common. +** {{wiki:​PublicMethod.gif|}} GetFeature(IDictionary<​String,​String>​) **
-==== Remarks ==== +
-None+
  
-**Return Value** +  ​//N/A// 
-  * **Return Type**:​Boolean +== Remarks == 
-  * **Description**:​This method returns if the current shape and the targetFeature have no points in common. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.+  * //N/A//
  
-==== Parameters ==== +== Return Value == 
-**targetFeature** +  * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-  ​* **Type**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] +  * Description:​N/A
-  ​* **Description**:The feature you wish to compare the current one to.+
  
-[[#Public Methods|Go Back]] +== Parameters ​== 
-=== IsTopologicallyEqual(Feature) === +  * //​columnValues//​ 
-This method returns if the current shape and the targetFeature are topologically equal. +    * Type:​IDictionary<​String,​String>​ 
-==== Remarks ==== +    * Description:​N/​A
-Topologically equal means that the shapes are essentially the same. For example, let's say you have a line with two points, point and point B. You also have another line that is made up of point A, point B and point C. Point A of line one shares the same vertex as point A of line two, and point B of line one shares the same vertex as point C of line two. They are both straight lines, so point B of line two would lie on the first line. Essentially the two lines are the same, with line 2 having just one extra point. Topologically they are the same line, so this method would return true. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.+
  
-**Return Value** +<div newline></​div>​ 
-  * **Return Type**:Boolean +** {{wiki:PublicMethod.gif|}} GetCrossing(BaseShape) ​**
-  ​* **Description**:​This method returns if the current shape and the targetFeature are topologically equal.+
  
-==== Parameters ==== +  * //This method returns the crossing points between the current shape and the passed-in target shape.// 
-**targetFeature** +== Remarks ​== 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] +  * //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.//
-  * **Description**:​The targetFeature ​that contains ​shape you wish to compare ​the current one to.+
  
-[[#Public Methods|Go Back]] +== Return Value == 
-=== IsTopologicallyEqual(BaseShape) === +  * Type:[[ThinkGeo.MapSuite.Core.MultipointShape|MultipointShape]] 
-This method returns ​if the current shape and the targetShape are topologically equal. +  * Description:​This method returns ​the crossing points between ​the current shape and the passed-in target shape.
-==== 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 preor 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** +== Parameters == 
-  * **Return ​Type**:Boolean +  * //​targetShape//​ 
-  * **Description**:This method returns if the current ​shape and the targetShape are topologically equal.+    ​* Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​The target ​shape you wish to get crossing points with.
  
-==== Parameters ==== +<div newline></​div>​ 
-**targetShape** +** {{wiki:PublicMethod.gif|}} ScaleTo(Double) ​**
-  * **Type**:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +
-  ​* **Description**:​The shape you wish to compare the current one to.+
  
-[[#Public Methods|Go Back]] +  * //This method ​increases or decreases the size of the shape by the specified scale factor given in the parameter.// 
-=== IsWithin(Feature) === +== Remarks == 
-This method ​returns if the current ​shape lies within ​the interior of the targetFeature+  * //As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//
-==== 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 Value == 
-  * **Return ​Type**:Boolean +  * Type:Void 
-  ​* **Description**:This method ​returns if the current shape lies within the interior ​of the targetFeature.+  * Description:​This method ​is useful when you would like to increase or decrease ​the size of the shape.
  
-==== Parameters ​==== +== Parameters == 
-**targetFeature** +  //scale// 
-  * **Type**:[[ThinkGeo.MapSuite.Core.Feature|Feature]] +    * Type:Double 
-  * **Description**:The targetFeature that contains ​shape you wish to compare the current one to.+    * Description:​Pepresents ​value which scaleFactor ​to
  
-[[#Public Methods|Go Back]] +<div newline></​div>​ 
-=== IsWithin(BaseShape=== +** {{wiki:​PublicMethod.gif|}} ToString() **
-This method returns if the current shape lies within the interior of the targetShape. +
-==== 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** +  ​//N/A// 
-  * **Return Type**:​Boolean +== Remarks == 
-  * **Description**:​This method returns if the current shape lies within the interior of the targetShape.+  * //N/A//
  
-==== Parameters ==== +== Return Value == 
-**targetShape** +  * Type:String 
-  ​* **Type**:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * Description:​N/A
-  ​* **Description**:The shape you wish to compare the current one to.+
  
-[[#Public Methods|Go Back]] +== Parameters ​== 
-=== LoadFromWellKnownData(String) === +<div newline></​div>​ 
-This method hydrates the current shape with its data from well-known text. +** {{wiki:​PublicMethod.gif|}} Equals(Object) **
-==== 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** +  ​//N/A// 
-  * **Return Type**:Void +== Remarks == 
-  * **Description**:​None+  * //N/A//
  
-==== Parameters ==== +== Return Value == 
-**wellKnownText** +  * Type:Boolean 
-  ​* **Type**:String +  * Description:​N/A
-  ​* **Description**:This parameter is the well-known text you will use to hydrate your object.+
  
-[[#Public Methods|Go Back]] +== Parameters ​== 
-=== LoadFromWellKnownData(Byte[]) === +  * //obj// 
-This method hydrates the current shape with its data from well-known binary. +    * Type:Object 
-==== Remarks ==== +    * Description:​N/​A
-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.+
  
-**Return Value** +<div newline></​div>​ 
-  * **Return Type**:Void +** {{wiki:PublicMethod.gif|}} GetHashCode() ​**
-  ​* **Description**:​None+
  
-==== Parameters ==== +  * //N/A// 
-**wellKnownBinary** +== Remarks ​== 
-  * **Type**:​Byte[] +  * //N/A//
-  * **Description**:​This parameter is the well-known binary used to populate the shape.+
  
-[[#Public Methods|Go Back]] +== Return Value == 
-=== Overlaps(BaseShape) === +  * Type:Int32 
-This method returns if the current shape and the targetShape share some but not all points 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** +== Parameters == 
-  * **Return Type**:Boolean +<div newline></​div>​ 
-  ​* **Description**:​This method returns if the current shape and the targetShape share some but not all points in common.+** {{wiki:PublicMethod.gif|}} GetType() ​**
  
-==== Parameters ==== +  * //N/A// 
-**targetShape** +== Remarks ​== 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * //N/A//
-  * **Description**:​The shape you wish to compare the current one to.+
  
-[[#Public Methods|Go Back]] +== Return Value == 
-=== Overlaps(Feature) === +  * Type:Type 
-This method returns if the current shape and the targetFeature share some but not all points 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** +== Parameters == 
-  * **Return Type**:Boolean +<div newline></​div>​ 
-  ​* **Description**:​This method returns if the current shape and the targetFeature share some but not all points in common.+** {{wiki:PublicMethod.gif|}}{{wiki:​Static.gif|}} CreateShapeFromWellKnownData(String) ​**
  
-==== Parameters ==== +  * //This method creates a BaseShape from a string of well-known text.// 
-**targetFeature** +== Remarks ​== 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] +  * //This method creates a BaseShape from a string of well-known textWell-known text allows you to describe geometries as a string of textWell-known text is useful when you want to save geometry in a format such as a text file, or when you simply want to cut and paste the text between other applications. An alternative ​to well-known text is well-known binary, which is a binary representation of a geometry object. We have methods that work with well-known binary as well. Below are some samples of what well-known text might look like for various kinds of geometries.POINT(5 17)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)))//
-  * **Description**:​The targetFeature that contains ​shape you wish to compare ​the current one to.+
  
-[[#Public Methods|Go Back]] +== Return Value == 
-=== Register(Feature,​Feature,​DistanceUnit,​GeographyUnit) === +  * Type:​[[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. +  * Description:​The return type is higher level shape constructed ​from the well-known text you passed into the methodThough ​the object is 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.
-==== Remarks ==== +
-Registering allows you to take 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 feetYou want to then take the CAD image and attach it to where it really exists on map. You would use the register method to do this.Registering is also useful for scientific modelingwhere software models things ​such as a plume of hazardous materials ​or the fallout from a volcano. The modeling software typically generates these models in a fictitious planar system. You would then use the register ​to take the abstract model and attach ​it to a map with real coordinates. As this is a concrete public method ​that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.+
  
-**Return Value** +== Parameters == 
-  * **Return ​Type**:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * //​wellKnownText//​ 
-  * **Description**:This method returns a BaseShape which has been registered from its original coordinate system to another based on two anchor PointShapes.+    ​* Type:String 
 +    * Description:​A string representing the geometry in well-known text format.
  
-==== Parameters ==== +<div newline></​div>​ 
-**fromPoint** +** {{wiki:PublicMethod.gif|}}{{wiki:​Static.gif|}} CreateShapeFromWellKnownData(Byte[]**
-  * **Type**:[[ThinkGeo.MapSuite.Core.Feature|Feature]+
-  ​* **Description**:​This parameter is the anchor PointFeature in the coordinate of origin.+
  
-**toPoint** +  ​//This method creates a BaseShape from a string of well-known binary.// 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] +== Remarks == 
-  * **Description**:​This parameter ​is the anchor PointFeature in the coordinate ​of destination.+  * //This method creates a BaseShape from a string of 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 possibleAn 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.//
  
-**fromUnit** +== Return Value == 
-  ​* **Type**:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +  * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-  ​* **Description**:This parameter ​is the DistanceUnit of the coordinate of origin.+  * Description:​The return type is a higher level shape constructed from the well-known binary you passed into the method. Though the object is a higher level shape, such as a PolygonShape or MultiPointShape,​ you will need to cast it to that shape in order to use its unique properties.
  
-**toUnit** +== Parameters == 
-  * **Type**:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]+  * //​wellKnownBinary//​ 
-  * **Description**:This parameter is the GeographyUnit ​of the coordinate of destination.+    ​* Type:Byte[] 
 +    * Description:​An array of bytes representing ​the geometry in well-known binary format.
  
-[[#Public Methods|Go Back]] +<div newline></​div>​ 
-=== Register(PointShape,​PointShape,​DistanceUnit,​GeographyUnit) === +** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} CreateShapeFromGeoJson(String**
-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 systemand placing them onto a map. You may have the schematics of a building in a CAD system and the relationship between all the points of the building are in feet. You want to then take the CAD image and attach it to where it really exists on a map. You would use the register method to do this.Registering is also useful for scientific modeling, where software models things such as a plume of hazardous materials or the fallout from a volcano. The modeling software typically generates these models in a fictitious planar system. You would then use the register to take the abstract model and attach it to a map with real coordinates. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.+
  
-**Return Value** +  ​//N/A// 
-  * **Return Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +== Remarks == 
-  * **Description**:​This method returns a BaseShape which has been registered from its original coordinate system to another based on two anchor PointShapes.+  * //N/A//
  
-==== Parameters ==== +== Return Value == 
-**fromPoint** +  * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-  ​* **Type**:​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] +  * Description:​N/A
-  ​* **Description**:This parameter is the anchor PointShape in the coordinate of origin.+
  
-**toPoint** +== Parameters == 
-  * **Type**:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] +  * //​geoJson//​ 
-  * **Description**:This parameter is the anchor PointShape in the coordinate of destination.+    ​* Type:String 
 +    * Description:​N/A
  
-**fromUnit** +<div newline></​div>​ 
-  * **Type**:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +** {{wiki:PublicMethod.gif|}}{{wiki:​Static.gif|}} TranslateByOffset(BaseShape,​Double,​Double,​GeographyUnit,​DistanceUnit**
-  ​* **Description**:​This parameter is the DistanceUnit of the coordinate of origin.+
  
-**toUnit** +  ​//This method returns a shape repositioned from one location to another based on an X and Y offset distance.// 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +== Remarks == 
-  * **Description**:​This parameter is the GeographyUnit ​of the coordinate ​of destination.+  * //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.//
  
-[[#Public Methods|Go Back]] +== Return Value == 
-=== Rotate(BaseShape,​PointShape,​Single) === +  * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-This method returns a shape rotated by a number of degrees based on a pivot point+  * Description:​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 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** +== Parameters == 
-  * **Return ​Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * //​targetShape//​ 
-  * **Description**:This method returns a shape rotated by a number ​of degrees based on a pivot point.+    ​* Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​This ​parameter is the basis of the moved shape.
  
-==== Parameters ==== +  ​//​xOffsetDistance//​ 
-**sourceBaseShape*+    * Type:Double 
-  * **Type**:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +    * Description:​This is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter.
-  * **Description**:This parameter ​is the basis for the rotation.+
  
-**pivotPoint** +  ​//​yOffsetDistance//​ 
-  * **Type**:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] +    * Type:Double 
-  * **Description**:The pivotPoint represents ​the center ​of rotation.+    * Description:​This is the number ​of vertical units of movement in the distance unit specified in the distanceUnit parameter.
  
-**degreeAngle** +  ​//​shapeUnit//​ 
-  * **Type**:Single +    * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-  * **Description**:The number of degrees ​of rotation required, from 0 to 360.+    * Description:​This is the geographic unit of the shape you are performing the operation on.
  
-[[#Public Methods|Go Back]] +  * //​distanceUnit//​ 
-=== Rotate(Feature,​PointShape,​Single) === +    * Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-This method returns a feature rotated by a number of degrees based on a pivot point. +    * Description:​This is the distance unit you would like to use as the measure for the moveFor exampleif you select miles as your distance unitthen the xOffsetDistance and yOffsetDistance will be calculated in miles.
-==== 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 methodIn 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 thisplease contact our support team as we would be happy to work with you on extending our framework.+
  
-**Return Value** +<div newline></​div>​ 
-  * **Return Type**:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +** {{wiki:PublicMethod.gif|}}{{wiki:​Static.gif|}} TranslateByOffset(Feature,​Double,​Double,​GeographyUnit,​DistanceUnit) ​**
-  ​* **Description**:​This method returns a shape rotated by a number of degrees based on a pivot point.+
  
-==== Parameters ==== +  * //This method returns a feature repositioned from one location to another based on an X and Y offset distance.//​ 
-**targetFeature** +== Remarks ​== 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] +  * //This method returns a feature repositioned from one location to another based on an X and Y offset distanceWith this overload, it is important to note that the X and Y offset units are based on the distanceUnit parameterFor 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. 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.//
-  * **Description**:​This parameter ​is the basis for the rotation.+
  
-**pivotPoint** +== Return Value == 
-  ​* **Type**:​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] +  * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-  ​* **Description**:The pivotPoint represents the center of rotation.+  * Description:​This method returns a feature repositioned from one location to another based on an X and Y offset distance.
  
-**degreeAngle** +== Parameters == 
-  * **Type**:Single +  * //​targetFeature//​ 
-  * **Description**:The number of degrees ​of rotation required, from 0 to 360.+    ​* Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:​This parameter is the basis of the moved feature.
  
-[[#Public Methods|Go Back]] +  * //​xOffsetDistance//​ 
-=== Rotate(PointShape,​Single) === +    * Type:Double 
-This method rotates a shape a number of degrees based on a pivot point. +    * Description:​This is the number of horizontal units of movement ​in the distance unit specified ​in the distanceUnit parameter.
-==== 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** +  ​//​yOffsetDistance//​ 
-  **Return ​Type**:Void +    * Type:Double 
-  * **Description**:N/A+    * Description:​This is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter.
  
-==== Parameters ==== +  ​//​shapeUnit//​ 
-**pivotPoint*+    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] +    * Description:​This is the geographic unit of the shape you are performing the operation on.
-  * **Description**:The pivotPoint represents ​the center ​of rotation.+
  
-**degreeAngle** +  ​//​distanceUnit//​ 
-  * **Type**:Single +    * Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-  * **Description**:The number of degrees of rotation requiredfrom 0 to 360.+    * Description:​This is the distance unit you would like to use as the measure for the move. For exampleif you select miles as your distance unit, then the xOffsetDistance and yOffsetDistance will be calculated in miles.
  
-[[#Public Methods|Go Back]] +<div newline></​div>​ 
-=== ScaleTo(BaseShape,​Double) ​=== +** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} TranslateByDegree(BaseShape,​Double,​Double,​GeographyUnit,​DistanceUnit**
-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** +  ​//This method returns a shape repositioned from one location to another based on a distance and a direction in degrees.// 
-  * **Return Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +== Remarks == 
-  * **Description**:​This method is useful when you would like to increase ​or decrease ​the size of the shape.+  * //This method ​returns a shape repositioned from one location to another based on angleInDegrees and distance parameter. With this overload, it is important to note that the distance is based on the supplied distanceUnit parameter. For example, if your shape is in decimal degrees and you call this method with a distanceUnit of miles, you're going to move this shape a number of miles based on the distance value and the angleInDegrees. In this way, you can easily move a shape in decimal degrees five miles to the north.If you pass a distance of 0, then the operation is ignored. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version ​of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//
  
-==== Parameters ==== +== Return Value == 
-**baseShape** +  * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-  ​* **Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * Description:​This method returns ​a shape repositioned from one location ​to another based on a distance and a direction in degrees.
-  ​* **Description**:Represents ​a shape which you want to resize+
  
-**scale** +== Parameters == 
-  * **Type**:Double +  * //​targetShape//​ 
-  * **Description**:Pepresents a value which scaleFactor to.+    ​* Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​This parameter is the basis of the move.
  
-[[#Public Methods|Go Back]] +  * //​distance//​ 
-=== ScaleTo(Double) === +    * Type:Double 
-This method increases or decreases ​the size of the shape by the specified ​scale factor given in the parameter. +    * 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.
-==== 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** +  ​//​angleInDegrees//​ 
-  **Return ​Type**:Void +    * Type:Double 
-  * **Description**:This method is useful when you would like to increase or decrease the size of the shape.+    * Description:​A number between 0 and 360 degrees that represents the direction ​you wish to move the shape, with 0 being up.
  
-==== Parameters ==== +  ​//​shapeUnit//​ 
-**scale*+    * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-  * **Type**:Double +    * Description:​This is the geographic unit of the shape you are performing the operation on.
-  * **Description**:Pepresents a value which scaleFactor to+
  
-[[#Public Methods|Go Back]] +  * //​distanceUnit//​ 
-=== ToString() === +    * Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-N/A +    * 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 distance will be calculated in miles.
-==== Remarks ==== +
-N/A+
  
-**Return Value** +<div newline></​div>​ 
-  * **Return Type**:String +** {{wiki:PublicMethod.gif|}}{{wiki:​Static.gif|}} TranslateByDegree(Feature,​Double,​Double,​GeographyUnit,​DistanceUnit) ​**
-  ​* **Description**:​N/​A+
  
-==== Parameters ==== +  * //This method returns a feature repositioned from one location to another, based on a distance and a direction in degrees.// 
-[[#Public Methods|Go Back]] +== Remarks ​== 
-=== Touches(Feature) === +  * //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 0then the operation is ignored. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//
-This method returns ​of the current ​shape and the targetFeature have at least one boundary point in commonbut 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 Value == 
-  * **Return ​Type**:Boolean +  * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-  ​* **Description**:This method returns ​of the current shape and the targetFeature have at least one boundary point in common, but no interior points.+  * Description:​This method returns ​a feature repositioned from one location to another, based on a distance ​and a direction ​in degrees.
  
-==== Parameters ​==== +== Parameters == 
-**targetFeature** +  //targetFeature// 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-  * **Description**:The targetFeature which contains a shape that you wish to compare ​the current one to.+    * Description:​This parameter is the basis of the move.
  
-[[#Public Methods|Go Back]] +  * //​distance//​ 
-=== Touches(BaseShape) === +    * Type:Double 
-This method returns if the current shape and the targetShape have at least one boundary point in common, but no interior points. +    * Description:​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.
-==== Remarks ==== +
-As this is a concrete public method that wraps a Core method, we reserve ​the right to add events and other logic to pre- or post-process data returned by the Core version of the methodIn this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your 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** +  ​//​angleInDegrees//​ 
-  **Return ​Type**:Boolean +    * Type:Double 
-  * **Description**:This method returns if the current shape and the targetShape have at least one boundary point in commonbut no interior points.+    * Description:​A number between 0 and 360 degrees that represents ​the direction you wish to move the featurewith 0 being up.
  
-==== Parameters ==== +  ​//​shapeUnit//​ 
-**targetShape*+    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +    * Description:​This is the geographic unit of the shape you are performing ​the operation on.
-  * **Description**:The shape you wish to compare ​the current one to.+
  
-[[#Public Methods|Go Back]] +  * //​distanceUnit//​ 
-=== TranslateByDegree(Double,​Double,​GeographyUnit,​DistanceUnit) === +    * Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-This method moves a base shape from one location to another based on a distance and a direction in degrees. +    * 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 unitthen the distance ​will be calculated ​in miles.
-==== 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. 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** +<div newline></​div>​ 
-  * **Return Type**:Void +** {{wiki:PublicMethod.gif|}}{{wiki:​Static.gif|}} Rotate(BaseShape,​PointShape,​Single) ​**
-  ​* **Description**:​N/​A+
  
-==== Parameters ==== +  * //This method returns a shape rotated by a number of degrees based on a pivot point.// 
-**distance** +== Remarks ​== 
-  * **Type**:​Double +  * //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 motionMoving 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 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.//
-  * **Description**:​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.+
  
-**angleInDegrees** +== Return Value == 
-  ​* **Type**:Double +  * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-  ​* **Description**:number ​between 0 and 360 degrees ​that represents the direction you wish to move the shape, with 0 being up.+  * Description:​This method returns a shape rotated by a number ​of degrees ​based on a pivot point.
  
-**shapeUnit** +== Parameters == 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +  * //​sourceBaseShape//​ 
-  * **Description**:This is the geographic unit of the shape you are performing ​the operation on.+    ​* Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​This ​parameter ​is the basis for the rotation.
  
-**distanceUnit** +  ​//​pivotPoint//​ 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +    * Type:​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-  * **Description**: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.+    * Description:​The pivotPoint represents ​the center ​of rotation.
  
-[[#Public Methods|Go Back]] +  * //​degreeAngle//​ 
-=== TranslateByDegree(BaseShape,​Double,​Double,​GeographyUnit,​DistanceUnit) === +    * Type:Single 
-This method returns a shape repositioned from one location to another based on a distance and a direction in degrees. +    * Description:​The ​number of degrees of rotation required, from 0 to 360.
-==== 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. 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** +<div newline></​div>​ 
-  * **Return Type**:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +** {{wiki:PublicMethod.gif|}}{{wiki:​Static.gif|}} Rotate(Feature,​PointShape,​Single) ​**
-  ​* **Description**:​This method returns a shape repositioned from one location to another based on a distance and a direction in degrees.+
  
-==== Parameters ==== +  * //This method returns a feature rotated by a number of degrees based on a pivot point.// 
-**targetShape** +== Remarks ​== 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * //This method returns a feature rotated by a number of degrees based on a pivot pointBy placing the pivot point in the center of the feature you can achieve in-place rotationBy moving the pivot point outside of the center of the feature you can translate the feature in a circular motionMoving 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.//
-  * **Description**:​This parameter ​is the basis of the move.+
  
-**distance** +== Return Value == 
-  ​* **Type**:Double +  * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-  ​* **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.+  * Description:​This method returns a shape rotated by a number of degrees based on a pivot point.
  
-**angleInDegrees** +== Parameters == 
-  * **Type**:Double +  * //​targetFeature//​ 
-  * **Description**:A number between 0 and 360 degrees that represents ​the direction you wish to move the shape, with 0 being up.+    ​* Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:​This parameter is the basis for the rotation.
  
-**shapeUnit** +  ​//​pivotPoint//​ 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +    * Type:​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-  * **Description**:This is the geographic unit of the shape you are performing the operation on.+    * Description:​The pivotPoint represents ​the center ​of rotation.
  
-**distanceUnit** +  ​//​degreeAngle//​ 
-  * **Type**:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +    * Type:Single 
-  * **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 distance will be calculated in miles.+    * Description:​The number of degrees of rotation required, from 0 to 360.
  
-[[#Public Methods|Go Back]] +<div newline></​div>​ 
-=== TranslateByDegree(Feature,Double,​Double,​GeographyUnit,​DistanceUnit=== +** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} ScaleTo(BaseShape,​Double) ​**
-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. 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** +  ​//This method increases or decreases the size of the shape by the specified scale factor given in the parameter.// 
-  * **Return Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +== Remarks == 
-  * **Description**:​This ​method ​returns a feature repositioned from one location to another, based on a distance and a direction in degrees.+  * //It will call the instanced ​method ​ScaleTo internally.//
  
-==== Parameters ==== +== Return Value == 
-**targetFeature** +  * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-  ​* **Type**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] +  * Description:​This ​method ​is useful when you would like to increase or decrease ​the size of the shape.
-  ​* **Description**:This parameter ​is the basis of the move.+
  
-**distance** +== Parameters == 
-  * **Type**:Double +  * //​baseShape//​ 
-  * **Description**: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.+    ​* Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​Represents a shape which you want to resize
  
-**angleInDegrees** +  ​//scale// 
-  * **Type**:Double +    * Type:​Double 
-  * **Description**:A number between 0 and 360 degrees that represents the direction you wish to move the feature, with 0 being up.+    * Description:​Pepresents a value which scaleFactor ​to.
  
-**shapeUnit** +<div newline></​div>​ 
-  * **Type**:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +==== Protected Methods ==== 
-  ​* **Description**:​This is the geographic unit of the shape you are performing the operation on.+** {{wiki:ProtectedMethod.gif|}} LoadFromWellKnownDataCore(String) ​**
  
-**distanceUnit** +  ​//This method hydrates the current shape with its data from well-known text.// 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +== Remarks == 
-  * **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 distance will be calculated in miles.+  * //None//
  
-[[#Public Methods|Go Back]] +== Return Value == 
-=== TranslateByDegree(Double,​Double) === +  * Type:Void 
-This method moves a base shape from one location to another based on a distance and a direction in degrees. +  * Description:​None
-==== 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. 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** +== Parameters == 
-  * **Return ​Type**:Void +  * //​wellKnownText//​ 
-  * **Description**:N/A+    ​* Type:String 
 +    * Description:​This parameter is the well-known text you will use to hydrate your object.
  
-==== Parameters ==== +<div newline></​div>​ 
-**distance** +** {{wiki:ProtectedMethod.gif|}} GetGeoJsonCore() ​**
-  * **Type**:Double +
-  ​* **Description**:​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** +  ​//N/A// 
-  * **Type**:​Double +== Remarks == 
-  * **Description**:​number between 0 and 360 degrees that represents the direction you wish to move the shape, with 0 being up.+  * //N/A//
  
-[[#Public Methods|Go Back]] +== Return Value == 
-=== TranslateByOffset(Double,​Double) === +  * Type:String 
-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 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** +== Parameters == 
-  * **Return Type**:Void +<div newline></​div>​ 
-  ​* **Description**:​N/​A+** {{wiki:ProtectedMethod.gif|}} GetWellKnownTextCore(RingOrder) ​**
  
-==== Parameters ==== +  * //N/A// 
-**xOffsetDistance** +== Remarks ​== 
-  * **Type**:​Double +  * //N/A//
-  * **Description**:​This is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter.+
  
-**yOffsetDistance** +== Return Value == 
-  ​* **Type**:Double +  * Type:String 
-  ​* **Description**:This is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter.+  * Description:​N/A
  
-[[#Public Methods|Go Back]] +== Parameters ​== 
-=== TranslateByOffset(Double,​Double,​GeographyUnit,​DistanceUnit) === +  * //​outerRingOrder//​ 
-This method moves a base shape from one location to another based on an X and Y offset distance. +    * Type:​[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] 
-==== Remarks ==== +    * Description:​N/​A
-This method moves a base shape from one location to another based on an X and Y offset distanceWith this overload, it is important to note that the X and Y offset units are based on the distanceUnit parameterFor 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** +<div newline></​div>​ 
-  * **Return Type**:Void +** {{wiki:ProtectedMethod.gif|}} LoadFromWellKnownDataCore(Byte[]) ​**
-  ​* **Description**:​N/​A+
  
-==== Parameters ==== +  * //This method hydrates the current shape with its data from well-known binary.// 
-**xOffsetDistance** +== Remarks ​== 
-  * **Type**:​Double +  * //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.//
-  * **Description**:​This is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter.+
  
-**yOffsetDistance** +== Return Value == 
-  ​* **Type**:Double +  * Type:Void 
-  ​* **Description**:This is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter.+  * Description:​None
  
-**shapeUnit** +== Parameters == 
-  * **Type**:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]+  * //​wellKnownBinary//​ 
-  * **Description**:This is the geographic unit of the base shape you are performing the operation on.+    ​* Type:Byte[] 
 +    * Description:​This ​parameter ​is the well-known binary used to populate ​the shape.
  
-**distanceUnit** +<div newline></​div>​ 
-  * **Type**:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +** {{wiki:ProtectedMethod.gif|}} GetWellKnownBinaryCore(RingOrder,​WkbByteOrder) ​**
-  ​* **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.+
  
-[[#Public Methods|Go Back]] +  * //This method returns a byte array that represents the shape in well-known binary.// 
-=== TranslateByOffset(BaseShape,​Double,​Double,​GeographyUnit,​DistanceUnit) === +== Remarks == 
-This method returns a shape repositioned from one location to another based on an X and Y offset distance+  * //This method returns a byte array that represents ​the shape in well-known binary. Well-known binary allows ​you to describe geometries as binary array. Well-known binary is useful when you want to save geometry ​in an efficient format using as little space as possibleAn alternative ​to well-known binary is well-known text, which is a textual representation ​of a geometry objectWe have methods that work with well known text as well. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.//
-==== 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 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 shape in decimal degrees five miles on the X axis and 3 miles on the Y axisAs this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to preor post-process data returned by the Core version ​of the methodIn this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your 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 == 
-  * **Return ​Type**:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]+  * Type:Byte[] 
-  ​* **Description**:This method returns a shape repositioned from one location to another based on an X and Y offset distance.+  * Description:​This method returns a byte array that represents the shape in well-known binary.
  
-==== Parameters ​==== +== Parameters == 
-**targetShape** +  //​outerRingOrder//​ 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +    * Type:​[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] 
-  * **Description**:This parameter is the basis of the moved shape.+    * Description:​N/A
  
-**xOffsetDistance** +  ​//​byteOrder//​ 
-  * **Type**:Double +    * Type:[[ThinkGeo.MapSuite.Core.WkbByteOrder|WkbByteOrder]] 
-  * **Description**:This is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter.+    * Description:​This ​parameter specifies if the byte order is big- or little-endian.
  
-**yOffsetDistance** +<div newline></​div>​ 
-  * **Type**:Double +** {{wiki:ProtectedMethod.gif|}} GetBoundingBoxCore() ​**
-  ​* **Description**:​This is the number of vertical units of movement in the distance unit specified in the distanceUnit parameter.+
  
-**shapeUnit** +  ​//This method calculates the smallest RectangleShape that encompasses the entire geometry.// 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +== Remarks == 
-  * **Description**:​This is the geographic unit of the shape you are performing ​the operation on.+  * //The GetBoundingBox method calculates ​the smallest RectangleShape that can encompass the entire geometry by examining each point in the geometry. Depending on the number of PointShapes and complexity ​of the geometry, this operation can take longer for larger objects. If the shape is a PointShape, then the bounding box's upper left and lower right points will be equal. This will create a RectangleShape with no area. Overriding: Please ensure that you validate ​the parameters being passed in and raise the exceptions defined above.//
  
-**distanceUnit** +== Return Value == 
-  ​* **Type**:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +  * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
-  ​* **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.+  * Description:​The RectangleShape returned ​is the smallest RectangleShape that can encompass ​the entire geometry.
  
-[[#Public Methods|Go Back]] +== Parameters ​== 
-=== TranslateByOffset(Feature,​Double,​Double,​GeographyUnit,​DistanceUnit) === +<div newline></​div>​ 
-This method returns a feature repositioned from one location to another based on an X and Y offset distance. +** {{wiki:​ProtectedMethod.gif|}} GetWellKnownTypeCore() **
-==== 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.+
  
-**Return Value** +  ​//This method returns the well-known type for the shape.// 
-  * **Return Type**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] +== Remarks == 
-  * **Description**:​This method returns a feature repositioned from one location to another based on an X and Y offset distance.+  * //None//
  
-==== Parameters ==== +== Return Value == 
-**targetFeature** +  * Type:​[[ThinkGeo.MapSuite.Core.WellKnownType|WellKnownType]] 
-  ​* **Type**:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] +  * Description:​This ​method returns ​the well-known type for the shape.
-  ​* **Description**:This parameter is the basis of the moved feature.+
  
-**xOffsetDistance** +== Parameters == 
-  * **Type**:Double +<div newline></​div>​ 
-  ​* **Description**:​This is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter.+** {{wiki:ProtectedMethod.gif|}} CloneDeepCore() ​**
  
-**yOffsetDistance** +  ​//This method returns a complete copy of the shape without any references in common.// 
-  * **Type**:​Double +== Remarks == 
-  * **Description**:​This is the number of horizontal units of movement in the distance unit specified ​in the distanceUnit parameter.+  * //When you override this method, you need to ensure that there are no references ​in common between ​the original and copy.//
  
-**shapeUnit** +== Return Value == 
-  ​* **Type**:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +  * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-  ​* **Description**:This is the geographic unit of the shape you are performing the operation on.+  * Description:​This ​method returns a complete copy of the shape without any references in common.
  
-**distanceUnit** +== Parameters == 
-  * **Type**:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +<div newline></​div>​ 
-  ​* **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.+** {{wiki:ProtectedMethod.gif|}} TranslateByOffsetCore(Double,​Double,​GeographyUnit,​DistanceUnit**
  
-[[#Public Methods|Go Back]] +  * //This method ​moves base shape from one location to another ​based on an X and Y offset distance.// 
-=== Validate(ShapeValidationMode) === +== Remarks == 
-This method ​returns ​ShapeValidationResult ​based on a series of tests+  * //​This ​method ​moves a base shape from one location to another based on an X and Y offset distanceWith this overloadit is important ​to note that the X and Y offset units are based on the distanceUnit parameterFor exampleif 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 axisOverriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.//
-==== Remarks ​==== +
-We use this method, with the simple enumeration,​ internally before doing any kind of other methods ​on the shapeIn this waywe are able to verify ​the integrity of the shape itselfIf you wish to test things such as whether a polygon self-intersectswe 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 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 Value == 
-  * **Return ​Type**:[[ThinkGeo.MapSuite.Core.ShapeValidationResult|ShapeValidationResult]] +  * Type:Void 
-  ​* **Description**:This method returns a ShapeValidationResult based on a series of tests.+  * Description:​N/A
  
-==== Parameters ​==== +== Parameters == 
-**validationMode** +  //​xOffsetDistance//​ 
-  * **Type**:[[ThinkGeo.MapSuite.Core.ShapeValidationMode|ShapeValidationMode]] +    * Type:Double 
-  * **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.+    * Description:​This ​is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter.
  
-[[#Public Methods|Go Back]] +  * //​yOffsetDistance//​ 
-===== Protected Methods ===== +    * Type:Double 
-=== BufferCore(Double,​Int32,​BufferCapType,​GeographyUnit,​DistanceUnit) === +    * Description:​This is the number ​of horizontal units of movement in the distance unit specified in the distanceUnit ​parameter.
-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: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.+
  
-**Return Value** +  ​//​shapeUnit//​ 
-  **Return ​Type**:​[[ThinkGeo.MapSuite.Core.MultipolygonShape|MultipolygonShape]] +    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-  * **Description**:The return type is a MultiPolygonShape that represents all of the points within a given distance from the shape.+    * Description:​This is the geographic unit of the base shape you are performing the operation on.
  
-==== Parameters ==== +  ​//​distanceUnit//​ 
-**distance*+    * Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-  * **Type**:Double +    * Description:​This is the distance unit you would like to use as the measure for the moveFor example, if you select miles as your distance unit, then the xOffsetDistance and yOffsetDistance ​will be calculated ​in miles.
-  * **Description**:The distance ​is the number of units to buffer ​the current shapeThe distance unit will be the one specified ​in the distanceUnit parameter.+
  
-**quadrantSegments** +<div newline></​div>​ 
-  * **Type**:Int32 +** {{wiki:ProtectedMethod.gif|}} TranslateByDegreeCore(Double,​Double,​GeographyUnit,​DistanceUnit) ​**
-  ​* **Description**:​The number of quadrantSegments used in the buffer logic.+
  
-**bufferCapType** +  ​//This method moves a base shape from one location to another based on a distance and a direction in degrees.//​ 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.BufferCapType|BufferCapType]] +== Remarks == 
-  * **Description**:The bufferCapType used in the buffer logic.+  * //This method moves a base shape from one location to another based on angleInDegrees and distance parameterWith this overload, it is important to note that the distance is based on the supplied distanceUnit parameterFor 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 angleInDegreesIn 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. OverridingPlease ensure that you validate the parameters being passed ​in and raise the exceptions defined above.//
  
-**shapeUnit** +== Return Value == 
-  ​* **Type**:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +  * Type:Void 
-  ​* **Description**:This is the geographic unit of the shape you are performing the operation on.+  * Description:​N/A
  
-**distanceUnit** +== Parameters == 
-  * **Type**:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +  * //​distance//​ 
-  * **Description**:This is the distance unit you would like to use as the distanceFor example, if you select miles as your distanceUnit,​ then the distance will be calculated ​in miles for the operation.+    ​* Type:Double 
 +    * Description:​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 parameter. The distance must be greater than or equal to 0.
  
-[[#​Protected Methods|Go Back]] +  * //​angleInDegrees//​ 
-=== CloneDeepCore() === +    * Type:Double 
-This method returns a complete copy of the shape without any references in common. +    * Description:​A number between 0 and 360 degrees that represents ​the direction ​you wish to move the shape, with 0 being up.
-==== Remarks ==== +
-When you override this method, you need to ensure that there are no references in common between ​the original and copy.+
  
-**Return Value** +  ​//​shapeUnit//​ 
-  **Return ​Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-  * **Description**:This method returns a complete copy of the shape without any references in common.+    * Description:​This ​is the geographic unit of the shape you are performing the operation on.
  
-==== Parameters ==== +  * //​distanceUnit//​ 
-[[#Protected Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-=== ContainsCore(BaseShape) === +    * Description:​This is the DistanceUnit you would like to use as the measure ​of the translateFor example if you select miles as your distanceUnit then the distance will be calculated ​in miles.
-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** +<div newline></​div>​ 
-  * **Return Type**:Boolean +** {{wiki:ProtectedMethod.gif|}} RotateCore(PointShape,​Single) ​**
-  ​* **Description**:​This method returns if the targetShape lies within the interior of the current shape.+
  
-==== Parameters ==== +  * //This method rotates a shape a number of degrees based on a pivot point.// 
-**targetShape** +== Remarks ​== 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * //This method rotates a shape by a number of degrees based on a pivot pointBy 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 motionMoving the pivot point further outside of the center will make the circular area larger. OverridingPlease ensure that you validate the parameters being passed in and raise the exceptions defined above.//
-  * **Description**:The shape you wish to compare ​the current one to.+
  
-[[#​Protected Methods|Go Back]] +== Return Value == 
-=== CrossesCore(BaseShape) === +  * Type:Void 
-This method returns if the current shape and the targetShape share some but not all interior points. +  * Description:N/A
-==== Remarks ==== +
-OverridingPlease ensure that you validate the parameters being passed in and raise the exceptions defined above.+
  
-**Return Value** +== Parameters == 
-  * **Return ​Type**:Boolean +  * //​pivotPoint//​ 
-  * **Description**:This method returns if the current shape and the targetShape share some but not all interior points.+    ​* Type:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
 +    * Description:​The pivotPoint represents ​the center of rotation.
  
-==== Parameters ==== +  ​//​degreeAngle//​ 
-**targetShape*+    * Type:Single 
-  * **Type**:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +    * Description:​The ​number of degrees of rotation required, from 0 to 360.
-  * **Description**:The shape you wish to compare the current one to.+
  
-[[#​Protected Methods|Go Back]] +<div newline></​div>​ 
-=== Finalize() === +** {{wiki:​ProtectedMethod.gif|}} GetShortestLineToCore(BaseShape,​GeographyUnit**
-N/A +
-==== Remarks ==== +
-N/A+
  
-**Return Value** +  ​//This method returns the shortest LineShape between this shape and the targetShape parameter.//​ 
-  * **Return Type**:Void +== Remarks == 
-  * **Description**:N/A+  * //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. OverridingPlease ensure that you validate the parameters being passed in and raise the exceptions defined above.//
  
-==== Parameters ==== +== Return Value == 
-[[#Protected Methods|Go Back]] +  * Type:[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]] 
-=== GetBoundingBoxCore() === +  * Description:​A LineShape representing ​the shortest distance between ​the shape you're calling ​the method on and the targetShape.
-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, then the bounding box's upper left and lower right points will be equal. This will create a RectangleShape with no area. Overriding: Please ensure that you validate ​the parameters being passed in and raise the exceptions defined above.+
  
-**Return Value** +== Parameters == 
-  * **Return ​Type**:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] +  * //​targetShape//​ 
-  * **Description**:The RectangleShape returned is the smallest RectangleShape that can encompass ​the entire geometry.+    ​* Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​The ​shape you are trying to find the distance to.
  
-==== Parameters ==== +  * //​shapeUnit//​ 
-[[#Protected Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-=== GetCenterPointCore() === +    * Description:​The geographic unit of the shape you are trying ​to find the distance to.
-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 box. It is important to note that this is the center point of the bounding box. There are numerous ways to calculate the "​center"​ of a geometry, such as its weighted center, etc. You can find other centers by examining ​the various methods of the shape itself. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.+
  
-**Return Value** +<div newline></​div>​ 
-  * **Return Type**:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] +** {{wiki:ProtectedMethod.gif|}} GetClosestPointToCore(BaseShape,​GeographyUnit) ​**
-  ​* **Description**:​A PointShape representing the center point of the current shape'​s bounding box.+
  
-==== Parameters ==== +  * //This method returns the point of the current shape that is closest to the target shape.// 
-[[#​Protected Methods|Go Back]] +== Remarks == 
-=== GetClosestPointToCore(BaseShape,​GeographyUnit) === +  * //This method returns the point of the current shape that is closest to the target shape. It is often the case that the point returned is not a point of the object itself. An example would be a line with two points that are far apart from each other. If you set the targetShape to be a point midway between the points but a short distance away from the line, the method would return a point that is on the line but not either of the two points that make up the line. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.//
-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. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.+
  
-**Return Value** +== Return Value == 
-  * **Return ​Type**:​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] +  * Type:​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-  ​* **Description**:A PointShape representing the closest point of the current shape to the targetShape.+  * Description:​A PointShape representing the closest point of the current shape to the targetShape.
  
-==== Parameters ​==== +== Parameters == 
-**targetShape** +  //targetShape// 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-  * **Description**:The shape you are trying to find the closest point to.+    * Description:​The shape you are trying to find the closest point to.
  
-**shapeUnit** +  ​//shapeUnit// 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-  * **Description**:The geographic unit of the shape you are trying to find the closet point to.+    * Description:​The geographic unit of the shape you are trying to find the closet point to.
  
-[[#​Protected Methods|Go Back]] +<div newline></​div>​ 
-=== GetCrossingCore(BaseShape=== +** {{wiki:​ProtectedMethod.gif|}} GetCenterPointCore() **
-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** +  ​//This method returns the center point of the current shape'​s bounding box.// 
-  * **Return Type**:​[[ThinkGeo.MapSuite.Core.MultipointShape|MultipointShape]] +== Remarks == 
-  * **Description**:​This method returns the crossing points between ​the current shape and the passed-in target shape.+  * //This method returns the center point of the current shape's bounding box. It is important to note that this is the center point of the bounding box. There are numerous ways to calculate the "​center"​ of a geometry, such as its weighted center, etc. You can find other centers by examining the various methods of the shape itself. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.//
  
-==== Parameters ==== +== Return Value == 
-**targetShape** +  * Type:​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-  ​* **Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * Description:​A PointShape representing the center point of the current ​shape's bounding box.
-  ​* **Description**:The target ​shape you wish to get crossing with.+
  
-[[#​Protected Methods|Go Back]] +== Parameters ​=
-=== GetDistanceToCore(BaseShape,​GeographyUnit,​DistanceUnit) ​=== +<div newline></​div>​ 
-This method computes the distance between the current shape and the targetShape. +** {{wiki:​ProtectedMethod.gif|}} BufferCore(Double,​Int32,​BufferCapType,​GeographyUnit,​DistanceUnit) ​**
-==== Remarks ==== +
-In this method we compute the closest distance between the two shapes. The returned unit will be in the unit of distance specified.+
  
-**Return Value** +  ​//This method computes the area containing all of the points within a given distance from this shape.// 
-  * **Return Type**:​Double +== Remarks == 
-  * **Description**:​The return type is the distance ​between ​this shape and the targetShape in the GeographyUnit of the shape. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.+  * //This method computes the area containing all of the points within a given distance ​from this shape. In this case, you will be using the rounded RoundedBufferCapStyle ​and the default 8 quadrant segments. The distance unit is determined by the distanceUnit argument. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.//
  
-==== Parameters ==== +== Return Value == 
-**targetShape** +  * Type:​[[ThinkGeo.MapSuite.Core.MultipolygonShape|MultipolygonShape]] 
-  ​* **Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * Description:​The ​return type is a MultiPolygonShape that represents all of the points within a given distance ​from the shape.
-  ​* **Description**:The shape you are trying to find the distance ​to.+
  
-**shapeUnit** +== Parameters == 
-  * **Type**:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +  * //​distance//​ 
-  * **Description**:the geographic ​unit of the targetShape.+    ​* Type:Double 
 +    * Description:​The distance is the number of units to buffer the current shape. The distance ​unit will be the one specified in the distanceUnit parameter.
  
-**distanceUnit** +  ​//​quadrantSegments//​ 
-  * **Type**:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +    * Type:Int32 
-  * **Description**:The returning distance unit.+    * Description:​The ​number of quadrantSegments used in the buffer logic.
  
-[[#Protected Methods|Go Back]] +  * //​bufferCapType//​ 
-=== GetGeoJsonCore() === +    * Type:[[ThinkGeo.MapSuite.Core.BufferCapType|BufferCapType]] 
-N/A +    * Description:​The bufferCapType used in the buffer logic.
-==== Remarks ==== +
-N/A+
  
-**Return Value** +  ​//​shapeUnit//​ 
-  **Return ​Type**:String +    * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-  * **Description**:N/A+    * Description:​This is the geographic unit of the shape you are performing the operation on.
  
-==== Parameters ==== +  * //​distanceUnit//​ 
-[[#Protected Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-=== GetShortestLineToCore(BaseShape,​GeographyUnit) === +    * Description:​This is the distance ​unit you would like to use as the distanceFor exampleif you select miles as your distanceUnitthen the distance will be calculated ​in miles for the operation.
-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 targetShapeIn some instancesbased on the GeographicType or Projection, the line may not be straight. This is effect is similar to what you might see on an international flight when the displayed flight path is curved. Overriding: Please ensure that you validate the parameters being passed ​in and raise the exceptions defined above.+
  
-**Return Value** +<div newline></​div>​ 
-  * **Return Type**:[[ThinkGeo.MapSuite.Core.MultilineShape|MultilineShape]] +** {{wiki:ProtectedMethod.gif|}} GetDistanceToCore(BaseShape,​GeographyUnit,​DistanceUnit) ​**
-  ​* **Description**:​A LineShape representing the shortest distance between the shape you're calling the method on and the targetShape.+
  
-==== Parameters ==== +  * //This method computes the distance between the current shape and the targetShape.//​ 
-**targetShape** +== Remarks ​== 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * //In this method we compute the closest distance between the two shapes. The returned unit will be in the unit of distance ​specified.//
-  * **Description**:​The shape you are trying to find the distance ​to.+
  
-**shapeUnit** +== Return Value == 
-  ​* **Type**:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +  * Type:Double 
-  ​* **Description**:The geographic unit of the shape you are trying to find the distance to.+  * Description:​The ​return type is the distance between this shape and the targetShape in the GeographyUnit ​of the shape. Overriding: Please ensure that you validate ​the parameters being passed in and raise the exceptions defined above.
  
-[[#​Protected Methods|Go Back]] +== Parameters ​== 
-=== GetWellKnownBinaryCore(RingOrder,​WkbByteOrder) === +  * //​targetShape//​ 
-This method returns a byte array that represents the shape in well-known binary. +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-==== Remarks ==== +    * Description:The shape you are trying to find the distance to.
-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 possibleAn 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. OverridingPlease ensure that you validate ​the parameters being passed in and raise the exceptions defined above.+
  
-**Return Value** +  ​//​shapeUnit//​ 
-  **Return ​Type**:Byte[] +    * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]
-  * **Description**:This method returns a byte array that represents ​the shape in well-known binary.+    * Description:​the ​geographic unit of the targetShape.
  
-==== Parameters ==== +  ​//​distanceUnit//​ 
-**outerRingOrder*+    * Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] +    * Description:​The returning distance unit.
-  * **Description**:N/A+
  
-**byteOrder** +<div newline></​div>​ 
-  * **Type**:[[ThinkGeo.MapSuite.Core.WkbByteOrder|WkbByteOrder]] +** {{wiki:ProtectedMethod.gif|}} RegisterCore(PointShape,​PointShape,​DistanceUnit,​GeographyUnit) ​**
-  ​* **Description**:​This parameter specifies if the byte order is big- or little-endian.+
  
-[[#​Protected Methods|Go Back]] +  * //This method returns a BaseShape which has been registered from its original coordinate system to another based on two anchor PointShapes./​
-=== GetWellKnownTextCore(RingOrder) === +== Remarks == 
-N/A +  ​* ​//​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.Registering is also useful for scientific modeling, where software models things such as a plume of hazardous materials or the fallout from a volcano. The modeling software typically generates these models in a fictitious planar system. You would then use the register to take the abstract model and attach it to a map with real coordinates. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.//
-==== Remarks ​==== +
-N/A+
  
-**Return Value** +== Return Value == 
-  * **Return ​Type**:String +  * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-  ​* **Description**:N/A+  * Description:​This method returns a BaseShape which has been registered from its original coordinate system to another based on two anchor PointShapes.
  
-==== Parameters ​==== +== Parameters == 
-**outerRingOrder** +  //​fromPoint//​ 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.RingOrder|RingOrder]] +    * Type:​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-  * **Description**:N/A+    * Description:​This parameter is the anchor PointShape in the coordinate of origin.
  
-[[#Protected Methods|Go Back]] +  * //​toPoint//​ 
-=== GetWellKnownTypeCore() === +    * Type:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] 
-This method returns ​the well-known type for the shape. +    * Description:​This parameter is the anchor PointShape in the coordinate of destination.
-==== Remarks ==== +
-None+
  
-**Return Value** +  ​//​fromUnit//​ 
-  * **Return ​Type**:​[[ThinkGeo.MapSuite.Core.WellKnownType|WellKnownType]] +    * Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
-  * **Description**:This method returns ​the well-known type for the shape.+    * Description:​This ​parameter is the DistanceUnit of the coordinate of origin.
  
-==== Parameters ==== +  * //toUnit// 
-[[#Protected Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-=== IntersectsCore(BaseShape) === +    * Description:​This parameter is the GeographyUnit of the coordinate of destination.
-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.+
  
-**Return Value** +<div newline></​div>​ 
-  * **Return Type**:Boolean +** {{wiki:ProtectedMethod.gif|}} ValidateCore(ShapeValidationMode) ​**
-  ​* **Description**:​This method returns if the current shape and the targetShape have at least one point in common.+
  
-==== Parameters ==== +  * //This method returns a ShapeValidationResult based on a series of tests.// 
-**targetShape** +== Remarks ​== 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * //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 test. If you are dealing with polygon shapes that are suspect, we suggest you run the advanced test. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.//
-  * **Description**:​The shape you wish to compare ​the current one to.+
  
-[[#Protected Methods|Go Back]] +== Return Value == 
-=== IsDisjointedCore(BaseShape) === +  * Type:[[ThinkGeo.MapSuite.Core.ShapeValidationResult|ShapeValidationResult]] 
-This method returns ​if the current shape and the targetShape have no points in common. +  * Description:​This method returns ​a ShapeValidationResult based on a series of tests.
-==== Remarks ==== +
-Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.+
  
-**Return Value** +== Parameters == 
-  * **Return ​Type**:Boolean +  * //​validationMode//​ 
-  * **Description**:This method returns if the current shape and the targetShape have no points in common.+    ​* 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.
  
-==== Parameters ==== +<div newline></​div>​ 
-**targetShape** +** {{wiki:ProtectedMethod.gif|}} IsDisjointedCore(BaseShape**
-  * **Type**:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +
-  ​* **Description**:​The shape you wish to compare the current one to.+
  
-[[#​Protected Methods|Go Back]] +  * //This method returns if the current shape and the targetShape ​have no points in common.// 
-=== IsTopologicallyEqualCore(BaseShape) === +== Remarks == 
-This method returns if the current shape and the targetShape ​are topologically equal+  * //Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.//
-==== 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. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.+
  
-**Return Value** +== Return Value == 
-  * **Return ​Type**:Boolean +  * Type:​Boolean 
-  ​* **Description**:This method returns if the current shape and the targetShape ​are topologically equal.+  * Description:​This method returns if the current shape and the targetShape ​have no points in common.
  
-==== Parameters ​==== +== Parameters == 
-**targetShape** +  //targetShape// 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-  * **Description**:The shape you wish to compare the current one to.+    * Description:​The shape you wish to compare the current one to.
  
-[[#​Protected Methods|Go Back]] +<div newline></​div>​ 
-=== IsWithinCore(BaseShape) ​=== +** {{wiki:​ProtectedMethod.gif|}} IntersectsCore(BaseShape) ​**
-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.+
  
-**Return Value** +  ​//This method returns if the current shape and the targetShape have at least one point in common.// 
-  * **Return Type**:​Boolean +== Remarks == 
-  * **Description**:​This method returns if the current shape lies within ​the interior of the targetShape.+  * //​Overriding:​ Please ensure that you validate ​the parameters being passed in and raise the exceptions defined above.//
  
-==== Parameters ==== +== Return Value == 
-**targetShape** +  * Type:Boolean 
-  ​* **Type**:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * Description:​This method returns if the current ​shape and the targetShape have at least one point in common.
-  ​* **Description**:The shape you wish to compare ​the current ​one to.+
  
-[[#Protected Methods|Go Back]] +== Parameters == 
-=== LoadFromWellKnownDataCore(String) === +  * //​targetShape//​ 
-This method hydrates ​the current ​shape with its data from well-known text. +    * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-==== Remarks ==== +    * Description:​The shape you wish to compare ​the current ​one to.
-None+
  
-**Return Value** +<div newline></​div>​ 
-  * **Return Type**:Void +** {{wiki:ProtectedMethod.gif|}} TouchesCore(BaseShape) ​**
-  ​* **Description**:​None+
  
-==== Parameters ==== +  * //This method returns if the current shape and the targetShape have at least one boundary point in common, but no interior points.// 
-**wellKnownText** +== Remarks ​== 
-  * **Type**:String +  * //​OverridingPlease ensure that you validate ​the parameters being passed in and raise the exceptions defined above.//
-  * **Description**:​This parameter is the well-known text you will use to hydrate your object.+
  
-[[#​Protected Methods|Go Back]] +== Return Value == 
-=== LoadFromWellKnownDataCore(Byte[]) === +  * Type:​Boolean 
-This method ​hydrates ​the current ​shape with its data from well-known binary. +  * Description:​This method ​returns if the current shape and the targetShape have at least one boundary point in common, but no interior points.
-==== 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** +== Parameters == 
-  * **Return ​Type**:Void +  * //​targetShape//​ 
-  * **Description**:None+    ​* Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​The shape you wish to compare the current one to.
  
-==== Parameters ==== +<div newline></​div>​ 
-**wellKnownBinary** +** {{wiki:ProtectedMethod.gif|}} CrossesCore(BaseShape) ​**
-  * **Type**:Byte[] +
-  ​* **Description**:​This parameter is the well-known binary used to populate the shape.+
  
-[[#​Protected Methods|Go Back]] +  * //This method returns if the current shape and the targetShape share some but not all interior points./
-=== MemberwiseClone() === +== Remarks == 
-N/A +  * //​Overriding:​ Please ensure that you validate the parameters being passed in and raise the exceptions defined above.//
-==== Remarks ​==== +
-N/A+
  
-**Return Value** +== Return Value == 
-  * **Return ​Type**:Object +  * Type:Boolean 
-  ​* **Description**:N/A+  * Description:​This method returns if the current shape and the targetShape share some but not all interior points.
  
-==== Parameters ==== +== Parameters == 
-[[#Protected Methods|Go Back]] +  * //​targetShape//​ 
-=== OverlapsCore(BaseShape) === +    * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-This method returns if the current ​shape and the targetShape share some but not all points in common. +    * Description:​The ​shape you wish to compare ​the current one to.
-==== Remarks ==== +
-Overriding: Please ensure that you validate ​the parameters being passed in and raise the exceptions defined above.+
  
-**Return Value** +<div newline></​div>​ 
-  * **Return Type**:Boolean +** {{wiki:ProtectedMethod.gif|}} IsWithinCore(BaseShape) ​**
-  ​* **Description**:​This method returns if the current shape and the targetShape share some but not all points in common.+
  
-==== Parameters ==== +  * //This method returns if the current shape lies within the interior of the targetShape.//​ 
-**targetShape** +== Remarks ​== 
-  * **Type**:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * //​OverridingPlease ensure that you validate ​the parameters being passed in and raise the exceptions defined above.//
-  * **Description**:​The shape you wish to compare ​the current one to.+
  
-[[#​Protected Methods|Go Back]] +== Return Value == 
-=== RegisterCore(PointShape,​PointShape,​DistanceUnit,​GeographyUnit) === +  * Type:​Boolean 
-This method returns ​a BaseShape which has been registered from its original coordinate system to another based on two anchor PointShapes. +  * Description:​This method returns ​if the current ​shape lies within ​the interior ​of the targetShape.
-==== 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. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.+
  
-**Return Value** +== Parameters == 
-  * **Return ​Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * //​targetShape//​ 
-  * **Description**:This method returns a BaseShape which has been registered from its original coordinate system ​to another based on two anchor PointShapes.+    ​* Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​The shape you wish to compare the current one to.
  
-==== Parameters ==== +<div newline></​div>​ 
-**fromPoint** +** {{wiki:ProtectedMethod.gif|}} ContainsCore(BaseShape) ​**
-  * **Type**:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] +
-  ​* **Description**:​This parameter is the anchor PointShape in the coordinate of origin.+
  
-**toPoint** +  ​//This method returns if the targetShape lies within the interior of the current shape.// 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] +== Remarks == 
-  * **Description**:This parameter is the anchor PointShape ​in the coordinate of destination.+  * //​OverridingPlease ensure that you validate ​the parameters being passed ​in and raise the exceptions defined above.//
  
-**fromUnit** +== Return Value == 
-  ​* **Type**:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +  * Type:Boolean 
-  ​* **Description**:This parameter is the DistanceUnit ​of the coordinate of origin.+  * Description:​This ​method returns if the targetShape lies within the interior ​of the current shape.
  
-**toUnit** +== Parameters == 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +  * //​targetShape//​ 
-  * **Description**:This parameter is the GeographyUnit of the coordinate of destination.+    ​* Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​The shape you wish to compare ​the current one to.
  
-[[#​Protected Methods|Go Back]] +<div newline></​div>​ 
-=== RotateCore(PointShape,​Single=== +** {{wiki:​ProtectedMethod.gif|}} OverlapsCore(BaseShape**
-This method rotates a shape a number of degrees based on a pivot point. +
-==== Remarks ==== +
-This method rotates a shape by a number of degrees based on a pivot point. By placing the pivot point in the center of the shape you can achieve in-place rotation. By moving the pivot point outside of the center of the shape you can translate the shape in a circular motion. Moving the pivot point further outside of the center will make the circular area larger. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.+
  
-**Return Value** +  ​//This method returns if the current shape and the targetShape share some but not all points in common.// 
-  * **Return Type**:Void +== Remarks == 
-  * **Description**:N/A+  * //​OverridingPlease ensure that you validate the parameters being passed in and raise the exceptions defined above.//
  
-==== Parameters ==== +== Return Value == 
-**pivotPoint** +  * Type:Boolean 
-  ​* **Type**:[[ThinkGeo.MapSuite.Core.PointShape|PointShape]] +  * Description:​This method returns if the current shape and the targetShape share some but not all points in common.
-  ​* **Description**:The pivotPoint represents ​the center of rotation.+
  
-**degreeAngle** +== Parameters == 
-  * **Type**:Single +  * //​targetShape//​ 
-  * **Description**:The number of degrees of rotation required, from 0 to 360.+    ​* Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​The ​shape you wish to compare the current one to.
  
-[[#​Protected Methods|Go Back]] +<div newline></​div>​ 
-=== ScaleToCore(Double=== +** {{wiki:​ProtectedMethod.gif|}} IsTopologicallyEqualCore(BaseShape**
-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 activity, as this is the responsibility of the concrete public method ScaleTo. This way, as a developer, if you choose to override this method you do not have to consider transactions at all.+
  
-**Return Value** +  ​//This method returns if the current shape and the targetShape are topologically equal.// 
-  * **Return Type**:Void +== Remarks == 
-  * **Description**:​This method is useful when you would like to increase or decrease ​the size of the shape.+  * //​Topologically equal means that the shapes are essentially the same. For example, let's say you have a line with two points, point A and point B. You also have another line that is made up of point A, point B and point C. Point A of line one shares ​the same vertex as point A of line two, and point B of line one shares ​the same vertex as point C of line two. They are both straight lines, so point B of line two would lie on the first line. Essentially the two lines are the same, with line 2 having just one extra point. Topologically they are the same line, so this method would return true. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.//
  
-==== Parameters ==== +== Return Value == 
-**scale** +  * Type:Boolean 
-  ​* **Type**:Double +  * Description:​This method returns if the current shape and the targetShape are topologically equal.
-  ​* **Description**:Pepresents a value which scaleFactor to+
  
-[[#​Protected Methods|Go Back]] +== Parameters ​== 
-=== TouchesCore(BaseShape) === +  * //targetShape// 
-This method returns if the current shape and the targetShape ​have at least one boundary point in common, but no interior points+    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-==== Remarks ==== +    * Description:The shape you wish to compare ​the current one to.
-OverridingPlease ensure that you validate ​the parameters being passed in and raise the exceptions defined above.+
  
-**Return Value** +<div newline></​div>​ 
-  * **Return Type**:Boolean +** {{wiki:ProtectedMethod.gif|}} GetCrossingCore(BaseShape) ​**
-  ​* **Description**:​This method returns if the current shape and the targetShape have at least one boundary point in common, but no interior points.+
  
-==== Parameters ==== +  * //This method returns the crossing points between the current shape and the passed-in target shape.// 
-**targetShape** +== Remarks ​== 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] +  * //As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the methodIn this way, we leave our framework open on our end, but also allow you the developer ​to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//
-  * **Description**:​The shape you wish to compare the current one to.+
  
-[[#​Protected Methods|Go Back]] +== Return Value == 
-=== TranslateByDegreeCore(Double,​Double,​GeographyUnit,​DistanceUnit) === +  * Type:​[[ThinkGeo.MapSuite.Core.MultipointShape|MultipointShape]] 
-This method moves a base shape from one location to another based on a distance and a direction in degrees+  * Description:​This method ​returns ​the crossing points between ​the current ​shape and the passed-in target shape.
-==== 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. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.+
  
-**Return Value** +== Parameters == 
-  * **Return ​Type**:Void +  * //​targetShape//​ 
-  * **Description**:N/A+    ​* Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​The target shape you wish to get crossing with.
  
-==== Parameters ==== +<div newline></​div>​ 
-**distance** +** {{wiki:ProtectedMethod.gif|}} ScaleToCore(Double**
-  * **Type**:Double +
-  ​* **Description**:​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** +  ​//This method increases or decreases the size of the shape by the specified scale factor given in the parameter.//​ 
-  * **Type**:​Double +== Remarks == 
-  * **Description**:​A number between 0 and 360 degrees that represents ​the direction ​you wish to move the shape, with 0 being up.+  * //This protected virtual method is called from the concrete public method ScaleTo. It does not take into account any transaction activity, as this is the responsibility of the concrete public method ScaleTo. This way, as a developer, if you choose ​to override this method you do not have to consider transactions at all.//
  
-**shapeUnit** +== Return Value == 
-  ​* **Type**:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +  * Type:Void 
-  ​* **Description**:This is the geographic unit of the shape you are performing the operation on.+  * Description:​This ​method ​is useful when you would like to increase or decrease ​the size of the shape.
  
-**distanceUnit** +== Parameters == 
-  * **Type**:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +  * //scale// 
-  * **Description**: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.+    ​* Type:Double 
 +    * Description:​Pepresents a value which scaleFactor ​to
  
-[[#​Protected Methods|Go Back]] +<div newline></​div>​ 
-=== TranslateByOffsetCore(Double,​Double,​GeographyUnit,​DistanceUnit=== +** {{wiki:​ProtectedMethod.gif|}} Finalize() **
-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. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.+
  
-**Return Value** +  ​//N/A// 
-  * **Return Type**:Void +== Remarks == 
-  * **Description**:​N/A+  * //N/A//
  
-==== Parameters ==== +== Return Value == 
-**xOffsetDistance** +  * Type:Void 
-  ​* **Type**:Double +  * Description:​N/A
-  ​* **Description**:This is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter.+
  
-**yOffsetDistance** +== Parameters == 
-  * **Type**:Double +<div newline></​div>​ 
-  ​* **Description**:​This is the number of horizontal units of movement in the distance unit specified in the distanceUnit parameter.+** {{wiki:ProtectedMethod.gif|}} MemberwiseClone() ​**
  
-**shapeUnit** +  ​//N/A// 
-  * **Type**:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] +== Remarks == 
-  * **Description**:​This is the geographic unit of the base shape you are performing the operation on.+  * //N/A//
  
-**distanceUnit** +== Return Value == 
-  ​* **Type**:[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] +  * Type:Object 
-  ​* **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.+  * Description:​N/A
  
-[[#​Protected Methods|Go Back]] +== Parameters ​== 
-=== ValidateCore(ShapeValidationMode) === +<div newline></​div>​ 
-This method returns a ShapeValidationResult based on a series of tests. +==== Public Properties ​==== 
-==== Remarks ​==== +** {{wiki:PublicProperty.gif|}} Id **
-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. OverridingPlease ensure that you validate the parameters being passed in and raise the exceptions defined above.+
  
-**Return Value** 
-  * **Return 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. 
- 
-[[#​Protected Methods|Go Back]] 
-===== Public Properties ===== 
-=== CanRotate === 
-This property specifies whether the shape can be rotated. 
-==== Remarks ==== 
-If this property returns false and you attempt to call the rotate method, it will throw a NotImplementedException. 
-==== Return Value ==== 
-**Return Type**:​Boolean 
- 
-[[#Public Properties|Go Back]] 
-=== Id === 
 The id of the shape. The id of the shape.
-==== Remarks ​====+== Remarks ==
 N/A N/A
-==== Return Value ==== +== Return Value == 
-**Return ​Type**:String+  * Type:String 
 + 
 +** {{wiki:PublicProperty.gif|}} Tag **
  
-[[#Public Properties|Go Back]] 
-=== Tag === 
 The tag of the shape. The tag of the shape.
-==== Remarks ​====+== Remarks ==
 N/A N/A
-==== Return Value ==== +== Return Value == 
-**Return ​Type**:Object+  * Type:Object 
 + 
 +** {{wiki:PublicProperty.gif|}} CanRotate ** 
 + 
 +This property specifies whether the shape can be rotated. 
 +== Remarks == 
 +If this property returns false and you attempt to call the rotate method, it will throw a NotImplementedException. 
 +== Return Value == 
 +  * Type:​Boolean
  
-[[#Public Properties|Go Back]] +==== Protected Properties ==== 
-===== Protected Properties ​===== +==== Public Events ====
-===== Public Events ​=====+
  
thinkgeo.mapsuite.core.baseshape.1442485535.txt.gz · Last modified: 2015/09/17 10:25 (external edit)