User Tools

Site Tools


thinkgeo.mapsuite.core.multipleshapefilefeaturesource

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.multipleshapefilefeaturesource [2015/09/21 01:07]
admin
thinkgeo.mapsuite.core.multipleshapefilefeaturesource [2017/03/16 21:59] (current)
Line 1: Line 1:
 ====== ThinkGeo.MapSuite.Core.MultipleShapeFileFeatureSource ====== ====== ThinkGeo.MapSuite.Core.MultipleShapeFileFeatureSource ======
 +
 +{{section>​upgrade_map_suite_to_10.0}}
 +
 This class represents a FeatureSource backed by multiple ESRI Shape Files. This class represents a FeatureSource backed by multiple ESRI Shape Files.
 ===== Inheritance Hierarchy ===== ===== Inheritance Hierarchy =====
Line 9: Line 12:
 ** {{wiki:​PublicMethod.gif|}} MultipleShapeFileFeatureSource() ** ** {{wiki:​PublicMethod.gif|}} MultipleShapeFileFeatureSource() **
  
-This is the default constructor for the class.+  * //This is the default constructor for the class.//
 == Remarks == == Remarks ==
-This is the default constructor. If you use this constructor then you need to set the required properties manually.+  * //This is the default constructor. If you use this constructor then you need to set the required properties manually.//
 == Parameters == == Parameters ==
 <div newline></​div>​ <div newline></​div>​
 ** {{wiki:​PublicMethod.gif|}} MultipleShapeFileFeatureSource(String) ** ** {{wiki:​PublicMethod.gif|}} MultipleShapeFileFeatureSource(String) **
  
-This is the constructor for the class.+  * //This is the constructor for the class.//
 == Remarks == == Remarks ==
-This is the constructor for this class. You can pass in a multipleShapeFilePattern like C:​\MapData\??​lka.shp to use all the shp files in the C:\MapData\ folder with a five letters as its file name without extentsion, the last three should be "​lka"​. And also you can use c:​\MapData\USRoad??​.shp as the parameter to use all the file which the file name begin with "​USRoad"​ and end with any 2 character shape file; like "​USRoadA1.shap"​ or "​USRoad_1.shp"​.+  * //This is the constructor for this class. You can pass in a multipleShapeFilePattern like C:​\MapData\??​lka.shp to use all the shp files in the C:\MapData\ folder with a five letters as its file name without extentsion, the last three should be "​lka"​. And also you can use c:​\MapData\USRoad??​.shp as the parameter to use all the file which the file name begin with "​USRoad"​ and end with any 2 character shape file; like "​USRoadA1.shap"​ or "​USRoad_1.shp"​.//
 == Parameters == == Parameters ==
   * //​multipleShapeFilePattern//​   * //​multipleShapeFilePattern//​
Line 27: Line 30:
 ** {{wiki:​PublicMethod.gif|}} MultipleShapeFileFeatureSource(String,​String) ** ** {{wiki:​PublicMethod.gif|}} MultipleShapeFileFeatureSource(String,​String) **
  
-This is the constructor for the class.+  * //This is the constructor for the class.//
 == Remarks == == Remarks ==
-This is the constructor for this class. You can pass in a multipleShapeFilePattern like C:​\MapData\??​lka.shp to use all the shp files in the C:\MapData\ folder with a five letters as its file name without extentsion, the last three should be "​lka"​. And also you can use c:​\MapData\USRoad??​.shp as the parameter to use all the file which the file name begin with "​USRoad"​ and end with any 2 character shape file; like "​USRoadA1.shap"​ or "​USRoad_1.shp"​.+  * //This is the constructor for this class. You can pass in a multipleShapeFilePattern like C:​\MapData\??​lka.shp to use all the shp files in the C:\MapData\ folder with a five letters as its file name without extentsion, the last three should be "​lka"​. And also you can use c:​\MapData\USRoad??​.shp as the parameter to use all the file which the file name begin with "​USRoad"​ and end with any 2 character shape file; like "​USRoadA1.shap"​ or "​USRoad_1.shp"​.//
 == Parameters == == Parameters ==
   * //​multipleShapeFilePattern//​   * //​multipleShapeFilePattern//​
Line 42: Line 45:
 ** {{wiki:​PublicMethod.gif|}} MultipleShapeFileFeatureSource(IEnumerable<​String>​) ** ** {{wiki:​PublicMethod.gif|}} MultipleShapeFileFeatureSource(IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
 == Parameters == == Parameters ==
   * //​shapeFiles//​   * //​shapeFiles//​
Line 53: Line 56:
 ** {{wiki:​PublicMethod.gif|}} MultipleShapeFileFeatureSource(IEnumerable<​String>,​IEnumerable<​String>​) ** ** {{wiki:​PublicMethod.gif|}} MultipleShapeFileFeatureSource(IEnumerable<​String>,​IEnumerable<​String>​) **
  
-This is the constructor for the class.+  * //This is the constructor for the class.//
 == Remarks == == Remarks ==
-This is the constructor for this class. You can pass in a group of shapes and its corresponding indexs like string[] shapeFiles = new string[] { "​C:​\CA_counties.shp",​ "​C:​\AZ_counties.shp"​ }; string[] indexFiles = new string[] { "​C:​\CA_counties.midx",​ "​C:​\AZ_counties.midx"​ }; In this way, the MultipleShapeFileFeatureSource will construct from the passing 2 shapes.+  * //This is the constructor for this class. You can pass in a group of shapes and its corresponding indexs like string[] shapeFiles = new string[] { "​C:​\CA_counties.shp",​ "​C:​\AZ_counties.shp"​ }; string[] indexFiles = new string[] { "​C:​\CA_counties.midx",​ "​C:​\AZ_counties.midx"​ }; In this way, the MultipleShapeFileFeatureSource will construct from the passing 2 shapes.//
 == Parameters == == Parameters ==
   * //​shapeFiles//​   * //​shapeFiles//​
Line 70: Line 73:
 ** {{wiki:​PublicMethod.gif|}} GetShapePathFileNames() ** ** {{wiki:​PublicMethod.gif|}} GetShapePathFileNames() **
  
-This method gets all the shape'​s path and filenames are using in this class based on the pass in MultipleShapeFilePattern.+  * //This method gets all the shape'​s path and filenames are using in this class based on the pass in MultipleShapeFilePattern.//
 == Remarks == == Remarks ==
-This method gets all the shape'​s path and filenames are using in this class based on the pass in MultipleShapeFilePattern.For example:If you pass in the path "​C:​\MapData\???​.shp"​ as the MultipleShapeFilePattern,​ this method will return a collection which contains all the shape file in folder "​C:​\MapData\"​ which filename only has 3 characters.If you pass in the path "​C:​\MapData\USRoad??​.shp"​ as the MultipleShapeFilePattern,​ this method will return a collection which contains all the shape file which begin with "​USRoad"​ and end with and 2 characters in folder "​C:​\MapData\";​ like USRoadA1.shp or USRoad_A.shp.+  * //This method gets all the shape'​s path and filenames are using in this class based on the pass in MultipleShapeFilePattern.For example:If you pass in the path "​C:​\MapData\???​.shp"​ as the MultipleShapeFilePattern,​ this method will return a collection which contains all the shape file in folder "​C:​\MapData\"​ which filename only has 3 characters.If you pass in the path "​C:​\MapData\USRoad??​.shp"​ as the MultipleShapeFilePattern,​ this method will return a collection which contains all the shape file which begin with "​USRoad"​ and end with and 2 characters in folder "​C:​\MapData\";​ like USRoadA1.shp or USRoad_A.shp.//
  
 == Return Value == == Return Value ==
Line 82: Line 85:
 ** {{wiki:​PublicMethod.gif|}} GetIndexPathFileNames() ** ** {{wiki:​PublicMethod.gif|}} GetIndexPathFileNames() **
  
-This method gets all the index'​s path and filenames are using in this class based on the pass in MultipleIndexFilePattern.+  * //This method gets all the index'​s path and filenames are using in this class based on the pass in MultipleIndexFilePattern.//
 == Remarks == == Remarks ==
-This method gets all the index'​s path and filenames are using in this class based on the pass in MultipleIndexFilePattern.For example:If you pass in the path "​C:​\MapData\???​.idx"​ as the MultipleIndexFilePattern,​ this method will return a collection which contains all the index file in folder "​C:​\MapData\"​ which filename has only 3 characters.If you pass in the path "​C:​\MapData\USRoad??​.idx"​ as the MultipleIndexFilePattern,​ this method will return a collection which contains all the index file which begin with "​USRoad"​ and end with and 2 characters in folder "​C:​\MapData\";​ like USRoadA1.idx or USRoad_A.idx. By the way, the file named AUSRoadA1.idx and USRoadA1A.idx will NOT included in the returning collection.+  * //This method gets all the index'​s path and filenames are using in this class based on the pass in MultipleIndexFilePattern.For example:If you pass in the path "​C:​\MapData\???​.idx"​ as the MultipleIndexFilePattern,​ this method will return a collection which contains all the index file in folder "​C:​\MapData\"​ which filename has only 3 characters.If you pass in the path "​C:​\MapData\USRoad??​.idx"​ as the MultipleIndexFilePattern,​ this method will return a collection which contains all the index file which begin with "​USRoad"​ and end with and 2 characters in folder "​C:​\MapData\";​ like USRoadA1.idx or USRoad_A.idx. By the way, the file named AUSRoadA1.idx and USRoadA1A.idx will NOT included in the returning collection.//
  
 == Return Value == == Return Value ==
Line 91: Line 94:
  
 == Parameters == == Parameters ==
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} GetBoundingBox() **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]
 +  * Description:​N/​A
 +
 +== Parameters ==
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} CloneDeep() **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:​[[ThinkGeo.MapSuite.Core.FeatureSource|FeatureSource]]
 +  * Description:​N/​A
 +
 +== Parameters ==
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Open() **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Close() **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} BeginTransaction() **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} AddFeature(Feature) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:String
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //feature//
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]]
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} AddFeature(BaseShape) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:String
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //shape//
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} AddFeature(BaseShape,​IDictionary<​String,​String>​) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:String
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //shape//
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]
 +    * Description:​N/​A
 +
 +  * //​columnValues//​
 +    * Type:​IDictionary<​String,​String>​
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} DeleteFeature(String) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //id//
 +    * Type:String
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} UpdateFeature(Feature) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //feature//
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]]
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} UpdateFeature(BaseShape) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //shape//
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} UpdateFeature(BaseShape,​IDictionary<​String,​String>​) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //shape//
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]
 +    * Description:​N/​A
 +
 +  * //​columnValues//​
 +    * Type:​IDictionary<​String,​String>​
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} RollbackTransaction() **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} CommitTransaction() **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:​[[ThinkGeo.MapSuite.Core.TransactionResult|TransactionResult]]
 +  * Description:​N/​A
 +
 +== Parameters ==
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} AddColumn(FeatureSourceColumn) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //​featureSourceColumn//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.FeatureSourceColumn|FeatureSourceColumn]]
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} DeleteColumn(String) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //​columnName//​
 +    * Type:String
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} UpdateColumn(String,​FeatureSourceColumn) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //​columnName//​
 +    * Type:String
 +    * Description:​N/​A
 +
 +  * //​newFeatureSourceColumn//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.FeatureSourceColumn|FeatureSourceColumn]]
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} GetAllFeatures(IEnumerable<​String>​) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //​returningColumnNames//​
 +    * Type:​IEnumerable<​String>​
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} GetAllFeatures(ReturningColumnsType) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //​returningColumnNamesType//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} GetFeaturesOutsideBoundingBox(RectangleShape,​IEnumerable<​String>​) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //​boundingBox//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]
 +    * Description:​N/​A
 +
 +  * //​returningColumnNames//​
 +    * Type:​IEnumerable<​String>​
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} GetFeaturesOutsideBoundingBox(RectangleShape,​ReturningColumnsType) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //​boundingBox//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]
 +    * Description:​N/​A
 +
 +  * //​returningColumnNamesType//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} GetFeaturesInsideBoundingBox(RectangleShape,​IEnumerable<​String>​) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //​boundingBox//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]
 +    * Description:​N/​A
 +
 +  * //​returningColumnNames//​
 +    * Type:​IEnumerable<​String>​
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} GetFeaturesInsideBoundingBox(RectangleShape,​IEnumerable<​String>,​IEnumerable<​String>​) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //​boundingBox//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]
 +    * Description:​N/​A
 +
 +  * //​returningColumnNames//​
 +    * Type:​IEnumerable<​String>​
 +    * Description:​N/​A
 +
 +  * //filters//
 +    * Type:​IEnumerable<​String>​
 +    * Description:​N/​A
 +
 <div newline></​div>​ <div newline></​div>​
 ** {{wiki:​PublicMethod.gif|}} GetFeaturesInsideBoundingBox(RectangleShape,​ReturningColumnsType) ** ** {{wiki:​PublicMethod.gif|}} GetFeaturesInsideBoundingBox(RectangleShape,​ReturningColumnsType) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 109: Line 484:
   * //​returningColumnNamesType//​   * //​returningColumnNamesType//​
     * Type:​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]     * Type:​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} GetFeaturesForDrawing(RectangleShape,​Double,​Double,​IEnumerable<​String>,​IEnumerable<​String>​) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //​boundingBox//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]
 +    * Description:​N/​A
 +
 +  * //​screenWidth//​
 +    * Type:Double
 +    * Description:​N/​A
 +
 +  * //​screenHeight//​
 +    * Type:Double
 +    * Description:​N/​A
 +
 +  * //​returningColumnNames//​
 +    * Type:​IEnumerable<​String>​
 +    * Description:​N/​A
 +
 +  * //filters//
 +    * Type:​IEnumerable<​String>​
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} ApplyFilters(IEnumerable<​Feature>,​IEnumerable<​String>,​IEnumerable<​String>​) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //​features//​
 +    * Type:​IEnumerable<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​
 +    * Description:​N/​A
 +
 +  * //​returningColumnNames//​
 +    * Type:​IEnumerable<​String>​
 +    * Description:​N/​A
 +
 +  * //filters//
 +    * Type:​IEnumerable<​String>​
     * Description:​N/​A     * Description:​N/​A
  
