====== ThinkGeo.MapSuite.WindowsPhoneCore.Projection ====== {{section>upgrade_map_suite_to_10.0}} This class represents a projection that you wish to apply to a FeatureSource. === Remarks === This class is abstract and designed to be inherited to create your own projection. The derived projection classes are typically used on a FeatureSource or Layer. It is used to project coordinates from one projection to another and back again. It is important to note that you need to implement the projection both ways. ===== Inheritance Hierarchy ===== *System.Object **[[ThinkGeo.MapSuite.WindowsPhoneCore.Projection]] ===== Members Summary ===== ==== Public Constructors ==== ^ Name ^ Parameters ^ DeclaringType ^ Summary ^ ==== Protected Constructors ==== ^ Name ^ Parameters ^ DeclaringType ^ Summary ^ | {{wiki:ProtectedMethod.gif|Protected Method}}[[#Projection()|Projection]] | | | This method is the default protected constructor. | ==== Public Methods ==== ^ Name ^ Parameters ^ DeclaringType ^ Summary ^ | {{wiki:PublicMethod.gif|Public Method}}[[#Close()|Close]] | | | This method closes the projection and gets it ready for serialization if necessary. | | {{wiki:PublicMethod.gif|Public Method}}[[#ConvertToExternalProjection(BaseShape)|ConvertToExternalProjection]] | [[ThinkGeo.MapSuite.WindowsPhoneCore.BaseShape|BaseShape]] | | This method returns a projected BaseShape based on the baseShape passed in. | | {{wiki:PublicMethod.gif|Public Method}}[[#ConvertToExternalProjection(Feature)|ConvertToExternalProjection]] | [[ThinkGeo.MapSuite.WindowsPhoneCore.Feature|Feature]] | | This method returns a projected Feature based on the Feature passed in. | | {{wiki:PublicMethod.gif|Public Method}}[[#ConvertToExternalProjection(RectangleShape)|ConvertToExternalProjection]] | [[ThinkGeo.MapSuite.WindowsPhoneCore.RectangleShape|RectangleShape]] | | This method returns a projected rectangle based on the rectangle passed in. | | {{wiki:PublicMethod.gif|Public Method}}[[#ConvertToExternalProjection(Double, Double)|ConvertToExternalProjection]] | Double, Double | | This method returns a projected vertex based on the coordinates passed in. | | {{wiki:PublicMethod.gif|Public Method}}[[#ConvertToInternalProjection(RectangleShape)|ConvertToInternalProjection]] | [[ThinkGeo.MapSuite.WindowsPhoneCore.RectangleShape|RectangleShape]] | | This method returns a de-projected rectangle based on the rectangle passed in. | | {{wiki:PublicMethod.gif|Public Method}}[[#ConvertToInternalProjection(BaseShape)|ConvertToInternalProjection]] | [[ThinkGeo.MapSuite.WindowsPhoneCore.BaseShape|BaseShape]] | | This method returns a de-projected BaseShape based on the BaseShape passed in. | | {{wiki:PublicMethod.gif|Public Method}}[[#ConvertToInternalProjection(Double, Double)|ConvertToInternalProjection]] | Double, Double | | This method returns a de-projected vertex based on the coordinates passed in. | | {{wiki:PublicMethod.gif|Public Method}}[[#ConvertToInternalProjection(Feature)|ConvertToInternalProjection]] | [[ThinkGeo.MapSuite.WindowsPhoneCore.Feature|Feature]] | | This method returns a de-projected Feature based on the Feature passed in. | | {{wiki:PublicMethod.gif|Public Method}}[[#Equals(Object)|Equals]] | Object | Object | | | {{wiki:PublicMethod.gif|Public Method}}[[#GetExternalGeographyUnit()|GetExternalGeographyUnit]] | | | | | {{wiki:PublicMethod.gif|Public Method}}[[#GetHashCode()|GetHashCode]] | | Object | | | {{wiki:PublicMethod.gif|Public Method}}[[#GetInternalGeographyUnit()|GetInternalGeographyUnit]] | | | | | {{wiki:PublicMethod.gif|Public Method}}[[#GetType()|GetType]] | | Object | | | {{wiki:PublicMethod.gif|Public Method}}[[#Open()|Open]] | | | This method opens the projection and gets it ready to use. | | {{wiki:PublicMethod.gif|Public Method}}[[#ToString()|ToString]] | | Object | | ==== Protected Methods ==== ^ Name ^ Parameters ^ DeclaringType ^ Summary ^ | {{wiki:ProtectedMethod.gif|Protected Method}}[[#CloseCore()|CloseCore]] | | | This method closes the projection and gets it ready for serialization if necessary. | | {{wiki:ProtectedMethod.gif|Protected Method}}[[#ConvertToExternalProjectionCore(Double[], Double[])|ConvertToExternalProjectionCore]] | Double[], Double[] | | This method returns projected vertices based on the coordinates passed in. | | {{wiki:ProtectedMethod.gif|Protected Method}}[[#ConvertToInternalProjectionCore(Double[], Double[])|ConvertToInternalProjectionCore]] | Double[], Double[] | | This method returns de-projected vertices based on the coordinates passed in. | | {{wiki:ProtectedMethod.gif|Protected Method}}[[#Finalize()|Finalize]] | | Object | | | {{wiki:ProtectedMethod.gif|Protected Method}}[[#GetExternalGeographyUnitCore()|GetExternalGeographyUnitCore]] | | | | | {{wiki:ProtectedMethod.gif|Protected Method}}[[#GetInternalGeographyUnitCore()|GetInternalGeographyUnitCore]] | | | | | {{wiki:ProtectedMethod.gif|Protected Method}}[[#MemberwiseClone()|MemberwiseClone]] | | Object | | | {{wiki:ProtectedMethod.gif|Protected Method}}[[#OpenCore()|OpenCore]] | | | This method opens the projection and gets it ready to use. | ==== Public Properties ==== ^ Name ^ Return ^ DeclaringType ^ Summary ^ | {{wiki:PublicProperty.gif|Public Property}}[[#IsOpen|IsOpen]] | Boolean | | This property gets the state of the projection (whether it is opened or closed). | ==== Protected Properties ==== ^ Name ^ Return ^ DeclaringType ^ Summary ^ | {{wiki:ProtectedProperty.gif|Protected Property}}[[#CanReproject|CanReproject]] | Boolean | | This property indicates whether this projection should be used. | ==== Public Events ==== ^ Name ^ Event Arguments ^ DeclaringType ^ Summary ^ ===== Public Constructors ===== ===== Protected Constructors ===== ==== Projection() ==== This method is the default protected constructor. === Parameters === ^ Name ^ Type ^ Description ^ [[#Protected Constructors|Go Back]] ===== Public Methods ===== ==== Close() ==== This method closes the projection and gets it ready for serialization if necessary. === Remarks === This method closes the projection and gets it ready for serialization if necessary. 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 Type ^ Description ^ | Void | | === Parameters === ^ Name ^ Type ^ Description ^ [[#Public Methods|Go Back]] ==== ConvertToExternalProjection(BaseShape) ==== This method returns a projected BaseShape based on the baseShape passed in. === Remarks === This method returns a projected baseShape based on the BaseShape passed in. 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 Type ^ Description ^ | [[ThinkGeo.MapSuite.WindowsPhoneCore.BaseShape|BaseShape]] | This method returns a projected baseShape for the passed-in BaseShape. | === Parameters === ^ Name ^ Type ^ Description ^ | baseShape | [[ThinkGeo.MapSuite.WindowsPhoneCore.BaseShape|BaseShape]] | This parameter is the baseShape (in decimalDegreesValue) to be projected. | [[#Public Methods|Go Back]] ==== ConvertToExternalProjection(Feature) ==== This method returns a projected Feature based on the Feature passed in. === Remarks === This method returns a projected Feature based on the Feature passed in. 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 Type ^ Description ^ | [[ThinkGeo.MapSuite.WindowsPhoneCore.Feature|Feature]] | This method returns a projected Feature for the passed-in Feature. | === Parameters === ^ Name ^ Type ^ Description ^ | feature | [[ThinkGeo.MapSuite.WindowsPhoneCore.Feature|Feature]] | This parameter is the Feature that contains a BaseShape in decimalDegreesValue to be projected. | [[#Public Methods|Go Back]] ==== ConvertToExternalProjection(RectangleShape) ==== This method returns a projected rectangle based on the rectangle passed in. === Overloads === This overload takes in a rectangle to project. === Remarks === This method returns a projected rectangle based on the rectangle passed in. === Return Value === ^ Return Type ^ Description ^ | [[ThinkGeo.MapSuite.WindowsPhoneCore.RectangleShape|RectangleShape]] | This method returns a projected rectangle based on the rectangle passed in. | === Parameters === ^ Name ^ Type ^ Description ^ | rectangleShape | [[ThinkGeo.MapSuite.WindowsPhoneCore.RectangleShape|RectangleShape]] | This parameter represents the rectangle you want to project. | [[#Public Methods|Go Back]] ==== ConvertToExternalProjection(Double, Double) ==== This method returns a projected vertex based on the coordinates passed in. === Overloads === This overload projects a set of coordinates passed in as an X & Y decimalDegreesValue. === Remarks === This method returns a projected vertex based on the coordinates passed in. 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 Type ^ Description ^ | [[ThinkGeo.MapSuite.WindowsPhoneCore.Vertex|Vertex]] | This method returns a projected vertex based on the coordinates passed in. | === Parameters === ^ Name ^ Type ^ Description ^ | x | Double | This parameter is the X decimalDegreesValue of the point that will be projected. | | y | Double | This parameter is the Y decimalDegreesValue of the point that will be projected. | [[#Public Methods|Go Back]] ==== ConvertToInternalProjection(RectangleShape) ==== This method returns a de-projected rectangle based on the rectangle passed in. === Overloads === This overload takes in a rectangle to de-project. === Remarks === This method returns a de-projected rectangle based on the rectangle passed in. === Return Value === ^ Return Type ^ Description ^ | [[ThinkGeo.MapSuite.WindowsPhoneCore.RectangleShape|RectangleShape]] | This method returns a de-projected rectangle based on the rectangle passed in. | === Parameters === ^ Name ^ Type ^ Description ^ | rectangleShape | [[ThinkGeo.MapSuite.WindowsPhoneCore.RectangleShape|RectangleShape]] | This parameter represents the rectangle you want to de-project. | [[#Public Methods|Go Back]] ==== ConvertToInternalProjection(BaseShape) ==== This method returns a de-projected BaseShape based on the BaseShape passed in. === Remarks === This method returns a de-projected BaseShape based on the BaseShape passed in. 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 Type ^ Description ^ | [[ThinkGeo.MapSuite.WindowsPhoneCore.BaseShape|BaseShape]] | This method returns a de-projected BaseShape for the passed in BaseShape. | === Parameters === ^ Name ^ Type ^ Description ^ | baseShape | [[ThinkGeo.MapSuite.WindowsPhoneCore.BaseShape|BaseShape]] | This parameter is the baseShape (in decimalDegreesValue) to be de-projected. | [[#Public Methods|Go Back]] ==== ConvertToInternalProjection(Double, Double) ==== This method returns a de-projected vertex based on the coordinates passed in. === Overloads === This overload de-projects a set of coordinates passed in as an X & Y decimalDegreesValue. === Remarks === This method returns a de-projected vertex based on the coordinates passed in. 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 Type ^ Description ^ | [[ThinkGeo.MapSuite.WindowsPhoneCore.Vertex|Vertex]] | This method returns a de-projected vertex based on the coordinates passed in. | === Parameters === ^ Name ^ Type ^ Description ^ | x | Double | This parameter is the X decimalDegreesValue of the point that will be de-projected. | | y | Double | This parameter is the Y decimalDegreesValue of the point that will be de-projected. | [[#Public Methods|Go Back]] ==== ConvertToInternalProjection(Feature) ==== This method returns a de-projected Feature based on the Feature passed in. === Remarks === This method returns a de-projected Feature based on the Feature passed in. 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 Type ^ Description ^ | [[ThinkGeo.MapSuite.WindowsPhoneCore.Feature|Feature]] | This method returns a de-projected Feature for the passed-in Feature. | === Parameters === ^ Name ^ Type ^ Description ^ | feature | [[ThinkGeo.MapSuite.WindowsPhoneCore.Feature|Feature]] | This parameter is the Feature that contains a BaseShape in decimalDegreesValue to be de-projected. | [[#Public Methods|Go Back]] ==== Equals(Object) ==== === Return Value === ^ Return Type ^ Description ^ | Boolean | | === Parameters === ^ Name ^ Type ^ Description ^ | obj | Object | | [[#Public Methods|Go Back]] ==== GetExternalGeographyUnit() ==== === Return Value === ^ Return Type ^ Description ^ | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeographyUnit|GeographyUnit]] | | === Parameters === ^ Name ^ Type ^ Description ^ [[#Public Methods|Go Back]] ==== GetHashCode() ==== === Return Value === ^ Return Type ^ Description ^ | Int32 | | === Parameters === ^ Name ^ Type ^ Description ^ [[#Public Methods|Go Back]] ==== GetInternalGeographyUnit() ==== === Return Value === ^ Return Type ^ Description ^ | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeographyUnit|GeographyUnit]] | | === Parameters === ^ Name ^ Type ^ Description ^ [[#Public Methods|Go Back]] ==== GetType() ==== === Return Value === ^ Return Type ^ Description ^ | Type | | === Parameters === ^ Name ^ Type ^ Description ^ [[#Public Methods|Go Back]] ==== Open() ==== This method opens the projection and gets it ready to use. === Remarks === This method opens the projection and gets it ready to use. 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 Type ^ Description ^ | Void | | === 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 ===== ==== CloseCore() ==== This method closes the projection and gets it ready for serialization if necessary. === Remarks === As this is the core version of the Close method, it is intended to be overridden in an inherited version of the class. When overriding, you will be responsible freeing any state you have maintained and getting the class ready for serialization if necessary. Note that the object may be opened again, so you want to make sure you can open and close the object multiple times without any ill effects. === Return Value === ^ Return Type ^ Description ^ | Void | | === Parameters === ^ Name ^ Type ^ Description ^ [[#Protected Methods|Go Back]] ==== ConvertToExternalProjectionCore(Double[], Double[]) ==== This method returns projected vertices based on the coordinates passed in. === Remarks === This method returns a projected vertex based on the coordinates passed in. You will need to override this method for the Projection class. Typically, you can call the projection utility library that has interfaces for dozens of different types of projections. === Return Value === ^ Return Type ^ Description ^ | [[ThinkGeo.MapSuite.WindowsPhoneCore.Vertex|Vertex]][] | This method returns projected vertices based on the coordinates passed in. | === Parameters === ^ Name ^ Type ^ Description ^ | x | Double[] | This parameter is the X values of the points that will be projected. | | y | Double[] | This parameter is the Y values of the points that will be projected. | [[#Protected Methods|Go Back]] ==== ConvertToInternalProjectionCore(Double[], Double[]) ==== This method returns de-projected vertices based on the coordinates passed in. === Remarks === This method returns a de-projected vertex based on the coordinates passed in. You will need to override this method for the Projection class. Typically, you can call the projection utility library that has interfaces for dozens of different types of projections. The de-projection is important because, inside of the FeatureSource, you will in many cases go to and from various projections. === Return Value === ^ Return Type ^ Description ^ | [[ThinkGeo.MapSuite.WindowsPhoneCore.Vertex|Vertex]][] | This method returns de-projected vertices based on the coordinates passed in. | === Parameters === ^ Name ^ Type ^ Description ^ | x | Double[] | This parameter is the X values of the points that will be de-projected. | | y | Double[] | This parameter is the Y values of the points that will be de-projected. | [[#Protected Methods|Go Back]] ==== Finalize() ==== === Return Value === ^ Return Type ^ Description ^ | Void | | === Parameters === ^ Name ^ Type ^ Description ^ [[#Protected Methods|Go Back]] ==== GetExternalGeographyUnitCore() ==== === Return Value === ^ Return Type ^ Description ^ | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeographyUnit|GeographyUnit]] | | === Parameters === ^ Name ^ Type ^ Description ^ [[#Protected Methods|Go Back]] ==== GetInternalGeographyUnitCore() ==== === Return Value === ^ Return Type ^ Description ^ | [[ThinkGeo.MapSuite.WindowsPhoneCore.GeographyUnit|GeographyUnit]] | | === Parameters === ^ Name ^ Type ^ Description ^ [[#Protected Methods|Go Back]] ==== MemberwiseClone() ==== === Return Value === ^ Return Type ^ Description ^ | Object | | === Parameters === ^ Name ^ Type ^ Description ^ [[#Protected Methods|Go Back]] ==== OpenCore() ==== This method opens the projection and gets it ready to use. === Remarks === As this is the core version of the Open method, it is intended to be overridden in an inherited version of the class. When overriding, you will be responsible for getting the projection classes' state ready for doing projections. === Return Value === ^ Return Type ^ Description ^ | Void | | === Parameters === ^ Name ^ Type ^ Description ^ [[#Protected Methods|Go Back]] ===== Public Properties ===== ==== IsOpen ==== This property gets the state of the projection (whether it is opened or closed). === Remarks === This method will reflect whether the projection is opened or closed. It is set in the concrete methods Open and Close, so if you inherit from this class and override OpenCore or CloseCore, you will not need to be concerned with setting this property. === Return Value === ^ Return Type ^ | Boolean | [[#Public Properties|Go Back]] ===== Protected Properties ===== ==== CanReproject ==== This property indicates whether this projection should be used. === Return Value === ^ Return Type ^ | Boolean | [[#Protected Properties|Go Back]] ===== Public Events ===== __NOTOC__ [[Category:WindowsPhoneMapSuiteCore]] [[Category:ThinkGeo.MapSuite.WindowsPhoneCore]] [[Category:UpdateDocumentation]]