User Tools

Site Tools


thinkgeo.mapsuite.portablecore.feature

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
thinkgeo.mapsuite.portablecore.feature [2015/09/21 08:07]
admin
thinkgeo.mapsuite.portablecore.feature [2017/03/16 21:59] (current)
Line 1: Line 1:
 ====== ThinkGeo.MapSuite.Core.Feature ====== ====== ThinkGeo.MapSuite.Core.Feature ======
 +
 +{{section>​upgrade_map_suite_to_10.0}}
 +
 The class Feature is the basic unit of which a FeatureSource is composed. A FeatureSource can be taken from a collection of Features stored in a ShapeFile, SQL Server 2008, Oracle, etc.A Feature is the basic data unit structure which is comprised of IDs that mark the identification of the Feature, a shape and a collection of data. The class Feature is the basic unit of which a FeatureSource is composed. A FeatureSource can be taken from a collection of Features stored in a ShapeFile, SQL Server 2008, Oracle, etc.A Feature is the basic data unit structure which is comprised of IDs that mark the identification of the Feature, a shape and a collection of data.
 ===== Inheritance Hierarchy ===== ===== Inheritance Hierarchy =====
Line 8: Line 11:
 ** {{wiki:​PublicMethod.gif|}} Feature() ** ** {{wiki:​PublicMethod.gif|}} Feature() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
 == Parameters == == Parameters ==
 <div newline></​div>​ <div newline></​div>​
 ** {{wiki:​PublicMethod.gif|}} Feature(BaseShape) ** ** {{wiki:​PublicMethod.gif|}} Feature(BaseShape) **
  
-This method is the constructor for the Feature.+  * //This method is the constructor for the Feature.//
 == Remarks == == Remarks ==
-When you create the Feature, specify the ID of the BaseShape you want to use as a basis.+  * //When you create the Feature, specify the ID of the BaseShape you want to use as a basis.//
 == Parameters == == Parameters ==
   * //​baseShape//​   * //​baseShape//​
Line 26: Line 29:
 ** {{wiki:​PublicMethod.gif|}} Feature(Byte[]) ** ** {{wiki:​PublicMethod.gif|}} Feature(Byte[]) **
  
-This method is the constructor for the Feature.+  * //This method is the constructor for the Feature.//
 == Remarks == == Remarks ==
-This overload allows you to create a feature using well-known binary. The Id for this Feature will be a random GUID.+  * //This overload allows you to create a feature using well-known binary. The Id for this Feature will be a random GUID.//
 == Parameters == == Parameters ==
   * //​wellKnownBinary//​   * //​wellKnownBinary//​
Line 37: Line 40:
 ** {{wiki:​PublicMethod.gif|}} Feature(Byte[],​String) ** ** {{wiki:​PublicMethod.gif|}} Feature(Byte[],​String) **
  
-This method is the constructor for the Feature.+  * //This method is the constructor for the Feature.//
 == Remarks == == Remarks ==
-This overload allows you to create a feature using well-known binary and specify the Id.+  * //This overload allows you to create a feature using well-known binary and specify the Id.//
 == Parameters == == Parameters ==
   * //​wellKnownBinary//​   * //​wellKnownBinary//​
Line 52: Line 55:
 ** {{wiki:​PublicMethod.gif|}} Feature(String) ** ** {{wiki:​PublicMethod.gif|}} Feature(String) **
  
-This method is the constructor for the Feature.+  * //This method is the constructor for the Feature.//
 == Remarks == == Remarks ==
-This overload allows you to create a feature using well-known text. The Id for the Feature will be a random GUID.+  * //This overload allows you to create a feature using well-known text. The Id for the Feature will be a random GUID.//
 == Parameters == == Parameters ==
   * //​wellKnownText//​   * //​wellKnownText//​
Line 63: Line 66:
 ** {{wiki:​PublicMethod.gif|}} Feature(String,​String) ** ** {{wiki:​PublicMethod.gif|}} Feature(String,​String) **
  
-This method is the constructor for the Feature.+  * //This method is the constructor for the Feature.//
 == Remarks == == Remarks ==
-This overload allows you to create the Feature from well-known text and specify the Id.+  * //This overload allows you to create the Feature from well-known text and specify the Id.//
 == Parameters == == Parameters ==
   * //​wellKnownText//​   * //​wellKnownText//​