Line 114: Line 545:
 ** {{wiki:​PublicMethod.gif|}} GetFeaturesForDrawing(RectangleShape,​Double,​Double,​IEnumerable<​String>​) ** ** {{wiki:​PublicMethod.gif|}} GetFeaturesForDrawing(RectangleShape,​Double,​Double,​IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 142: Line 573:
 ** {{wiki:​PublicMethod.gif|}} GetFeaturesForDrawing(RectangleShape,​Double,​Double,​ReturningColumnsType) ** ** {{wiki:​PublicMethod.gif|}} GetFeaturesForDrawing(RectangleShape,​Double,​Double,​ReturningColumnsType) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 170: Line 601:
 ** {{wiki:​PublicMethod.gif|}} SpatialQuery(BaseShape,​QueryType,​IEnumerable<​String>​) ** ** {{wiki:​PublicMethod.gif|}} SpatialQuery(BaseShape,​QueryType,​IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 188: Line 619:
  
   * //​returningColumnNames//​   * //​returningColumnNames//​
 +    * Type:​IEnumerable<​String>​
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} SpatialQuery(BaseShape,​QueryType,​IEnumerable<​String>,​IEnumerable<​String>​) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //​targetShape//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]
 +    * Description:​N/​A
 +
 +  * //​queryType//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.QueryType|QueryType]]
 +    * Description:​N/​A
 +
 +  * //​returningColumnNames//​
 +    * Type:​IEnumerable<​String>​
 +    * Description:​N/​A
 +
 +  * //filters//
     * Type:​IEnumerable<​String>​     * Type:​IEnumerable<​String>​
     * Description:​N/​A     * Description:​N/​A
Line 194: Line 653:
 ** {{wiki:​PublicMethod.gif|}} SpatialQuery(BaseShape,​QueryType,​ReturningColumnsType) ** ** {{wiki:​PublicMethod.gif|}} SpatialQuery(BaseShape,​QueryType,​ReturningColumnsType) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 218: Line 677:
 ** {{wiki:​PublicMethod.gif|}} SpatialQuery(Feature,​QueryType,​IEnumerable<​String>​) ** ** {{wiki:​PublicMethod.gif|}} SpatialQuery(Feature,​QueryType,​IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 242: Line 701:
 ** {{wiki:​PublicMethod.gif|}} SpatialQuery(Feature,​QueryType,​ReturningColumnsType) ** ** {{wiki:​PublicMethod.gif|}} SpatialQuery(Feature,​QueryType,​ReturningColumnsType) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 266: Line 725:
 ** {{wiki:​PublicMethod.gif|}} GetFeaturesNearestTo(BaseShape,​GeographyUnit,​Int32,​IEnumerable<​String>​) ** ** {{wiki:​PublicMethod.gif|}} GetFeaturesNearestTo(BaseShape,​GeographyUnit,​Int32,​IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 294: Line 753:
 ** {{wiki:​PublicMethod.gif|}} GetFeaturesNearestTo(BaseShape,​GeographyUnit,​Int32,​ReturningColumnsType) ** ** {{wiki:​PublicMethod.gif|}} GetFeaturesNearestTo(BaseShape,​GeographyUnit,​Int32,​ReturningColumnsType) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 322: Line 781:
 ** {{wiki:​PublicMethod.gif|}} GetFeaturesNearestTo(Feature,​GeographyUnit,​Int32,​IEnumerable<​String>​) ** ** {{wiki:​PublicMethod.gif|}} GetFeaturesNearestTo(Feature,​GeographyUnit,​Int32,​IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 350: Line 809:
 ** {{wiki:​PublicMethod.gif|}} GetFeaturesNearestTo(Feature,​GeographyUnit,​Int32,​ReturningColumnsType) ** ** {{wiki:​PublicMethod.gif|}} GetFeaturesNearestTo(Feature,​GeographyUnit,​Int32,​ReturningColumnsType) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 378: Line 837:
 ** {{wiki:​PublicMethod.gif|}} GetFeaturesNearestTo(BaseShape,​GeographyUnit,​Int32,​IEnumerable<​String>,​Double,​DistanceUnit) ** ** {{wiki:​PublicMethod.gif|}} GetFeaturesNearestTo(BaseShape,​GeographyUnit,​Int32,​IEnumerable<​String>,​Double,​DistanceUnit) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 414: Line 873:
 ** {{wiki:​PublicMethod.gif|}} GetFeaturesNearestTo(Feature,​GeographyUnit,​Int32,​IEnumerable<​String>,​Double,​DistanceUnit) ** ** {{wiki:​PublicMethod.gif|}} GetFeaturesNearestTo(Feature,​GeographyUnit,​Int32,​IEnumerable<​String>,​Double,​DistanceUnit) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 450: Line 909:
 ** {{wiki:​PublicMethod.gif|}} GetFeaturesWithinDistanceOf(BaseShape,​GeographyUnit,​DistanceUnit,​Double,​IEnumerable<​String>​) ** ** {{wiki:​PublicMethod.gif|}} GetFeaturesWithinDistanceOf(BaseShape,​GeographyUnit,​DistanceUnit,​Double,​IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 482: Line 941:
 ** {{wiki:​PublicMethod.gif|}} GetFeaturesWithinDistanceOf(BaseShape,​GeographyUnit,​DistanceUnit,​Double,​ReturningColumnsType) ** ** {{wiki:​PublicMethod.gif|}} GetFeaturesWithinDistanceOf(BaseShape,​GeographyUnit,​DistanceUnit,​Double,​ReturningColumnsType) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 514: Line 973:
 ** {{wiki:​PublicMethod.gif|}} GetFeaturesWithinDistanceOf(Feature,​GeographyUnit,​DistanceUnit,​Double,​IEnumerable<​String>​) ** ** {{wiki:​PublicMethod.gif|}} GetFeaturesWithinDistanceOf(Feature,​GeographyUnit,​DistanceUnit,​Double,​IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 546: Line 1005:
 ** {{wiki:​PublicMethod.gif|}} GetFeaturesWithinDistanceOf(Feature,​GeographyUnit,​DistanceUnit,​Double,​ReturningColumnsType) ** ** {{wiki:​PublicMethod.gif|}} GetFeaturesWithinDistanceOf(Feature,​GeographyUnit,​DistanceUnit,​Double,​ReturningColumnsType) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 578: Line 1037:
 ** {{wiki:​PublicMethod.gif|}} GetFeatureById(String,​IEnumerable<​String>​) ** ** {{wiki:​PublicMethod.gif|}} GetFeatureById(String,​IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 598: Line 1057:
 ** {{wiki:​PublicMethod.gif|}} GetFeatureById(String,​ReturningColumnsType) ** ** {{wiki:​PublicMethod.gif|}} GetFeatureById(String,​ReturningColumnsType) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 613: Line 1072:
   * //​returningColumnNamesType//​   * //​returningColumnNamesType//​
     * Type:​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]     * Type:​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} GetFeaturesByIds(IEnumerable<​String>,​IEnumerable<​String>,​IEnumerable<​String>​) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //ids//
 +    * Type:​IEnumerable<​String>​
 +    * Description:​N/​A
 +
 +  * //​returningColumnNames//​
 +    * Type:​IEnumerable<​String>​
 +    * Description:​N/​A
 +
 +  * //filters//
 +    * Type:​IEnumerable<​String>​
     * Description:​N/​A     * Description:​N/​A
  
Line 618: Line 1101:
 ** {{wiki:​PublicMethod.gif|}} GetFeaturesByIds(IEnumerable<​String>,​IEnumerable<​String>​) ** ** {{wiki:​PublicMethod.gif|}} GetFeaturesByIds(IEnumerable<​String>,​IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 638: Line 1121:
 ** {{wiki:​PublicMethod.gif|}} GetFeaturesByIds(IEnumerable<​String>,​ReturningColumnsType) ** ** {{wiki:​PublicMethod.gif|}} GetFeaturesByIds(IEnumerable<​String>,​ReturningColumnsType) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 658: Line 1141:
 ** {{wiki:​PublicMethod.gif|}} GetBoundingBoxById(String) ** ** {{wiki:​PublicMethod.gif|}} GetBoundingBoxById(String) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 674: Line 1157:
 ** {{wiki:​PublicMethod.gif|}} GetBoundingBoxByIds(IEnumerable<​String>​) ** ** {{wiki:​PublicMethod.gif|}} GetBoundingBoxByIds(IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 690: Line 1173:
 ** {{wiki:​PublicMethod.gif|}} GetBoundingBoxesByIds(IEnumerable<​String>​) ** ** {{wiki:​PublicMethod.gif|}} GetBoundingBoxesByIds(IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 706: Line 1189:
 ** {{wiki:​PublicMethod.gif|}} GetFirstFeaturesWellKnownType() ** ** {{wiki:​PublicMethod.gif|}} GetFirstFeaturesWellKnownType() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 718: Line 1201:
 ** {{wiki:​PublicMethod.gif|}} CanGetBoundingBoxQuickly() ** ** {{wiki:​PublicMethod.gif|}} CanGetBoundingBoxQuickly() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 730: Line 1213:
 ** {{wiki:​PublicMethod.gif|}} CanGetCountQuickly() ** ** {{wiki:​PublicMethod.gif|}} CanGetCountQuickly() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 742: Line 1225:
 ** {{wiki:​PublicMethod.gif|}} GetDistinctColumnValues(String) ** ** {{wiki:​PublicMethod.gif|}} GetDistinctColumnValues(String) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 758: Line 1241:
 ** {{wiki:​PublicMethod.gif|}} GetAllFeatures(ReturningColumnsType,​Int32) ** ** {{wiki:​PublicMethod.gif|}} GetAllFeatures(ReturningColumnsType,​Int32) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 778: Line 1261:
 ** {{wiki:​PublicMethod.gif|}} GetAllFeatures(ReturningColumnsType,​Int32,​Int32) ** ** {{wiki:​PublicMethod.gif|}} GetAllFeatures(ReturningColumnsType,​Int32,​Int32) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 802: Line 1285:
 ** {{wiki:​PublicMethod.gif|}} GetAllFeatures(IEnumerable<​String>,​Int32,​Int32) ** ** {{wiki:​PublicMethod.gif|}} GetAllFeatures(IEnumerable<​String>,​Int32,​Int32) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 826: Line 1309:
 ** {{wiki:​PublicMethod.gif|}} ExecuteNonQuery(String) ** ** {{wiki:​PublicMethod.gif|}} ExecuteNonQuery(String) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 842: Line 1325:
 ** {{wiki:​PublicMethod.gif|}} GetFeaturesByColumnValue(String,​String,​ReturningColumnsType) ** ** {{wiki:​PublicMethod.gif|}} GetFeaturesByColumnValue(String,​String,​ReturningColumnsType) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 866: Line 1349:
 ** {{wiki:​PublicMethod.gif|}} GetFeaturesByColumnValue(String,​String,​IEnumerable<​String>​) ** ** {{wiki:​PublicMethod.gif|}} GetFeaturesByColumnValue(String,​String,​IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 890: Line 1373:
 ** {{wiki:​PublicMethod.gif|}} GetFeaturesByColumnValue(String,​String) ** ** {{wiki:​PublicMethod.gif|}} GetFeaturesByColumnValue(String,​String) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 910: Line 1393:
 ** {{wiki:​PublicMethod.gif|}} ExecuteScalar(String) ** ** {{wiki:​PublicMethod.gif|}} ExecuteScalar(String) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 926: Line 1409:
 ** {{wiki:​PublicMethod.gif|}} ExecuteQuery(String) ** ** {{wiki:​PublicMethod.gif|}} ExecuteQuery(String) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:[[ThinkGeo.MapSuite.Portable.GeoDataTable|GeoDataTable]]+  * Type:DataTable
   * Description:​N/​A   * Description:​N/​A
  
Line 942: Line 1425:
 ** {{wiki:​PublicMethod.gif|}} GetColumns() ** ** {{wiki:​PublicMethod.gif|}} GetColumns() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 954: Line 1437:
 ** {{wiki:​PublicMethod.gif|}} RefreshColumns() ** ** {{wiki:​PublicMethod.gif|}} RefreshColumns() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 966: Line 1449:
 ** {{wiki:​PublicMethod.gif|}} GetCount() ** ** {{wiki:​PublicMethod.gif|}} GetCount() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 975: Line 1458:
  
 == Parameters == == Parameters ==
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} GetBoundingBox() ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
-  * Description:​N/​A 
- 
-== Parameters == 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} CloneDeep() ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:​[[ThinkGeo.MapSuite.Core.FeatureSource|FeatureSource]] 
-  * Description:​N/​A 
- 
-== Parameters == 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} Open() ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:Void 
-  * Description:​N/​A 
- 
-== Parameters == 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} Close() ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:Void 
-  * Description:​N/​A 
- 
-== Parameters == 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} BeginTransaction() ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:Void 
-  * Description:​N/​A 
- 
-== Parameters == 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} AddFeature(Feature) ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:String 
-  * Description:​N/​A 
- 
-== Parameters == 
-  * //feature// 
-    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-    * Description:​N/​A 
- 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} AddFeature(BaseShape) ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:String 
-  * Description:​N/​A 
- 
-== Parameters == 
-  * //shape// 
-    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-    * Description:​N/​A 
- 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} AddFeature(BaseShape,​IDictionary<​String,​String>​) ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:String 
-  * Description:​N/​A 
- 
-== Parameters == 
-  * //shape// 
-    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-    * Description:​N/​A 
- 
-  * //​columnValues//​ 
-    * Type:​IDictionary<​String,​String>​ 
-    * Description:​N/​A 
- 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} DeleteFeature(String) ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:Void 
-  * Description:​N/​A 
- 
-== Parameters == 
-  * //id// 
-    * Type:String 
-    * Description:​N/​A 
- 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} UpdateFeature(Feature) ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:Void 
-  * Description:​N/​A 
- 
-== Parameters == 
-  * //feature// 
-    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-    * Description:​N/​A 
- 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} UpdateFeature(BaseShape) ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:Void 
-  * Description:​N/​A 
- 
-== Parameters == 
-  * //shape// 
-    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-    * Description:​N/​A 
- 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} UpdateFeature(BaseShape,​IDictionary<​String,​String>​) ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:Void 
-  * Description:​N/​A 
- 
-== Parameters == 
-  * //shape// 
-    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-    * Description:​N/​A 
- 
-  * //​columnValues//​ 
-    * Type:​IDictionary<​String,​String>​ 
-    * Description:​N/​A 
- 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} RollbackTransaction() ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:Void 
-  * Description:​N/​A 
- 
-== Parameters == 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} CommitTransaction() ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:​[[ThinkGeo.MapSuite.Core.TransactionResult|TransactionResult]] 
-  * Description:​N/​A 
- 
-== Parameters == 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} AddColumn(FeatureSourceColumn) ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:Void 
-  * Description:​N/​A 
- 
-== Parameters == 
-  * //​featureSourceColumn//​ 
-    * Type:​[[ThinkGeo.MapSuite.Core.FeatureSourceColumn|FeatureSourceColumn]] 
-    * Description:​N/​A 
- 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} DeleteColumn(String) ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:Void 
-  * Description:​N/​A 
- 
-== Parameters == 
-  * //​columnName//​ 
-    * Type:String 
-    * Description:​N/​A 
- 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} UpdateColumn(String,​FeatureSourceColumn) ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:Void 
-  * Description:​N/​A 
- 
-== Parameters == 
-  * //​columnName//​ 
-    * Type:String 
-    * Description:​N/​A 
- 
-  * //​newFeatureSourceColumn//​ 
-    * Type:​[[ThinkGeo.MapSuite.Core.FeatureSourceColumn|FeatureSourceColumn]] 
-    * Description:​N/​A 
- 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} GetAllFeatures(IEnumerable<​String>​) ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-  * Description:​N/​A 
- 
-== Parameters == 
-  * //​returningColumnNames//​ 
-    * Type:​IEnumerable<​String>​ 
-    * Description:​N/​A 
- 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} GetAllFeatures(ReturningColumnsType) ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-  * Description:​N/​A 
- 
-== Parameters == 
-  * //​returningColumnNamesType//​ 
-    * Type:​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
-    * Description:​N/​A 
- 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} GetFeaturesOutsideBoundingBox(RectangleShape,​IEnumerable<​String>​) ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-  * Description:​N/​A 
- 
-== Parameters == 
-  * //​boundingBox//​ 
-    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
-    * Description:​N/​A 
- 
-  * //​returningColumnNames//​ 
-    * Type:​IEnumerable<​String>​ 
-    * Description:​N/​A 
- 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} GetFeaturesOutsideBoundingBox(RectangleShape,​ReturningColumnsType) ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-  * Description:​N/​A 
- 
-== Parameters == 
-  * //​boundingBox//​ 
-    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
-    * Description:​N/​A 
- 
-  * //​returningColumnNamesType//​ 
-    * Type:​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
-    * Description:​N/​A 
- 
-<div newline></​div>​ 
-** {{wiki:​PublicMethod.gif|}} GetFeaturesInsideBoundingBox(RectangleShape,​IEnumerable<​String>​) ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-  * Description:​N/​A 
- 
-== Parameters == 
-  * //​boundingBox//​ 
-    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
-    * Description:​N/​A 
- 
-  * //​returningColumnNames//​ 
-    * Type:​IEnumerable<​String>​ 
-    * Description:​N/​A 
- 
 <div newline></​div>​ <div newline></​div>​
 ** {{wiki:​PublicMethod.gif|}} ToString() ** ** {{wiki:​PublicMethod.gif|}} ToString() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 1338: Line 1473:
 ** {{wiki:​PublicMethod.gif|}} Equals(Object) ** ** {{wiki:​PublicMethod.gif|}} Equals(Object) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 1354: Line 1489:
 ** {{wiki:​PublicMethod.gif|}} GetHashCode() ** ** {{wiki:​PublicMethod.gif|}} GetHashCode() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 1366: Line 1501:
 ** {{wiki:​PublicMethod.gif|}} GetType() ** ** {{wiki:​PublicMethod.gif|}} GetType() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 1378: Line 1513:
 ** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} BuildIndex(String) ** ** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} BuildIndex(String) **
  
