====== ThinkGeo.MapSuite.WindowsPhoneCore.Feature ====== {{section>upgrade_map_suite_to_10.0}} The class Feature is the basic unit of which a FeatureSource is composed. A FeatureSource can be taken from a collection of Features stored in a ShapeFile, SQL Server 2008, Oracle, etc.A Feature is the basic data unit structure which is comprised of IDs that mark the identification of the Feature, a shape and a collection of data. ===== Inheritance Hierarchy ===== *System.ValueType **[[ThinkGeo.MapSuite.WindowsPhoneCore.Feature]] ===== Members Summary ===== ==== Public Constructors ==== ^ Name ^ Parameters ^ DeclaringType ^ Summary ^ | {{wiki:PublicMethod.gif|Public Method}}[[#Feature(BaseShape)|Feature]] | [[ThinkGeo.MapSuite.WindowsPhoneCore.BaseShape|BaseShape]] | | This method is the constructor for the Feature. | | {{wiki:PublicMethod.gif|Public Method}}[[#Feature(Byte[])|Feature]] | Byte[] | | This method is the constructor for the Feature. | | {{wiki:PublicMethod.gif|Public Method}}[[#Feature(Byte[], String)|Feature]] | Byte[], String | | This method is the constructor for the Feature. | | {{wiki:PublicMethod.gif|Public Method}}[[#Feature(String)|Feature]] | String | | This method is the constructor for the Feature. | | {{wiki:PublicMethod.gif|Public Method}}[[#Feature(String, String)|Feature]] | String, String | | This method is the constructor for the Feature. | | {{wiki:PublicMethod.gif|Public Method}}[[#Feature(BaseShape, IDictionary)|Feature]] | [[ThinkGeo.MapSuite.WindowsPhoneCore.BaseShape|BaseShape]], IDictionary | | This method is the constructor for the Feature. | | {{wiki:PublicMethod.gif|Public Method}}[[#Feature(String, String, IDictionary)|Feature]] | String, String, IDictionary | | This method is the constructor for the Feature. | | {{wiki:PublicMethod.gif|Public Method}}[[#Feature(String, String, IEnumerable)|Feature]] | String, String, IEnumerable | | | | {{wiki:PublicMethod.gif|Public Method}}[[#Feature(Byte[], String, IEnumerable)|Feature]] | Byte[], String, IEnumerable | | This method is the constructor for the Feature. | | {{wiki:PublicMethod.gif|Public Method}}[[#Feature(Byte[], String, IDictionary)|Feature]] | Byte[], String, IDictionary | | This method is the constructor for the Feature. | | {{wiki:PublicMethod.gif|Public Method}}[[#Feature(Vertex)|Feature]] | [[ThinkGeo.MapSuite.WindowsPhoneCore.Vertex|Vertex]] | | This method is the constructor for the Feature. | | {{wiki:PublicMethod.gif|Public Method}}[[#Feature(Vertex, String)|Feature]] | [[ThinkGeo.MapSuite.WindowsPhoneCore.Vertex|Vertex]], String | | This method is the constructor for the Feature. | | {{wiki:PublicMethod.gif|Public Method}}[[#Feature(Vertex, String, IEnumerable)|Feature]] | [[ThinkGeo.MapSuite.WindowsPhoneCore.Vertex|Vertex]], String, IEnumerable | | This method is the constructor for the Feature. | | {{wiki:PublicMethod.gif|Public Method}}[[#Feature(Double, Double)|Feature]] | Double, Double | | This method is the constructor for the Feature. | | {{wiki:PublicMethod.gif|Public Method}}[[#Feature(Double, Double, String)|Feature]] | Double, Double, String | | This method is the constructor for the Feature. | | {{wiki:PublicMethod.gif|Public Method}}[[#Feature(Double, Double, String, IEnumerable)|Feature]] | Double, Double, String, IEnumerable | | This method is the constructor for the Feature. | ==== Protected Constructors ==== ^ Name ^ Parameters ^ DeclaringType ^ Summary ^ ==== Public Methods ==== ^ Name ^ Parameters ^ DeclaringType ^ Summary ^ | {{wiki:PublicMethod.gif|Public Method}}[[#CloneDeep(IEnumerable)|CloneDeep]] | IEnumerable | | This method clones the entire structure, creating a totally separate copy. | | {{wiki:PublicMethod.gif|Public Method}}[[#CloneDeep(ReturningColumnsType)|CloneDeep]] | [[ThinkGeo.MapSuite.WindowsPhoneCore.ReturningColumnsType|ReturningColumnsType]] | | This method clones the entire structure, creating a totally separate copy. | | {{wiki:PublicMethod.gif|Public Method}}[[#Equals(Object)|Equals]] | Object | Object(overriden) | This method compares two InternalFeatures to see if they are equal. | | {{wiki:PublicMethod.gif|Public Method}}[[#GetBoundingBox()|GetBoundingBox]] | | | This method returns the bounding box of the Feature. | | {{wiki:PublicMethod.gif|Public Method}}[[#GetHashCode()|GetHashCode]] | | Object(overriden) | This method returns a semi-unique hash code for the Feature. | | {{wiki:PublicMethod.gif|Public Method}}[[#GetShape()|GetShape]] | | | This method returns the shape class that represents the Feature. | | {{wiki:PublicMethod.gif|Public Method}}[[#GetType()|GetType]] | | Object | | | {{wiki:PublicMethod.gif|Public Method}}[[#GetWellKnownBinary()|GetWellKnownBinary]] | | | This method returns the well-known binary that represents the Feature. | | {{wiki:PublicMethod.gif|Public Method}}[[#GetWellKnownText()|GetWellKnownText]] | | | This method returns the well-known text that represents the Feature. | | {{wiki:PublicMethod.gif|Public Method}}[[#GetWellKnownType()|GetWellKnownType]] | | | This method returns the well known type that represents the Feature. | | {{wiki:PublicMethod.gif|Public Method}}[[#IsValid()|IsValid]] | | | This method returns the results of some simple validity tests on the Feature. | | {{wiki:PublicMethod.gif|Public Method}}[[#ToString()|ToString]] | | Object(overriden) | | ==== Protected Methods ==== ^ Name ^ Parameters ^ DeclaringType ^ Summary ^ | {{wiki:ProtectedMethod.gif|Protected Method}}[[#Finalize()|Finalize]] | | Object | | | {{wiki:ProtectedMethod.gif|Protected Method}}[[#MemberwiseClone()|MemberwiseClone]] | | Object | | ==== Public Properties ==== ^ Name ^ Return ^ DeclaringType ^ Summary ^ | {{wiki:PublicProperty.gif|Public Property}}[[#ColumnValues|ColumnValues]] | Dictionary | | This property gets a dictionary of values to represent the column data related to this Feature. | | {{wiki:PublicProperty.gif|Public Property}}[[#Id|Id]] | String | | This property gets the Id for the Feature. | | {{wiki:PublicProperty.gif|Public Property}}[[#Tag|Tag]] | Object | | The tag of the Feature. | ==== Protected Properties ==== ^ Name ^ Return ^ DeclaringType ^ Summary ^ ==== Public Events ==== ^ Name ^ Event Arguments ^ DeclaringType ^ Summary ^ ===== Public Constructors ===== ==== Feature(BaseShape) ==== This method is the constructor for the Feature. === Overloads === This method allows you to pass in a BaseShape to construct your Feature. === Remarks === When you create the Feature, specify the ID of the BaseShape you want to use as a basis. === Parameters === ^ Name ^ Type ^ Description ^ | baseShape | [[ThinkGeo.MapSuite.WindowsPhoneCore.BaseShape|BaseShape]] | This parameter represents the base shape you wish to use as the basis of the new Feature. | [[#Public Constructors|Go Back]] ==== Feature(Byte[]) ==== This method is the constructor for the Feature. === Overloads === This overload allows you to create a feature using well-known binary. === Remarks === This overload allows you to create a feature using well-known binary. The Id for this Feature will be a random GUID. === Parameters === ^ Name ^ Type ^ Description ^ | wellKnownBinary | Byte[] | This parameter is the well-known binary used to create the feature. | [[#Public Constructors|Go Back]] ==== Feature(Byte[], String) ==== This method is the constructor for the Feature. === Overloads === This overload allows you to create a feature using well-known binary and specify the Id. === Remarks === This overload allows you to create a feature using well-known binary and specify the Id. === Parameters === ^ Name ^ Type ^ Description ^ | wellKnownBinary | Byte[] | This parameter is the well-known binary used to create the Feature. | | id | String | This parameter is the Id used for the Feature. | [[#Public Constructors|Go Back]] ==== Feature(String) ==== This method is the constructor for the Feature. === Overloads === This overload allows you to create a feature using well-known text. === Remarks === This overload allows you to create a feature using well-known text. The Id for the Feature will be a random GUID. === Parameters === ^ Name ^ Type ^ Description ^ | wellKnownText | String | This parameter is the well-known text used to create the Feature. | [[#Public Constructors|Go Back]] ==== Feature(String, String) ==== This method is the constructor for the Feature. === Overloads === This overload allows you to create the Feature from well-known text and specify the Id. === Remarks === This overload allows you to create the Feature from well-known text and specify the Id. === Parameters === ^ Name ^ Type ^ Description ^ | wellKnownText | String | This parameter is the well-known text used to create the Feature. | | id | String | This parameter is the Id used in the Feature. | [[#Public Constructors|Go Back]] ==== Feature(BaseShape, IDictionary) ==== This method is the constructor for the Feature. === Overloads === This overload allows you to create the Feature from a baseShape and specify the column values. === Remarks === This overload allows you to create the Feature from a baseShape and specify the column values. === Parameters === ^ Name ^ Type ^ Description ^ | baseShape | [[ThinkGeo.MapSuite.WindowsPhoneCore.BaseShape|BaseShape]] | This parameter is the baseShape used to create the Feature. | | columnValues | IDictionary | This parameter is the columnValues used in the Feature. | [[#Public Constructors|Go Back]] ==== Feature(String, String, IDictionary) ==== This method is the constructor for the Feature. === Overloads === This overload allows you to create the Feature from well-known text and feature ID, as well as specify the column values. === Remarks === This overload allows you to create the Feature from well-known text and feature ID, as well as specify the column values. === Parameters === ^ Name ^ Type ^ Description ^ | wellKnownText | String | This parameter is the well-known text used to create the Feature. | | id | String | This parameter is the Id used in the Feature. | | columnValues | IDictionary | This parameter is the columnValues used in the Feature. | [[#Public Constructors|Go Back]] ==== Feature(String, String, IEnumerable) ==== === Parameters === ^ Name ^ Type ^ Description ^ | wellKnownText | String | | | id | String | | | columnValues | IEnumerable | | [[#Public Constructors|Go Back]] ==== Feature(Byte[], String, IEnumerable) ==== This method is the constructor for the Feature. === Overloads === This overload allows you to create the Feature from well-known binary and feature ID, as well as specify the column values. === Remarks === This overload allows you to create the Feature from well-known binary and feature ID, as well as specify the column values. === Parameters === ^ Name ^ Type ^ Description ^ | wellKnownBinary | Byte[] | This parameter is the well-known binary used to create the Feature. | | id | String | This parameter is the Id used in the Feature. | | columnValues | IEnumerable | This parameter is the columnValues used in the Feature. | [[#Public Constructors|Go Back]] ==== Feature(Byte[], String, IDictionary) ==== This method is the constructor for the Feature. === Overloads === This overload allows you to create the Feature from well-known binary and feature ID, as well as specify the column values. === Remarks === This overload allows you to create the Feature from well-known binary and feature ID, as well as specify the column values. === Parameters === ^ Name ^ Type ^ Description ^ | wellKnownBinary | Byte[] | This parameter is the well-known binary used to create the Feature. | | id | String | This parameter is the Id used in the Feature. | | columnValues | IDictionary | This parameter is the columnValues used in the Feature. | [[#Public Constructors|Go Back]] ==== Feature(Vertex) ==== This method is the constructor for the Feature. === Overloads === This overload creates a point Feature for the vertex you pass in. === Remarks === You can use this constructor to create a point Feature easily. === Parameters === ^ Name ^ Type ^ Description ^ | vertex | [[ThinkGeo.MapSuite.WindowsPhoneCore.Vertex|Vertex]] | This parameter is the x & y decimalDegreesValue pair used to make the point. The Id for the Feature will be a random GUID. | [[#Public Constructors|Go Back]] ==== Feature(Vertex, String) ==== This method is the constructor for the Feature. === Overloads === This overload creates a point Feature for the vertex you pass in. === Remarks === You can use this constructor to create a point Feature and specify the Id. === Parameters === ^ Name ^ Type ^ Description ^ | vertex | [[ThinkGeo.MapSuite.WindowsPhoneCore.Vertex|Vertex]] | This parameter is the x & y decimalDegreesValue pair used to make the point. The Id for the Feature will be the value you pass in through the id parameter. | | id | String | This parameter is the Id used in the Feature. | [[#Public Constructors|Go Back]] ==== Feature(Vertex, String, IEnumerable) ==== This method is the constructor for the Feature. === Overloads === This overload creates a point Feature for the vertex you pass in. === Remarks === You can use this constructor to create a point Feature and specify the Id as well as the column values. === Parameters === ^ Name ^ Type ^ Description ^ | vertex | [[ThinkGeo.MapSuite.WindowsPhoneCore.Vertex|Vertex]] | This parameter is the x & y decimalDegreesValue pair used to make the point. The Id for the Feature will be the value you pass in through the id parameter. | | id | String | This parameter is the Id used in the Feature. | | columnValues | IEnumerable | This parameter is the columnValues used in the Feature. | [[#Public Constructors|Go Back]] ==== Feature(Double, Double) ==== This method is the constructor for the Feature. === Overloads === This overload creates a point feature for the vertex you pass in. === Remarks === You can use this constructor to create a point Feature based on x and y coordinates. === Parameters === ^ Name ^ Type ^ Description ^ | x | Double | This parameter is the x decimalDegreesValue pair used to make the point. The Id for the Feature will be a random GUID. | | y | Double | This parameter is the y decimalDegreesValue pair used to make the point. The Id for the Feature will be a random GUID. | [[#Public Constructors|Go Back]] ==== Feature(Double, Double, String) ==== This method is the constructor for the Feature. === Overloads === This overload creates a point feature for the vertex you pass in. === Remarks === You can use this constructor to create a point Feature based on x and y coordinates and specify the Id. === Parameters === ^ Name ^ Type ^ Description ^ | x | Double | This parameter is the x decimalDegreesValue pair used to make the point. | | y | Double | This parameter is the y decimalDegreesValue pair used to make the point. | | id | String | This parameter is the Id used in the Feature. | [[#Public Constructors|Go Back]] ==== Feature(Double, Double, String, IEnumerable) ==== This method is the constructor for the Feature. === Overloads === This overload creates a point feature for the vertex you pass in. === Remarks === You can use this constructor to create a point Feature based on x and y coordinates and specify both the Id and the column values. === Parameters === ^ Name ^ Type ^ Description ^ | x | Double | This parameter is the x decimalDegreesValue pair used to make the point. | | y | Double | This parameter is the y decimalDegreesValue pair used to make the point. | | id | String | This parameter is the Id used in the Feature. | | columnValues | IEnumerable | This parameter is the columnValues used in the Feature. Each string | [[#Public Constructors|Go Back]] ===== Protected Constructors ===== ===== Public Methods ===== ==== CloneDeep(IEnumerable) ==== This method clones the entire structure, creating a totally separate copy. === Remarks === This method will return a complete copy of the Feature. As this is a deep clone, there are no shared references between the source and the copy. === Return Value === ^ Return Type ^ Description ^ | [[ThinkGeo.MapSuite.WindowsPhoneCore.Feature|Feature]] | This method returns a clone of the entire structure, creating a totally separate copy. | === Parameters === ^ Name ^ Type ^ Description ^ | returningColumnNames | IEnumerable | This parameter represents the columnar data fields that you wish to include in the clone. | [[#Public Methods|Go Back]] ==== CloneDeep(ReturningColumnsType) ==== This method clones the entire structure, creating a totally separate copy. === Remarks === This method will return a complete copy of the Feature. As this is a deep clone, there are no shared references between the source and the copy. === Return Value === ^ Return Type ^ Description ^ | [[ThinkGeo.MapSuite.WindowsPhoneCore.Feature|Feature]] | This method returns a clone of the entire structure, creating a totally separate copy. | === Parameters === ^ Name ^ Type ^ Description ^ | returningColumnNamesType | [[ThinkGeo.MapSuite.WindowsPhoneCore.ReturningColumnsType|ReturningColumnsType]] | This parameter allows you to select a type from the ReturningColumnsType that you wish to return with. | [[#Public Methods|Go Back]] ==== Equals(Object) ==== This method compares two InternalFeatures to see if they are equal. === Overloads === This method compares two InternalFeatures to see if they are equal. === Return Value === ^ Return Type ^ Description ^ | Boolean | This method compares two InternalFeatures to see if they are equal. | === Parameters === ^ Name ^ Type ^ Description ^ | obj | Object | The first Feature. | [[#Public Methods|Go Back]] ==== GetBoundingBox() ==== This method returns the bounding box of the Feature. === Return Value === ^ Return Type ^ Description ^ | [[ThinkGeo.MapSuite.WindowsPhoneCore.RectangleShape|RectangleShape]] | This method returns the bounding box of the Feature. | === Parameters === ^ Name ^ Type ^ Description ^ [[#Public Methods|Go Back]] ==== GetHashCode() ==== This method returns a semi-unique hash code for the Feature. === Return Value === ^ Return Type ^ Description ^ | Int32 | This method returns a semi-unique hash code for the Feature. | === Parameters === ^ Name ^ Type ^ Description ^ [[#Public Methods|Go Back]] ==== GetShape() ==== This method returns the shape class that represents the Feature. === Remarks === This method allows you to get a shape class from a Feature. Because the Feature stores the geometry for itself in well-known binary, it may take some time to generate a shape class if the geometry is complex. === Return Value === ^ Return Type ^ Description ^ | [[ThinkGeo.MapSuite.WindowsPhoneCore.BaseShape|BaseShape]] | This method returns the shape class that represents the Feature. | === Parameters === ^ Name ^ Type ^ Description ^ [[#Public Methods|Go Back]] ==== GetType() ==== === Return Value === ^ Return Type ^ Description ^ | Type | | === Parameters === ^ Name ^ Type ^ Description ^ [[#Public Methods|Go Back]] ==== GetWellKnownBinary() ==== This method returns the well-known binary that represents the Feature. === Remarks === This will return a copy of the well-known binary that represents the Feature. === Return Value === ^ Return Type ^ Description ^ | Byte[] | This method returns the well-known binary that represents the Feature. | === Parameters === ^ Name ^ Type ^ Description ^ [[#Public Methods|Go Back]] ==== GetWellKnownText() ==== This method returns the well-known text that represents the Feature. === Remarks === This method allows you to get the well-known text from a Feature. Because the Feature stores the geometry for itself in well-known binary, it may take some time to generate the text if the geometry is complex. === Return Value === ^ Return Type ^ Description ^ | String | This method returns the well-known text that represents the Feature. | === Parameters === ^ Name ^ Type ^ Description ^ [[#Public Methods|Go Back]] ==== GetWellKnownType() ==== This method returns the well known type that represents the Feature. === Return Value === ^ Return Type ^ Description ^ | [[ThinkGeo.MapSuite.WindowsPhoneCore.WellKnownType|WellKnownType]] | This method returns the well known type that represents the Feature. | === Parameters === ^ Name ^ Type ^ Description ^ [[#Public Methods|Go Back]] ==== IsValid() ==== This method returns the results of some simple validity tests on the Feature. === Remarks === This method is used primarily to ensure that a Feature is valid. The reason is, since this is a structure, we cannot control the main constructor that allows you to create a Feature in an invalid state -- that state being one with no well-known binary at its core. If you use the constructure set provided, then the state should always be valid. This is a property you may want to check before you work with a Feature. === Return Value === ^ Return Type ^ Description ^ | Boolean | This method returns the results of some simple validity tests on the Feature. | === Parameters === ^ Name ^ Type ^ Description ^ [[#Public Methods|Go Back]] ==== ToString() ==== === Return Value === ^ Return Type ^ Description ^ | String | | === Parameters === ^ Name ^ Type ^ Description ^ [[#Public Methods|Go Back]] ===== Protected Methods ===== ==== Finalize() ==== === Return Value === ^ Return Type ^ Description ^ | Void | | === Parameters === ^ Name ^ Type ^ Description ^ [[#Protected Methods|Go Back]] ==== MemberwiseClone() ==== === Return Value === ^ Return Type ^ Description ^ | Object | | === Parameters === ^ Name ^ Type ^ Description ^ [[#Protected Methods|Go Back]] ===== Public Properties ===== ==== ColumnValues ==== This property gets a dictionary of values to represent the column data related to this Feature. === Remarks === This property holds the column data related to this Feature. You can find the values in the dictionary using the column name as the key. Most methods that query and return InternalFeatures allow you to specify which columns of data you want returned with the results. You can also freely add and modify the data, as it is simply an in-memory dictionary. Any values added, deleted or updated will have no effect unless the Feature is part of a transaction. === Return Value === ^ Return Type ^ | Dictionary | [[#Public Properties|Go Back]] ==== Id ==== This property gets the Id for the Feature. === Remarks === The Id is a string that represents the unique identifier for this Feature. If the feature is returned from a FeatureSource, the Id will be the unique field descriptor used by the FeatureSource. For Shape Files this may be an integer, but for spatial databases the Id may be a GUID. === Return Value === ^ Return Type ^ | String | [[#Public Properties|Go Back]] ==== Tag ==== The tag of the Feature. === Return Value === ^ Return Type ^ | Object | [[#Public Properties|Go Back]] ===== Protected Properties ===== ===== Public Events ===== __NOTOC__ [[Category:WindowsPhoneMapSuiteCore]] [[Category:ThinkGeo.MapSuite.WindowsPhoneCore]] [[Category:UpdateDocumentation]]