Line 78: Line 81:
 ** {{wiki:​PublicMethod.gif|}} Feature(BaseShape,​IDictionary<​String,​String>​) ** ** {{wiki:​PublicMethod.gif|}} Feature(BaseShape,​IDictionary<​String,​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
 == Parameters == == Parameters ==
   * //​baseShape//​   * //​baseShape//​
Line 93: Line 96:
 ** {{wiki:​PublicMethod.gif|}} Feature(BaseShape,​IEnumerable<​String>​) ** ** {{wiki:​PublicMethod.gif|}} Feature(BaseShape,​IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
 == Parameters == == Parameters ==
   * //​baseShape//​   * //​baseShape//​
Line 108: Line 111:
 ** {{wiki:​PublicMethod.gif|}} Feature(String,​String,​IDictionary<​String,​String>​) ** ** {{wiki:​PublicMethod.gif|}} Feature(String,​String,​IDictionary<​String,​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
 == Parameters == == Parameters ==
   * //​wellKnownText//​   * //​wellKnownText//​
Line 127: Line 130:
 ** {{wiki:​PublicMethod.gif|}} Feature(String,​String,​IEnumerable<​String>​) ** ** {{wiki:​PublicMethod.gif|}} Feature(String,​String,​IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
 == Parameters == == Parameters ==
   * //​wellKnownText//​   * //​wellKnownText//​
Line 146: Line 149:
 ** {{wiki:​PublicMethod.gif|}} Feature(Byte[],​String,​IEnumerable<​String>​) ** ** {{wiki:​PublicMethod.gif|}} Feature(Byte[],​String,​IEnumerable<​String>​) **
  
-This method is the constructor for the Feature.+  * //This method is the constructor for the Feature.//
 == Remarks == == Remarks ==
-This overload allows you to create the Feature from well-known binary and feature ID, as well as specify the column values.+  * //This overload allows you to create the Feature from well-known binary and feature ID, as well as specify the column values.//
 == Parameters == == Parameters ==
   * //​wellKnownBinary//​   * //​wellKnownBinary//​
Line 165: Line 168:
 ** {{wiki:​PublicMethod.gif|}} Feature(Byte[],​String,​IDictionary<​String,​String>​) ** ** {{wiki:​PublicMethod.gif|}} Feature(Byte[],​String,​IDictionary<​String,​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
 == Parameters == == Parameters ==
   * //​wellKnownBinary//​   * //​wellKnownBinary//​
Line 184: Line 187:
 ** {{wiki:​PublicMethod.gif|}} Feature(Vertex) ** ** {{wiki:​PublicMethod.gif|}} Feature(Vertex) **
  
-This method is the constructor for the Feature.+  * //This method is the constructor for the Feature.//
 == Remarks == == Remarks ==
-You can use this constructor to create a point Feature easily.+  * //You can use this constructor to create a point Feature easily.//
 == Parameters == == Parameters ==
   * //vertex//   * //vertex//
Line 195: Line 198:
 ** {{wiki:​PublicMethod.gif|}} Feature(Vertex,​String) ** ** {{wiki:​PublicMethod.gif|}} Feature(Vertex,​String) **
  
-This method is the constructor for the Feature.+  * //This method is the constructor for the Feature.//
 == Remarks == == Remarks ==
-You can use this constructor to create a point Feature and specify the Id.+  * //You can use this constructor to create a point Feature and specify the Id.//
 == Parameters == == Parameters ==
   * //vertex//   * //vertex//
Line 210: Line 213:
 ** {{wiki:​PublicMethod.gif|}} Feature(Vertex,​String,​IEnumerable<​String>​) ** ** {{wiki:​PublicMethod.gif|}} Feature(Vertex,​String,​IEnumerable<​String>​) **
  
-This method is the constructor for the Feature.+  * //This method is the constructor for the Feature.//
 == Remarks == == Remarks ==
-You can use this constructor to create a point Feature and specify the Id as well as the column values.+  * //You can use this constructor to create a point Feature and specify the Id as well as the column values.//
 == Parameters == == Parameters ==
   * //vertex//   * //vertex//
Line 229: Line 232:
 ** {{wiki:​PublicMethod.gif|}} Feature(Vertex,​String,​IDictionary<​String,​String>​) ** ** {{wiki:​PublicMethod.gif|}} Feature(Vertex,​String,​IDictionary<​String,​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
 == Parameters == == Parameters ==
   * //vertex//   * //vertex//
Line 248: Line 251:
 ** {{wiki:​PublicMethod.gif|}} Feature(Double,​Double) ** ** {{wiki:​PublicMethod.gif|}} Feature(Double,​Double) **
  
-This method is the constructor for the Feature.+  * //This method is the constructor for the Feature.//
 == Remarks == == Remarks ==
-You can use this constructor to create a point Feature based on x and y coordinates.+  * //You can use this constructor to create a point Feature based on x and y coordinates.//
 == Parameters == == Parameters ==
   * //x//   * //x//
Line 263: Line 266:
 ** {{wiki:​PublicMethod.gif|}} Feature(Double,​Double,​String) ** ** {{wiki:​PublicMethod.gif|}} Feature(Double,​Double,​String) **
  
-This method is the constructor for the Feature.+  * //This method is the constructor for the Feature.//
 == Remarks == == Remarks ==
-You can use this constructor to create a point Feature based on x and y coordinates and specify the Id.+  * //You can use this constructor to create a point Feature based on x and y coordinates and specify the Id.//
 == Parameters == == Parameters ==
   * //x//   * //x//
Line 282: Line 285:
 ** {{wiki:​PublicMethod.gif|}} Feature(Double,​Double,​String,​IEnumerable<​String>​) ** ** {{wiki:​PublicMethod.gif|}} Feature(Double,​Double,​String,​IEnumerable<​String>​) **
  
-This method is the constructor for the Feature.+  * //This method is the constructor for the Feature.//
 == Remarks == == Remarks ==
-You can use this constructor to create a point Feature based on x and y coordinates and specify both the Id and the column values.+  * //You can use this constructor to create a point Feature based on x and y coordinates and specify both the Id and the column values.//
 == Parameters == == Parameters ==
   * //x//   * //x//
Line 305: Line 308:
 ** {{wiki:​PublicMethod.gif|}} Feature(Double,​Double,​String,​IDictionary<​String,​String>​) ** ** {{wiki:​PublicMethod.gif|}} Feature(Double,​Double,​String,​IDictionary<​String,​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
 == Parameters == == Parameters ==
   * //x//   * //x//
Line 328: Line 331:
 ==== Protected Constructors ==== ==== Protected Constructors ====
 ==== Public Methods ==== ==== Public Methods ====
 +** {{wiki:​PublicMethod.gif|}} IsTopologicallyEqual(Feature) **
 +
 +  * //This method returns if the current feature and the targetFeature are topologically equal.//
 +== Remarks ==
 +  * //​Topologically equal means that the shapes are essentially the same. For example, let's say you have a line with two points, point A and point B. You also have another line that is made up of point A, point B and point C. Point A of line one shares the same vertex as point A of line two, and point B of line one shares the same vertex as point C of line two. They are both straight lines, so point B of line two would lie on the first line. Essentially the two lines are the same, with line 2 having just one extra point. Topologically they are the same line, so this method would return true. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//​
 +
 +== Return Value ==
 +  * Type:​Boolean
 +  * Description:​This method returns if the current feature and the targetFeature are topologically equal.
 +
 +== Parameters ==
 +  * //​targetFeature//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]]
 +    * Description:​The targetFeature that contains a shape you wish to compare the current one to.
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Overlaps(Feature) **
 +
 +  * //This method returns if the current feature and the targetFeature share some but not all points in common.//
 +== Remarks ==
 +  * //As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//​
 +
 +== Return Value ==
 +  * Type:​Boolean
 +  * Description:​This method returns if the current feature and the targetFeature share some but not all points in common.
 +
 +== Parameters ==
 +  * //​targetFeature//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]]
 +    * Description:​The targetFeature that contains a shape you wish to compare the current one to.
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Touches(Feature) **
 +
 +  * //This method returns of the current feature and the targetFeature have at least one boundary point in common, but no interior points.//
 +== Remarks ==
 +  * //As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//​
 +
 +== Return Value ==
 +  * Type:​Boolean
 +  * Description:​This method returns of the current feature and the targetFeature have at least one boundary point in common, but no interior points.
 +
 +== Parameters ==
 +  * //​targetFeature//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]]
 +    * Description:​The targetFeature which contains a shape that you wish to compare the current one to.
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} GetIntersection(Feature) **
 +
 +  * //This method returns the intersection of the current feature and the target feature, defined as the set of all points which lie in both the current feature and the target feature.//
 +== Remarks ==
 +  * //None//
 +
 +== Return Value ==
 +  * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]]
 +  * Description:​The return type is a Feature that contains the set of all points which lie in both the current feature and the target feature.
 +
 +== Parameters ==
 +  * //​targetFeature//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]]
 +    * Description:​The feature you are trying to find the intersection with.
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} GetDifference(Feature) **
 +
 +  * //This method returns the difference between current feature and the specified feature, defined as the set of all points which lie in the current feature but not in the targetFeature.//​
 +== Remarks ==
 +  * //None//
 +
 +== Return Value ==
 +  * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]]
 +  * Description:​The return type is a Feature that is the set of all points which lie in the current feature but not in the target feature.
 +
 +== Parameters ==
 +  * //​targetFeature//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]]
 +    * Description:​The feture you are trying to find the difference with.
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} GetConvexHull() **
 +
 +  * //This method returns the convex hull of the feature, defined as the smallest convex ring that contains all of the points in the feature.//
 +== Remarks ==
 +  * //This method is useful when you want to create a perimeter around the shape. For example, if you had a MultiPolygon that represented buildings on a campus, you could easily get the convex hull of the buildings and determine the perimeter of all of the buildings together. This also works with MultiPoint shapes, where each point may represent a certain type of person you are doing statistics on. With convex hull, you can get an idea of the regions those points are located in.//
 +
 +== Return Value ==
 +  * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]]
 +  * Description:​This method returns the convex hull of the feature, defined as the smallest convex ring that contains all of the points in the feature.
 +
 +== Parameters ==
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} GetInvalidReason() **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:String
 +  * Description:​N/​A
 +
 +== Parameters ==
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} MakeValid() **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]]
 +  * Description:​N/​A
 +
 +== Parameters ==
 +<div newline></​div>​
 ** {{wiki:​PublicMethod.gif|}} GetWellKnownBinary() ** ** {{wiki:​PublicMethod.gif|}} GetWellKnownBinary() **
  