-This method build spatial index for a passed group of shape files.+  * //This method build spatial index for a passed group of shape files.//
 == Remarks == == Remarks ==
-This overload builds an index file with the specified index file name for a group of passed in features.+  * //This overload builds an index file with the specified index file name for a group of passed in features.//
  
 == Return Value == == Return Value ==
Line 1394: Line 1529:
 ** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} BuildIndex(String,​BuildIndexMode) ** ** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} BuildIndex(String,​BuildIndexMode) **
  
-This method build spatial index for a passed group of shape files.+  * //This method build spatial index for a passed group of shape files.//
 == Remarks == == Remarks ==
-This overload builds an index file with the specified index file name for a group of passed in features.+  * //This overload builds an index file with the specified index file name for a group of passed in features.//
  
 == Return Value == == Return Value ==
Line 1414: Line 1549:
 ** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} BuildIndex(String,​String) ** ** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} BuildIndex(String,​String) **
  
-This method build spatial index for a passed group of shape files.+  * //This method build spatial index for a passed group of shape files.//
 == Remarks == == Remarks ==
-This overload builds an index file with the specified index file name for a group of passed in features.+  * //This overload builds an index file with the specified index file name for a group of passed in features.//
  
 == Return Value == == Return Value ==
Line 1434: Line 1569:
 ** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} BuildIndex(String,​String,​BuildIndexMode) ** ** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} BuildIndex(String,​String,​BuildIndexMode) **
  
-This method build spatial index for a passed group of shape files.+  * //This method build spatial index for a passed group of shape files.//
 == Remarks == == Remarks ==
-This overload builds an index file with the specified index file name for a group of passed in features.+  * //This overload builds an index file with the specified index file name for a group of passed in features.//
  
 == Return Value == == Return Value ==
Line 1458: Line 1593:
 ** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} BuildIndex(String,​String,​String,​String) ** ** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} BuildIndex(String,​String,​String,​String) **
  
-This method build spatial index for a passed group of shape files.+  * //This method build spatial index for a passed group of shape files.//
 == Remarks == == Remarks ==
