User Tools

Site Tools


thinkgeo.mapsuite.core.querytools

Differences

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

Link to this comparison view

Next revision
Previous revision
thinkgeo.mapsuite.core.querytools [2015/08/20 03:08]
127.0.0.1 external edit
thinkgeo.mapsuite.core.querytools [2017/03/16 21:59] (current)
Line 1: Line 1:
 ====== ThinkGeo.MapSuite.Core.QueryTools ====== ====== ThinkGeo.MapSuite.Core.QueryTools ======
  
 +{{section>​upgrade_map_suite_to_10.0}}
  
- 
-<!-- Class --> 
 This is a helper class that allows you to execute various queries. This is a helper class that allows you to execute various queries.
-=== Remarks === 
-This is a helper class that allows you to execute various queries. It wraps the query functionality of the FeatureSource and provides a simpler and more focused set of APIs. 
 ===== Inheritance Hierarchy ===== ===== Inheritance Hierarchy =====
-*System.Object +  ​*System.Object 
-**[[ThinkGeo.MapSuite.Core.QueryTools]]+    ***ThinkGeo.MapSuite.Core.QueryTools**
 ===== Members Summary ===== ===== Members Summary =====
 ==== Public Constructors ==== ==== Public Constructors ====
-^ Name ^ Parameters ^ DeclaringType ^ Summary ^ +** {{wiki:​PublicMethod.gif|}} QueryTools(FeatureSource) ​**
-{{wiki:​PublicMethod.gif|Public Method}}[[#QueryTools(FeatureSource)|QueryTools]] ​  | [[ThinkGeo.MapSuite.Core.FeatureSource|FeatureSource]] ​  ​| ​   | This is a constructor for the class. ​  |+
  
 +  * //This is a constructor for the class.//
 +== Remarks ==
 +  * //Each of the calls in this class thunk through to the FeatureSource passed in.//
 +== Parameters ==
 +  * //​featureSource//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.FeatureSource|FeatureSource]]
 +    * Description:​This parameter is the FeatureSource that will provide the functionality for this class'​s methods.
 +
 +<div newline></​div>​
 ==== Protected Constructors ==== ==== Protected Constructors ====
-^ Name ^ Parameters ^ DeclaringType ^ Summary ^ +** {{wiki:​ProtectedMethod.gif|}} QueryTools() ​**
-{{wiki:​ProtectedMethod.gif|Protected Method}}[[#QueryTools()|QueryTools]] ​  ​| ​   |    | This is a constructor for the class. ​  |+
  
 +  * //This is a constructor for the class.//
 +== Remarks ==
 +  * //This is the default constructor,​ though it is typically not intended to be used.//
 +== Parameters ==
 +<div newline></​div>​
 ==== Public Methods ==== ==== Public Methods ====
-^ Name ^ Parameters ^ DeclaringType ^ Summary ^ +** {{wiki:​PublicMethod.gif|}} GetFeaturesByColumnValue(String,​String,​ReturningColumnsType) ​**
-{{wiki:​PublicMethod.gif|Public Method}}[[#​Equals(Object)|Equals]] ​  | Object ​  | Object ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​ExecuteNonQuery(String)|ExecuteNonQuery]] ​  | String ​  ​| ​   | Executes a SQL statement against a connection object. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​ExecuteQuery(String)|ExecuteQuery]] ​  | String ​  ​| ​   | Executes the query and returns the result returned by the query. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​ExecuteScalar(String)|ExecuteScalar]] ​  | String ​  ​| ​   | Executes the query and returns the first column of the first row in the result set returned by the query. All other columns and rows are ignored. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetAllFeatures(IEnumerable<​String>​)|GetAllFeatures]] ​  | IEnumerable<​String> ​  ​| ​   | This method returns all of the InternalFeatures in the FeatureSource. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetAllFeatures(ReturningColumnsType)|GetAllFeatures]] ​  | [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns all of the InternalFeatures in the FeatureSource. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetBoundingBoxById(String)|GetBoundingBoxById]] ​  | String ​  ​| ​   | This method returns the bounding box for the Id specified. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetBoundingBoxesByIds(IEnumerable<​String>​)|GetBoundingBoxesByIds]] ​  | IEnumerable<​String> ​  ​| ​   | This method returns a collection of bounding boxes based on the collection of Ids provided. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetColumns()|GetColumns]] ​  ​| ​   |    | This method returns the collection of columns for this FeatureSource. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetCount()|GetCount]] ​  ​| ​   |    | This method returns the count of all of the InternalFeatures in the FeatureSource. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeatureById(String,​ ReturningColumnsType)|GetFeatureById]] ​  | String, [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns an InternalFeature based on an Id provided. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeatureById(String,​ IEnumerable<​String>​)|GetFeatureById]] ​  | String, IEnumerable<​String> ​  ​| ​   | This method returns an InternalFeature based on an Id provided. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#GetFeaturesByColumnValue(String,​ String, ReturningColumnsType)|GetFeaturesByColumnValue]] ​  | String, String, [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | Get all of the features by passing a columnName and a specified columValue. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesByColumnValue(String,​ String, IEnumerable<​String>​)|GetFeaturesByColumnValue]] ​  | String, String, IEnumerable<​String> ​  ​| ​   | Get all of the features by passing a columnName and a specified columValue. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesByColumnValue(String,​ String)|GetFeaturesByColumnValue]] ​  | String, String ​  ​| ​   | Get all of the features by passing a columnName and a specified columValue. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesByIds(IEnumerable<​String>,​ ReturningColumnsType)|GetFeaturesByIds]] ​  | IEnumerable<​String>,​ [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns a collection of InternalFeatures based on the collection of Ids provided. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesByIds(IEnumerable<​String>,​ IEnumerable<​String>​)|GetFeaturesByIds]] ​  | IEnumerable<​String>,​ IEnumerable<​String> ​  ​| ​   | This method returns a collection of InternalFeatures based on the collection of Ids provided. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesContaining(BaseShape,​ IEnumerable<​String>​)|GetFeaturesContaining]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ IEnumerable<​String> ​  ​| ​   | This method returns all of the InternalFeatures that contain the target shape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesContaining(BaseShape,​ ReturningColumnsType)|GetFeaturesContaining]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns all of the InternalFeatures based on the target Feature and the spatial query type specified. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesContaining(Feature,​ IEnumerable<​String>​)|GetFeaturesContaining]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ IEnumerable<​String> ​  ​| ​   | This method returns all of the InternalFeatures based on the target Feature and the spatial query type specified. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesContaining(Feature,​ ReturningColumnsType)|GetFeaturesContaining]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns all of the InternalFeatures based on the target Feature and the spatial query type specified. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesCrossing(BaseShape,​ ReturningColumnsType)|GetFeaturesCrossing]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns all of the InternalFeatures that cross the target shape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesCrossing(BaseShape,​ IEnumerable<​String>​)|GetFeaturesCrossing]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ IEnumerable<​String> ​  ​| ​   | This method returns all of the InternalFeatures that cross the target shape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesCrossing(Feature,​ IEnumerable<​String>​)|GetFeaturesCrossing]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ IEnumerable<​String> ​  ​| ​   | This method returns all of the InternalFeatures that cross the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesCrossing(Feature,​ ReturningColumnsType)|GetFeaturesCrossing]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns all of the InternalFeatures that cross the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesDisjointed(Feature,​ IEnumerable<​String>​)|GetFeaturesDisjointed]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ IEnumerable<​String> ​  ​| ​   | This method returns all of the InternalFeatures that disjoint the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesDisjointed(BaseShape,​ IEnumerable<​String>​)|GetFeaturesDisjointed]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ IEnumerable<​String> ​  ​| ​   | This method returns all of the InternalFeatures that disjoint the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesDisjointed(Feature,​ ReturningColumnsType)|GetFeaturesDisjointed]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns all of the InternalFeatures that disjoint the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesDisjointed(BaseShape,​ ReturningColumnsType)|GetFeaturesDisjointed]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns all of the InternalFeatures that disjoint the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesInsideBoundingBox(RectangleShape,​ IEnumerable<​String>​)|GetFeaturesInsideBoundingBox]] ​  | [[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]],​ IEnumerable<​String> ​  ​| ​   | This method returns all of the InternalFeatures that are inside of the boundingBox. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesInsideBoundingBox(RectangleShape,​ ReturningColumnsType)|GetFeaturesInsideBoundingBox]] ​  | [[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]],​ [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns all of the InternalFeatures that are inside of the boundingBox. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesIntersecting(Feature,​ IEnumerable<​String>​)|GetFeaturesIntersecting]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ IEnumerable<​String> ​  ​| ​   | This method returns all of the InternalFeatures that intersect the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesIntersecting(BaseShape,​ IEnumerable<​String>​)|GetFeaturesIntersecting]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ IEnumerable<​String> ​  ​| ​   | This method returns all of the InternalFeatures that intersect the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesIntersecting(BaseShape,​ ReturningColumnsType)|GetFeaturesIntersecting]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns all of the InternalFeatures that intersect the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesIntersecting(Feature,​ ReturningColumnsType)|GetFeaturesIntersecting]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns all of the InternalFeatures that intersect the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesNearestTo(BaseShape,​ GeographyUnit,​ Int32, IEnumerable<​String>,​ Double, DistanceUnit)|GetFeaturesNearestTo]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ Int32, IEnumerable<​String>,​ Double, [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  ​| ​   | This method returns a user defined number of InternalFeatures that are closest to the TargetShape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesNearestTo(Feature,​ GeographyUnit,​ Int32, IEnumerable<​String>,​ Double, DistanceUnit)|GetFeaturesNearestTo]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ Int32, IEnumerable<​String>,​ Double, [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] ​  ​| ​   | This method returns a user defined number of InternalFeatures that are closest to the TargetShape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesNearestTo(Feature,​ GeographyUnit,​ Int32, IEnumerable<​String>​)|GetFeaturesNearestTo]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ Int32, IEnumerable<​String> ​  ​| ​   | This method returns a user defined number of InternalFeatures that are closest to the TargetFeature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesNearestTo(BaseShape,​ GeographyUnit,​ Int32, ReturningColumnsType)|GetFeaturesNearestTo]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ Int32, [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns a user defined number of InternalFeatures that are closest to the TargetShape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesNearestTo(BaseShape,​ GeographyUnit,​ Int32, IEnumerable<​String>​)|GetFeaturesNearestTo]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ Int32, IEnumerable<​String> ​  ​| ​   | This method returns a user defined number of InternalFeatures that are closest to the TargetShape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesNearestTo(Feature,​ GeographyUnit,​ Int32, ReturningColumnsType)|GetFeaturesNearestTo]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ Int32, [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns a user defined number of InternalFeatures that are closest to the TargetFeature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesOutsideBoundingBox(RectangleShape,​ ReturningColumnsType)|GetFeaturesOutsideBoundingBox]] ​  | [[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]],​ [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns all of the InternalFeatures that are outside of the boundingBox. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesOutsideBoundingBox(RectangleShape,​ IEnumerable<​String>​)|GetFeaturesOutsideBoundingBox]] ​  | [[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]],​ IEnumerable<​String> ​  ​| ​   | This method returns all of the InternalFeatures that are outside of the boundingBox. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesOverlapping(Feature,​ ReturningColumnsType)|GetFeaturesOverlapping]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns all of the InternalFeatures that overlap the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesOverlapping(Feature,​ IEnumerable<​String>​)|GetFeaturesOverlapping]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ IEnumerable<​String> ​  ​| ​   | This method returns all of the InternalFeatures that overlap the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesOverlapping(BaseShape,​ ReturningColumnsType)|GetFeaturesOverlapping]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns all of the InternalFeatures that overlap the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesOverlapping(BaseShape,​ IEnumerable<​String>​)|GetFeaturesOverlapping]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ IEnumerable<​String> ​  ​| ​   | This method returns all of the InternalFeatures that overlap the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesTopologicalEqual(BaseShape,​ ReturningColumnsType)|GetFeaturesTopologicalEqual]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns all of the InternalFeatures that topologicalEqual the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesTopologicalEqual(Feature,​ IEnumerable<​String>​)|GetFeaturesTopologicalEqual]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ IEnumerable<​String> ​  ​| ​   | This method returns all of the InternalFeatures that topologicalEqual the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesTopologicalEqual(Feature,​ ReturningColumnsType)|GetFeaturesTopologicalEqual]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns all of the InternalFeatures that topologicalEqual the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesTopologicalEqual(BaseShape,​ IEnumerable<​String>​)|GetFeaturesTopologicalEqual]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ IEnumerable<​String> ​  ​| ​   | This method returns all of the InternalFeatures that topologicalEqual the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesTouching(Feature,​ IEnumerable<​String>​)|GetFeaturesTouching]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ IEnumerable<​String> ​  ​| ​   | This method returns all of the InternalFeatures that touch the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesTouching(Feature,​ ReturningColumnsType)|GetFeaturesTouching]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns all of the InternalFeatures that touch the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesTouching(BaseShape,​ ReturningColumnsType)|GetFeaturesTouching]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns all of the InternalFeatures that touch the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesTouching(BaseShape,​ IEnumerable<​String>​)|GetFeaturesTouching]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ IEnumerable<​String> ​  ​| ​   | This method returns all of the InternalFeatures that touch the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesWithin(Feature,​ IEnumerable<​String>​)|GetFeaturesWithin]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ IEnumerable<​String> ​  ​| ​   | This method returns all of the InternalFeatures that are within the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesWithin(Feature,​ ReturningColumnsType)|GetFeaturesWithin]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns all of the InternalFeatures that are within the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesWithin(BaseShape,​ ReturningColumnsType)|GetFeaturesWithin]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns all of the InternalFeatures that are within the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesWithin(BaseShape,​ IEnumerable<​String>​)|GetFeaturesWithin]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ IEnumerable<​String> ​  ​| ​   | This method returns all of the InternalFeatures that are within the target Feature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesWithinDistanceOf(Feature,​ GeographyUnit,​ DistanceUnit,​ Double, IEnumerable<​String>​)|GetFeaturesWithinDistanceOf]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]],​ Double, IEnumerable<​String> ​  ​| ​   | This method returns a collection of InternalFeatures that are within a certain distance of the TargetFeature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesWithinDistanceOf(BaseShape,​ GeographyUnit,​ DistanceUnit,​ Double, ReturningColumnsType)|GetFeaturesWithinDistanceOf]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]],​ Double, [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns a collection of InternalFeatures that are within a certain distance of the TargetShape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesWithinDistanceOf(BaseShape,​ GeographyUnit,​ DistanceUnit,​ Double, IEnumerable<​String>​)|GetFeaturesWithinDistanceOf]] ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]],​ Double, IEnumerable<​String> ​  ​| ​   | This method returns a collection of InternalFeatures that are within a certain distance of the TargetShape. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetFeaturesWithinDistanceOf(Feature,​ GeographyUnit,​ DistanceUnit,​ Double, ReturningColumnsType)|GetFeaturesWithinDistanceOf]] ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]],​ [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]],​ [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]],​ Double, [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] ​  ​| ​   | This method returns a collection of InternalFeatures that are within a certain distance of the TargetFeature. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetHashCode()|GetHashCode]] ​  ​| ​   | Object ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetType()|GetType]] ​  ​| ​   | Object ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​ToString()|ToString]] ​  ​| ​   | Object ​  ​| ​   |+
  
-==== Protected Methods ==== +  * //Get all of the features by passing a columnName and a specified columValue.//​ 
-^ Name ^ Parameters ^ DeclaringType ^ Summary ^ +== Remarks ​== 
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​Finalize()|Finalize]] ​  ​| ​   | Object ​  ​| ​   | +  * //N/A//
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​MemberwiseClone()|MemberwiseClone]] ​  ​| ​   | Object ​  ​| ​   |+
  
-==== Public Properties ==== +== Return Value == 
-^ Name ^ Return ^ DeclaringType ^ Summary ^ +  * Type:Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]
-| {{wiki:PublicProperty.gif|Public Property}}[[#​CanExecuteSqlQuery|CanExecuteSqlQuery]]   | Boolean ​  ​| ​   | This property specifies whether FeatureSource can excute a SQL query or notIf it is false, then it will throw an exception when the following APIs are called: ExecuteScalar,​ ExecuteNonQuery,​ ExecuteQuery ​  |+  * Description:​The returnning features matches the columnValue.
  
-==== Protected Properties ==== +== Parameters ​== 
-^ Name ^ Return ^ DeclaringType ^ Summary ^+  * //​columnName//​ 
 +    * Type:​String 
 +    * Description:​The specified columnName to match the columnValue.
  
-==== Public Events ==== +  * //​columnValue//​ 
-^ Name ^ Event Arguments ^ DeclaringType ^ Summary ^+    * Type:​String 
 +    * Description:​The specified columnValue to match those returning features.
  
-===== Public Constructors ===== +  * //​returningColumnType//​ 
-==== QueryTools(FeatureSource) ==== +    ​* ​Type:[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
-This is a constructor for the class. +    * Description:​This parameter ​specifies ​the columns contained in the return features.
-=== Overloads === +
-This constructor allows you to provide a FeatureSouce that will provide the functionality for this class'​s methods. +
-=== Remarks === +
-Each of the calls in this class thunk through to the FeatureSource passed in. +
-=== Parameters === +
-^  Name ^  ​Type ^  Description ^ +
-| featureSource ​  ​| ​[[ThinkGeo.MapSuite.Core.FeatureSource|FeatureSource]]<!-- ThinkGeo.MapSuite.Core.FeatureSource --> ​  ​| ​This parameter ​is the FeatureSource that will provide ​the functionality for this class'​s methods  |+
  
-[[#Public Constructors|Go Back]] +<div newline></​div>​ 
-===== Protected Constructors ===== +** {{wiki:​PublicMethod.gif|}} GetFeaturesByColumnValue(String,String,IEnumerable<​String>​) **
-==== QueryTools() ==== +
-This is a constructor for the class. +
-=== Overloads === +
-This is the default constructorthough it is typically not intended to be used. +
-=== Remarks === +
-This is the default constructorthough it is typically not intended to be used. +
-=== Parameters === +
-^  Name ^  Type ^  Description ^+
  
-[[#​Protected Constructors|Go Back]] +  * //Get all of the features by passing a columnName and a specified columValue.//​ 
-===== Public Methods ===== +== Remarks ​== 
-==== Equals(Object) ==== +  * //N/A//
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Boolean<​!-- System.Boolean --> ​  ​| ​   |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-| obj   | Object<​!-- System.Object --> ​  ​| ​   |+  Description:The returnning features matches the columnValue.
  
-<!-- System.Object --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +  * //​columnName//​ 
-==== ExecuteNonQuery(String) ​==== +    * Type:String 
-Executes a SQL statement against a connection object. +    * Description:​The specified columnName ​to match the columnValue.
-=== Remarks === +
-You can use ExecuteNonQuery ​to perform catalog operations (for example, querying ​the structure of a database or creating database objects such as tables), or to change the data in a database by executing UPDATE, INSERT, or DELETE statements. Although ExecuteNonQuery does not return any rows, any output parameters or return values mapped to parameters are populated with data. For UPDATE, INSERT, and DELETE statements, the return value is the number of rows affected by the command. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Int32<​!-- System.Int32 --> ​  | The number of rows affected  |+
  
-=== Parameters === +  * //​columnValue//​ 
-^  Name ^  ​Type ^  ​Description ​+    ​* ​Type:String 
-| sqlStatement ​  | String<​!-- System.String --> ​  ​| ​The sqlStatement ​to be excuted  |+    * Description:The specified columnValue ​to match those returning features.
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --+  * //​returningColumnNames//​ 
-[[#Public Methods|Go Back]] +    * Type:​IEnumerable<String
-==== ExecuteQuery(String) ==== +    * Description:​This parameter specifies ​the columns contained ​in the return features.
-Executes the query and returns the result returned by the query. +
-=== Remarks === +
-Use the ExcuteScalar method to retrieve a single value from the database. ​This requires less code than use the ExcuteQuery method and then performing the operations necessary to generate the single value using the data. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| DataTable<​!-- System.Data.DataTable --> ​  | The result set in the format of dataTable  |+
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} GetFeaturesByColumnValue(String,String) **
-sqlStatement ​  ​| ​String<!-- System.String ​--> ​  | The SQL statement to be excuted. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +  * //Get all of the features ​by passing a columnName ​and a specified columValue.// 
-[[#Public Methods|Go Back]] +== Remarks == 
-==== ExecuteScalar(String) ==== +  * //N/A//
-Executes the query and returns the first column ​of the first row in the result set returned ​by the query. All other columns ​and rows are ignored+
-=== Remarks ​=== +
-Use the ExcuteScalar method to retrieve a single value from the database. This requires less code than use the ExcuteQuery method and then performing the operations necessary to generate the single value using the data. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Object<​!-- System.Object --> ​  | The first column of the first row in the result set.   |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​^  Description ^ +  ​Type:Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]> 
-| sqlStatement ​  | String<!-- System.String --  | The SQL statement to be excuted  |+  * Description:​The returnning features matches the columnValue.
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +  * //​columnName//​ 
-==== GetAllFeatures(IEnumerable<​String>​) ​==== +    * Type:String 
-This method returns all of the InternalFeatures in the FeatureSource. +    * Description:​The specified columnName to match the columnValue.
-=== Remarks === +
-This method returns all of the InternalFeatures in the FeatureSource. It will return whatever is returned by the GetAllFeaturesCore method, along with any of the additions or subtractions made if you are in a transaction and that transaction is configured to be live.+
  
-The main purpose of this method is to be the anchor of all of our default virtual implementations within this class. We as the framework developers wanted 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, let's say 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 of the records, then we can brute-force the answer. In this way, if you inherited from this class and only implemented this one method, we can provide default implementations for virtually every other API.+  * //​columnValue//​ 
 +    * Type:​String 
 +    * Description:​The specified columnValue ​to match those returning ​features.
  
-While this is nice for you the developer if you decide to create your own FeatureSource,​ it comes with a pricenamely, it is very inefficientIn the example 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 faster. For example, in Oracle Spatial there is a specific SQL statement to perform this operation very quickly. The same holds true with other specific FeatureSource examples.+<div newline></​div>​ 
 +** {{wiki:PublicMethod.gif|}} GetFeaturesContaining(BaseShape,​IEnumerable<​String>​**
  
-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. This 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 ​that contain ​the target shape.// 
 +== Remarks == 
 +  * //This method returns all of the InternalFeatures ​that contain ​the specified target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.//
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +== Return Value == 
-=== Return Value === +  ​* ​Type:Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-^ Return ​Type ^ Description ^ +  * Description:​The return value is a collection of InternalFeatures that contain ​the TargetShape you passed ​in.
-Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​<!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  ​| ​The return value is a collection of all of the InternalFeatures ​in the FeatureSource  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetShape//​ 
-| returningColumnNames ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter ​allows you to select ​the field names of the column data you wish to return with each Feature  |+    * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​This parameter ​specifies ​the target shape used in the spatial query.
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --+  * //​returningColumnNames//​ 
-[[#Public Methods|Go Back]] +    * Type:​IEnumerable<String
-==== GetAllFeatures(ReturningColumnsType) ==== +    * Description:​This parameter specifies ​the columns contained ​in the return ​features.
-This method returns all of the InternalFeatures ​in the FeatureSource. +
-=== Remarks === +
-This method returns all of the InternalFeatures in the FeatureSource. It will return ​whatever is returned by the GetAllFeaturesCore method, along with any of the additions or subtractions made if you are in a transaction and that transaction is configured to be live.+
  
-The main purpose of this method is to be the anchor of all of our default virtual implementations within this classWe as the framework developers wanted to provide you the user with as much default virtual implementation as possible. To do thiswe needed a way to get access to all of the features. For example, let's say 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 of the records, then we can brute-force the answer. In this way, if you inherited from this class and only implemented this one method, we can provide default implementations for virtually every other API.+<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetFeaturesContaining(BaseShape,ReturningColumnsType) **
  
-While this is nice for you the developer if you decide to create your own FeatureSource,​ it comes with a price: namely, it is very inefficient. In the example 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 fasterFor example, in Oracle Spatial ​there is a specific SQL statement to perform this operation very quicklyThe same holds true with other specific FeatureSource examples.+  * //This method returns ​all of the InternalFeatures ​based on the target Feature ​and the spatial query type specified.//​ 
 +== Remarks == 
 +  * //This method returns all of the InternalFeatures ​that contain the target shapeIf there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.ReturningColumnsType:​NoColumns - This method ensures that the returning features contain no column values.AllColumns - This method ensures that the returning features contain all column values.//
  
-Most default implementations in the FeatureSource call the GetFeaturesInsideBoundingBoxCore,​ which by default calls the GetAllFeaturesCoreIt is our advice ​that if you create your own FeatureSource that you ALWAYS override the GetFeatureInsideBoundingBox. This will ensure that nearly every other API will operate efficiently. Please see the specific API to determine what method it uses.+== Return Value == 
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
 +  * Description:​The return value is a collection of InternalFeatures ​that match the spatial query you executed based on the TargetShape.
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +== Parameters ​== 
-=== Return Value === +  * //​targetShape//​ 
-^ Return ​Type ^ Description ^ +    * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | The return value is a collection of all of the InternalFeatures ​in the FeatureSource  |+    * Description:​This parameter specifies ​the target shape used in the spatial query.
  
-=== Parameters === +  * //​returningColumnNamesType//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
-| returningColumnNamesType ​  ​| ​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  ​| ​This parameter ​allows you to select ​the field names of the column data you wish to return ​with each Feature  |+    * Description:​This parameter ​specifies ​the columns contained in the return ​features.
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} GetFeaturesContaining(Feature,​IEnumerable<​String>**
-==== GetBoundingBoxById(String) ​==== +
-This method returns the bounding box for the Id specified. +
-=== Remarks === +
-This method returns the bounding box for the Id specified. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]<​!-- ThinkGeo.MapSuite.Core.RectangleShape --> ​  | This method returns the bounding box for the Id specified. ​  |+
  
-=== Parameters === +  * //This method returns all of the InternalFeatures based on the target Feature and the spatial query type specified.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| id   | String<!-- System.String -->   ​| ​This parameter is the unique Id of the feature for which you want to find the bounding box  |+  ​* //This method returns all of the InternalFeatures that contain the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.ReturningColumnsType:​NoColumns ​This method ensures that the returning features contain no column values.AllColumns ​- This method ensures that the returning features contain all column values.//
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]> 
-==== GetBoundingBoxesByIds(IEnumerable<​String>​) ==== +  * Description:​The return value is a collection of InternalFeatures that match the spatial query you executed ​based on the TargetShape.
-This method returns a collection of bounding boxes based on the collection of Ids provided. +
-=== Remarks === +
-This method returns a collection of bounding boxes based on the collection of Ids provided. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-Collection<​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.RectangleShape} --> ​  | This method returns ​a collection of bounding boxes based on the collection of Ids provided  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetFeature//​ 
-| ids   | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter ​is the collection of Ids you want to find  |+    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:​This parameter ​specifies ​the target feature used in the spatial query.
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --+  * //​returningColumnNames//​ 
-[[#Public Methods|Go Back]] +    * Type:​IEnumerable<String
-==== GetColumns() ==== +    * Description:​This parameter specifies ​the columns ​contained in the return features.
-This method returns ​the collection of columns ​for this FeatureSource. +
-=== Remarks === +
-This method returns ​the collection of columns for this FeatureSource. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Collection<​[[ThinkGeo.MapSuite.Core.FeatureSourceColumn|FeatureSourceColumn]]><​!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.FeatureSourceColumn} --> ​  | This method returns the collection of columns for this FeatureSource. ​  |+
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^+** {{wiki:​PublicMethod.gif|}} GetFeaturesContaining(Feature,​ReturningColumnsType) **
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +  * //This method returns all of the InternalFeatures ​based on the target Feature and the spatial query type specified.// 
-[[#Public Methods|Go Back]] +== Remarks == 
-==== GetCount() ==== +  * //This method returns all of the InternalFeatures ​that contain ​the target shapeIf there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.ReturningColumnsType:​NoColumns ​This method ensures that the returning features contain no column values.AllColumns ​- This method ​ensures that the returning features contain ​all column values.//
-This method returns ​the count of all of the InternalFeatures ​in the FeatureSource+
-=== Remarks ​=== +
-This method returns ​the count of all of the InternalFeatures ​in the FeatureSource. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Int32<!-- System.Int32 -->   ​| ​This method ​returns ​the count of all of the InternalFeatures in the FeatureSource  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​^+  ​Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
 +  Description:The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetFeature.
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +  * //​targetFeature//​ 
-==== GetFeatureById(String,​ ReturningColumnsType) ​==== +    ​* ​Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-This method returns an InternalFeature based on an Id provided. +    * Description:​This parameter specifies the target feature used in the spatial query.
-=== Remarks === +
-This method returns an InternalFeature based on an Id provided. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-[[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --> ​  ​| ​This method returns an InternalFeature based on an Id provided  |+
  
-=== Parameters === +  * //​returningColumnNamesType//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
-| id   | String<​!-- System.String --> ​  | This parameter is the unique Id for the feature you want to find.   | +    * Description:​This parameter ​specifies ​the columns contained in the return features.
-| returningColumnNamesType ​  ​| ​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  ​| ​This parameter ​is a list of column names you want returned with the Feature  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} GetFeaturesCrossing(BaseShape,​IEnumerable<​String>​) ​**
-==== GetFeatureById(String, IEnumerable<​String>​) ​==== +
-This method returns an InternalFeature based on an Id provided. +
-=== Remarks === +
-This method returns an InternalFeature based on an Id provided. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.Core.Feature|Feature]]<​!-- ThinkGeo.MapSuite.Core.Feature --> ​  | This method returns an InternalFeature based on an Id provided. ​  |+
  
-=== Parameters === +  * //This method returns all of the InternalFeatures that cross the target shape.// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| id   | String<​!-- System.String --> ​  ​| ​This parameter is the unique Id for the feature you want to find  | +  ​* //This method returns all of the InternalFeatures that cross the target shapeIf there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.Crossing ​The Geometries share some but not all interior points, and the dimension of the intersection ​is less than that of at least one of the Geometries.//
-| returningColumnNames ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} ​-->   | This parameter ​is a list of column names you want returned with the Feature  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-==== GetFeaturesByColumnValue(String,​ String, ReturningColumnsType) ==== +  * Description:​The return value is a collection of InternalFeatures that cross the TargetShape you passed in.
-Get all of the features by passing a columnName and a specified columValue. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​<!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  ​| ​The returnning features matches ​the columnValue  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetShape//​ 
-| columnName ​  | String<​!-- System.String --> ​  | The specified columnName to match the columnValue. ​  | +    * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-| columnValue ​  | String<​!-- System.String --> ​  | The specified columnValue to match those returning features. ​  | +    * Description:​This parameter specifies the target shape used in the spatial query.
-| returningColumnType ​  ​| ​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  ​| ​This parameter specifies the columns contained ​in the return features  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +  * //​returningColumnNames//​ 
-[[#Public Methods|Go Back]] +    * Type:IEnumerable<​String>​ 
-==== GetFeaturesByColumnValue(String,​ String, ​IEnumerable<​String>​) ==== +    * Description:​This parameter specifies ​the columns contained in the return ​features.
-Get all of the features ​by passing a columnName and a specified columValue. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><​!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | The returnning features matches the columnValue. ​  |+
  
-=== Parameters === +<div newline></div
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} GetFeaturesCrossing(BaseShape,​ReturningColumnsType) **
-| columnName ​  | String<!-- System.String --  | The specified columnName to match the columnValue. ​  | +
-| columnValue ​  | String<!-- System.String --  | The specified columnValue to match those returning features. ​  | +
-| returningColumnNames ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String--> ​  | This parameter specifies the columns contained in the return features. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +  * //This method returns all of the InternalFeatures that cross the target shape.// 
-[[#Public Methods|Go Back]] +== Remarks ​== 
-==== GetFeaturesByColumnValue(String,​ String) ==== +  * //This method returns ​all of the InternalFeatures that cross the target shape. If there is current transaction ​and it is marked as live, then the results will include any transaction Feature that applies.ReturningColumnsType:​NoColumns ​This method ensures that the returning features contain no column values.AllColumns ​This method ensures that the returning ​features ​contain all column values.//
-Get all of the features by passing ​columnName ​and a specified columValue. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><​!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} ​-->   | The returnning ​features ​matches the columnValue  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​^  Description ^ +  ​Type:Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-| columnName ​  | String<!-- System.String --> ​  | The specified columnName to match the columnValue  ​+  * Description:​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape.
-| columnValue ​  | String<​!-- System.String --> ​  ​| ​The specified columnValue to match those returning features  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +  * //​targetShape//​ 
-==== GetFeaturesByIds(IEnumerable<​String>,​ ReturningColumnsType) ​==== +    ​* ​Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-This method returns a collection of InternalFeatures based on the collection of Ids provided. +    * Description:​This parameter specifies ​the target shape used in the spatial query.
-=== Remarks === +
-This method returns a collection of InternalFeatures based on the collection of Ids provided. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  ​| ​This method returns a collection of InternalFeatures based on the collection of Ids provided  |+
  
-=== Parameters === +  * //​returningColumnNamesType//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
-| ids   | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter is the collection of Ids you want to find.   | +    * Description:​This parameter ​specifies ​the columns contained in the return features.
-| returningColumnNamesType ​  ​| ​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  ​| ​This parameter ​is a list of column names you want returned with the Features  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} GetFeaturesCrossing(Feature,​IEnumerable<​String>​) ​**
-==== GetFeaturesByIds(IEnumerable<​String>​, IEnumerable<​String>​) ​==== +
-This method returns a collection of InternalFeatures based on the collection of Ids provided. +
-=== Remarks === +
-This method returns a collection of InternalFeatures based on the collection of Ids provided. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><​!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | This method returns a collection of InternalFeatures based on the collection of Ids provided. ​  |+
  
-=== Parameters === +  * //This method returns all of the InternalFeatures that cross the target Feature.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| ids   | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} ​-->   ​| ​This parameter is the collection of Ids you want to find  | +  ​* //This method returns all of the Internalfeatures that cross the target shapeIf there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.ReturningColumnsType:​NoColumns ​- This method ensures that the returning features contain no column values.AllColumns ​- This method ensures that the returning features contain all column ​values.//
-| returningColumnNames ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  ​| ​This parameter is a list of column ​names you want returned with the Features  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-==== GetFeaturesContaining(BaseShape,​ IEnumerable<​String>​) ==== +  * Description:​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape.
-This method returns all of the InternalFeatures that contain the target shape. +
-=== Overloads === +
-This method returns all of the features that contain the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that contain the specified target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​<!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  ​| ​The return value is a collection of InternalFeatures that contain ​the TargetShape ​you passed in  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetFeature//​ 
-| targetShape ​  ​| ​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  ​| ​This parameter specifies the target ​shape used in the spatial query. ​  | +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-| returningColumnNames ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter specifies the columns contained in the return features. ​  |+    * Description:​This parameter specifies the target ​feature ​used in the spatial query.
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --+  * //​returningColumnNames//​ 
-[[#Public Methods|Go Back]] +    * Type:​IEnumerable<String
-==== GetFeaturesContaining(BaseShape,​ ReturningColumnsType) ==== +    * Description:​This parameter specifies ​the columns contained in the return ​features.
-This method returns all of the InternalFeatures based on the target Feature and the spatial query type specified. +
-=== Overloads === +
-This method returns all of the features ​that contain the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that contain the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.+
  
-<strong>ReturningColumnsType:​</strong>+<div newline></div> 
 +** {{wiki:​PublicMethod.gif|}} GetFeaturesCrossing(Feature,​ReturningColumnsType) **
  
-<​strong>​NoColumns<​/strong> ​- This method ensures that the returning features contain no column values.+  * //This method returns all of the InternalFeatures that cross the target Feature.//​ 
 +== Remarks == 
 +  * //This method returns all of the Internalfeatures that cross the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.ReturningColumnsType:​NoColumns ​- This method ensures that the returning features contain no column values.AllColumns - This method ensures that the returning features contain all column values.//
  
-<​strong>​AllColumns</​strong>​ - This method ensures that the returning features contain all column values. +== Return Value == 
-=== Return Value === +  ​* ​Type:Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-^ Return ​Type ^ Description ^ +  * Description:​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape.
-Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​<!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  ​| ​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape. ​  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetFeature//​ 
-| targetShape ​  ​| ​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  ​| ​This parameter specifies the target ​shape used in the spatial query. ​  | +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-| returningColumnNamesType ​  | [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<​!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  | This parameter specifies the columns contained in the return features. ​  |+    * Description:​This parameter specifies the target ​feature ​used in the spatial query.
  
-<​!-- ​ThinkGeo.MapSuite.Core.QueryTools --> +  * //​returningColumnNamesType//​ 
-[[#Public Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
-==== GetFeaturesContaining(Feature,​ IEnumerable<​String>​) ==== +    * Description:​This parameter specifies ​the columns contained in the return ​features.
-This method returns all of the InternalFeatures based on the target Feature and the spatial query type specified. +
-=== Overloads === +
-This method returns all of the features ​that contain the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that contain the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.+
  
-<strong>ReturningColumnsType:​</strong>+<div newline></div> 
 +** {{wiki:​PublicMethod.gif|}} GetFeaturesDisjointed(BaseShape,​IEnumerable<​String>) **
  
-<​strong>​NoColumns<​/strong> - This method ​ensures ​that the returning features contain ​no column values.+  * //This method ​returns all of the InternalFeatures ​that disjoint ​the target Feature.//​ 
 +== Remarks == 
 +  * //This method returns all of the InternalFeatures that disjoint the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.Disjoint - The Geometries have no point in common.//
  
-<​strong>​AllColumns</​strong>​ - This method ensures that the returning features contain all column values. +== Return Value == 
-=== Return Value === +  ​* ​Type:Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-^ Return ​Type ^ Description ^ +  * Description:​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape.
-Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​<!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  ​| ​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape. ​  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetShape//​ 
-| targetFeature ​  ​| ​[[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --> ​  ​| ​This parameter specifies the target ​feature ​used in the spatial query. ​  | +    * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-| returningColumnNames ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter specifies the columns contained in the return features. ​  |+    * Description:​This parameter specifies the target ​shape used in the spatial query.
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --+  * //​returningColumnNames//​ 
-[[#Public Methods|Go Back]] +    * Type:​IEnumerable<String
-==== GetFeaturesContaining(Feature,​ ReturningColumnsType) ==== +    * Description:​This parameter specifies ​the columns contained in the return ​features.
-This method returns all of the InternalFeatures based on the target Feature and the spatial query type specified. +
-=== Overloads === +
-This method returns all of the features ​that contain the target feature. +
-=== Remarks === +
-This method returns all of the InternalFeatures that contain the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.+
  
-<strong>ReturningColumnsType:​</strong>+<div newline></div> 
 +** {{wiki:​PublicMethod.gif|}} GetFeaturesDisjointed(BaseShape,​ReturningColumnsType) **
  
-<​strong>​NoColumns<​/strong> ​- This method ensures that the returning features contain no column values.+  * //This method returns all of the InternalFeatures that disjoint the target Feature.//​ 
 +== Remarks == 
 +  * //This method returns all of the InternalFeatures that disjoint the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.Disjoint - The Geometries have no point in common.ReturningColumnsType:​NoColumns ​- This method ensures that the returning features contain no column values.AllColumns - This method ensures that the returning features contain all column values.//
  
-<​strong>​AllColumns</​strong>​ - This method ensures that the returning features contain all column values. +== Return Value == 
-=== Return Value === +  ​* ​Type:Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-^ Return ​Type ^ Description ^ +  * Description:​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape.
-Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​<!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  ​| ​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetFeature  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetShape//​ 
-| targetFeature ​  ​| ​[[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --> ​  ​| ​This parameter specifies the target ​feature ​used in the spatial query. ​  | +    * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-| returningColumnNamesType ​  | [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<​!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  | This parameter specifies the columns contained in the return features. ​  |+    * Description:​This parameter specifies the target ​shape used in the spatial query.
  
-<​!-- ​ThinkGeo.MapSuite.Core.QueryTools --> +  * //​returningColumnNamesType//​ 
-[[#Public Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
-==== GetFeaturesCrossing(BaseShape,​ ReturningColumnsType) ==== +    * Description:​This parameter specifies ​the columns contained in the return ​features.
-This method returns all of the InternalFeatures that cross the target shape. +
-=== Overloads === +
-This method returns all of the features ​which crosses the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that cross the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.+
  
-<strong>ReturningColumnsType:​</strong>+<div newline></div> 
 +** {{wiki:​PublicMethod.gif|}} GetFeaturesDisjointed(Feature,​IEnumerable<​String>) **
  
-<​strong>​NoColumns<​/strong> - This method ​ensures ​that the returning features contain ​no column values.+  * //This method ​returns all of the InternalFeatures ​that disjoint ​the target Feature.//​ 
 +== Remarks == 
 +  * //This method returns all of the InternalFeatures that disjoint the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.Disjoint - The Geometries have no point in common.//
  
-<​strong>​AllColumns</​strong>​ - This method ensures that the returning features contain all column values. +== Return Value == 
-=== Return Value === +  ​* ​Type:Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-^ Return ​Type ^ Description ^ +  * Description:​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape.
-Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​<!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  ​| ​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape. ​  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetFeature//​ 
-| targetShape ​  ​| ​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  ​| ​This parameter specifies the target ​shape used in the spatial query. ​  | +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-| returningColumnNamesType ​  | [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<​!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  | This parameter specifies the columns contained in the return features. ​  |+    * Description:​This parameter specifies the target ​feature ​used in the spatial query.
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +  * //​returningColumnNames//​ 
-[[#Public Methods|Go Back]] +    * Type:IEnumerable<​String>​ 
-==== GetFeaturesCrossing(BaseShape, ​IEnumerable<​String>​) ==== +    * Description:​This parameter specifies ​the columns contained in the return ​features.
-This method returns all of the InternalFeatures that cross the target shape. +
-=== Overloads === +
-This method returns all of the features ​that cross the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that cross the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies. +
-<​strong>​Crossing</​strong>​ - The Geometries share some but not all interior points, and the dimension of the intersection is less than that of at least one of the Geometries. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><​!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | The return value is a collection of InternalFeatures that cross the TargetShape you passed in.   |+
  
-=== Parameters === +<div newline></div> 
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} GetFeaturesDisjointed(Feature,​ReturningColumnsType) **
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --  | This parameter specifies the target shape used in the spatial query. ​  | +
-| returningColumnNames ​  | IEnumerable<String><!-- System.Collections.Generic.IEnumerable{System.String--> ​  | This parameter specifies the columns contained in the return features. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +  * //This method returns all of the InternalFeatures that disjoint ​the target Feature.// 
-[[#Public Methods|Go Back]] +== Remarks == 
-==== GetFeaturesCrossing(Feature,​ IEnumerable<​String>​) ==== +  * //This method returns all of the InternalFeatures ​that disjoint ​the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.Disjoint - The Geometries have no point in common.//
-This method returns all of the InternalFeatures that cross the target Feature. +
-=== Overloads === +
-This method returns all of the features that cross the target shape. +
-=== Remarks ​=== +
-This method returns all of the Internalfeatures ​that cross the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.+
  
-<strong>ReturningColumnsType:</​strong>​+== Return Value == 
 +  * Type:​Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]> 
 +  * Description:The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape.
  
-<​strong>​NoColumns<​/strong> - This method ensures that the returning features contain no column values.+== Parameters == 
 +  * //​targetFeature//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:​This parameter specifies the target feature used in the spatial query.
  
-<​strong>​AllColumns<​/strong> - This method ensures that the returning features contain all column values. +  * //​returningColumnNamesType/​
-=== Return Value === +    ​* ​Type:[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
-^ Return ​Type ^ Description ^ +    * Description:​This parameter specifies ​the columns contained in the return features.
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape  |+
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} GetFeaturesIntersecting(BaseShape,​IEnumerable<​String>​) **
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --  | This parameter specifies the target feature used in the spatial query  | +
-| returningColumnNames ​  | IEnumerable<​String>​<!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter specifies the columns contained in the return features. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +  * //This method returns all of the InternalFeatures that intersect ​the target Feature.// 
-[[#Public Methods|Go Back]] +== Remarks == 
-==== GetFeaturesCrossing(Feature,​ ReturningColumnsType) ==== +  * //This method returns all of the InternalFeatures ​that intersect ​the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.Intersecting - The Geometries have at least one point in common (the inverse of Disjoint).//​
-This method returns all of the InternalFeatures that cross the target Feature. +
-=== Overloads === +
-This method returns all of the features that cross the target shape. +
-=== Remarks ​=== +
-This method returns all of the Internalfeatures ​that cross the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.+
  
-<strong>ReturningColumnsType:</​strong>​+== Return Value == 
 +  * Type:​Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]> 
 +  * Description:The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape.
  
-<​strong>​NoColumns<​/strong> - This method ensures that the returning features contain no column values.+== Parameters == 
 +  * //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​This parameter specifies the target shape used in the spatial query.
  
-<strong>AllColumns</​strong>​ - This method ensures that the returning features contain all column values+  * //​returningColumnNames//​ 
-=== Return Value === +    * Type:​IEnumerable<String> 
-^ Return Type ^ Description ^ +    * Description:​This parameter specifies ​the column values ​in the return ​features.
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><​!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | The return ​value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape  |+
  
-=== Parameters === +<div newline></​div
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} GetFeaturesIntersecting(BaseShape,​ReturningColumnsType) **
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --  | This parameter specifies the target feature used in the spatial query. ​  | +
-| returningColumnNamesType ​  | [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  | This parameter specifies the columns contained in the return features. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +  * //This method returns all of the InternalFeatures that intersect ​the target Feature.// 
-[[#Public Methods|Go Back]] +== Remarks == 
-==== GetFeaturesDisjointed(Feature,​ IEnumerable<​String>​) ==== +  * //This method returns all of the InternalFeatures that intersect ​the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.Intersecting - The Geometries have at least one point in common (the inverse of Disjoint).//​
-This method returns all of the InternalFeatures that disjoint ​the target Feature. +
-=== Overloads === +
-This method returns all of the features that disjoint the target shape. +
-=== Remarks ​=== +
-This method returns all of the InternalFeatures that disjoint ​the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.+
  
-<​strong>​Disjoint</​strong>​ - The Geometries have no point in common. +== Return Value == 
-=== Return Value === +  ​* ​Type:Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-^ Return ​Type ^ Description ^ +  * Description:​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape.
-Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​<!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  ​| ​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape. ​  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetShape//​ 
-| targetFeature ​  ​| ​[[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --> ​  ​| ​This parameter specifies the target ​feature ​used in the spatial query. ​  | +    * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-| returningColumnNames ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter specifies the columns contained in the return features. ​  |+    * Description:​This parameter specifies the target ​shape used in the spatial query.
  
-<​!-- ​ThinkGeo.MapSuite.Core.QueryTools --> +  * //​returningColumnNamesType//​ 
-[[#Public Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
-==== GetFeaturesDisjointed(BaseShape,​ IEnumerable<​String>​) ==== +    * Description:​This parameter specifies ​the column values in the return ​features.
-This method returns all of the InternalFeatures that disjoint the target Feature. +
-=== Overloads === +
-This method returns all of the features ​that cross the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that disjoint the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.+
  
-<strong>Disjoint</strong- The Geometries have no point in common. +<div newline></div
-=== Return Value === +** {{wiki:​PublicMethod.gif|}} GetFeaturesIntersecting(Feature,​IEnumerable<String>) **
-^ Return Type ^ Description ^ +
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --  | The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape. ​  |+
  
-=== Parameters === +  * //This method returns all of the InternalFeatures that intersect the target Feature.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  ​| ​This parameter specifies ​the target shape used in the spatial query  | +  ​* //This method returns all of the InternalFeatures that intersect ​the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.Intersecting ​The Geometries have at least one point in common (the inverse of Disjoint).//
-| returningColumnNames ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter specifies the columns contained ​in the return features  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:​Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]> 
-==== GetFeaturesDisjointed(Feature,​ ReturningColumnsType) ==== +  * Description:​The return value is a collection ​of InternalFeatures that match the spatial query you executed based on the TargetShape.
-This method returns all of the InternalFeatures that disjoint ​the target Feature. +
-=== Overloads === +
-This method returns all of the features that disjoint the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that disjoint the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.+
  
-<​strong>​Disjoint</​strong>​ - The Geometries have no point in common. +== Parameters ​== 
-=== Return Value === +  * //​targetFeature//​ 
-^ Return ​Type ^ Description ^ +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape  |+    * Description:​This parameter specifies the target shape used in the spatial query.
  
-=== Parameters === +  * //​returningColumnNames//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:​IEnumerable<String
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --  | This parameter specifies the target feature used in the spatial query. ​  | +    * Description:​This parameter specifies the column values ​in the return features.
-| returningColumnNamesType ​  | [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<​!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  ​| ​This parameter specifies the columns contained ​in the return features. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} GetFeaturesIntersecting(Feature,​ReturningColumnsType) ​**
-==== GetFeaturesDisjointed(BaseShape, ReturningColumnsType) ​==== +
-This method returns all of the InternalFeatures that disjoint the target Feature. +
-=== Overloads === +
-This method returns all of the features that disjoint the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that disjoint the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.+
  
-<​strong>​Disjoint<​/strong> ​- The Geometries have no point in common.+  * //This method returns all of the InternalFeatures that intersect the target Feature.//​ 
 +== Remarks == 
 +  * //This method returns all of the InternalFeatures that intersect the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.Intersecting ​- The Geometries have at least one point in common ​(the inverse of Disjoint).//
  
-<strong>ReturningColumnsType:</​strong> ​+== Return Value == 
 +  * Type:​Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]> 
 +  * Description:The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape.
  
-<​strong>​NoColumns<​/strong> - This method ensures that the returning features contain no column values.+== Parameters == 
 +  * //​targetFeature//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:​This parameter specifies the target feature used in the spatial query.
  
-<​strong>​AllColumns<​/strong> - This method ensures that the returning features contain all column values. +  * //​returningColumnNamesType/​
-=== Return Value === +    ​* ​Type:[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
-^ Return ​Type ^ Description ^ +    * Description:​This parameter specifies ​the column values in the return features.
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape  |+
  
-=== Parameters === +<div newline></​div
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} GetFeaturesOverlapping(BaseShape,​IEnumerable<String>) **
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --  | This parameter specifies the target shape used in the spatial query. ​  | +
-| returningColumnNamesType ​  | [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --  | This parameter specifies the columns contained in the return features. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +  * //This method returns all of the InternalFeatures that overlap ​the target ​Feature.// 
-[[#Public Methods|Go Back]] +== Remarks == 
-==== GetFeaturesInsideBoundingBox(RectangleShape,​ IEnumerable<​String>​) ==== +  * //This method returns all of the InternalFeatures that overlap ​the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.Overlapping ​- The Geometries share some but not all points in common, and the intersection has the same dimension as the Geometries themselves.//
-This method returns all of the InternalFeatures that are inside of the boundingBox. +
-=== Overloads === +
-This method returns all of the features that are inside of the target ​rectangle shape+
-=== Remarks ​=== +
-This method returns all of the InternalFeatures that are inside of the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><​!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  ​| ​The return value is a collection of InternalFeatures that are inside of the target rectangle shape  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​^  Description ^ +  ​Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]> 
-| boundingBox ​  ​| ​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]<!-- ThinkGeo.MapSuite.Core.RectangleShape --  | This parameter specifies the target boundingBox used in the spatial query.   | +  * Description:​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape.
-| returningColumnNames ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter specifies ​the column values in the return features  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +  * //​targetShape//​ 
-==== GetFeaturesInsideBoundingBox(RectangleShape,​ ReturningColumnsType) ​==== +    ​* ​Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-This method returns all of the InternalFeatures that are inside of the boundingBox. +    * Description:​This parameter specifies ​the target shape used in the spatial query.
-=== Overloads === +
-This method returns all of the features that are inside of the target rectangle shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that are inside of the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | The return value is a collection of InternalFeatures that are inside of the target ​rectangle ​shape. ​  |+
  
-=== Parameters === +  * //​returningColumnNames//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:​IEnumerable<String
-| boundingBox ​  | [[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]<!-- ThinkGeo.MapSuite.Core.RectangleShape --  | This parameter specifies the target boundingBox used in the spatial query. ​  | +    * Description:​This parameter specifies the column values in the return features.
-| returningColumnNamesType ​  | [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<​!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  ​| ​This parameter specifies the column values in the return features. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} GetFeaturesOverlapping(BaseShape,ReturningColumnsType**
-==== GetFeaturesIntersecting(FeatureIEnumerable<​String>​==== +
-This method returns all of the InternalFeatures that intersect the target Feature. +
-=== Overloads === +
-This method returns all of the features that intersect the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that intersect the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.+
  
-<​strong>​Intersecting<​/strong> - The Geometries have at least one point in common (the inverse ​of Disjoint)+  * //This method returns all of the InternalFeatures that overlap the target Feature.// 
-=== Return Value === +== Remarks ​== 
-^ Return Type ^ Description ^ +  * //This method returns all of the InternalFeatures that overlap the target shapeIf there is a current transaction and it is marked as live, then the results will include any transaction ​Feature ​that applies.Overlapping ​- The Geometries share some but not all points in common, and the intersection has the same dimension as the Geometries themselves.//
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><​!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} -->   ​| ​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​^  Description ^ +  ​Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-| targetFeature ​  ​| ​[[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --  | This parameter specifies the target shape used in the spatial query.   | +  * Description:​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape.
-| returningColumnNames ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter specifies ​the column values in the return features  |+
  
-<​!-- ​ThinkGeo.MapSuite.Core.QueryTools --> +== Parameters == 
-[[#Public Methods|Go Back]] +  * //​targetShape//​ 
-==== GetFeaturesIntersecting(BaseShape,​ IEnumerable<​String>​) ==== +    * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-This method returns all of the InternalFeatures that intersect the target Feature. +    * Description:​This parameter specifies ​the target shape used in the spatial query.
-=== Overloads === +
-This method returns all of the features that intersect ​the target shape+
-=== Remarks === +
-This method returns all of the InternalFeatures that intersect the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.+
  
-<​strong>​Intersecting<​/strong> - The Geometries have at least one point in common (the inverse of Disjoint). +  * //​returningColumnNamesType/​
-=== Return Value === +    ​* ​Type:[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
-^ Return ​Type ^ Description ^ +    * Description:​This parameter specifies ​the column values in the return features.
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape  |+
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} GetFeaturesOverlapping(Feature,​IEnumerable<​String>​) **
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --  | This parameter specifies the target shape used in the spatial query  | +
-| returningColumnNames ​  | IEnumerable<​String>​<!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter specifies the column values in the return features. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +  * //This method returns all of the InternalFeatures that overlap ​the target Feature.// 
-[[#Public Methods|Go Back]] +== Remarks == 
-==== GetFeaturesIntersecting(BaseShape,​ ReturningColumnsType) ==== +  * //This method returns all of the InternalFeatures that overlap ​the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.Overlapping - The Geometries share some but not all points in common, and the intersection has the same dimension as the Geometries themselves.//​
-This method returns all of the InternalFeatures that intersect ​the target Feature. +
-=== Overloads === +
-This method returns all of the features that intersect the target shape. +
-=== Remarks ​=== +
-This method returns all of the InternalFeatures that intersect ​the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.+
  
-<​strong>​Intersecting</​strong>​ - The Geometries have at least one point in common (the inverse of Disjoint). +== Return Value == 
-=== Return Value === +  ​* ​Type:Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-^ Return ​Type ^ Description ^ +  * Description:​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape.
-Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​<!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  ​| ​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape. ​  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetFeature//​ 
-| targetShape ​  ​| ​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  ​| ​This parameter specifies the target ​shape used in the spatial query. ​  | +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-| returningColumnNamesType ​  | [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<​!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  | This parameter specifies the column values in the return features. ​  |+    * Description:​This parameter specifies the target ​feature ​used in the spatial query.
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --+  * //​returningColumnNames//​ 
-[[#Public Methods|Go Back]] +    * Type:​IEnumerable<String
-==== GetFeaturesIntersecting(Feature,​ ReturningColumnsType) ==== +    * Description:​This parameter specifies ​the column values in the return ​features.
-This method returns all of the InternalFeatures that intersect the target Feature. +
-=== Overloads === +
-This method returns all of the features ​that intersect the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that intersect the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.+
  
-<strong>Intersecting</strong- The Geometries have at least one point in common (the inverse of Disjoint). +<div newline></div
-=== Return Value === +** {{wiki:​PublicMethod.gif|}} GetFeaturesOverlapping(Feature,​ReturningColumnsType) **
-^ Return Type ^ Description ^ +
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><​!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape. ​  |+
  
-=== Parameters === +  * //This method returns all of the InternalFeatures that overlap the target Feature.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<​!-- ThinkGeo.MapSuite.Core.Feature --> ​  ​| ​This parameter specifies ​the target ​feature used in the spatial query  | +  ​* //This method returns all of the InternalFeatures that overlap ​the target ​shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.Overlapping ​The Geometries share some but not all points ​in common, and the intersection has the same dimension as the Geometries themselves.//
-| returningColumnNamesType ​  | [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<​!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  | This parameter specifies the column values ​in the return features  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:​Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]> 
-==== GetFeaturesNearestTo(BaseShape,​ GeographyUnit,​ Int32, IEnumerable<​String>, Double, DistanceUnit) ==== +  * Description:​The return value is collection ​of InternalFeatures that match the spatial query you executed based on the TargetShape.
-This method returns ​user defined number ​of InternalFeatures that are closest to the TargetShape. +
-=== 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 must 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 creates a small bounding box around the TargetShape and then queries the features inside of itIf we reach the number of items to find, then we measure the returned InternalFeatures to find the nearestIf we do not find enough records, we scale up the bounding box and try againAs you can see, this is not the most efficient method. If your underlying data provider exposes a more efficient way, we recommend you override ​the Core version of this method and implement it.+== Parameters == 
 +  * //​targetFeature//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:​This parameter specifies ​the target shape used in the spatial query.
  
-The default implementation of GetFeaturesNearestCore uses the GetFeaturesInsideBoundingBoxCore method for speedWe strongly recommend that you provide your own implementation for this method that will be more efficientWhen you override GetFeaturesInsideBoundingBoxCore method, we recommend that you use any spatial indexes you have at your disposal to make this method as fast as possible.+  * //​returningColumnNamesType//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
 +    * Description:​This parameter specifies the column values in the return features.
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +<div newline></div> 
-=== Return Value === +** {{wiki:​PublicMethod.gif|}GetFeaturesTopologicalEqual(BaseShape,​IEnumerable<​String>) **
-^ Return Type ^ Description ^ +
-| Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature--  | This method returns a user defined number of InternalFeatures that are closest to the TargetShape. ​  |+
  
-=== Parameters === +  * //This method returns all of the InternalFeatures that topologicalEqual the target Feature.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  ​| ​This parameter is the shape you want to find InternalFeatures close to  | +  ​* //This method returns all of the InternalFeatures that topologicalEqual the target ​shape. ​If there is a current transaction ​and it is marked ​as livethen the results will include any transaction ​Feature ​that applies.//
-| unitOfData ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This parameter ​is the unit of measurement that the TargetShape ​and the FeatureSource are in, such as feetmeters, etc.   | +
-| maxItemsToFind ​  | Int32<​!-- System.Int32 --> ​  | This parameter defines how many close InternalFeatures to find around ​the TargetShape. ​  | +
-| returningColumnNames ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter allows you to select the field names of the column data you wish to return with each Feature. ​  | +
-| searchRadius ​  | Double<​!-- System.Double --> ​  | Limit the maximize distance proximately to search closest records. ​  | +
-| unitOfSearchRadius ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | The unit of searchRadius parameter. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:​Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]> 
-==== GetFeaturesNearestTo(Feature,​ GeographyUnit,​ Int32, IEnumerable<​String>, Double, DistanceUnit) ==== +  * Description:​The return value is collection ​of InternalFeatures that match the spatial query you executed based on the TargetShape.
-This method returns ​user defined number ​of InternalFeatures that are closest to the TargetShape. +
-=== 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 must 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 creates a small bounding box around the TargetShape and then queries the features inside of itIf we reach the number of items to find, then we measure the returned InternalFeatures to find the nearestIf we do not find enough records, we scale up the bounding box and try againAs you can see, this is not the most efficient method. If your underlying data provider exposes a more efficient way, we recommend you override ​the Core version of this method and implement it.+== Parameters == 
 +  * //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​This parameter specifies ​the target shape used in the spatial query.
  
-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. When you override GetFeaturesInsideBoundingBoxCore method, we recommend that you use any spatial indexes you have at your disposal to make this method as fast as possible.+  * //​returningColumnNames//​ 
 +    * Type:​IEnumerable<​String>​ 
 +    * Description:​This parameter specifies ​the column values in the return features.
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +<div newline></div> 
-=== Return Value === +** {{wiki:​PublicMethod.gif|}GetFeaturesTopologicalEqual(BaseShape,​ReturningColumnsType) **
-^ Return Type ^ Description ^ +
-| Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature--> ​  | This method returns a user defined number of InternalFeatures that are closest to the TargetShape. ​  |+
  
-=== Parameters === +  * //This method returns all of the InternalFeatures that topologicalEqual the target Feature.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<​!-- ThinkGeo.MapSuite.Core.Feature --> ​  ​| ​This parameter is feature you want to find InternalFeatures ​close to  | +  ​* //This method returns all of the InternalFeatures ​that topologicalEqual the target shapeIf there is a current transaction ​and it is marked ​as livethen the results will include any transaction ​Feature ​that applies.//
-| unitOfData ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This parameter ​is the unit of measurement that the TargetShape ​and the FeatureSource are in, such as feetmeters, etc.   | +
-| maxItemsToFind ​  | Int32<​!-- System.Int32 --> ​  | This parameter defines how many close InternalFeatures to find around ​the TargetShape. ​  | +
-| returningColumnNames ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter allows you to select the field names of the column data you wish to return with each Feature. ​  | +
-| searchRadius ​  | Double<​!-- System.Double --> ​  | Limit the maximize distance proximately to search closest records. ​  | +
-| unitOfSearchRadius ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | The unit of searchRadius parameter. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:​Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]> 
-==== GetFeaturesNearestTo(Feature,​ GeographyUnit,​ Int32, IEnumerable<​String>) ==== +  * Description:​The return value is collection ​of InternalFeatures that match the spatial query you executed based on the TargetShape.
-This method returns ​user defined number ​of InternalFeatures that are closest to the TargetFeature. +
-=== 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 must 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 itIf we reach the number of items to find, then we measure the returned InternalFeatures to find the nearestIf we do not find enough records, we scale up the bounding box and try againAs you can see, this is not the most efficient method. If your underlying data provider exposes a more efficient way, we recommend you override ​the Core version of this method and implement it.+== Parameters == 
 +  * //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​This parameter specifies ​the target shape used in the spatial query.
  
-The default implementation of GetFeaturesNearestCore uses the GetFeaturesInsideBoundingBoxCore method for speedWe strongly recommend that you provide your own implementation for this method that will be more efficientWhen you override ​the GetFeaturesInsideBoundingBoxCore method, we recommend that you use any spatial indexes you have at your disposal to make this method as fast as possible.+  * //​returningColumnNamesType//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
 +    * Description:​This parameter specifies the column values in the return features.
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +<div newline></div> 
-=== Return Value === +** {{wiki:​PublicMethod.gif|}} GetFeaturesTopologicalEqual(Feature,​IEnumerable<​String>) **
-^ Return Type ^ Description ^ +
-| Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --  | This method returns a user defined number of InternalFeatures that are closest to the TargetFeature. ​  |+
  
-=== Parameters === +  * //This method returns all of the InternalFeatures that topologicalEqual the target Feature.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<​!-- ThinkGeo.MapSuite.Core.Feature --> ​  ​| ​This parameter is the feature you want to find close InternalFeatures ​to  | +  ​* //This method returns all of the InternalFeatures ​that topologicalEqual the target shapeIf there is a current transaction ​and it is marked ​as livethen the results will include any transaction ​Feature ​that applies.//
-| unitOfData ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This parameter ​is the unit of data that the TargetShape ​and the FeatureSource are in, such as feetmeters, etc.   | +
-| maxItemsToFind ​  | Int32<​!-- System.Int32 --> ​  | This parameter defines how many close InternalFeatures to find around ​the feature. ​  | +
-| returningColumnNames ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter allows you to select the field names of the column data you wish to return with each Feature. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:​Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]> 
-==== GetFeaturesNearestTo(BaseShape,​ GeographyUnit,​ Int32, ReturningColumnsType) ==== +  * Description:​The return value is collection ​of InternalFeatures that match the spatial query you executed based on the TargetShape.
-This method returns ​user defined number ​of InternalFeatures that are closest to the TargetShape. +
-=== 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 must 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 itIf we reach the number of items to find, then we measure the returned InternalFeatures to find the nearestIf we do not find enough records, we scale up the bounding box and try againAs you can see, this is not the most efficient method. If your underlying data provider exposes a more efficient way, we recommend you override ​the Core version of this method and implement it.+== Parameters == 
 +  * //​targetFeature//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:​This parameter specifies ​the target shape used in the spatial query.
  
-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. When you override ​the GetFeaturesInsideBoundingBoxCore method, we recommend that you use any spatial indexes you have at your disposal to make this method as fast as possible.+  * //​returningColumnNames//​ 
 +    * Type:​IEnumerable<​String>​ 
 +    * Description:​This parameter specifies ​the column values in the return features.
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +<div newline></div> 
-=== Return Value === +** {{wiki:​PublicMethod.gif|}} GetFeaturesTopologicalEqual(Feature,​ReturningColumnsType) **
-^ Return Type ^ Description ^ +
-| Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | This method returns a user defined number of InternalFeatures that are closest to the TargetShape. ​  |+
  
-=== Parameters === +  * //This method returns all of the InternalFeatures that topologicalEqual the target Feature.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  ​| ​This parameter is the shape you want to find close InternalFeatures to  | +  ​* //This method returns all of the InternalFeatures that topologicalEqual the target ​shape. ​If there is a current transaction ​and it is marked ​as livethen the results will include any transaction ​Feature ​that applies.//
-| unitOfData ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This parameter ​is the unit of data that the TargetShape ​and the FeatureSource are in, such as feetmeters, etc.   | +
-| maxItemsToFind ​  | Int32<​!-- System.Int32 --> ​  | This parameter defines how many close InternalFeatures to find around ​the TargetShape. ​  | +
-| returningColumnNamesType ​  | [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<​!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  | This parameter allows you to select the field names of the column data you wish to return with each Feature. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:​Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]> 
-==== GetFeaturesNearestTo(BaseShape,​ GeographyUnit,​ Int32, IEnumerable<​String>) ==== +  * Description:​The return value is collection ​of InternalFeatures that match the spatial query you executed based on the TargetShape.
-This method returns ​user defined number ​of InternalFeatures that are closest to the TargetShape. +
-=== 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 must 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 itIf we reach the number of items to find, then we measure the returned InternalFeatures to find the nearestIf we do not find enough records, we scale up the bounding box and try againAs you can see, this is not the most efficient method. If your underlying data provider exposes a more efficient way, we recommend you override ​the Core version of this method and implement it.+== Parameters == 
 +  * //​targetFeature//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:​This parameter specifies ​the target shape used in the spatial query.
  
-The default implementation of GetFeaturesNearestCore uses the GetFeaturesInsideBoundingBoxCore method for speedWe strongly recommend that you provide your own implementation for this method that will be more efficientWhen you override ​the GetFeaturesInsideBoundingBoxCore method, we recommend that you use any spatial indexes you have at your disposal to make this method as fast as possible.+  * //​returningColumnNamesType//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
 +    * Description:​This parameter specifies the column values in the return features.
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +<div newline></div> 
-=== Return Value === +** {{wiki:​PublicMethod.gif|}GetFeaturesTouching(BaseShape,​IEnumerable<​String>) **
-^ Return Type ^ Description ^ +
-| Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature--  | This method returns a user defined number of InternalFeatures that are closest to the TargetShape. ​  |+
  
-=== Parameters === +  * //This method returns all of the InternalFeatures that touch the target Feature.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  ​| ​This parameter is the shape you want to find close InternalFeatures to  | +  ​* //This method returns all of the InternalFeatures that touch the target ​shape. ​If there is a current transaction ​and it is marked ​as livethen the results will include any transaction ​Feature ​that applies.//
-| unitOfData ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This parameter ​is the unit of data that the TargetShape ​and the FeatureSource are in, such as feetmeters, etc.   | +
-| maxItemsToFind ​  | Int32<​!-- System.Int32 --> ​  | This parameter defines how many close InternalFeatures to find around ​the TargetShape. ​  | +
-| returningColumnNames ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter allows you to select the field names of the column data you wish to return with each Feature. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:​Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]> 
-==== GetFeaturesNearestTo(Feature,​ GeographyUnit,​ Int32, ReturningColumnsType) ==== +  * Description:​The return value is collection ​of InternalFeatures that match the spatial query you executed based on the TargetShape.
-This method returns ​user defined number ​of InternalFeatures that are closest to the TargetFeature. +
-=== 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 must 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 itIf we reach the number of items to find, then we measure the returned InternalFeatures to find the nearestIf we do not find enough records, we scale up the bounding box and try againAs you can see, this is not the most efficient method. If your underlying data provider exposes a more efficient way, we recommend you override ​the Core version of this method and implement it.+== Parameters == 
 +  * //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​This parameter specifies ​the target shape used in the spatial query.
  
-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. When you override ​the GetFeaturesInsideBoundingBoxCore method, we recommend that you use any spatial indexes you have at your disposal to make this method as fast as possible.+  * //​returningColumnNames//​ 
 +    * Type:​IEnumerable<​String>​ 
 +    * Description:​This parameter specifies ​the column values in the return features.
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +<div newline></div> 
-=== Return Value === +** {{wiki:​PublicMethod.gif|}GetFeaturesTouching(BaseShape,​ReturningColumnsType) **
-^ Return Type ^ Description ^ +
-| Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature--> ​  | This method returns a user defined number of InternalFeatures that are closest to the TargetFeature. ​  |+
  
-=== Parameters === +  * //This method returns all of the InternalFeatures that touch the target Feature.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<​!-- ThinkGeo.MapSuite.Core.Feature --> ​  ​| ​This parameter is the feature you want to find close InternalFeatures ​to  | +  ​* //This method returns all of the InternalFeatures ​that touch the target shapeIf there is a current transaction ​and it is marked ​as livethen the results will include any transaction ​Feature ​that applies.//
-| unitOfData ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This parameter ​is the unit of data that the TargetShape ​and the FeatureSource are in, such as feetmeters, etc.   | +
-| maxItemsToFind ​  | Int32<​!-- System.Int32 --> ​  | This parameter defines how many close InternalFeatures to find around ​the feature. ​  | +
-| returningColumnNamesType ​  | [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<​!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  | This parameter allows you to select the field names of the column data you wish to return with each Feature. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-==== GetFeaturesOutsideBoundingBox(RectangleShape,​ ReturningColumnsType) ==== +  * Description:​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape.
-This method returns all of the InternalFeatures that are outside of the boundingBox. +
-=== Overloads === +
-This method returns all of the features that are outside of the target rectangle shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that are outside of the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​<!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  ​| ​The return value is a collection of InternalFeatures that are outside of the target rectangle shape  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetShape//​ 
-| boundingBox ​  ​| ​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]<!-- ThinkGeo.MapSuite.Core.RectangleShape --> ​  ​| ​This parameter specifies the target ​boundingBox ​used in the spatial query. ​  | +    * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-| returningColumnNamesType ​  | [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<​!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  | This parameter specifies the column values in the return features. ​  |+    * Description:​This parameter specifies the target ​shape used in the spatial query.
  
-<​!-- ​ThinkGeo.MapSuite.Core.QueryTools --> +  * //​returningColumnNamesType//​ 
-[[#Public Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
-==== GetFeaturesOutsideBoundingBox(RectangleShape,​ IEnumerable<​String>​) ==== +    * Description:​This parameter specifies ​the column values in the return ​features.
-This method returns all of the InternalFeatures that are outside of the boundingBox. +
-=== Overloads === +
-This method returns all of the features ​that are outside of the target rectangle shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that are outside of the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><​!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | The return value is a collection of InternalFeatures that are outside of the target rectangle shape. ​  |+
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} GetFeaturesTouching(Feature,​IEnumerable<​String>​) **
-| boundingBox ​  | [[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]<!-- ThinkGeo.MapSuite.Core.RectangleShape --  | This parameter specifies the target boundingBox used in the spatial query  | +
-| returningColumnNames ​  | IEnumerable<​String>​<!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter specifies the column values in the return features. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +  * //This method returns all of the InternalFeatures that touch the target Feature.// 
-[[#Public Methods|Go Back]] +== Remarks == 
-==== GetFeaturesOverlapping(Feature,​ ReturningColumnsType) ==== +  * //This method returns all of the InternalFeatures that touch the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.//
-This method returns all of the InternalFeatures that overlap ​the target Feature. +
-=== Overloads === +
-This method returns all of the features that overlap the target shape. +
-=== Remarks ​=== +
-This method returns all of the InternalFeatures that overlap ​the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.+
  
-<​strong>​Overlapping</​strong>​ - The Geometries share some but not all points in common, and the intersection has the same dimension as the Geometries themselves. +== Return Value == 
-=== Return Value === +  ​* ​Type:Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-^ Return ​Type ^ Description ^ +  * Description:​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape.
-Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​<!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  ​| ​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape. ​  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetFeature//​ 
-| targetFeature ​  ​| ​[[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --> ​  ​| ​This parameter specifies the target ​shape used in the spatial query. ​  | +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-| returningColumnNamesType ​  | [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<​!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  | This parameter specifies the column values in the return features. ​  |+    * Description:​This parameter specifies the target ​feature ​used in the spatial query.
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +  * //​returningColumnNames//​ 
-[[#Public Methods|Go Back]] +    * Type:IEnumerable<​String>​ 
-==== GetFeaturesOverlapping(Feature, ​IEnumerable<​String>​) ==== +    * Description:​This parameter specifies ​the column values in the return ​features.
-This method returns all of the InternalFeatures that overlap the target Feature. +
-=== Overloads === +
-This method returns all of the features ​that overlap the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that overlap the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.+
  
-<strong>Overlapping</strong- The Geometries share some but not all points in common, and the intersection has the same dimension as the Geometries themselves. +<div newline></div
-=== Return Value === +** {{wiki:​PublicMethod.gif|}} GetFeaturesTouching(Feature,​ReturningColumnsType) **
-^ Return Type ^ Description ^ +
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><​!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape. ​  |+
  
-=== Parameters === +  * //This method returns all of the InternalFeatures that touch the target Feature.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<​!-- ThinkGeo.MapSuite.Core.Feature --> ​  ​| ​This parameter specifies ​the target ​feature used in the spatial query  | +  ​* //This method returns all of the InternalFeatures that touch the target ​shapeIf there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.//
-| returningColumnNames ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter specifies ​the column values in the return features  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:​Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]> 
-==== GetFeaturesOverlapping(BaseShape,​ ReturningColumnsType) ==== +  * Description:​The return value is a collection ​of InternalFeatures that match the spatial query you executed based on the TargetShape.
-This method returns all of the InternalFeatures that overlap ​the target Feature. +
-=== Overloads === +
-This method returns all of the features that overlap the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that overlap the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.+
  
-<​strong>​Overlapping</​strong>​ - The Geometries share some but not all points in common, and the intersection has the same dimension as the Geometries themselves. +== Parameters ​== 
-=== Return Value === +  * //​targetFeature//​ 
-^ Return ​Type ^ Description ^ +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape  |+    * Description:​This parameter specifies the target feature used in the spatial query.
  
-=== Parameters === +  * //​returningColumnNamesType//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | This parameter specifies the target shape used in the spatial query. ​  | +    * Description:​This parameter specifies the column values in the return features.
-| returningColumnNamesType ​  ​| ​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  ​| ​This parameter specifies the column values in the return features. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} GetFeaturesWithin(BaseShape,​IEnumerable<​String>​) ​**
-==== GetFeaturesOverlapping(BaseShape, IEnumerable<​String>​) ​==== +
-This method returns all of the InternalFeatures that overlap the target Feature. +
-=== Overloads === +
-This method returns all of the features that overlap the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that overlap the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.+
  
-<​strong>​Overlapping<​/strong> - The Geometries share some but not all points in common, and the intersection has the same dimension as the Geometries themselves+  * //This method returns ​all of the InternalFeatures that are within ​the target Feature.// 
-=== Return Value === +== Remarks ​== 
-^ Return Type ^ Description ^ +  * //This method returns all of the InternalFeatures that are within ​the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.//
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><​!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | The return value is a collection ​of InternalFeatures that match the spatial query you executed based on the TargetShape  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​^  Description ^ +  ​Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]> 
-| targetShape ​  ​| ​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --  | This parameter specifies the target shape used in the spatial query.   | +  * Description:​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape.
-| returningColumnNames ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter specifies ​the column values in the return features  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +  * //​targetShape//​ 
-==== GetFeaturesTopologicalEqual(BaseShape,​ ReturningColumnsType) ​==== +    ​* ​Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-This method returns all of the InternalFeatures that topologicalEqual the target Feature. +    * Description:​This parameter specifies the target shape used in the spatial query.
-=== Overloads === +
-This method returns all of the features that topologicalEqual the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that topologicalEqual the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape  |+
  
-=== Parameters === +  * //​returningColumnNames//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:​IEnumerable<String
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --  | This parameter specifies the target shape used in the spatial query. ​  | +    * Description:​This parameter specifies the column values in the return features.
-| returningColumnNamesType ​  | [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<​!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  ​| ​This parameter specifies the column values in the return features. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +<div newline></div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} GetFeaturesWithin(BaseShape,​ReturningColumnsType) **
-==== GetFeaturesTopologicalEqual(Feature,​ IEnumerable<String>) ==== +
-This method returns all of the InternalFeatures that topologicalEqual the target Feature. +
-=== Overloads === +
-This method returns all of the features that topologicalEqual the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that topologicalEqual the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><​!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature--> ​  | The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape. ​  |+
  
-=== Parameters === +  * //This method returns all of the InternalFeatures that are within the target Feature.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<​!-- ThinkGeo.MapSuite.Core.Feature --> ​  ​| ​This parameter specifies ​the target shape used in the spatial query  | +  ​* //This method returns all of the InternalFeatures that are within ​the target shape. ​If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.//
-| returningColumnNames ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter specifies ​the column values in the return features  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-==== GetFeaturesTopologicalEqual(Feature,​ ReturningColumnsType) ==== +  * Description:​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape.
-This method returns all of the InternalFeatures that topologicalEqual the target Feature. +
-=== Overloads === +
-This method returns all of the features that topologicalEqual the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that topologicalEqual the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​<!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  ​| ​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape. ​  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetShape//​ 
-| targetFeature ​  ​| ​[[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --> ​  ​| ​This parameter specifies the target shape used in the spatial query. ​  | +    * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
-| returningColumnNamesType ​  | [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<​!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  | This parameter specifies the column values in the return features. ​  |+    * Description:​This parameter specifies the target shape used in the spatial query.
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +  * //​returningColumnNamesType//​ 
-[[#Public Methods|Go Back]] +    ​* ​Type:[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
-==== GetFeaturesTopologicalEqual(BaseShape,​ IEnumerable<​String>​) ==== +    * Description:​This parameter specifies ​the column values in the return features.
-This method returns all of the InternalFeatures that topologicalEqual the target Feature. +
-=== Overloads === +
-This method returns all of the features that topologicalEqual the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that topologicalEqual the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape  |+
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} GetFeaturesWithin(Feature,​IEnumerable<​String>​) **
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --  | This parameter specifies the target shape used in the spatial query  | +
-| returningColumnNames ​  | IEnumerable<​String>​<!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter specifies the column values in the return features. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +  * //This method returns all of the InternalFeatures that are within ​the target Feature.// 
-[[#Public Methods|Go Back]] +== Remarks == 
-==== GetFeaturesTouching(Feature,​ IEnumerable<​String>​) ==== +  * //This method returns all of the InternalFeatures that are within ​the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.//
-This method returns all of the InternalFeatures that touch the target Feature. +
-=== Overloads === +
-This method returns all of the features that touch the target shape. +
-=== Remarks ​=== +
-This method returns all of the InternalFeatures that touch the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><​!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​^  Description ^ +  ​Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-| targetFeature ​  ​| ​[[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --  | This parameter specifies the target feature used in the spatial query.   | +  * Description:​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape.
-| returningColumnNames ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter specifies ​the column values in the return features  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +  * //​targetFeature//​ 
-==== GetFeaturesTouching(Feature,​ ReturningColumnsType) ​==== +    ​* ​Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-This method returns all of the InternalFeatures that touch the target Feature. +    * Description:​This parameter specifies the target feature used in the spatial query.
-=== Overloads === +
-This method returns all of the features that touch the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that touch the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape  |+
  
-=== Parameters === +  * //​returningColumnNames//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:​IEnumerable<String
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --  | This parameter specifies the target feature used in the spatial query. ​  | +    * Description:​This parameter specifies the column values in the return features.
-| returningColumnNamesType ​  | [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<​!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  ​| ​This parameter specifies the column values in the return features. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} GetFeaturesWithin(Feature,​ReturningColumnsType) ​**
-==== GetFeaturesTouching(BaseShape, ReturningColumnsType) ​==== +
-This method returns all of the InternalFeatures that touch the target Feature. +
-=== Overloads === +
-This method returns all of the features that touch the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that touch the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><​!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape. ​  |+
  
-=== Parameters === +  * //This method returns all of the InternalFeatures that are within the target Feature.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  ​| ​This parameter specifies ​the target shape used in the spatial query  | +  ​* //This method returns all of the InternalFeatures that are within ​the target shape. ​If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.//
-| returningColumnNamesType ​  | [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<​!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  | This parameter specifies ​the column values in the return features  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-==== GetFeaturesTouching(BaseShape,​ IEnumerable<​String>​) ==== +  * Description:​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape.
-This method returns all of the InternalFeatures that touch the target Feature. +
-=== Overloads === +
-This method returns all of the features that touch the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that touch the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​<!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  ​| ​The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape. ​  |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​targetFeature//​ 
-| targetShape ​  ​| ​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  ​| ​This parameter specifies the target ​shape used in the spatial query. ​  | +    * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
-| returningColumnNames ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter specifies the column values in the return features. ​  |+    * Description:​This parameter specifies the target ​feature ​used in the spatial query.
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +  * //​returningColumnNamesType//​ 
-[[#Public Methods|Go Back]] +    ​* ​Type:[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
-==== GetFeaturesWithin(Feature,​ IEnumerable<​String>​) ==== +    * Description:​This parameter specifies ​the column values in the return features.
-This method returns all of the InternalFeatures that are within the target Feature. +
-=== Overloads === +
-This method returns all of the features that are within the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that are within the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape  |+
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^ +** {{wiki:​PublicMethod.gif|}} GetFeaturesOutsideBoundingBox(RectangleShape,​IEnumerable<​String>​) **
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --  | This parameter specifies the target feature used in the spatial query  | +
-| returningColumnNames ​  | IEnumerable<​String>​<!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter specifies the column values in the return features. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +  * //This method returns all of the InternalFeatures that are outside ​of the boundingBox.// 
-[[#Public Methods|Go Back]] +== Remarks == 
-==== GetFeaturesWithin(Feature,​ ReturningColumnsType) ==== +  * //This method returns all of the InternalFeatures that are outside of the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.//
-This method returns all of the InternalFeatures that are within the target Feature. +
-=== Overloads === +
-This method returns all of the features that are within the target shape+
-=== Remarks ​=== +
-This method returns all of the InternalFeatures that are within ​the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><​!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​^  Description ^ +  ​Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
-| targetFeature ​  ​| ​[[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --  | This parameter specifies ​the target ​feature used in the spatial query  | +  * Description:​The return value is a collection of InternalFeatures that are outside of the target ​rectangle shape.
-| returningColumnNamesType ​  | [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<​!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  | This parameter specifies the column values in the return features. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +  * //​boundingBox//​ 
-==== GetFeaturesWithin(BaseShape,​ ReturningColumnsType) ​==== +    ​* ​Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
-This method returns all of the InternalFeatures that are within the target Feature. +    * Description:​This parameter specifies the target boundingBox used in the spatial query.
-=== Overloads === +
-This method returns all of the features that are within the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that are within the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  | The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape  |+
  
-=== Parameters === +  * //​returningColumnNames//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:​IEnumerable<String
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<!-- ThinkGeo.MapSuite.Core.BaseShape --  | This parameter specifies the target shape used in the spatial query. ​  | +    * Description:​This parameter specifies the column values in the return features.
-| returningColumnNamesType ​  | [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<​!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  ​| ​This parameter specifies the column values in the return features. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +<div newline></div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} GetFeaturesOutsideBoundingBox(RectangleShape,​ReturningColumnsType) **
-==== GetFeaturesWithin(BaseShape,​ IEnumerable<String>) ==== +
-This method returns all of the InternalFeatures that are within the target Feature. +
-=== Overloads === +
-This method returns all of the features that are within the target shape. +
-=== Remarks === +
-This method returns all of the InternalFeatures that are within the target shape. If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><​!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature--> ​  | The return value is a collection of InternalFeatures that match the spatial query you executed based on the TargetShape. ​  |+
  
-=== Parameters === +  * //This method returns all of the InternalFeatures that are outside of the boundingBox.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  ​| ​This parameter specifies ​the target shape used in the spatial query  | +  ​* //This method returns all of the InternalFeatures that are outside of the target shape. ​If there is a current transaction and it is marked as live, then the results will include any transaction Feature that applies.//
-| returningColumnNames ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter specifies ​the column values in the return features  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:​Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]> 
-==== GetFeaturesWithinDistanceOf(Feature,​ GeographyUnit,​ DistanceUnit,​ Double, IEnumerable<​String>) ==== +  * Description:​The return value is a collection of InternalFeatures that are outside ​of the target rectangle shape.
-This method returns ​a collection of InternalFeatures that are within a certain distance ​of the TargetFeature. +
-=== 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 must 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 creates a bounding box around the TargetShape using the distance supplied and then queries the features inside of it. This may not be the most efficient method for this operation. If your underlying data provider exposes a more efficient way, we recommend you override ​the Core version of this method and implement it.+== Parameters == 
 +  * //​boundingBox//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
 +    * Description:​This parameter specifies ​the target boundingBox used in the spatial query.
  
-The default implementation of GetFeaturesWithinDistanceOfCore uses the GetFeaturesInsideBoundingBoxCore method for speedWe strongly recommend that you provide your own implementation for this method that will be more efficientWhen you override ​the GetFeaturesInsideBoundingBoxCore method, we recommend that you use any spatial indexes you have at your disposal to make this method as fast as possible.+  * //​returningColumnNamesType//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
 +    * Description:​This parameter specifies the column values in the return features.
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +<div newline></div> 
-=== Return Value === +** {{wiki:​PublicMethod.gif|}GetFeaturesInsideBoundingBox(RectangleShape,​IEnumerable<​String>) **
-^ Return Type ^ Description ^ +
-| Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature--  | This method returns a collection of InternalFeatures that are within a certain distance of the TargetFeature. ​  |+
  
-=== Parameters === +  * //This method returns all of the InternalFeatures that are inside of the boundingBox.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<​!-- ThinkGeo.MapSuite.Core.Feature --> ​  | The feature you wish to find InternalFeatures within a distance ​of.   | +  ​* //This method returns all of the InternalFeatures ​that are inside ​of the target shape. If there is a current transaction and it is marked ​as livethen the results will include any transaction ​Feature ​that applies.//
-| unitOfData ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This parameter is the unit of data that the FeatureSource and TargetShape ​are in.   | +
-| distanceUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This parameter specifies the unit of the distance parameter, such as feetmiles, kilometers, etc.   | +
-| distance ​  | Double<​!-- System.Double --> ​  | This parameter specifies ​the distance in which to find InternalFeatures around the TargetShape. ​  | +
-| returningColumnNames ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter allows you to select the field names of the column data you wish to return with each Feature. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:​Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]> 
-==== GetFeaturesWithinDistanceOf(BaseShape,​ GeographyUnit,​ DistanceUnit,​ Double, ReturningColumnsType) ==== +  * Description:​The return value is a collection of InternalFeatures that are inside ​of the target rectangle shape.
-This method returns ​a collection of InternalFeatures that are within a certain distance ​of the TargetShape. +
-=== 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 must 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 creates a bounding box around the TargetShape using the distance supplied and then queries the features inside of it. This may not be the most efficient method for this operation. If your underlying data provider exposes a more efficient way, we recommend you override ​the Core version of this method and implement it.+== Parameters == 
 +  * //​boundingBox//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
 +    * Description:​This parameter specifies ​the target boundingBox used in the spatial query.
  
-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. When you override ​the GetFeaturesInsideBoundingBoxCore method, we recommend that you use any spatial indexes you have at your disposal to make this method as fast as possible.+  * //​returningColumnNames//​ 
 +    * Type:​IEnumerable<​String>​ 
 +    * Description:​This parameter specifies ​the column values in the return features.
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +<div newline></div> 
-=== Return Value === +** {{wiki:​PublicMethod.gif|}GetFeaturesInsideBoundingBox(RectangleShape,​ReturningColumnsType) **
-^ Return Type ^ Description ^ +
-| Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature--> ​  | This method returns a collection of InternalFeatures that are within a certain distance of the TargetShape. ​  |+
  
-=== Parameters === +  * //This method returns all of the InternalFeatures that are inside of the boundingBox.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | The shape you wish to find InternalFeatures within a distance ​of.   | +  ​* //This method returns all of the InternalFeatures ​that are inside ​of the target shape. If there is a current transaction and it is marked ​as livethen the results will include any transaction ​Feature ​that applies.//
-| unitOfData ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This parameter is the unit of data that the FeatureSource and TargetShape ​are in.   | +
-| distanceUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This parameter specifies the unit of the distance parameter, such as feetmiles, kilometers, etc.   | +
-| distance ​  | Double<​!-- System.Double --> ​  | This parameter specifies ​the distance in which to find InternalFeatures around the TargetShape. ​  | +
-| returningColumnNamesType ​  | [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<​!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  | This parameter allows you to select the field names of the column data you wish to return with each Feature. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:​Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]> 
-==== GetFeaturesWithinDistanceOf(BaseShape,​ GeographyUnit,​ DistanceUnit,​ Double, IEnumerable<​String>) ==== +  * Description:​The return value is a collection of InternalFeatures that are inside ​of the target rectangle shape.
-This method returns ​a collection of InternalFeatures that are within a certain distance ​of the TargetShape. +
-=== 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 must 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 creates a bounding box around the TargetShape using the distance supplied and then queries the features inside of it. This may not be the most efficient method for this operation. If your underlying data provider exposes a more efficient way, we recommend you override ​the Core version of this method and implement it.+== Parameters == 
 +  * //​boundingBox//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
 +    * Description:​This parameter specifies ​the target boundingBox used in the spatial query.
  
-The default implementation of GetFeaturesWithinDistanceOfCore uses the GetFeaturesInsideBoundingBoxCore method for speedWe strongly recommend that you provide your own implementation for this method that will be more efficientWhen you override ​the GetFeaturesInsideBoundingBoxCore method, we recommend that you use any spatial indexes you have at your disposal to make this method as fast as possible.+  * //​returningColumnNamesType//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
 +    * Description:​This parameter specifies the column values in the return features.
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +<div newline></div> 
-=== Return Value === +** {{wiki:​PublicMethod.gif|}} GetFeaturesNearestTo(BaseShape,​GeographyUnit,​Int32,​IEnumerable<​String>) **
-^ Return Type ^ Description ^ +
-| Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature--  | This method returns a collection of InternalFeatures that are within a certain distance of the TargetShape. ​  |+
  
-=== Parameters === +  * //This method returns a user defined number of InternalFeatures that are closest to the TargetShape.//​ 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| targetShape ​  | [[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]<​!-- ThinkGeo.MapSuite.Core.BaseShape --> ​  | The shape you wish to find InternalFeatures within ​distance ​of.   | +  ​* //This method returns ​user defined number ​of InternalFeatures that are closest to the TargetShapeIt is important to note that the TargetShape ​and the FeatureSource must use the same unit, such as feet or meters. If they do notthen the results will not be predictable or correct. If there is a current transaction and it is marked as livethen the results will include any transaction Feature that appliesThe implementation we provided create a small bounding box around the TargetShape and then queries the features inside of itIf we reach the number of items to find, then we measure the returned ​InternalFeatures ​to find the nearestIf we do not find enough records, we scale up the bounding box and try againAs you can see, this is not the most efficient methodIf your underlying data provider exposes a more efficient way, we recommend you override the Core version of this method and implement itThe default implementation of GetFeaturesNearestCore uses the GetFeaturesInsideBoundingBoxCore method for speedWe strongly recommend that you provide your own implementation for this method that will be more efficient. When you override the GetFeaturesInsideBoundingBoxCore method, we recommend that you use any spatial indexes ​you have at your disposal ​to make this method as fast as possible. As this is a concrete public method that wraps a Core method, we reserve ​the right to add events and other logic to pre- or post-process data returned by the Core version ​of the method. In this way, we leave our framework open on our end, but also allow you the developer ​to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//
-| unitOfData ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This parameter ​is the unit of data that the FeatureSource and TargetShape ​are in.   | +
-| distanceUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This parameter specifies ​the unit of the distance parameter, such as feet, mileskilometers, etc  | +
-| distance ​  | Double<​!-- System.Double --> ​  | This parameter specifies ​the distance in which to find InternalFeatures ​around ​the TargetShape  | +
-| returningColumnNames ​  | IEnumerable<​String><​!-- System.Collections.Generic.IEnumerable{System.String} --> ​  | This parameter allows ​you to select ​the field names of the column data you wish to return ​with each Feature  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:​Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]> 
-==== GetFeaturesWithinDistanceOf(Feature,​ GeographyUnit,​ DistanceUnit,​ Double, ReturningColumnsType) ==== +  * Description:​This method returns a user defined number ​of InternalFeatures that are closest ​to the TargetShape.
-This method returns a collection ​of InternalFeatures that are within a certain distance of the TargetFeature. +
-=== 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 must 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 creates a bounding box around the TargetShape using the distance supplied and then queries the features inside of it. This may not be the most efficient method for this operation. If your underlying data provider exposes a more efficient way, we recommend ​you override the Core version of this method and implement it.+== Parameters == 
 +  * //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​This parameter is the shape you want to find close InternalFeatures to.
  
-The default implementation of GetFeaturesWithinDistanceOfCore uses the GetFeaturesInsideBoundingBoxCore method for speedWe strongly recommend that you provide your own implementation for this method that will be more efficientWhen you override ​the GetFeaturesInsideBoundingBoxCore method, we recommend ​that you use any spatial indexes you have at your disposal to make this method ​as fast as possible.+  * //​unitOfData//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
 +    * Description:​This parameter is the unit of data that the TargetShape and the FeatureSource are in, such as feet, meters, etc.
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +  * //​maxItemsToFind//​ 
-=== Return Value === +    * Type:Int32 
-^ Return Type ^ Description ​+    ​* ​Description:This parameter defines how many close InternalFeatures ​to find around ​the TargetShape.
-| Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]><​!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.Feature} --> ​  ​| ​This method returns a collection of InternalFeatures ​that are within a certain distance of the TargetFeature  |+
  
-=== Parameters === +  * //​returningColumnNames//​ 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:​IEnumerable<String
-| targetFeature ​  | [[ThinkGeo.MapSuite.Core.Feature|Feature]]<!-- ThinkGeo.MapSuite.Core.Feature --  | The feature you wish to find InternalFeatures within a distance of.   | +    * Description:​This parameter allows you to select the field names of the column data you wish to return with each Feature.
-| unitOfData ​  | [[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]]<​!-- ThinkGeo.MapSuite.Core.GeographyUnit --> ​  | This parameter is the unit of data that the FeatureSource and TargetShape are in.   | +
-| distanceUnit ​  | [[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]]<​!-- ThinkGeo.MapSuite.Core.DistanceUnit --> ​  | This parameter specifies the unit of the distance parameter, such as feet, miles, kilometers, etc..   | +
-| distance ​  | Double<​!-- System.Double --> ​  | This parameter specifies the distance in which to find InternalFeatures around the TargetShape. ​  | +
-| returningColumnNamesType ​  | [[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]]<​!-- ThinkGeo.MapSuite.Core.ReturningColumnsType --> ​  ​| ​This parameter allows you to select the field names of the column data you wish to return with each Feature. ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​PublicMethod.gif|}} GetFeaturesNearestTo(BaseShape,​GeographyUnit,​Int32,​ReturningColumnsType**
-==== GetHashCode() ==== +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Int32<​!-- System.Int32 --> ​  ​| ​   |+
  
-=== Parameters === +  * //This method returns a user defined number of InternalFeatures that are closest to the TargetShape.//​ 
-^  Name ^  Type ^  Description ^+== 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 must 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 your 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. When you override the GetFeaturesInsideBoundingBoxCore method, we recommend that you use any spatial indexes you have at your disposal to make this method as fast as possible. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//​
  
-<!-- System.Object --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:Collection<[[ThinkGeo.MapSuite.Core.Feature|Feature]]> 
-==== GetType() ==== +  * Description:​This method returns a user defined number of InternalFeatures that are closest to the TargetShape.
-=== Return Value === +
-^ Return Type ^ Description ^ +
-Type<!-- System.Type --  |    |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  ​Description ​^+  ​* //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:This parameter is the shape you want to find close InternalFeatures to.
  
-<!-- System.Object --> +  * //​unitOfData//​ 
-[[#Public Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
-==== ToString() ==== +    ​* ​Description:This parameter is the unit of data that the TargetShape and the FeatureSource are in, such as feet, meters, etc.
-=== Return Value === +
-^ Return Type ^ Description ​+
-| String<​!-- System.String --> ​  ​| ​   |+
  
-=== Parameters === +  * //​maxItemsToFind//​ 
-^  Name ^  ​Type ^  ​Description ​^+    ​* ​Type:Int32 
 +    * Description:This parameter defines how many close InternalFeatures to find around the TargetShape.
  
-<!-- System.Object --> +  * //​returningColumnNamesType//​ 
-[[#Public Methods|Go Back]] +    * Type:[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
-===== Protected Methods ===== +    ​* ​Description:This parameter allows you to select the field names of the column data you wish to return with each Feature.
-==== Finalize() ==== +
-=== Return Value === +
-^ Return Type ^ Description ​+
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^+** {{wiki:​PublicMethod.gif|}} GetFeaturesNearestTo(Feature,​GeographyUnit,​Int32,​IEnumerable<​String>​) **
  
-<!-- System.Object --> +  * //This method returns a user defined number of InternalFeatures that are closest to the TargetFeature.// 
-[[#​Protected Methods|Go Back]] +== Remarks ​== 
-==== MemberwiseClone() ==== +  * //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 must 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 your 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. When you override the GetFeaturesInsideBoundingBoxCore method, we recommend that you use any spatial indexes you have at your disposal to make this method as fast as possible. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to preor post-process data returned by the Core version of the methodIn this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//​
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Object<!-- System.Object --> ​  ​| ​   |+
  
-=== Parameters === +== Return Value == 
- Name ^  ​Type ​ ​Description ​^+  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
 +  * Description:​This method returns a user defined number of InternalFeatures that are closest to the TargetFeature. 
 + 
 +== Parameters =
 +  * //​targetFeature//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:​This parameter is the feature you want to find close InternalFeatures to. 
 + 
 +  * //​unitOfData//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
 +    * Description:​This parameter is the unit of data that the TargetShape and the FeatureSource are in, such as feet, meters, etc. 
 + 
 +  * //​maxItemsToFind//​ 
 +    * Type:​Int32 
 +    * Description:​This parameter defines how many close InternalFeatures to find around the feature. 
 + 
 +  * //​returningColumnNames//​ 
 +    * Type:​IEnumerable<​String>​ 
 +    * Description:​This parameter allows you to select the field names of the column data you wish to return with each Feature. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetFeaturesNearestTo(Feature,​GeographyUnit,​Int32,​ReturningColumnsType) ** 
 + 
 +  * //This method returns a user defined number of InternalFeatures that are closest to the TargetFeature.//​ 
 +== 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 must 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 your 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. When you override the GetFeaturesInsideBoundingBoxCore method, we recommend that you use any spatial indexes you have at your disposal to make this method as fast as possible. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//​ 
 + 
 +== Return Value == 
 +  Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
 +  Description:This method returns a user defined number of InternalFeatures that are closest to the TargetFeature. 
 + 
 +== Parameters == 
 +  * //​targetFeature//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:​This parameter is the feature you want to find close InternalFeatures to. 
 + 
 +  * //​unitOfData//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
 +    * Description:​This parameter is the unit of data that the TargetShape and the FeatureSource are in, such as feet, meters, etc. 
 + 
 +  * //​maxItemsToFind//​ 
 +    * Type:​Int32 
 +    * Description:​This parameter defines how many close InternalFeatures to find around the feature. 
 + 
 +  * //​returningColumnNamesType//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
 +    * Description:​This parameter allows you to select the field names of the column data you wish to return with each Feature. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetFeaturesNearestTo(Feature,​GeographyUnit,​Int32,​IEnumerable<​String>,​Double,​DistanceUnit) ** 
 + 
 +  * //This method returns a user defined number of InternalFeatures that are closest to the TargetShape.//​ 
 +== 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 must 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 creates 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 your 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. When you override GetFeaturesInsideBoundingBoxCore method, we recommend that you use any spatial indexes you have at your disposal to make this method as fast as possible. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//​ 
 + 
 +== Return Value == 
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
 +  * Description:​This method returns a user defined number of InternalFeatures that are closest to the TargetShape. 
 + 
 +== Parameters == 
 +  * //​targetFeature//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:​This parameter is feature you want to find InternalFeatures close to. 
 + 
 +  * //​unitOfData//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
 +    * Description:​This parameter is the unit of measurement that the TargetShape and the FeatureSource are in, such as feet, meters, etc. 
 + 
 +  * //​maxItemsToFind//​ 
 +    * Type:​Int32 
 +    * Description:​This parameter defines how many close InternalFeatures to find around the TargetShape. 
 + 
 +  * //​returningColumnNames//​ 
 +    * Type:​IEnumerable<​String>​ 
 +    * Description:​This parameter allows you to select the field names of the column data you wish to return with each Feature. 
 + 
 +  * //​searchRadius//​ 
 +    * Type:​Double 
 +    * Description:​Limit the maximize distance proximately to search closest records. 
 + 
 +  * //​unitOfSearchRadius//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
 +    * Description:​The unit of searchRadius parameter. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetFeaturesNearestTo(BaseShape,​GeographyUnit,​Int32,​IEnumerable<​String>,​Double,​DistanceUnit) ** 
 + 
 +  * //This method returns a user defined number of InternalFeatures that are closest to the TargetShape.//​ 
 +== 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 must 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 creates 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 your 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. When you override GetFeaturesInsideBoundingBoxCore method, we recommend that you use any spatial indexes you have at your disposal to make this method as fast as possible. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//​ 
 + 
 +== Return Value == 
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
 +  * Description:​This method returns a user defined number of InternalFeatures that are closest to the TargetShape. 
 + 
 +== Parameters == 
 +  * //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​This parameter is the shape you want to find InternalFeatures close to. 
 + 
 +  * //​unitOfData//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
 +    * Description:​This parameter is the unit of measurement that the TargetShape and the FeatureSource are in, such as feet, meters, etc. 
 + 
 +  * //​maxItemsToFind//​ 
 +    * Type:​Int32 
 +    * Description:​This parameter defines how many close InternalFeatures to find around the TargetShape. 
 + 
 +  * //​returningColumnNames//​ 
 +    * Type:​IEnumerable<​String>​ 
 +    * Description:​This parameter allows you to select the field names of the column data you wish to return with each Feature. 
 + 
 +  * //​searchRadius//​ 
 +    * Type:​Double 
 +    * Description:​Limit the maximize distance proximately to search closest records. 
 + 
 +  * //​unitOfSearchRadius//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
 +    * Description:​The unit of searchRadius parameter. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetFeaturesWithinDistanceOf(BaseShape,​GeographyUnit,​DistanceUnit,​Double,​IEnumerable<​String>​) ** 
 + 
 +  * //This method returns a collection of InternalFeatures that are within a certain distance of the TargetShape.//​ 
 +== 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 must 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 creates a bounding box around the TargetShape using the distance supplied and then queries the features inside of it. This may not be the most efficient method for this operation. If your 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. When you override the GetFeaturesInsideBoundingBoxCore method, we recommend that you use any spatial indexes you have at your disposal to make this method as fast as possible. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//​ 
 + 
 +== Return Value == 
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
 +  * Description:​This method returns a collection of InternalFeatures that are within a certain distance of the TargetShape. 
 + 
 +== Parameters == 
 +  * //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​The shape you wish to find InternalFeatures within a distance of. 
 + 
 +  * //​unitOfData//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
 +    * Description:​This parameter is the unit of data that the FeatureSource and TargetShape are in. 
 + 
 +  * //​distanceUnit//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
 +    * Description:​This parameter specifies the unit of the distance parameter, such as feet, miles, kilometers, etc. 
 + 
 +  * //​distance//​ 
 +    * Type:​Double 
 +    * Description:​This parameter specifies the distance in which to find InternalFeatures around the TargetShape. 
 + 
 +  * //​returningColumnNames//​ 
 +    * Type:​IEnumerable<​String>​ 
 +    * Description:​This parameter allows you to select the field names of the column data you wish to return with each Feature. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetFeaturesWithinDistanceOf(BaseShape,​GeographyUnit,​DistanceUnit,​Double,​ReturningColumnsType) ** 
 + 
 +  * //This method returns a collection of InternalFeatures that are within a certain distance of the TargetShape.//​ 
 +== 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 must 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 creates a bounding box around the TargetShape using the distance supplied and then queries the features inside of it. This may not be the most efficient method for this operation. If your 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. When you override the GetFeaturesInsideBoundingBoxCore method, we recommend that you use any spatial indexes you have at your disposal to make this method as fast as possible. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//​ 
 + 
 +== Return Value == 
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
 +  * Description:​This method returns a collection of InternalFeatures that are within a certain distance of the TargetShape. 
 + 
 +== Parameters == 
 +  * //​targetShape//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] 
 +    * Description:​The shape you wish to find InternalFeatures within a distance of. 
 + 
 +  * //​unitOfData//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
 +    * Description:​This parameter is the unit of data that the FeatureSource and TargetShape are in. 
 + 
 +  * //​distanceUnit//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
 +    * Description:​This parameter specifies the unit of the distance parameter, such as feet, miles, kilometers, etc. 
 + 
 +  * //​distance//​ 
 +    * Type:​Double 
 +    * Description:​This parameter specifies the distance in which to find InternalFeatures around the TargetShape. 
 + 
 +  * //​returningColumnNamesType//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
 +    * Description:​This parameter allows you to select the field names of the column data you wish to return with each Feature. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetFeaturesWithinDistanceOf(Feature,​GeographyUnit,​DistanceUnit,​Double,​IEnumerable<​String>​) ** 
 + 
 +  * //This method returns a collection of InternalFeatures that are within a certain distance of the TargetFeature.//​ 
 +== 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 must 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 creates a bounding box around the TargetShape using the distance supplied and then queries the features inside of it. This may not be the most efficient method for this operation. If your 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. When you override the GetFeaturesInsideBoundingBoxCore method, we recommend that you use any spatial indexes you have at your disposal to make this method as fast as possible. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//​ 
 + 
 +== Return Value == 
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
 +  * Description:​This method returns a collection of InternalFeatures that are within a certain distance of the TargetFeature. 
 + 
 +== Parameters == 
 +  * //​targetFeature//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:​The feature you wish to find InternalFeatures within a distance of. 
 + 
 +  * //​unitOfData//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
 +    * Description:​This parameter is the unit of data that the FeatureSource and TargetShape are in. 
 + 
 +  * //​distanceUnit//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
 +    * Description:​This parameter specifies the unit of the distance parameter, such as feet, miles, kilometers, etc. 
 + 
 +  * //​distance//​ 
 +    * Type:​Double 
 +    * Description:​This parameter specifies the distance in which to find InternalFeatures around the TargetShape. 
 + 
 +  * //​returningColumnNames//​ 
 +    * Type:​IEnumerable<​String>​ 
 +    * Description:​This parameter allows you to select the field names of the column data you wish to return with each Feature. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetFeaturesWithinDistanceOf(Feature,​GeographyUnit,​DistanceUnit,​Double,​ReturningColumnsType) ** 
 + 
 +  * //This method returns a collection of InternalFeatures that are within a certain distance of the TargetFeature.//​ 
 +== 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 must 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 creates a bounding box around the TargetShape using the distance supplied and then queries the features inside of it. This may not be the most efficient method for this operation. If your 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. When you override the GetFeaturesInsideBoundingBoxCore method, we recommend that you use any spatial indexes you have at your disposal to make this method as fast as possible. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//​ 
 + 
 +== Return Value == 
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
 +  * Description:​This method returns a collection of InternalFeatures that are within a certain distance of the TargetFeature. 
 + 
 +== Parameters == 
 +  * //​targetFeature//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +    * Description:​The feature you wish to find InternalFeatures within a distance of. 
 + 
 +  * //​unitOfData//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] 
 +    * Description:​This parameter is the unit of data that the FeatureSource and TargetShape are in. 
 + 
 +  * //​distanceUnit//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.DistanceUnit|DistanceUnit]] 
 +    * Description:​This parameter specifies the unit of the distance parameter, such as feet, miles, kilometers, etc.. 
 + 
 +  * //​distance//​ 
 +    * Type:​Double 
 +    * Description:​This parameter specifies the distance in which to find InternalFeatures around the TargetShape. 
 + 
 +  * //​returningColumnNamesType//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
 +    * Description:​This parameter allows you to select the field names of the column data you wish to return with each Feature. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetFeatureById(String,​IEnumerable<​String>​) ** 
 + 
 +  * //This method returns an InternalFeature based on an Id provided.//​ 
 +== Remarks == 
 +  * //This method returns an InternalFeature based on an Id provided.//​ 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +  * Description:​This method returns an InternalFeature based on an Id provided. 
 + 
 +== Parameters == 
 +  * //id// 
 +    * Type:​String 
 +    * Description:​This parameter is the unique Id for the feature you want to find. 
 + 
 +  * //​returningColumnNames//​ 
 +    * Type:​IEnumerable<​String>​ 
 +    * Description:​This parameter is a list of column names you want returned with the Feature. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetFeatureById(String,​ReturningColumnsType) ** 
 + 
 +  * //This method returns an InternalFeature based on an Id provided.//​ 
 +== Remarks == 
 +  * //This method returns an InternalFeature based on an Id provided.//​ 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.Feature|Feature]] 
 +  * Description:​This method returns an InternalFeature based on an Id provided. 
 + 
 +== Parameters == 
 +  * //id// 
 +    * Type:​String 
 +    * Description:​This parameter is the unique Id for the feature you want to find. 
 + 
 +  * //​returningColumnNamesType//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
 +    * Description:​This parameter is a list of column names you want returned with the Feature. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetFeaturesByIds(IEnumerable<​String>,​IEnumerable<​String>​) ** 
 + 
 +  * //This method returns a collection of InternalFeatures based on the collection of Ids provided.//​ 
 +== Remarks == 
 +  * //This method returns a collection of InternalFeatures based on the collection of Ids provided.//​ 
 + 
 +== Return Value == 
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
 +  * Description:​This method returns a collection of InternalFeatures based on the collection of Ids provided. 
 + 
 +== Parameters == 
 +  * //ids// 
 +    * Type:​IEnumerable<​String>​ 
 +    * Description:​This parameter is the collection of Ids you want to find. 
 + 
 +  * //​returningColumnNames//​ 
 +    * Type:​IEnumerable<​String>​ 
 +    * Description:​This parameter is a list of column names you want returned with the Features. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetFeaturesByIds(IEnumerable<​String>,​ReturningColumnsType) ** 
 + 
 +  * //This method returns a collection of InternalFeatures based on the collection of Ids provided.//​ 
 +== Remarks == 
 +  * //This method returns a collection of InternalFeatures based on the collection of Ids provided.//​ 
 + 
 +== Return Value == 
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
 +  * Description:​This method returns a collection of InternalFeatures based on the collection of Ids provided. 
 + 
 +== Parameters == 
 +  * //ids// 
 +    * Type:​IEnumerable<​String>​ 
 +    * Description:​This parameter is the collection of Ids you want to find. 
 + 
 +  * //​returningColumnNamesType//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
 +    * Description:​This parameter is a list of column names you want returned with the Features. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetBoundingBoxById(String) ** 
 + 
 +  * //This method returns the bounding box for the Id specified.//​ 
 +== Remarks == 
 +  * //This method returns the bounding box for the Id specified.//​ 
 + 
 +== Return Value == 
 +  * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
 +  * Description:​This method returns the bounding box for the Id specified. 
 + 
 +== Parameters == 
 +  * //id// 
 +    * Type:​String 
 +    * Description:​This parameter is the unique Id of the feature for which you want to find the bounding box. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetBoundingBoxesByIds(IEnumerable<​String>​) ** 
 + 
 +  * //This method returns a collection of bounding boxes based on the collection of Ids provided.//​ 
 +== Remarks == 
 +  * //This method returns a collection of bounding boxes based on the collection of Ids provided.//​ 
 + 
 +== Return Value == 
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]>​ 
 +  * Description:​This method returns a collection of bounding boxes based on the collection of Ids provided. 
 + 
 +== Parameters == 
 +  * //ids// 
 +    * Type:​IEnumerable<​String>​ 
 +    * Description:​This parameter is the collection of Ids you want to find. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetColumns() ** 
 + 
 +  * //This method returns the collection of columns for this FeatureSource.//​ 
 +== Remarks == 
 +  * //This method returns the collection of columns for this FeatureSource.//​ 
 + 
 +== Return Value == 
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.FeatureSourceColumn|FeatureSourceColumn]]>​ 
 +  * Description:​This method returns the collection of columns for this FeatureSource. 
 + 
 +== Parameters == 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetCount() ** 
 + 
 +  * //This method returns the count of all of the InternalFeatures in the FeatureSource.//​ 
 +== Remarks == 
 +  * //This method returns the count of all of the InternalFeatures in the FeatureSource.//​ 
 + 
 +== Return Value == 
 +  * Type:​Int32 
 +  * Description:​This method returns the count of all of the InternalFeatures in the FeatureSource. 
 + 
 +== Parameters == 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetAllFeatures(IEnumerable<​String>​) ** 
 + 
 +  * //This method returns all of the InternalFeatures in the FeatureSource.//​ 
 +== Remarks == 
 +  * //This method returns all of the InternalFeatures in the FeatureSource. It will return whatever is returned by the GetAllFeaturesCore method, along with any of the additions or subtractions made if you are in a transaction and that transaction is configured to be live. The main purpose of this method is to be the anchor of all of our default virtual implementations within this class. We as the framework developers wanted 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, let's say 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 of the records, then we can brute-force the answer. In this way, if you inherited from 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: namely, it is very inefficient. In the example 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 faster. For example, in Oracle Spatial there is a specific SQL statement to perform 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. This will ensure that nearly every other API will operate efficiently. Please see the specific API to determine what method it uses. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//​ 
 + 
 +== Return Value == 
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
 +  * Description:​The return value is a collection of all of the InternalFeatures in the FeatureSource. 
 + 
 +== Parameters == 
 +  * //​returningColumnNames//​ 
 +    * Type:​IEnumerable<​String>​ 
 +    * Description:​This parameter allows you to select the field names of the column data you wish to return with each Feature. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetAllFeatures(ReturningColumnsType) ** 
 + 
 +  * //This method returns all of the InternalFeatures in the FeatureSource.//​ 
 +== Remarks == 
 +  * //This method returns all of the InternalFeatures in the FeatureSource. It will return whatever is returned by the GetAllFeaturesCore method, along with any of the additions or subtractions made if you are in a transaction and that transaction is configured to be live. The main purpose of this method is to be the anchor of all of our default virtual implementations within this class. We as the framework developers wanted 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, let's say 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 of the records, then we can brute-force the answer. In this way, if you inherited from 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: namely, it is very inefficient. In the example 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 faster. For example, in Oracle Spatial there is a specific SQL statement to perform 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. This will ensure that nearly every other API will operate efficiently. Please see the specific API to determine what method it uses. As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.//​ 
 + 
 +== Return Value == 
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​ 
 +  * Description:​The return value is a collection of all of the InternalFeatures in the FeatureSource. 
 + 
 +== Parameters == 
 +  * //​returningColumnNamesType//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.ReturningColumnsType|ReturningColumnsType]] 
 +    * Description:​This parameter allows you to select the field names of the column data you wish to return with each Feature. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} ExecuteNonQuery(String) ** 
 + 
 +  * //Executes a SQL statement against a connection object.// 
 +== Remarks == 
 +  * //You can use ExecuteNonQuery to perform catalog operations (for example, querying the structure of a database or creating database objects such as tables), or to change the data in a database by executing UPDATE, INSERT, or DELETE statements. Although ExecuteNonQuery does not return any rows, any output parameters or return values mapped to parameters are populated with data. For UPDATE, INSERT, and DELETE statements, the return value is the number of rows affected by the command.//​ 
 + 
 +== Return Value == 
 +  * Type:​Int32 
 +  * Description:​The number of rows affected. 
 + 
 +== Parameters == 
 +  * //​sqlStatement//​ 
 +    * Type:​String 
 +    * Description:​The sqlStatement to be excuted. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} ExecuteScalar(String) ** 
 + 
 +  * //Executes the query and returns the first column of the first row in the result set returned by the query. All other columns and rows are ignored.//​ 
 +== Remarks == 
 +  * //Use the ExcuteScalar method to retrieve a single value from the database. This requires less code than use the ExcuteQuery method and then performing the operations necessary to generate the single value using the data.// 
 + 
 +== Return Value == 
 +  * Type:​Object 
 +  * Description:​The first column of the first row in the result set. 
 + 
 +== Parameters == 
 +  * //​sqlStatement//​ 
 +    * Type:​String 
 +    * Description:​The SQL statement to be excuted. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} ExecuteQuery(String) ** 
 + 
 +  * //Executes the query and returns the result returned by the query.// 
 +== Remarks == 
 +  * //Use the ExcuteScalar method to retrieve a single value from the database. This requires less code than use the ExcuteQuery method and then performing the operations necessary to generate the single value using the data.// 
 + 
 +== Return Value == 
 +  * Type:​DataTable 
 +  * Description:​The result set in the format of dataTable. 
 + 
 +== Parameters == 
 +  * //​sqlStatement//​ 
 +    * Type:​String 
 +    * Description:​The SQL statement to be excuted. 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} ToString() ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​String 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} Equals(Object) ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​Boolean 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +  * //obj// 
 +    * Type:​Object 
 +    * Description:​N/​A 
 + 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetHashCode() ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​Int32 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} GetType() ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:Type 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +<div newline></​div>​ 
 +==== Protected Methods ==== 
 +** {{wiki:​ProtectedMethod.gif|}} Finalize() ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:Void 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} MemberwiseClone() ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 + 
 +== Return Value == 
 +  * Type:​Object 
 +  * Description:​N/​A 
 + 
 +== Parameters == 
 +<div newline></​div>​ 
 +==== Public Properties ==== 
 +** {{wiki:​PublicProperty.gif|}} CanExecuteSqlQuery **
  
-<!-- System.Object --> 
-[[#​Protected Methods|Go Back]] 
-===== Public Properties ===== 
-==== CanExecuteSqlQuery ==== 
 This property specifies whether FeatureSource can excute a SQL query or not. If it is false, then it will throw an exception when the following APIs are called: ExecuteScalar,​ ExecuteNonQuery,​ ExecuteQuery This property specifies whether FeatureSource can excute a SQL query or not. If it is false, then it will throw an exception when the following APIs are called: ExecuteScalar,​ ExecuteNonQuery,​ ExecuteQuery
-=== Remarks ​===+== Remarks ==
 The default implementation is false. The default implementation is false.
-=== Return Value === +== Return Value == 
-^ Return ​Type +  ​* ​Type:Boolean
-| Boolean<​!-- System.Boolean ​--> ​  |+
  
-<!-- ThinkGeo.MapSuite.Core.QueryTools --> +==== Protected Properties ==== 
-[[#Public Properties|Go Back]] +==== Public Events ====
-===== Protected Properties ​===== +
-===== Public Events ====+
-__NOTOC__ +
-[[Category:​MapSuiteCore]] +
-[[Category:​ThinkGeo.MapSuite.Core]] +
-[[Category:​UpdateDocumentation]]+
  
thinkgeo.mapsuite.core.querytools.1440040129.txt.gz · Last modified: 2015/09/17 10:38 (external edit)