-This method returns the well-known binary that represents the Feature.+  * //This method returns the well-known binary that represents the Feature.//
 == Remarks == == Remarks ==
-This will return a copy of the well-known binary that represents the Feature.+  * //This will return a copy of the well-known binary that represents the Feature.//
  
 == Return Value == == Return Value ==
Line 342: Line 461:
 ** {{wiki:​PublicMethod.gif|}} GetWellKnownBinary(WkbByteOrder) ** ** {{wiki:​PublicMethod.gif|}} GetWellKnownBinary(WkbByteOrder) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 358: Line 477:
 ** {{wiki:​PublicMethod.gif|}} GetWellKnownBinary(RingOrder) ** ** {{wiki:​PublicMethod.gif|}} GetWellKnownBinary(RingOrder) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 374: Line 493:
 ** {{wiki:​PublicMethod.gif|}} GetWellKnownBinary(RingOrder,​WkbByteOrder) ** ** {{wiki:​PublicMethod.gif|}} GetWellKnownBinary(RingOrder,​WkbByteOrder) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 394: Line 513:
 ** {{wiki:​PublicMethod.gif|}} ToString() ** ** {{wiki:​PublicMethod.gif|}} ToString() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 406: Line 525:
 ** {{wiki:​PublicMethod.gif|}} GetWellKnownType() ** ** {{wiki:​PublicMethod.gif|}} GetWellKnownType() **
  