-This overload builds an index file with the specified index file name and only build Index for those records satisfied the regularExpression. You can also specify if you want to rebuild an existing index file.+  * //This overload builds an index file with the specified index file name and only build Index for those records satisfied the regularExpression. You can also specify if you want to rebuild an existing index file.//
  
 == Return Value == == Return Value ==
Line 1486: Line 1621:
 ** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} BuildIndex(String,​String,​String,​String,​BuildIndexMode) ** ** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} BuildIndex(String,​String,​String,​String,​BuildIndexMode) **
  
-This method build spatial index for a passed group of shape files.+  * //This method build spatial index for a passed group of shape files.//
 == Remarks == == Remarks ==
-This overload builds an index file with the specified index file name and only build Index for those records satisfied the regularExpression. You can also specify if you want to rebuild an existing index file.+  * //This overload builds an index file with the specified index file name and only build Index for those records satisfied the regularExpression. You can also specify if you want to rebuild an existing index file.//
  
 == Return Value == == Return Value ==
Line 1518: Line 1653:
 ** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} BuildIndex(String[],​String[]) ** ** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} BuildIndex(String[],​String[]) **
  
-This method build spatial index for a passed group of shape files.+  * //This method build spatial index for a passed group of shape files.//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 1538: Line 1673:
 ** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} BuildIndex(String[],​String[],​BuildIndexMode) ** ** {{wiki:​PublicMethod.gif|}}{{wiki:​Static.gif|}} BuildIndex(String[],​String[],​BuildIndexMode) **
  
-This method build spatial index for a passed group of shape files.+  * //This method build spatial index for a passed group of shape files.//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 1563: Line 1698:
 ** {{wiki:​ProtectedMethod.gif|}} GetColumnsCore() ** ** {{wiki:​ProtectedMethod.gif|}} GetColumnsCore() **
  
-This method returns the columns available for the FeatureSource.+  * //This method returns the columns available for the FeatureSource.//
 == Remarks == == Remarks ==
-As this is the virtual core version of the Columns method it is intended to be overridden in inherited version of the class. When overriding you will be responsible for getting a list of all of the columns supported by the FeatureSource. In this way the FeatureSource will know what columns are available and will remove any extra columns when making calls to other core methods. For example if you have a FeatureSource that has three columns of information and the user calls a method and requests four columns of information,​ something they can do with custom fields, we will first compare what they are asking for to the results of the GetColumnsCore. In this way we can strip out custom columns before calling other Core methods which are only responsible for returning data in the FeatureSource. For more information on custom fields you can see the documentation on the OnCustomFieldsFetch.+  * //As this is the virtual core version of the Columns method it is intended to be overridden in inherited version of the class. When overriding you will be responsible for getting a list of all of the columns supported by the FeatureSource. In this way the FeatureSource will know what columns are available and will remove any extra columns when making calls to other core methods. For example if you have a FeatureSource that has three columns of information and the user calls a method and requests four columns of information,​ something they can do with custom fields, we will first compare what they are asking for to the results of the GetColumnsCore. In this way we can strip out custom columns before calling other Core methods which are only responsible for returning data in the FeatureSource. For more information on custom fields you can see the documentation on the OnCustomFieldsFetch.//
  
 == Return Value == == Return Value ==
Line 1575: Line 1710:
 ** {{wiki:​ProtectedMethod.gif|}} OpenCore() ** ** {{wiki:​ProtectedMethod.gif|}} OpenCore() **
  
-This method opens the FeatureSource so that it is initialized and ready to use.+  * //This method opens the FeatureSource so that it is initialized and ready to use.//
 == Remarks == == Remarks ==
-This protected virtual method is called from the concreate public method Open. The open method play an important role as it is responsible for initializing the FeatureSource. Most methods on the FeatureSource will throw an exception if the state of the FeatureSource is not opened. When the map draws each layer it will open the FeatureSource as one of its first steps, then after it is finished drawing with that layer it will close it. In this way we are sure to release all resources used by the FeatureSource. When implementing this virtual method consider opening files for file based source, connecting to databases in the database based sources and so on. You will get a chance to close these in the Close method of the FeatureSource.+  * //This protected virtual method is called from the concreate public method Open. The open method play an important role as it is responsible for initializing the FeatureSource. Most methods on the FeatureSource will throw an exception if the state of the FeatureSource is not opened. When the map draws each layer it will open the FeatureSource as one of its first steps, then after it is finished drawing with that layer it will close it. In this way we are sure to release all resources used by the FeatureSource. When implementing this virtual method consider opening files for file based source, connecting to databases in the database based sources and so on. You will get a chance to close these in the Close method of the FeatureSource.//
  
 == Return Value == == Return Value ==
Line 1587: Line 1722:
 ** {{wiki:​ProtectedMethod.gif|}} CloseCore() ** ** {{wiki:​ProtectedMethod.gif|}} CloseCore() **
  
-This method closes the FeatureSource and releases any resources it was using.+  * //This method closes the FeatureSource and releases any resources it was using.//
 == Remarks == == Remarks ==
-This protected virtual method is called from the concreate public method Close. The close method plays an important role in the life cycle of the FeatureSource. It may be called after drawing to release any memory and other resources that were allocated since the Open method was called. It is recommended that if you override this method that you take the following things into account. This method may be called multiple times so we suggest you write the so that that a call to a closed FeatureSource is ignored and does not generate an error. We also suggest that in the close you free all resources that have been opened. Remember that the object will not be destroyed but will be re-opened possibly in the near future.+  * //This protected virtual method is called from the concreate public method Close. The close method plays an important role in the life cycle of the FeatureSource. It may be called after drawing to release any memory and other resources that were allocated since the Open method was called. It is recommended that if you override this method that you take the following things into account. This method may be called multiple times so we suggest you write the so that that a call to a closed FeatureSource is ignored and does not generate an error. We also suggest that in the close you free all resources that have been opened. Remember that the object will not be destroyed but will be re-opened possibly in the near future.//
  
 == Return Value == == Return Value ==
Line 1599: Line 1734:
 ** {{wiki:​ProtectedMethod.gif|}} CommitTransactionCore(TransactionBuffer) ** ** {{wiki:​ProtectedMethod.gif|}} CommitTransactionCore(TransactionBuffer) **
  
-This method will commit the existing transaction to its underlying source of data.+  * //This method will commit the existing transaction to its underlying source of data.//
 == Remarks == == Remarks ==
-This method will commit the existing transaction to its underlying source of data. It will pass back the results of how the commit went to include any error received. If you are implementing your own FeatureSource then this is one of the crucial methods you must create. It should be fairly straight forward that you will loop through the transaction buffer and add, edit or delete the InternalFeatures in your underlying data source. Remember to build and pass back the TransactionResult class so that users of your FeatureSource can respond to failures you may encounter committing the InternalFeatures. We will handle the end of the transaction and also the cleanup of the transaction buffer. Your task will be to commit the records and produce a TransactionResult return.The Transaction SystemThe transaction system of a FeatureSource sits on top of the inherited implementation of any specific source such as Oracle Spatial or Shape files. In this way it functions the same way for every FeatureSource. You start by calling the BeginTransaction. This allocates a collection of in memory change buffers that are used to store changes until you commit the transaction. So for example when you call the Add, Delete or Update method the changes to the feature are stored in memory only. If for any reason you choose to abandon the transaction you can call RollbackTransaction at any time and the in memory buffer will be deleted and the changes will be lost. When you are ready to commit the transaction you call the CommitTransaction and the collections of changes are then passed to the CommitTransactionCore method and the implementer of the specific FeatureSource is responsible for integrating your changes into the underlying FeatureSource. By default the IsLiveTransaction property is set to false which means that until you commit the changes the FeatureSource API will not reflect any changes that are in the temporary editing buffer.In the case where the IsLiveTransaction is set to true then things function slightly differently. The live transaction concept means that all of the modification you perform during a transaction are live from the standpoint of the querying methods on the object.To setup an example imagine that you have a FeatureSource that has 10 records in it. Next you begin a transaction and then call GetAllFeatures,​ the result would be 10 records. After that you call a delete on one of the records and call the GetAllFeatures again, this time you only get nine records. You receive nine records even though the transaction has not yet been committed. In the same sense you could have added a new record or modified an existing one and those changes are considered live though not committed.In the case where you modify records such as expanding the size of a polygon those changes as well are reflected. So for example you expand a polygon by doubling its size and then do a spatial query that would not normally return the smaller record but would return the larger records, in this case the larger record is returned. You can set this property to be false as well in which case all of the spatial related methods would ignore anything that is currently in the transaction buffer waiting to be committed. In this case only after committing the transaction would the FeatureSource reflect the changes.+  * //This method will commit the existing transaction to its underlying source of data. It will pass back the results of how the commit went to include any error received. If you are implementing your own FeatureSource then this is one of the crucial methods you must create. It should be fairly straight forward that you will loop through the transaction buffer and add, edit or delete the InternalFeatures in your underlying data source. Remember to build and pass back the TransactionResult class so that users of your FeatureSource can respond to failures you may encounter committing the InternalFeatures. We will handle the end of the transaction and also the cleanup of the transaction buffer. Your task will be to commit the records and produce a TransactionResult return.The Transaction SystemThe transaction system of a FeatureSource sits on top of the inherited implementation of any specific source such as Oracle Spatial or Shape files. In this way it functions the same way for every FeatureSource. You start by calling the BeginTransaction. This allocates a collection of in memory change buffers that are used to store changes until you commit the transaction. So for example when you call the Add, Delete or Update method the changes to the feature are stored in memory only. If for any reason you choose to abandon the transaction you can call RollbackTransaction at any time and the in memory buffer will be deleted and the changes will be lost. When you are ready to commit the transaction you call the CommitTransaction and the collections of changes are then passed to the CommitTransactionCore method and the implementer of the specific FeatureSource is responsible for integrating your changes into the underlying FeatureSource. By default the IsLiveTransaction property is set to false which means that until you commit the changes the FeatureSource API will not reflect any changes that are in the temporary editing buffer.In the case where the IsLiveTransaction is set to true then things function slightly differently. The live transaction concept means that all of the modification you perform during a transaction are live from the standpoint of the querying methods on the object.To setup an example imagine that you have a FeatureSource that has 10 records in it. Next you begin a transaction and then call GetAllFeatures,​ the result would be 10 records. After that you call a delete on one of the records and call the GetAllFeatures again, this time you only get nine records. You receive nine records even though the transaction has not yet been committed. In the same sense you could have added a new record or modified an existing one and those changes are considered live though not committed.In the case where you modify records such as expanding the size of a polygon those changes as well are reflected. So for example you expand a polygon by doubling its size and then do a spatial query that would not normally return the smaller record but would return the larger records, in this case the larger record is returned. You can set this property to be false as well in which case all of the spatial related methods would ignore anything that is currently in the transaction buffer waiting to be committed. In this case only after committing the transaction would the FeatureSource reflect the changes.//
  
 == Return Value == == Return Value ==
Line 1615: Line 1750:
 ** {{wiki:​ProtectedMethod.gif|}} GetAllFeaturesCore(IEnumerable<​String>​) ** ** {{wiki:​ProtectedMethod.gif|}} GetAllFeaturesCore(IEnumerable<​String>​) **
  
-This method returns all of the InternalFeatures in the FeatureSource.+  * //This method returns all of the InternalFeatures in the FeatureSource.//
 == Remarks == == Remarks ==