-This method returns the well known type that represents the Feature.+  * //This method returns the well known type that represents the Feature.//
 == Remarks == == Remarks ==
-None+  * //None//
  
 == Return Value == == Return Value ==
Line 418: Line 537:
 ** {{wiki:​PublicMethod.gif|}} GetShape() ** ** {{wiki:​PublicMethod.gif|}} GetShape() **
  
-This method returns the shape class that represents the Feature.+  * //This method returns the shape class that represents the Feature.//
 == Remarks == == Remarks ==
-This method allows you to get a shape class from a Feature. Because the Feature stores the geometry for itself in well-known binary, it may take some time to generate a shape class if the geometry is complex.+  * //This method allows you to get a shape class from a Feature. Because the Feature stores the geometry for itself in well-known binary, it may take some time to generate a shape class if the geometry is complex.//
  
 == Return Value == == Return Value ==
Line 430: Line 549:
 ** {{wiki:​PublicMethod.gif|}} GetWellKnownText() ** ** {{wiki:​PublicMethod.gif|}} GetWellKnownText() **
  
-This method returns the well-known text that represents the Feature.+  * //This method returns the well-known text that represents the Feature.//
 == Remarks == == Remarks ==
-This method allows you to get the well-known text from a Feature. Because the Feature stores the geometry for itself in well-known binary, it may take some time to generate the text if the geometry is complex.+  * //This method allows you to get the well-known text from a Feature. Because the Feature stores the geometry for itself in well-known binary, it may take some time to generate the text if the geometry is complex.//
  
 == Return Value == == Return Value ==
Line 442: Line 561:
 ** {{wiki:​PublicMethod.gif|}} GetWellKnownText(RingOrder) ** ** {{wiki:​PublicMethod.gif|}} GetWellKnownText(RingOrder) **
  
-This method returns the well-known text representation of this feature.+  * //This method returns the well-known text representation of this feature.//
 == Remarks == == 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.+  * //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 == == Return Value ==
Line 458: Line 577:
 ** {{wiki:​PublicMethod.gif|}} GetGeoJson() ** ** {{wiki:​PublicMethod.gif|}} GetGeoJson() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 470: Line 589:
 ** {{wiki:​PublicMethod.gif|}} GetBoundingBox() ** ** {{wiki:​PublicMethod.gif|}} GetBoundingBox() **
  
-This method returns the bounding box of the Feature.+  * //This method returns the bounding box of the Feature.//
 == Remarks == == Remarks ==
-None+  * //None//
  
 == Return Value == == Return Value ==
Line 482: Line 601:
 ** {{wiki:​PublicMethod.gif|}} CloneDeep(IEnumerable<​String>​) ** ** {{wiki:​PublicMethod.gif|}} CloneDeep(IEnumerable<​String>​) **
  
-This method clones the entire structure, creating a totally separate copy.+  * //This method clones the entire structure, creating a totally separate copy.//
 == Remarks == == Remarks ==
-This method will return a complete copy of the Feature. As this is a deep clone, there are no shared references between the source and the copy.+  * //This method will return a complete copy of the Feature. As this is a deep clone, there are no shared references between the source and the copy.//
  
 == Return Value == == Return Value ==
Line 498: Line 617:
 ** {{wiki:​PublicMethod.gif|}} CloneDeep(ReturningColumnsType) ** ** {{wiki:​PublicMethod.gif|}} CloneDeep(ReturningColumnsType) **
  
-This method clones the entire structure, creating a totally separate copy.+  * //This method clones the entire structure, creating a totally separate copy.//
 == Remarks == == Remarks ==
-This method will return a complete copy of the Feature. As this is a deep clone, there are no shared references between the source and the copy.+  * //This method will return a complete copy of the Feature. As this is a deep clone, there are no shared references between the source and the copy.//
  
 == Return Value == == Return Value ==
Line 514: Line 633:
 ** {{wiki:​PublicMethod.gif|}} CloneDeep() ** ** {{wiki:​PublicMethod.gif|}} CloneDeep() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 526: Line 645:
 ** {{wiki:​PublicMethod.gif|}} IsValid() ** ** {{wiki:​PublicMethod.gif|}} IsValid() **
  
-This method returns the results of some simple validity tests on the Feature.+  * //This method returns the results of some simple validity tests on the Feature.//
 == Remarks == == Remarks ==
-This method is used primarily to ensure that a Feature is valid. The reason is, since this is a structure, we cannot control the main constructor that allows you to create a Feature in an invalid state -- that state being one with no well-known binary at its core. If you use the constructure set provided, then the state should always be valid. This is a property you may want to check before you work with a Feature.+  * //This method is used primarily to ensure that a Feature is valid. The reason is, since this is a structure, we cannot control the main constructor that allows you to create a Feature in an invalid state -- that state being one with no well-known binary at its core. If you use the constructure set provided, then the state should always be valid. This is a property you may want to check before you work with a Feature.//
  
 == Return Value == == Return Value ==
Line 538: Line 657:
 ** {{wiki:​PublicMethod.gif|}} Union(Feature) ** ** {{wiki:​PublicMethod.gif|}} Union(Feature) **
  
-This method returns the union of the current feature and the target feature, defined as the set of all points in the current feature or the target feature.+  * //This method returns the union of the current feature and the target feature, defined as the set of all points in the current feature or the target feature.//
 == Remarks == == Remarks ==
-This is useful for adding area features together to form a larger area shape.+  * //This is useful for adding area features together to form a larger area shape.//
  
 == Return Value == == Return Value ==
Line 554: Line 673:
 ** {{wiki:​PublicMethod.gif|}} Buffer(Double,​GeographyUnit,​DistanceUnit) ** ** {{wiki:​PublicMethod.gif|}} Buffer(Double,​GeographyUnit,​DistanceUnit) **
  
-This method computes the area containing all of the points within a given distance from this feature.+  * //This method computes the area containing all of the points within a given distance from this feature.//
 == Remarks == == Remarks ==
-This method computes the area containing all of the points within a given distance from this feature. In this case, you will be using the rounded RoundedBufferCapStyle and the default 8 quadrant segments. The distance unit is determined by the distanceUnit argument. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.+  * //This method computes the area containing all of the points within a given distance from this feature. In this case, you will be using the rounded RoundedBufferCapStyle and the default 8 quadrant segments. The distance unit is determined by the distanceUnit argument. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//
  
 == Return Value == == Return Value ==
Line 578: Line 697:
 ** {{wiki:​PublicMethod.gif|}} Buffer(Double,​Int32,​GeographyUnit,​DistanceUnit) ** ** {{wiki:​PublicMethod.gif|}} Buffer(Double,​Int32,​GeographyUnit,​DistanceUnit) **
  
-This method computes the area containing all of the points within a given distance from this feature.+  * //This method computes the area containing all of the points within a given distance from this feature.//
 == Remarks == == Remarks ==
-This method computes the area containing all of the points within a given distance from this feature. In this case, you will be using the rounded RoundedBufferCapStyle. The distance unit is determined by the distanceUnit argument. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.+  * //This method computes the area containing all of the points within a given distance from this feature. In this case, you will be using the rounded RoundedBufferCapStyle. The distance unit is determined by the distanceUnit argument. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//
  
 == Return Value == == Return Value ==
Line 606: Line 725:
 ** {{wiki:​PublicMethod.gif|}} Buffer(Double,​Int32,​BufferCapType,​GeographyUnit,​DistanceUnit) ** ** {{wiki:​PublicMethod.gif|}} Buffer(Double,​Int32,​BufferCapType,​GeographyUnit,​DistanceUnit) **
  
-This method computes the area containing all of the points within a given distance from this feature.+  * //This method computes the area containing all of the points within a given distance from this feature.//
 == Remarks == == Remarks ==
-This method computes the area containing all of the points within a given distance from this feature. In this case, you will be using the rounded RoundedBufferCapStyle and the default 8 quadrant segments. The distance unit is determined by the distanceUnit argument. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.+  * //This method computes the area containing all of the points within a given distance from this feature. In this case, you will be using the rounded RoundedBufferCapStyle and the default 8 quadrant segments. The distance unit is determined by the distanceUnit argument. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.//
  
 == Return Value == == Return Value ==
Line 638: Line 757:
 ** {{wiki:​PublicMethod.gif|}} Contains(Feature) ** ** {{wiki:​PublicMethod.gif|}} Contains(Feature) **
  
-This method returns if the targetFeature lies within the interior of the current feature.+  * //This method returns if the targetFeature lies within the interior of the current feature.//
 == Remarks == == 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.+  * //As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. 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 ==
Line 654: Line 773:
 ** {{wiki:​PublicMethod.gif|}} Crosses(Feature) ** ** {{wiki:​PublicMethod.gif|}} Crosses(Feature) **
  
-This method returns if the current feature and the targetFeature share some but not all interior points.+  * //This method returns if the current feature and the targetFeature share some but not all interior points.//
 == Remarks == == 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.+  * //As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. 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 ==
Line 670: Line 789:
 ** {{wiki:​PublicMethod.gif|}} IsWithin(Feature) ** ** {{wiki:​PublicMethod.gif|}} IsWithin(Feature) **
  
-This method returns if the current feature lies within the interior of the targetFeature.+  * //This method returns if the current feature lies within the interior of the targetFeature.//
 == Remarks == == 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.+  * //As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. 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 ==
Line 686: Line 805:
 ** {{wiki:​PublicMethod.gif|}} Intersects(Feature) ** ** {{wiki:​PublicMethod.gif|}} Intersects(Feature) **
  
-This method returns if the current feature and the targetFeature have at least one point in common.+  * //This method returns if the current feature and the targetFeature have at least one point in common.//
 == Remarks == == 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.+  * //As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. 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 ==