-This method returns all of the InternalFeatures in the FeatureSource. You will not need to consider anything about pending transactions as this will be handled in the non Core version of the method. The main purpose of this method is to be the anchor of all of our default virtual implementations within this class. We wanted as the framework developers to provide you the user with as much default virtual implementation as possible. To do this we needed a way to get access to all of the features. For example, we want to create a default implementation for finding all of the InternalFeatures in a bounding box. Because this is an abstract class we do not know the specifics of the underlying data or how its spatial indexes work. What we do know is that if we get all the records then we can brute force the answer. In this way if you inherited form this class and only implemented this one method we can provide default implementations for virtually every other API. While this is nice for you the developer if you decide to create your own FeatureSource it comes with a price. The price is that it is very inefficient. In the case we just discussed about finding all of the InternalFeatures in a bounding box we would not want to look at every record to fulfil this method. Instead we would want to override the GetFeaturesInsideBoundingBoxCore and implement specific code that would be fast. For example in Oracle Spatial there is a specific SQL statement to do this operation very quickly. The same holds true with other specific FeatureSource examples. Most default implementations in the FeatureSource call the GetFeaturesInsideBoundingBoxCore which by default calls the GetAllFeaturesCore. It is our advice that if you create your own FeatureSource that you ALWAYS override the GetFeatureInsideBoundingBox. It will ensure that nearly every other API will operate efficiently. Please see the specific API to determine what method it uses.+  * //This method returns all of the InternalFeatures in the FeatureSource. You will not need to consider anything about pending transactions as this will be handled in the non Core version of the method. The main purpose of this method is to be the anchor of all of our default virtual implementations within this class. We wanted as the framework developers to provide you the user with as much default virtual implementation as possible. To do this we needed a way to get access to all of the features. For example, we want to create a default implementation for finding all of the InternalFeatures in a bounding box. Because this is an abstract class we do not know the specifics of the underlying data or how its spatial indexes work. What we do know is that if we get all the records then we can brute force the answer. In this way if you inherited form this class and only implemented this one method we can provide default implementations for virtually every other API. While this is nice for you the developer if you decide to create your own FeatureSource it comes with a price. The price is that it is very inefficient. In the case we just discussed about finding all of the InternalFeatures in a bounding box we would not want to look at every record to fulfil this method. Instead we would want to override the GetFeaturesInsideBoundingBoxCore and implement specific code that would be fast. For example in Oracle Spatial there is a specific SQL statement to do this operation very quickly. The same holds true with other specific FeatureSource examples. Most default implementations in the FeatureSource call the GetFeaturesInsideBoundingBoxCore which by default calls the GetAllFeaturesCore. It is our advice that if you create your own FeatureSource that you ALWAYS override the GetFeatureInsideBoundingBox. It will ensure that nearly every other API will operate efficiently. Please see the specific API to determine what method it uses.//
  
 == Return Value == == Return Value ==
Line 1631: Line 1766:
 ** {{wiki:​ProtectedMethod.gif|}} GetBoundingBoxCore() ** ** {{wiki:​ProtectedMethod.gif|}} GetBoundingBoxCore() **
  
-This method returns the bounding box which encompasses all of the features in the FeatureSource.+  * //This method returns the bounding box which encompasses all of the features in the FeatureSource.//
 == Remarks == == Remarks ==
-This protected virtual method is called from the concreate public method GetBoundingBox. It does not take into account any transaction activity as this is the responsibility of the concreate public method GetBoundingBox. In this way as a developer if you choose to override this method you do not have to consider transaction at all. The default implementation of GetBoundingBoxCore uses the GetAllRecordsCore method to calculate the bounding box of the FeatureSource. We strongly recommend that you provide your own implementation for this method that will be more efficient If you do not override this method the means it gets the BoundingBox is by calling the GetAllFeatureCore method and deriving it from each feature. This is a very inefficient way to get the BoundingBox in most data sources. It is highly recommended that you override this method and replace it with a highly optimized version. For example in a ShapeFile the BoundingBox is in the main header of the file. Similarly if you are using Oracle Spatial you can execute a simple query to get the BoundingBox of all of the record without returning them. In these ways you can greatly improve the performance of this method.+  * //This protected virtual method is called from the concreate public method GetBoundingBox. It does not take into account any transaction activity as this is the responsibility of the concreate public method GetBoundingBox. In this way as a developer if you choose to override this method you do not have to consider transaction at all. The default implementation of GetBoundingBoxCore uses the GetAllRecordsCore method to calculate the bounding box of the FeatureSource. We strongly recommend that you provide your own implementation for this method that will be more efficient If you do not override this method the means it gets the BoundingBox is by calling the GetAllFeatureCore method and deriving it from each feature. This is a very inefficient way to get the BoundingBox in most data sources. It is highly recommended that you override this method and replace it with a highly optimized version. For example in a ShapeFile the BoundingBox is in the main header of the file. Similarly if you are using Oracle Spatial you can execute a simple query to get the BoundingBox of all of the record without returning them. In these ways you can greatly improve the performance of this method.//
  
 == Return Value == == Return Value ==
Line 1643: Line 1778:
 ** {{wiki:​ProtectedMethod.gif|}} GetCountCore() ** ** {{wiki:​ProtectedMethod.gif|}} GetCountCore() **
  
-This method returns the count of the number of records in this FeatureSource.+  * //This method returns the count of the number of records in this FeatureSource.//
 == Remarks == == Remarks ==
-This protected virtual method is called from the concreate public method GetCount. It does not take into account any transaction activity as this is the responsibility of the concreate public method GetCount. In this way as a developer if you choose to override this method you do not have to consider transaction at all. The default implementation of GetCountCore uses the GetAllRecordsCore method to calculate how many records there are in the FeatureSource. We strongly recommend that you provide your own implementation for this method that will be more efficient If you do not override this method the means it gets the count is by calling the GetAllFeatureCore method and counting each feature. This is a very inefficient way to get the count in most data sources. It is highly recommended that you override this method and replace it with a highly optimized version. For example in a ShapeFile the record count is in the main header of the file. Similarly if you are using Oracle Spatial you can execute a simple query to get the count of all of the record without returning them. In these ways you can greatly improve the performance of this method.+  * //This protected virtual method is called from the concreate public method GetCount. It does not take into account any transaction activity as this is the responsibility of the concreate public method GetCount. In this way as a developer if you choose to override this method you do not have to consider transaction at all. The default implementation of GetCountCore uses the GetAllRecordsCore method to calculate how many records there are in the FeatureSource. We strongly recommend that you provide your own implementation for this method that will be more efficient If you do not override this method the means it gets the count is by calling the GetAllFeatureCore method and counting each feature. This is a very inefficient way to get the count in most data sources. It is highly recommended that you override this method and replace it with a highly optimized version. For example in a ShapeFile the record count is in the main header of the file. Similarly if you are using Oracle Spatial you can execute a simple query to get the count of all of the record without returning them. In these ways you can greatly improve the performance of this method.//
  
 == Return Value == == Return Value ==
Line 1655: Line 1790:
 ** {{wiki:​ProtectedMethod.gif|}} GetFeaturesByIdsCore(IEnumerable<​String>,​IEnumerable<​String>​) ** ** {{wiki:​ProtectedMethod.gif|}} GetFeaturesByIdsCore(IEnumerable<​String>,​IEnumerable<​String>​) **
  
-This method returns a collection of InternalFeatures by providing a group of Ids.+  * //This method returns a collection of InternalFeatures by providing a group of Ids.//
 == Remarks == == Remarks ==
-This method returns a collection of InternalFeatures by providing a group of Ids. The internal implementation calls the GetAllFeaturesCore. Because of this if you want an efficient version of this method then we high suggest you override the GetFeaturesByIdsCore method and provide a fast way to find a group of InternalFeatures by their Id.+  * //This method returns a collection of InternalFeatures by providing a group of Ids. The internal implementation calls the GetAllFeaturesCore. Because of this if you want an efficient version of this method then we high suggest you override the GetFeaturesByIdsCore method and provide a fast way to find a group of InternalFeatures by their Id.//
  
 == Return Value == == Return Value ==
Line 1675: Line 1810:
 ** {{wiki:​ProtectedMethod.gif|}} GetFeaturesInsideBoundingBoxCore(RectangleShape,​IEnumerable<​String>​) ** ** {{wiki:​ProtectedMethod.gif|}} GetFeaturesInsideBoundingBoxCore(RectangleShape,​IEnumerable<​String>​) **
  
-This method returns all of the InternalFeatures of this FeatureSource inside of the specified bounding box.+  * //This method returns all of the InternalFeatures of this FeatureSource inside of the specified bounding box.//
 == Remarks == == Remarks ==
-This method returns all of the InternalFeatures of this FeatureSource inside of the specified bounding box. If you are overriding this method you will not need to consider anything about transactions as this is handled by the concreate version of this method. The default implementation of GetFeaturesInsideBoundingBoxCore uses the GetAllRecordsCore method to determine which InternalFeatures are inside of the bounding box. We strongly recommend that you provide your own implementation for this method that will be more efficient. It is especially important for this method as many other default virtual methods use this for their calculations. We highly recommend when you override this method that you use any spatial indexes you have at your disposal to make this method as fast as possible.+  * //This method returns all of the InternalFeatures of this FeatureSource inside of the specified bounding box. If you are overriding this method you will not need to consider anything about transactions as this is handled by the concreate version of this method. The default implementation of GetFeaturesInsideBoundingBoxCore uses the GetAllRecordsCore method to determine which InternalFeatures are inside of the bounding box. We strongly recommend that you provide your own implementation for this method that will be more efficient. It is especially important for this method as many other default virtual methods use this for their calculations. We highly recommend when you override this method that you use any spatial indexes you have at your disposal to make this method as fast as possible.//
  
 == Return Value == == Return Value ==
Line 1695: Line 1830:
 ** {{wiki:​ProtectedMethod.gif|}} GetFeaturesOutsideBoundingBoxCore(RectangleShape,​IEnumerable<​String>​) ** ** {{wiki:​ProtectedMethod.gif|}} GetFeaturesOutsideBoundingBoxCore(RectangleShape,​IEnumerable<​String>​) **
  
-This method returns all of the InternalFeatures of this FeatureSource outside of the specified bounding box.+  * //This method returns all of the InternalFeatures of this FeatureSource outside of the specified bounding box.//
 == Remarks == == Remarks ==
-This method returns all of the InternalFeatures of this FeatureSource outside of the specified bounding box. If you are in a transaction and that transaction is live then it will also take that into consideration. The default implementation of GetFeaturesOutsideBoundingBoxCore uses the GetAllRecordsCore method to determine which InternalFeatures are outside of the bounding box. We strongly recommend that you provide your own implementation for this method that will be more efficient+  * //This method returns all of the InternalFeatures of this FeatureSource outside of the specified bounding box. If you are in a transaction and that transaction is live then it will also take that into consideration. The default implementation of GetFeaturesOutsideBoundingBoxCore uses the GetAllRecordsCore method to determine which InternalFeatures are outside of the bounding box. We strongly recommend that you provide your own implementation for this method that will be more efficient//
  
 == Return Value == == Return Value ==
Line 1715: Line 1850:
 ** {{wiki:​ProtectedMethod.gif|}} GetFeaturesWithinDistanceOfCore(BaseShape,​GeographyUnit,​DistanceUnit,​Double,​IEnumerable<​String>​) ** ** {{wiki:​ProtectedMethod.gif|}} GetFeaturesWithinDistanceOfCore(BaseShape,​GeographyUnit,​DistanceUnit,​Double,​IEnumerable<​String>​) **
  
-This method returns a collection of InternalFeatures that are within a certain distance of the TargetShape.+  * //This method returns a collection of InternalFeatures that are within a certain distance of the TargetShape.//
 == Remarks == == Remarks ==