Line 702: Line 821:
 ** {{wiki:​PublicMethod.gif|}} IsDisjointed(Feature) ** ** {{wiki:​PublicMethod.gif|}} IsDisjointed(Feature) **
  
-This method returns if the current feature and the targetFeature have no points in common.+  * //This method returns if the current feature and the targetFeature have no points in common.//
 == Remarks == == Remarks ==
-None+  * //None//
  
 == Return Value == == Return Value ==
Line 716: Line 835:
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​PublicMethod.gif|}} ​IsTopologicallyEqual(Feature) **+** {{wiki:​PublicMethod.gif|}} ​Equals(Object) **
  
-This method returns if the current feature and the targetFeature are topologically equal.+  * //N/A//
 == Remarks == == Remarks ==
-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.+  * //N/A//
  
 == Return Value == == Return Value ==
   * Type:​Boolean   * Type:​Boolean
-  * Description:​This method returns if the current feature and the targetFeature are topologically equal.+  * Description:​N/A
  
 == Parameters == == Parameters ==
-  * //targetFeature// +  * //obj// 
-    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] +    * Type:Object 
-    * Description:​The targetFeature that contains a shape you wish to compare the current one to.+    * Description:​N/A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​PublicMethod.gif|}} ​Overlaps(Feature) **+** {{wiki:​PublicMethod.gif|}} ​GetHashCode() **
  
-This method returns if the current feature and the targetFeature share some but not all points in common.+  * //N/A//
 == Remarks == == 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.+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:Boolean +  * Type:Int32 
-  * Description:​This method returns if the current feature and the targetFeature share some but not all points in common.+  * Description:​N/A
  
 == Parameters == == Parameters ==
-  * //​targetFeature//​ 
-    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-    * Description:​The targetFeature that contains a shape you wish to compare the current one to. 
- 
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​PublicMethod.gif|}} ​Touches(Feature) **+** {{wiki:​PublicMethod.gif|}} ​GetType() **
  
-This method returns of the current feature and the targetFeature have at least one boundary point in common, but no interior points.+  * //N/A//
 == Remarks == == 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.+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:Boolean +  * Type:Type 
-  * Description:​This method returns of the current feature and the targetFeature have at least one boundary point in common, but no interior points.+  * Description:​N/A
  
 == Parameters == == Parameters ==
-  * //​targetFeature//​ 
-    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-    * Description:​The targetFeature which contains a shape that you wish to compare the current one to. 
- 
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​PublicMethod.gif|}} ​GetIntersection(Feature) **+** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} CreateFeatureFromGeoJson(String) **
  
-This method returns the intersection of the current feature and the target feature, defined as the set of all points which lie in both the current feature and the target feature.+  * //N/A//
 == Remarks == == Remarks ==
-None+  * //N/A//
  
 == Return Value == == Return Value ==
   * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]]   * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]]
-  * Description:​The return type is a Feature that contains the set of all points which lie in both the current feature and the target feature.+  * Description:​N/A
  
 == Parameters == == Parameters ==
-  * //targetFeature// +  * //geoJson// 
-    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] +    * Type:String 
-    * Description:​The feature you are trying to find the intersection with.+    * Description:​N/A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​PublicMethod.gif|}} ​GetDifference(Feature) **+** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} CreateFeatureFromWellKnownData(Byte[]) **
  
-This method returns the difference between current feature and the specified feature, defined as the set of all points which lie in the current feature but not in the targetFeature.+  * //N/A//
 == Remarks == == Remarks ==
-None+  * //N/A//
  
 == Return Value == == Return Value ==
   * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]]   * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]]
-  * Description:​The return type is a Feature that is the set of all points which lie in the current feature but not in the target feature. 
- 
-== Parameters == 
-  * //​targetFeature//​ 
-    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-    * Description:​The feture you are trying to find the difference with. 
- 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} GetConvexHull() ** 
- 
-This method returns the convex hull of the feature, defined as the smallest convex ring that contains all of the points in the feature. 
-== Remarks == 
-This method is useful when you want to create a perimeter around the shape. For example, if you had a MultiPolygon that represented buildings on a campus, you could easily get the convex hull of the buildings and determine the perimeter of all of the buildings together. This also works with MultiPoint shapes, where each point may represent a certain type of person you are doing statistics on. With convex hull, you can get an idea of the regions those points are located in. 
- 
-== Return Value == 
-  * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-  * Description:​This method returns the convex hull of the feature, defined as the smallest convex ring that contains all of the points in the feature. 
- 
-== Parameters == 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} SetWellKnownBinary(Byte[]) ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:Void 
   * Description:​N/​A   * Description:​N/​A
  
Line 824: Line 907:
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​PublicMethod.gif|}} ​GetInvalidReason() ** +** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} ​CreateFeatureFromWellKnownData(String) **
- +
-N/A +
-== Remarks == +
-N/A +
- +
-== Return Value == +
-  * Type:​String +
-  * Description:​N/​A +
- +
-== Parameters == +
-<div newline></​div>​ +
-** {{wiki:PublicMethod.gif|}} ​MakeValid() **+
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 847: Line 918:
  
 == Parameters == == Parameters ==
-<div newline></​div>​ +  ​* //wellKnownText// 
-** {{wiki:​PublicMethod.gif|}} Equals(Object) ** +    * Type:String
- +
-N/A +
-== Remarks == +
-N/A +
- +
-== Return Value == +
-  * Type:​Boolean +
-  * Description:​N/​A +
- +
-== Parameters == +
-  ​* //obj// +
-    * Type:Object+
     * Description:​N/​A     * Description:​N/​A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​PublicMethod.gif|}} ​GetHashCode() **+** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} Union(IEnumerable<​Feature>​) **
  
-N/A+  * //This method returns the union of the specified features.//
 == Remarks == == Remarks ==
-N/A+  * //This is useful for adding area features together to form a larger area feature.//
  
 == Return Value == == Return Value ==
-  * Type:Int32 +  * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-  * Description:​N/A+  * Description:​The return type is a Feature that contains the set of all points that lie within the features you specified.
  
 == Parameters == == Parameters ==
 +  * //​targetFeatures//​
 +    * Type:​IEnumerable<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​
 +    * Description:​The features you are trying to find the union with.
 +
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:PublicMethod.gif|}} ​GetType() **+==== Protected Methods ==== 
 +** {{wiki:ProtectedMethod.gif|}} ​GetStartPoint() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:Type+  * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]]
   * Description:​N/​A   * Description:​N/​A
  
 == Parameters == == Parameters ==
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:PublicMethod.gif|}}{{wiki:​Static.gif|}} CreateFeatureFromGeoJson(String) **+** {{wiki:ProtectedMethod.gif|}} ​GetEndPoint() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 899: Line 963:
  
 == Parameters == == Parameters ==
-  * //geoJson// 
-    * Type:String 
-    * Description:​N/​A 
- 
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:PublicMethod.gif|}}{{wiki:​Static.gif|}} CreateFeatureFromWellKnownData(Byte[]) **+** {{wiki:ProtectedMethod.gif|}} ​GetAllPoints() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]]+  * Type:Collection<​[[ThinkGeo.MapSuite.Core.Vertex|Vertex]]>
   * Description:​N/​A   * Description:​N/​A
  
 == Parameters == == Parameters ==
-  * //​wellKnownBinary//​ 
-    * Type:Byte[] 
-    * Description:​N/​A 
- 
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:PublicMethod.gif|}}{{wiki:​Static.gif|}} CreateFeatureFromWellKnownData(String) **+** {{wiki:ProtectedMethod.gif|}} ​SetWellKnownBinary(Byte[]) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]]+  * Type:Void
   * Description:​N/​A   * Description:​N/​A
  
 == Parameters == == Parameters ==
-  * //wellKnownText// +  * //wkb// 
-    * Type:String+    * Type:Byte[]
     * Description:​N/​A     * Description:​N/​A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:PublicMethod.gif|}}{{wiki:​Static.gif|}} Union(IEnumerable<​Feature>​) **+** {{wiki:ProtectedMethod.gif|}} ​GetShapeCore() **
  
-This method returns the union of the specified features.+  * //This method returns the shape class that represents ​the Feature.//
 == Remarks == == Remarks ==
-This is useful ​for adding area features together ​to form larger area feature.+  * //This method allows you to get a shape class from a Feature. Because the Feature stores the geometry ​for itself in well-known binary, it may take some time to generate ​shape class if the geometry is complex.//
  
 == Return Value == == Return Value ==
-  * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] +  * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-  * Description:​The return type is a Feature that contains ​the set of all points ​that lie within ​the features you specified.+  * Description:​This method returns ​the shape class that represents ​the Feature.
  
 == Parameters == == Parameters ==
-  * //​targetFeatures//​ 
-    * Type:​IEnumerable<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-    * Description:​The features you are trying to find the union with. 
- 
 <div newline></​div>​ <div newline></​div>​
-==== Protected Methods ==== 
 ** {{wiki:​ProtectedMethod.gif|}} GetWellKnownBinaryCore(RingOrder,​WkbByteOrder) ** ** {{wiki:​ProtectedMethod.gif|}} GetWellKnownBinaryCore(RingOrder,​WkbByteOrder) **
  
-This method returns a byte array that represents the feature in well-known binary.+  * //This method returns a byte array that represents the feature in well-known binary.//
 == Remarks == == Remarks ==
-This method returns a byte array that represents the feature in well-known binary. Well-known binary allows you to describe geometries as a binary array. Well-known binary is useful when you want to save a geometry in an efficient format using as little space as possible. An alternative to well-known binary is well-known text, which is a textual representation of a geometry object. We have methods that work with well known text as well. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.+  * //This method returns a byte array that represents the feature in well-known binary. Well-known binary allows you to describe geometries as a binary array. Well-known binary is useful when you want to save a geometry in an efficient format using as little space as possible. An alternative to well-known binary is well-known text, which is a textual representation of a geometry object. We have methods that work with well known text as well. Overriding: Please ensure that you validate the parameters being passed in and raise the exceptions defined above.//
  
 == Return Value == == Return Value ==