-This method returns a collection of InternalFeatures that are within a certain distance of the TargetShape. It is important to note that the TargetShape and the FeatureSource use the same unit such as feet or meters. If they do not then the results will not be predictable or correct. If there is a current transaction and it is marked as live then the results will include any transaction Feature that applies. The implementation we provided create a bounding box around the TargetShape using the distance supplied and then queries the features inside of it. This may not the most efficient method for this operation. If you underlying data provider exposes a more efficient way we recommend you override the Core version of this method and implement it. The default implementation of GetFeaturesWithinDistanceOfCore uses the GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you provide your own implementation for this method that will be more efficient. We recommend when you override GetFeaturesInsideBoundingBoxCore method that you use any spatial indexes you have at your disposal to make this method as fast as possible.+  * //This method returns a collection of InternalFeatures that are within a certain distance of the TargetShape. It is important to note that the TargetShape and the FeatureSource use the same unit such as feet or meters. If they do not then the results will not be predictable or correct. If there is a current transaction and it is marked as live then the results will include any transaction Feature that applies. The implementation we provided create a bounding box around the TargetShape using the distance supplied and then queries the features inside of it. This may not the most efficient method for this operation. If you underlying data provider exposes a more efficient way we recommend you override the Core version of this method and implement it. The default implementation of GetFeaturesWithinDistanceOfCore uses the GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you provide your own implementation for this method that will be more efficient. We recommend when you override GetFeaturesInsideBoundingBoxCore method that you use any spatial indexes you have at your disposal to make this method as fast as possible.//
  
 == Return Value == == Return Value ==
Line 1747: Line 1882:
 ** {{wiki:​ProtectedMethod.gif|}} GetFeaturesNearestToCore(BaseShape,​GeographyUnit,​Int32,​IEnumerable<​String>​) ** ** {{wiki:​ProtectedMethod.gif|}} GetFeaturesNearestToCore(BaseShape,​GeographyUnit,​Int32,​IEnumerable<​String>​) **
  
-This method returns a user defined number of InternalFeatures that are closest to the TargetShape.+  * //This method returns a user defined number of InternalFeatures that are closest to the TargetShape.//
 == Remarks == == Remarks ==
-This method returns a user defined number of InternalFeatures that are closest to the TargetShape. It is important to note that the TargetShape and the FeatureSource use the same unit such as feet or meters. If they do not then the results will not be predictable or correct. If there is a current transaction and it is marked as live then the results will include any transaction Feature that applies. The implementation we provided create a small bounding box around the TargetShape and then queries the features inside of it. If we reach the number of items to find then we measure the returned InternalFeatures to find the nearest. If we do not find enough records we scale up the bounding box and try again. As you can see this is not the most efficient method. If you underlying data provider exposes a more efficient way we recommend you override the Core version of this method and implement it. The default implementation of GetFeaturesNearestCore uses the GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you provide your own implementation for this method that will be more efficient. We recommend when you override GetFeaturesInsideBoundingBoxCore method that you use any spatial indexes you have at your disposal to make this method as fast as possible.+  * //This method returns a user defined number of InternalFeatures that are closest to the TargetShape. It is important to note that the TargetShape and the FeatureSource use the same unit such as feet or meters. If they do not then the results will not be predictable or correct. If there is a current transaction and it is marked as live then the results will include any transaction Feature that applies. The implementation we provided create a small bounding box around the TargetShape and then queries the features inside of it. If we reach the number of items to find then we measure the returned InternalFeatures to find the nearest. If we do not find enough records we scale up the bounding box and try again. As you can see this is not the most efficient method. If you underlying data provider exposes a more efficient way we recommend you override the Core version of this method and implement it. The default implementation of GetFeaturesNearestCore uses the GetFeaturesInsideBoundingBoxCore method for speed. We strongly recommend that you provide your own implementation for this method that will be more efficient. We recommend when you override GetFeaturesInsideBoundingBoxCore method that you use any spatial indexes you have at your disposal to make this method as fast as possible.//
  
 == Return Value == == Return Value ==
Line 1773: Line 1908:
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​Bhs=(Collection<​Feature>​) **+** {{wiki:​ProtectedMethod.gif|}} ​ConvertToInternalProjection(BaseShape) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​baseShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} ConvertToExternalProjection(IEnumerable<​Feature>​) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A//
  
 == Return Value == == Return Value ==
Line 1784: Line 1935:
  
 == Parameters == == Parameters ==
-  * //Bxs=// +  * //features// 
-    * Type:Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​+    * Type:IEnumerable<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​
     * Description:​N/​A     * Description:​N/​A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​CBs=(RectangleShape,​Collection<​Feature>​,Boolean) **+** {{wiki:​ProtectedMethod.gif|}} ​ConvertToInternalProjection(IEnumerable<​Feature>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:Void+  * Type:Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​
   * Description:​N/​A   * Description:​N/​A
  
 == Parameters == == Parameters ==
-  * //CRs=// +  * //features// 
-    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]+    * Type:IEnumerable<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>
     * Description:​N/​A     * Description:​N/​A
  
-  ​* //Chs=// +<div newline></​div>​ 
-    * Type:Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>+** {{wiki:​ProtectedMethod.gif|}} ConvertToExternalProjection(Feature) ** 
 + 
 +  ​* //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //feature// 
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]]
     * Description:​N/​A     * Description:​N/​A
  
-  ​* //Cxs=// +<div newline></​div>​ 
-    * Type:Boolean+** {{wiki:​ProtectedMethod.gif|}} ConvertToInternalProjection(Feature) ** 
 + 
 +  ​* //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //feature// 
 +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]]
     * Description:​N/​A     * Description:​N/​A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​DBs=(RectangleShape,​Double,​Double,​IEnumerable<​String>​,​RectangleShape) **+** {{wiki:​ProtectedMethod.gif|}} ​GetColumnNamesInsideFeatureSource(IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>+  * Type:​Collection<​String>
   * Description:​N/​A   * Description:​N/​A
  
 == Parameters == == Parameters ==
-  * //DRs=// +  * //returningColumnNames// 
-    * Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]+    * Type:IEnumerable<​String>​
     * Description:​N/​A     * Description:​N/​A
  
-  ​* //Dhs=// +<div newline></​div>​ 
-    * Type:Double+** {{wiki:​ProtectedMethod.gif|}} GetColumnNamesOutsideFeatureSource(IEnumerable<​String>​) ** 
 + 
 +  ​* //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​Collection<​String>​ 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​returningColumnNames// 
 +    * Type:IEnumerable<​String>​
     * Description:​N/​A     * Description:​N/​A
  
-  ​* //Dxs=// +<div newline></​div>​ 
-    * Type:Double+** {{wiki:​ProtectedMethod.gif|}} GetReturningColumnNames(ReturningColumnsType) ** 
 + 
 +  ​* //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​Collection<​String>​ 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​returningColumnNamesType// 
 +    * Type:[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]
     * Description:​N/​A     * Description:​N/​A
  
-  ​* //EBs=// +<div newline></​div>​ 
-    * Type:IEnumerable<String>+** {{wiki:​ProtectedMethod.gif|}} RemoveEmptyAndExcludeFeatures(Collection<​Feature>​) ** 
 + 
 +  ​* //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:Void 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​sourceFeatures// 
 +    * Type:Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]>
     * Description:​N/​A     * Description:​N/​A
  
-  ​* //ERs=// +<div newline></​div>​ 
-    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]+** {{wiki:​ProtectedMethod.gif|}} OnDrawingProgressChanged(DrawingProgressChangedEventArgs) ** 
 + 
 +  ​* //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:Void 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //e// 
 +    * Type:​[[ThinkGeo.MapSuite.Core.DrawingProgressChangedEventArgs|DrawingProgressChangedEventArgs]]
     * Description:​N/​A     * Description:​N/​A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​Ehs=(RectangleShape,​Double,​Double,​IEnumerable<​String>​,​RectangleShape) **+** {{wiki:​ProtectedMethod.gif|}} ​GetColumnNamesOutsideFeatureSourceCall(IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>+  * Type:​Collection<​String>
   * Description:​N/​A   * Description:​N/​A
  
 == Parameters == == Parameters ==
-  * //Exs=// +  * //returningColumnNames// 
-    * Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]+    * Type:IEnumerable<​String>​
     * Description:​N/​A     * Description:​N/​A
  
-  ​* //FBs=// +<div newline></​div>​ 
-    * Type:Double+** {{wiki:​ProtectedMethod.gif|}} GetFeaturesByActionWithStyleFilters(IEnumerable<​String>,​IEnumerable<​String>,​ZoomLevel,​Func<​Collection<​Feature>>,​IEnumerable<​String>,​RectangleShape) ** 
 + 
 +  ​* //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​Dictionary<​String,​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>>​ 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​styleFilters// 
 +    * Type:IEnumerable<​String>​
     * Description:​N/​A     * Description:​N/​A
  
-  * //FRs=// +  * //returningColumnNames// 
-    * Type:Double+    * Type:IEnumerable<​String>​
     * Description:​N/​A     * Description:​N/​A
  
-  * //Fhs=//+  * //currentZoomLevel//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.ZoomLevel|ZoomLevel]] 
 +    * Description:​N/​A 
 + 
 +  * //func// 
 +    * Type:​Func<​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>>​ 
 +    * Description:​N/​A 
 + 
 +  * //ids//
     * Type:​IEnumerable<​String>​     * Type:​IEnumerable<​String>​
     * Description:​N/​A     * Description:​N/​A
  
-  * //Fxs=//+  * //extent//
     * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]     * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]
     * Description:​N/​A     * Description:​N/​A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​GetFeaturesForDrawingCore(RectangleShape,Double,Double,​IEnumerable<​String>​) **+** {{wiki:​ProtectedMethod.gif|}} ​ApplyLinkColumnValues(IEnumerable<​String>​,Func<​IEnumerable<​String>​,Collection<​Feature>>​,​IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 1888: Line 2131:
  
 == Parameters == == Parameters ==
-  * //boundingBox// +  * //returningColumnNames// 
-    * Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]+    * Type:IEnumerable<​String>​
     * Description:​N/​A     * Description:​N/​A
  
-  * //screenWidth// +  * //getFeatures// 
-    * Type:Double+    * Type:Func<​IEnumerable<​String>,​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>>​
     * Description:​N/​A     * Description:​N/​A
  
-  * //screenHeight//​ +  * //filters//
-    * Type:​Double +
-    * Description:​N/​A +
- +
-  * //​returningColumnNames//+
     * Type:​IEnumerable<​String>​     * Type:​IEnumerable<​String>​
     * Description:​N/​A     * Description:​N/​A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​SpatialQueryCore(BaseShape,QueryType,​IEnumerable<​String>​) **+** {{wiki:​ProtectedMethod.gif|}} ​ApplyLinkColumnValues(IEnumerable<​Feature>​,IEnumerable<​String>,​IEnumerable<​String>​,​IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 1916: Line 2155:
  
 == Parameters == == Parameters ==
-  * //targetShape// +  * //features// 
-    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]+    * Type:IEnumerable<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>
     * Description:​N/​A     * Description:​N/​A
  
-  * //queryType// +  * //returningColumnNames// 
-    * Type:[[ThinkGeo.MapSuite.Core.QueryType|QueryType]]+    * Type:IEnumerable<​String>​
     * Description:​N/​A     * Description:​N/​A
  
 +  * //filters//
 +    * Type:​IEnumerable<​String>​
 +    * Description:​N/​A
 +
 +  * //​linkingColumnNames//​
 +    * Type:​IEnumerable<​String>​
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​ProtectedMethod.gif|}} GetRequiredColumnNamesForLink(IEnumerable<​String>​) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:​Collection<​String>​
 +  * Description:​N/​A
 +
 +== Parameters ==
   * //​returningColumnNames//​   * //​returningColumnNames//​
     * Type:​IEnumerable<​String>​     * Type:​IEnumerable<​String>​
Line 1929: Line 2188:
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​GetBoundingBoxByIdCore(String) **+** {{wiki:​ProtectedMethod.gif|}} ​GetReturningColumnNamesForLink(IEnumerable<​String>,​IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]+  * Type:Collection<​String>​
   * Description:​N/​A   * Description:​N/​A
  
 == Parameters == == Parameters ==
-  * //id// +  * //returningColumnNames// 
-    * Type:String+    * Type:IEnumerable<​String
 +    * Description:​N/​A 
 + 
 +  * //​filters//​ 
 +    * Type:​IEnumerable<​String>​
     * Description:​N/​A     * Description:​N/​A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​GetFirstFeaturesWellKnownTypeCore() **+** {{wiki:​ProtectedMethod.gif|}} ​GetFlatLinkSources() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:​[[ThinkGeo.MapSuite.Core.WellKnownType|WellKnownType]]+  * Type:IEnumerable<​[[ThinkGeo.MapSuite.Core.LinkSource|LinkSource]]>
   * Description:​N/​A   * Description:​N/​A
  
 == Parameters == == Parameters ==
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​ConvertToExternalProjection(IEnumerable<​RectangleShape>​) **+** {{wiki:​ProtectedMethod.gif|}} ​CheckIsLinkColumn(String) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:Collection<​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]>​+  * Type:Boolean
   * Description:​N/​A   * Description:​N/​A
  
 == Parameters == == Parameters ==
-  * //rectangles// +  * //columnName// 
-    * Type:IEnumerable<​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]>​+    * Type:String
     * Description:​N/​A     * Description:​N/​A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​ConvertToInternalProjection(IEnumerable<​RectangleShape>) **+** {{wiki:​ProtectedMethod.gif|}} ​CheckHasLinkColumns(IEnumerable<​String>,​IEnumerable<​String>) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:Collection<​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]>​+  * Type:Boolean
   * Description:​N/​A   * Description:​N/​A
  
 == Parameters == == Parameters ==
-  * //rectangles// +  * //returningColumnNames// 
-    * Type:​IEnumerable<​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]>+    * Type:​IEnumerable<​String>​ 
 +    * Description:​N/​A 
 + 
 +  * //​filters//​ 
 +    * Type:​IEnumerable<​String>
     * Description:​N/​A     * Description:​N/​A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​ConvertToExternalProjection(RectangleShape) **+** {{wiki:​ProtectedMethod.gif|}} ​CloneDeepCore() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]+  * Type:​[[ThinkGeo.MapSuite.Core.FeatureSource|FeatureSource]]
   * Description:​N/​A   * Description:​N/​A
  
 == Parameters == == Parameters ==
-  * //​rectangle//​ 
-    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
-    * Description:​N/​A 
- 
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​ConvertToInternalProjection(RectangleShape) **+** {{wiki:​ProtectedMethod.gif|}} ​RaiseCustomColumnFetchEvent(Collection<​Feature>,​Collection<​String>,​Boolean) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]+  * Type:Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>
   * Description:​N/​A   * Description:​N/​A
  
 == Parameters == == Parameters ==
-  * //rectangle// +  * //sourceFeatures// 
-    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]+    * Type:Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]
 +    * Description:​N/​A 
 + 
 +  * //​fieldNamesOutsideOfSource//​ 
 +    * Type:​Collection<​String>​ 
 +    * Description:​N/​A 
 + 
 +  * //​forceRaiseEvent//​ 
 +    * Type:​Boolean
     * Description:​N/​A     * Description:​N/​A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​ORs=(RectangleShape) **+** {{wiki:​ProtectedMethod.gif|}} ​OnApplyingFilters(ApplyingFiltersFeatureSourceEventArgs) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]+  * Type:Void
   * Description:​N/​A   * Description:​N/​A
  
 == Parameters == == Parameters ==
-  * //Ohs=// +  * //e// 
-    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]+    * Type:​[[ThinkGeo.MapSuite.Core.ApplyingFiltersFeatureSourceEventArgs|ApplyingFiltersFeatureSourceEventArgs]]
     * Description:​N/​A     * Description:​N/​A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​ConvertToInternalProjection(BaseShape) **+** {{wiki:​ProtectedMethod.gif|}} ​OnAppliedFilters(AppliedFiltersFeatureSourceEventArgs) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]+  * Type:Void
   * Description:​N/​A   * Description:​N/​A
  
 == Parameters == == Parameters ==
-  * //baseShape// +  * //e// 
-    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]+    * Type:​[[ThinkGeo.MapSuite.Core.AppliedFiltersFeatureSourceEventArgs|AppliedFiltersFeatureSourceEventArgs]]
     * Description:​N/​A     * Description:​N/​A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​ConvertToExternalProjection(IEnumerable<​Feature>​) **+** {{wiki:​ProtectedMethod.gif|}} ​ApplyFiltersCore(IEnumerable<​Feature>​,​IEnumerable<​String>,​String) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 2066: Line 2337:
   * //​features//​   * //​features//​
     * Type:​IEnumerable<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​     * Type:​IEnumerable<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​
 +    * Description:​N/​A
 +
 +  * //​returningColumnNames//​
 +    * Type:​IEnumerable<​String>​
 +    * Description:​N/​A
 +
 +  * //​linkExpression//​
 +    * Type:String
     * Description:​N/​A     * Description:​N/​A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​ConvertToInternalProjection(IEnumerable<​Feature>​) **+** {{wiki:​ProtectedMethod.gif|}} ​ConvertToExternalProjectionIfNecessary(Collection<​Feature>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 2080: Line 2359:
  
 == Parameters == == Parameters ==
-  * //features// +  * //returnFeatures// 
-    * Type:IEnumerable<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​+    * Type:Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​
     * Description:​N/​A     * Description:​N/​A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​ConvertToExternalProjection(Feature) **+** {{wiki:​ProtectedMethod.gif|}} ​ProcessTransaction(RectangleShape,​Collection<​Feature>,​Boolean) **
  
-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 ==
-  * //feature// +  * //boundingBox// 
-    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]]+    * Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
 +    * Description:​N/​A 
 + 
 +  * //​returnFeatures//​ 
 +    * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]
 +    * Description:​N/​A 
 + 
 +  * //​needUpdateProjection//​ 
 +    * Type:​Boolean
     * Description:​N/​A     * Description:​N/​A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​ConvertToInternalProjection(Feature) **+** {{wiki:​ProtectedMethod.gif|}} ​GetWrappingFeaturesLeft(RectangleShape,​Double,​Double,​IEnumerable<​String>,​RectangleShape) **
  
-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.Feature|Feature]]>
   * Description:​N/​A   * Description:​N/​A
  
 == Parameters == == Parameters ==
-  * //feature// +  * //boundingBox// 
-    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]]+    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
 +    * Description:​N/​A 
 + 
 +  * //​screenWidth//​ 
 +    * Type:​Double 
 +    * Description:​N/​A 
 + 
 +  * //​screenHeight//​ 
 +    * Type:​Double 
 +    * Description:​N/​A 
 + 
 +  * //​returningColumnNames//​ 
 +    * Type:​IEnumerable<​String>​ 
 +    * Description:​N/​A 
 + 
 +  * //​wrappingExtent//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]
     * Description:​N/​A     * Description:​N/​A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​GetColumnNamesInsideFeatureSource(IEnumerable<​String>​) **+** {{wiki:​ProtectedMethod.gif|}} ​GetWrappingFeaturesRight(RectangleShape,​Double,​Double,​IEnumerable<​String>​,​RectangleShape) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:​Collection<​String>+  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>
   * Description:​N/​A   * Description:​N/​A
  
 == Parameters == == Parameters ==
 +  * //​boundingBox//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]
 +    * Description:​N/​A
 +
 +  * //​screenWidth//​
 +    * Type:Double
 +    * Description:​N/​A
 +
 +  * //​screenHeight//​
 +    * Type:Double
 +    * Description:​N/​A
 +
   * //​returningColumnNames//​   * //​returningColumnNames//​
     * Type:​IEnumerable<​String>​     * Type:​IEnumerable<​String>​
 +    * Description:​N/​A
 +
 +  * //​wrappingExtent//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]
     * Description:​N/​A     * Description:​N/​A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​GetColumnNamesOutsideFeatureSource(IEnumerable<​String>​) **+** {{wiki:​ProtectedMethod.gif|}} ​GetFeaturesForDrawingCore(RectangleShape,​Double,​Double,​IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:​Collection<​String>+  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>
   * Description:​N/​A   * Description:​N/​A
  
 == Parameters == == Parameters ==
 +  * //​boundingBox//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]
 +    * Description:​N/​A
 +
 +  * //​screenWidth//​
 +    * Type:Double
 +    * Description:​N/​A
 +
 +  * //​screenHeight//​
 +    * Type:Double
 +    * Description:​N/​A
 +
   * //​returningColumnNames//​   * //​returningColumnNames//​
     * Type:​IEnumerable<​String>​     * Type:​IEnumerable<​String>​
Line 2149: Line 2480:
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​GetReturningColumnNames(ReturningColumnsType) **+** {{wiki:​ProtectedMethod.gif|}} ​SpatialQueryCore(BaseShape,​QueryType,​IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:​Collection<​String>+  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>
   * Description:​N/​A   * Description:​N/​A
  
 == Parameters == == Parameters ==
-  * //returningColumnNamesType// +  * //targetShape// 
-    * Type:​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]+    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​N/​A 
 + 
 +  * //​queryType//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.QueryType|QueryType]] 
 +    * Description:​N/​A 
 + 
 +  * //​returningColumnNames//​ 
 +    * Type:​IEnumerable<​String>​
     * Description:​N/​A     * Description:​N/​A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​SBs=(Collection<​Feature>​) **+** {{wiki:​ProtectedMethod.gif|}} ​GetBoundingBoxByIdCore(String) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:Void+  * Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]
   * Description:​N/​A   * Description:​N/​A
  
 == Parameters == == Parameters ==
-  * //SRs=// +  * //id// 
-    * Type:Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​+    * Type:String
     * Description:​N/​A     * Description:​N/​A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​OnDrawingProgressChanged(DrawingProgressChangedEventArgs) **+** {{wiki:​ProtectedMethod.gif|}} ​GetFirstFeaturesWellKnownTypeCore() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:Void+  * Type:[[ThinkGeo.MapSuite.Core.WellKnownType|WellKnownType]]
   * Description:​N/​A   * Description:​N/​A
  
 == Parameters == == Parameters ==
-  ​* //e// +<div newline></​div>​ 
-    * Type:​[[ThinkGeo.MapSuite.Core.DrawingProgressChangedEventArgs|DrawingProgressChangedEventArgs]]+** {{wiki:​ProtectedMethod.gif|}} ConvertToExternalProjection(IEnumerable<​RectangleShape>​) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]>​ 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  ​* //rectangles// 
 +    * Type:IEnumerable<​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]>
     * Description:​N/​A     * Description:​N/​A
  
 <div newline></​div>​ <div newline></​div>​
-** {{wiki:​ProtectedMethod.gif|}} ​VRs=(IEnumerable<​String>) **+** {{wiki:​ProtectedMethod.gif|}} ​ConvertToInternalProjection(IEnumerable<​RectangleShape>) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:​Collection<​String>+  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]>
   * Description:​N/​A   * Description:​N/​A
  
 == Parameters == == Parameters ==