Line 975: Line 1026:
 ** {{wiki:​ProtectedMethod.gif|}} GetWellKnownTypeCore() ** ** {{wiki:​ProtectedMethod.gif|}} GetWellKnownTypeCore() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 987: Line 1038:
 ** {{wiki:​ProtectedMethod.gif|}} GetWellKnownTextCore(RingOrder) ** ** {{wiki:​ProtectedMethod.gif|}} GetWellKnownTextCore(RingOrder) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 1003: Line 1054:
 ** {{wiki:​ProtectedMethod.gif|}} GetGeoJsonCore() ** ** {{wiki:​ProtectedMethod.gif|}} GetGeoJsonCore() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 1015: Line 1066:
 ** {{wiki:​ProtectedMethod.gif|}} GetBoundingBoxCore() ** ** {{wiki:​ProtectedMethod.gif|}} GetBoundingBoxCore() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 1024: Line 1075:
  
 == Parameters == == Parameters ==
-<div newline></​div>​ 
-** {{wiki:​ProtectedMethod.gif|}} yyo=() ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-  * Description:​N/​A 
- 
-== Parameters == 
-<div newline></​div>​ 
-** {{wiki:​ProtectedMethod.gif|}} yio=() ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-  * Description:​N/​A 
- 
-== Parameters == 
-<div newline></​div>​ 
-** {{wiki:​ProtectedMethod.gif|}} ySo=() ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Vertex|Vertex]]>​ 
-  * Description:​N/​A 
- 
-== Parameters == 
-<div newline></​div>​ 
-** {{wiki:​ProtectedMethod.gif|}} GetShapeCore() ** 
- 
-This method returns the shape class that represents the Feature. 
-== Remarks == 
-This method allows you to get a shape class from a Feature. Because the Feature stores the geometry for itself in well-known binary, it may take some time to generate a shape class if the geometry is complex. 
- 
-== Return Value == 
-  * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-  * Description:​This method returns the shape class that represents the Feature. 
- 
-== Parameters == 
-<div newline></​div>​ 
-** {{wiki:​ProtectedMethod.gif|}} Q0E=(Feature) ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:Void 
-  * Description:​N/​A 
- 
-== Parameters == 
-  * //​sourceFeature//​ 
-    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-    * Description:​N/​A 
- 
 <div newline></​div>​ <div newline></​div>​
 ** {{wiki:​ProtectedMethod.gif|}} Finalize() ** ** {{wiki:​ProtectedMethod.gif|}} Finalize() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 1103: Line 1090:
 ** {{wiki:​ProtectedMethod.gif|}} MemberwiseClone() ** ** {{wiki:​ProtectedMethod.gif|}} MemberwiseClone() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 1116: Line 1103:
 ** {{wiki:​PublicProperty.gif|}} CanMakeValid ** ** {{wiki:​PublicProperty.gif|}} CanMakeValid **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
 == Return Value == == Return Value ==
   * Type:​Boolean   * Type:​Boolean
- 
-** {{wiki:​PublicProperty.gif|}} LinkColumnValues ** 
- 
-N/A 
-== Remarks == 
-N/A 
-== Return Value == 
-  * Type:​Dictionary<​String,​Collection<​[[ThinkGeo.MapSuite.Core.LinkColumnValue|LinkColumnValue]]>>​ 
  
 ** {{wiki:​PublicProperty.gif|}} Id ** ** {{wiki:​PublicProperty.gif|}} Id **
  
-This property gets the Id for the Feature.+  * //This property gets the Id for the Feature.//
 == Remarks == == Remarks ==
-The Id is a string that represents the unique identifier for this Feature. If the feature is returned from a FeatureSource,​ the Id will be the unique field descriptor used by the FeatureSource. For Shape Files this may be an integer, but for spatial databases the Id may be a GUID.+  * //The Id is a string that represents the unique identifier for this Feature. If the feature is returned from a FeatureSource,​ the Id will be the unique field descriptor used by the FeatureSource. For Shape Files this may be an integer, but for spatial databases the Id may be a GUID.//
 == Return Value == == Return Value ==
   * Type:String   * Type:String
Line 1140: Line 1119:
 ** {{wiki:​PublicProperty.gif|}} Tag ** ** {{wiki:​PublicProperty.gif|}} Tag **
  
-The tag of the Feature.+  * //The tag of the Feature.//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
 == Return Value == == Return Value ==
   * Type:Object   * Type:Object
Line 1148: Line 1127:
 ** {{wiki:​PublicProperty.gif|}} ColumnValues ** ** {{wiki:​PublicProperty.gif|}} ColumnValues **
  
-This property gets a dictionary of values to represent the column data related to this Feature.+  * //This property gets a dictionary of values to represent the column data related to this Feature.//
 == Remarks == == Remarks ==
-This property holds the column data related to this Feature. You can find the values in the dictionary using the column name as the key. Most methods that query and return InternalFeatures allow you to specify which columns of data you want returned with the results. You can also freely add and modify the data, as it is simply an in-memory dictionary. Any values added, deleted or updated will have no effect unless the Feature is part of a transaction.+  * //This property holds the column data related to this Feature. You can find the values in the dictionary using the column name as the key. Most methods that query and return InternalFeatures allow you to specify which columns of data you want returned with the results. You can also freely add and modify the data, as it is simply an in-memory dictionary. Any values added, deleted or updated will have no effect unless the Feature is part of a transaction.//
 == Return Value == == Return Value ==
   * Type:​Dictionary<​String,​String>​   * Type:​Dictionary<​String,​String>​
thinkgeo.mapsuite.portablecore.feature.1442822860.txt.gz · Last modified: 2015/09/21 08:07 by admin