-  * //Vhs=// +  * //rectangles// 
-    * Type:​IEnumerable<​String>+    * Type:​IEnumerable<​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]> 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} ConvertToExternalProjection(RectangleShape) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​rectangle//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} ConvertToInternalProjection(RectangleShape) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​rectangle//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} ConvertToInternalProjectionCall(RectangleShape) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //​rectangle//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]
     * Description:​N/​A     * Description:​N/​A
  
Line 2215: Line 2614:
 ** {{wiki:​ProtectedMethod.gif|}} CanGetBoundingBoxQuicklyCore() ** ** {{wiki:​ProtectedMethod.gif|}} CanGetBoundingBoxQuicklyCore() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 2227: Line 2626:
 ** {{wiki:​ProtectedMethod.gif|}} CanGetCountQuicklyCore() ** ** {{wiki:​ProtectedMethod.gif|}} CanGetCountQuicklyCore() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 2239: Line 2638:
 ** {{wiki:​ProtectedMethod.gif|}} GetDistinctColumnValuesCore(String) ** ** {{wiki:​ProtectedMethod.gif|}} GetDistinctColumnValuesCore(String) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 2255: Line 2654:
 ** {{wiki:​ProtectedMethod.gif|}} GetAllFeaturesCore(IEnumerable<​String>,​Int32,​Int32) ** ** {{wiki:​ProtectedMethod.gif|}} GetAllFeaturesCore(IEnumerable<​String>,​Int32,​Int32) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 2274: Line 2673:
   * //​takeCount//​   * //​takeCount//​
     * Type:Int32     * Type:Int32
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​ProtectedMethod.gif|}} OnGettingFeaturesByIds(GettingFeaturesByIdsFeatureSourceEventArgs) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //e//
 +    * Type:​[[ThinkGeo.MapSuite.Core.GettingFeaturesByIdsFeatureSourceEventArgs|GettingFeaturesByIdsFeatureSourceEventArgs]]
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​ProtectedMethod.gif|}} OnGettingFeaturesForDrawing(GettingFeaturesForDrawingFeatureSourceEventArgs) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //e//
 +    * Type:​[[ThinkGeo.MapSuite.Core.GettingFeaturesForDrawingFeatureSourceEventArgs|GettingFeaturesForDrawingFeatureSourceEventArgs]]
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​ProtectedMethod.gif|}} OnGettingColumns(GettingColumnsFeatureSourceEventArgs) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //e//
 +    * Type:​[[ThinkGeo.MapSuite.Core.GettingColumnsFeatureSourceEventArgs|GettingColumnsFeatureSourceEventArgs]]
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​ProtectedMethod.gif|}} OnGottenColumns(GottenColumnsFeatureSourceEventArgs) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //e//
 +    * Type:​[[ThinkGeo.MapSuite.Core.GottenColumnsFeatureSourceEventArgs|GottenColumnsFeatureSourceEventArgs]]
     * Description:​N/​A     * Description:​N/​A
  
Line 2279: Line 2742:
 ** {{wiki:​ProtectedMethod.gif|}} OnCustomColumnFetch(CustomColumnFetchEventArgs) ** ** {{wiki:​ProtectedMethod.gif|}} OnCustomColumnFetch(CustomColumnFetchEventArgs) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 2295: Line 2758:
 ** {{wiki:​ProtectedMethod.gif|}} OnCommittingTransaction(CommittingTransactionEventArgs) ** ** {{wiki:​ProtectedMethod.gif|}} OnCommittingTransaction(CommittingTransactionEventArgs) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 2311: Line 2774:
 ** {{wiki:​ProtectedMethod.gif|}} OnCommittedTransaction(CommittedTransactionEventArgs) ** ** {{wiki:​ProtectedMethod.gif|}} OnCommittedTransaction(CommittedTransactionEventArgs) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 2327: Line 2790:
 ** {{wiki:​ProtectedMethod.gif|}} OnOpeningFeatureSource(OpeningFeatureSourceEventArgs) ** ** {{wiki:​ProtectedMethod.gif|}} OnOpeningFeatureSource(OpeningFeatureSourceEventArgs) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 2343: Line 2806:
 ** {{wiki:​ProtectedMethod.gif|}} OnOpenedFeatureSource(OpenedFeatureSourceEventArgs) ** ** {{wiki:​ProtectedMethod.gif|}} OnOpenedFeatureSource(OpenedFeatureSourceEventArgs) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 2359: Line 2822:
 ** {{wiki:​ProtectedMethod.gif|}} OnClosingFeatureSource(ClosingFeatureSourceEventArgs) ** ** {{wiki:​ProtectedMethod.gif|}} OnClosingFeatureSource(ClosingFeatureSourceEventArgs) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 2375: Line 2838:
 ** {{wiki:​ProtectedMethod.gif|}} OnClosedFeatureSource(ClosedFeatureSourceEventArgs) ** ** {{wiki:​ProtectedMethod.gif|}} OnClosedFeatureSource(ClosedFeatureSourceEventArgs) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 2391: Line 2854:
 ** {{wiki:​ProtectedMethod.gif|}} ExecuteNonQueryCore(String) ** ** {{wiki:​ProtectedMethod.gif|}} ExecuteNonQueryCore(String) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 2407: Line 2870:
 ** {{wiki:​ProtectedMethod.gif|}} GetFeaturesByColumnValueCore(String,​String,​IEnumerable<​String>​) ** ** {{wiki:​ProtectedMethod.gif|}} GetFeaturesByColumnValueCore(String,​String,​IEnumerable<​String>​) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 2431: Line 2894:
 ** {{wiki:​ProtectedMethod.gif|}} ExecuteScalarCore(String) ** ** {{wiki:​ProtectedMethod.gif|}} ExecuteScalarCore(String) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 2447: Line 2910:
 ** {{wiki:​ProtectedMethod.gif|}} ExecuteQueryCore(String) ** ** {{wiki:​ProtectedMethod.gif|}} ExecuteQueryCore(String) **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
-  * Type:[[ThinkGeo.MapSuite.Portable.GeoDataTable|GeoDataTable]]+  * Type:DataTable
   * Description:​N/​A   * Description:​N/​A
  
Line 2458: Line 2921:
   * //​sqlStatement//​   * //​sqlStatement//​
     * Type:String     * Type:String
-    * Description:​N/​A 
- 
-<div newline></​div>​ 
-** {{wiki:​ProtectedMethod.gif|}} CloneDeepCore() ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:​[[ThinkGeo.MapSuite.Core.FeatureSource|FeatureSource]] 
-  * Description:​N/​A 
- 
-== Parameters == 
-<div newline></​div>​ 
-** {{wiki:​ProtectedMethod.gif|}} ABs=(Collection<​Feature>,​Collection<​String>,​Boolean) ** 
- 
-N/A 
-== Remarks == 
-N/A 
- 
-== Return Value == 
-  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-  * Description:​N/​A 
- 
-== Parameters == 
-  * //ARs=// 
-    * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-    * Description:​N/​A 
- 
-  * //Ahs=// 
-    * Type:​Collection<​String>​ 
-    * Description:​N/​A 
- 
-  * //Axs=// 
-    * Type:​Boolean 
     * Description:​N/​A     * Description:​N/​A
  
Line 2499: Line 2926:
 ** {{wiki:​ProtectedMethod.gif|}} Finalize() ** ** {{wiki:​ProtectedMethod.gif|}} Finalize() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 2511: Line 2938:
 ** {{wiki:​ProtectedMethod.gif|}} MemberwiseClone() ** ** {{wiki:​ProtectedMethod.gif|}} MemberwiseClone() **
  
-N/A+  * //N/A//
 == Remarks == == Remarks ==
-N/A+  * //N/A//
  
 == Return Value == == Return Value ==
Line 2657: Line 3084:
 == Return Value == == Return Value ==
   * Type:Int32   * Type:Int32
 +
 +** {{wiki:​PublicProperty.gif|}} LinkSources **
 +
 +N/A
 +== Remarks ==
 +N/A
 +== Return Value ==
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.LinkSource|LinkSource]]>​
 +
 +** {{wiki:​PublicProperty.gif|}} LinkExpressions **
 +
 +N/A
 +== Remarks ==
 +N/A
 +== Return Value ==
 +  * Type:​Collection<​String>​
 +
 +** {{wiki:​PublicProperty.gif|}} Filters **
 +
 +N/A
 +== Remarks ==
 +N/A
 +== Return Value ==
 +  * Type:​Collection<​String>​
 +
 +** {{wiki:​PublicProperty.gif|}} GeometryValidationMode **
 +
 +N/A
 +== Remarks ==
 +N/A
 +== Return Value ==
 +  * Type:​[[ThinkGeo.MapSuite.Core.GeometryValidationMode|GeometryValidationMode]]
  
 ==== Protected Properties ==== ==== Protected Properties ====
Line 2698: Line 3157:
  
 Event Arguments:​[[ThinkGeo.MapSuite.Core.DrawingProgressChangedEventArgs|DrawingProgressChangedEventArgs]] Event Arguments:​[[ThinkGeo.MapSuite.Core.DrawingProgressChangedEventArgs|DrawingProgressChangedEventArgs]]
 +
 +** {{wiki:​PublicEvent.gif|}} GettingColumns **
 +N/A
 +== Remarks ==
 +N/A
 +
 +Event Arguments:​[[ThinkGeo.MapSuite.Core.GettingColumnsFeatureSourceEventArgs|GettingColumnsFeatureSourceEventArgs]]
 +
 +** {{wiki:​PublicEvent.gif|}} GottenColumns **
 +N/A
 +== Remarks ==
 +N/A
 +
 +Event Arguments:​[[ThinkGeo.MapSuite.Core.GottenColumnsFeatureSourceEventArgs|GottenColumnsFeatureSourceEventArgs]]
 +
 +** {{wiki:​PublicEvent.gif|}} ApplyingFilters **
 +N/A
 +== Remarks ==
 +N/A
 +
 +Event Arguments:​[[ThinkGeo.MapSuite.Core.ApplyingFiltersFeatureSourceEventArgs|ApplyingFiltersFeatureSourceEventArgs]]
 +
 +** {{wiki:​PublicEvent.gif|}} AppliedFilters **
 +N/A
 +== Remarks ==
 +N/A
 +
 +Event Arguments:​[[ThinkGeo.MapSuite.Core.AppliedFiltersFeatureSourceEventArgs|AppliedFiltersFeatureSourceEventArgs]]
 +
 +** {{wiki:​PublicEvent.gif|}} GettingFeaturesByIds **
 +N/A
 +== Remarks ==
 +N/A
 +
 +Event Arguments:​[[ThinkGeo.MapSuite.Core.GettingFeaturesByIdsFeatureSourceEventArgs|GettingFeaturesByIdsFeatureSourceEventArgs]]
 +
 +** {{wiki:​PublicEvent.gif|}} GettingFeaturesForDrawing **
 +N/A
 +== Remarks ==
 +N/A
 +
 +Event Arguments:​[[ThinkGeo.MapSuite.Core.GettingFeaturesForDrawingFeatureSourceEventArgs|GettingFeaturesForDrawingFeatureSourceEventArgs]]
  
 ** {{wiki:​PublicEvent.gif|}} CustomColumnFetch ** ** {{wiki:​PublicEvent.gif|}} CustomColumnFetch **
thinkgeo.mapsuite.core.multipleshapefilefeaturesource.1442797670.txt.gz · Last modified: 2015/09/21 01:07 by admin