====== ThinkGeo.MapSuite.Shapes.Projection ====== ===== Inheritance Hierarchy ===== *System.Object ***ThinkGeo.MapSuite.Shapes.Projection** *[[ThinkGeo.MapSuite.Shapes.Proj4Projection]] *[[ThinkGeo.MapSuite.Layers.RotationProjection]] ===== Members Summary ===== ==== Public Constructors ==== ==== Protected Constructors ==== ** {{wiki:ProtectedMethod.gif|}} Projection() ** * //This method is the default protected constructor.// == Remarks == * //None// == Parameters ==
==== Public Methods ==== ** {{wiki:PublicMethod.gif|}} CloneDeep() ** * //N/A// == Remarks == * //The difference between deep clone and shallow clone is as follows: In shallow cloning, only the object is copied; the objects within it are not. By contrast, deep cloning copies the cloned object as well as all the objects within.// == Return Value == * Type:[[ThinkGeo.MapSuite.Shapes.Projection|Projection]] * Description:A cloned Projection. == Parameters ==
** {{wiki:PublicMethod.gif|}} Open() ** * //N/A// == 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 == * Type:Void * Description:None == Parameters ==
** {{wiki:PublicMethod.gif|}} ConvertToExternalProjection(GeoImage,RectangleShape) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Shapes.RasterProjectionResult|RasterProjectionResult]] * Description:N/A == Parameters == * //image// * Type:[[ThinkGeo.MapSuite.Drawing.GeoImage|GeoImage]] * Description:N/A * //imageExtent// * Type:[[ThinkGeo.MapSuite.Shapes.RectangleShape|RectangleShape]] * Description:N/A
** {{wiki:PublicMethod.gif|}} ConvertToExternalProjection(GeoImage,RectangleShape,RectangleShape) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Shapes.RasterProjectionResult|RasterProjectionResult]] * Description:N/A == Parameters == * //image// * Type:[[ThinkGeo.MapSuite.Drawing.GeoImage|GeoImage]] * Description:N/A * //imageExtent// * Type:[[ThinkGeo.MapSuite.Shapes.RectangleShape|RectangleShape]] * Description:N/A * //targetExtent// * Type:[[ThinkGeo.MapSuite.Shapes.RectangleShape|RectangleShape]] * Description:N/A
** {{wiki:PublicMethod.gif|}} Close() ** * //N/A// == 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 == * Type:Void * Description:None == Parameters ==
** {{wiki:PublicMethod.gif|}} ConvertToExternalProjection(Double,Double) ** * //N/A// == 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 == * Type:[[ThinkGeo.MapSuite.Shapes.Vertex|Vertex]] * Description:This method returns a projected vertex based on the coordinates passed in. == Parameters == * //x// * Type:Double * Description:This parameter is the X decimalDegreesValue of the point that will be projected. * //y// * Type:Double * Description:This parameter is the Y decimalDegreesValue of the point that will be projected.
** {{wiki:PublicMethod.gif|}} ConvertToExternalProjection(BaseShape) ** * //N/A// == 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 == * Type:[[ThinkGeo.MapSuite.Shapes.BaseShape|BaseShape]] * Description:This method returns a projected baseShape for the passed-in BaseShape. == Parameters == * //baseShape// * Type:[[ThinkGeo.MapSuite.Shapes.BaseShape|BaseShape]] * Description:This parameter is the baseShape (in decimalDegreesValue) to be projected.
** {{wiki:PublicMethod.gif|}} ConvertToExternalProjection(Feature) ** * //N/A// == 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 == * Type:[[ThinkGeo.MapSuite.Shapes.Feature|Feature]] * Description:This method returns a projected Feature for the passed-in Feature. == Parameters == * //feature// * Type:[[ThinkGeo.MapSuite.Shapes.Feature|Feature]] * Description:This parameter is the Feature that contains a BaseShape in decimalDegreesValue to be projected.
** {{wiki:PublicMethod.gif|}} ConvertToExternalProjection(RectangleShape) ** * //N/A// == Remarks == * //This method returns a projected rectangle based on the rectangle passed in.// == Return Value == * Type:[[ThinkGeo.MapSuite.Shapes.RectangleShape|RectangleShape]] * Description:This method returns a projected rectangle based on the rectangle passed in. == Parameters == * //rectangleShape// * Type:[[ThinkGeo.MapSuite.Shapes.RectangleShape|RectangleShape]] * Description:This parameter represents the rectangle you want to project.
** {{wiki:PublicMethod.gif|}} ConvertToExternalProjection(IEnumerable) ** * //N/A// == 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 == * Type:[[ThinkGeo.MapSuite.Shapes.Vertex[]|Vertex[]]] * Description:This method returns projected vertices based on the coordinates passed in. == Parameters == * //vertices// * Type:IEnumerable<[[ThinkGeo.MapSuite.Shapes.Vertex|Vertex]]> * Description:This parameter is the vertices that will be projected.
** {{wiki:PublicMethod.gif|}} ConvertToInternalProjection(Double,Double) ** * //N/A// == 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 == * Type:[[ThinkGeo.MapSuite.Shapes.Vertex|Vertex]] * Description:This method returns a de-projected vertex based on the coordinates passed in. == Parameters == * //x// * Type:Double * Description:This parameter is the X decimalDegreesValue of the point that will be de-projected. * //y// * Type:Double * Description:This parameter is the Y decimalDegreesValue of the point that will be de-projected.
** {{wiki:PublicMethod.gif|}} ConvertToInternalProjection(BaseShape) ** * //N/A// == 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 == * Type:[[ThinkGeo.MapSuite.Shapes.BaseShape|BaseShape]] * Description:This method returns a de-projected BaseShape for the passed in BaseShape. == Parameters == * //baseShape// * Type:[[ThinkGeo.MapSuite.Shapes.BaseShape|BaseShape]] * Description:This parameter is the baseShape (in decimalDegreesValue) to be de-projected.
** {{wiki:PublicMethod.gif|}} ConvertToInternalProjection(Feature) ** * //N/A// == 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 == * Type:[[ThinkGeo.MapSuite.Shapes.Feature|Feature]] * Description:This method returns a de-projected Feature for the passed-in Feature. == Parameters == * //feature// * Type:[[ThinkGeo.MapSuite.Shapes.Feature|Feature]] * Description:This parameter is the Feature that contains a BaseShape in decimalDegreesValue to be de-projected.
** {{wiki:PublicMethod.gif|}} ConvertToInternalProjection(IEnumerable) ** * //N/A// == Remarks == * //This method returns a de-projected vertex based on the coordinates passed in. The de-projection is important because, inside of the FeatureSource, you will in many cases go to and from various projections.// == Return Value == * Type:[[ThinkGeo.MapSuite.Shapes.Vertex[]|Vertex[]]] * Description:This method returns de-projected vertices based on the coordinates passed in. == Parameters == * //vertices// * Type:IEnumerable<[[ThinkGeo.MapSuite.Shapes.Vertex|Vertex]]> * Description:This parameter is the vertices that will be de-projected.
** {{wiki:PublicMethod.gif|}} ConvertToInternalProjection(RectangleShape) ** * //N/A// == Remarks == * //This method returns a de-projected rectangle based on the rectangle passed in.// == Return Value == * Type:[[ThinkGeo.MapSuite.Shapes.RectangleShape|RectangleShape]] * Description:This method returns a de-projected rectangle based on the rectangle passed in. == Parameters == * //rectangleShape// * Type:[[ThinkGeo.MapSuite.Shapes.RectangleShape|RectangleShape]] * Description:This parameter represents the rectangle you want to de-project.
** {{wiki:PublicMethod.gif|}} GetInternalGeographyUnit() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.GeographyUnit|GeographyUnit]] * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}} GetExternalGeographyUnit() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.GeographyUnit|GeographyUnit]] * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}} ToString() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:String * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}} Equals(Object) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Boolean * Description:N/A == Parameters == * //obj// * Type:Object * Description:N/A
** {{wiki:PublicMethod.gif|}} GetHashCode() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Int32 * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}} GetType() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Type * Description:N/A == Parameters ==
===== Protected Methods ===== ** {{wiki:ProtectedMethod.gif|}} CloneDeepCore() ** * //N/A// == Remarks == * //The difference between deep clone and shallow clone is as follows: In shallow cloning, only the object is copied; the objects within it are not. By contrast, deep cloning copies the cloned object as well as all the objects within.// == Return Value == * Type:[[ThinkGeo.MapSuite.Shapes.Projection|Projection]] * Description:A cloned GeoCanvas. == Parameters ==
** {{wiki:ProtectedMethod.gif|}} ConvertToExternalProjectionCore(GeoImage,RectangleShape) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Shapes.RasterProjectionResult|RasterProjectionResult]] * Description:N/A == Parameters == * //image// * Type:[[ThinkGeo.MapSuite.Drawing.GeoImage|GeoImage]] * Description:N/A * //imageExtent// * Type:[[ThinkGeo.MapSuite.Shapes.RectangleShape|RectangleShape]] * Description:N/A
** {{wiki:ProtectedMethod.gif|}} ConvertToExternalProjectionCore(GeoImage,RectangleShape,RectangleShape) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Shapes.RasterProjectionResult|RasterProjectionResult]] * Description:N/A == Parameters == * //image// * Type:[[ThinkGeo.MapSuite.Drawing.GeoImage|GeoImage]] * Description:N/A * //imageExtent// * Type:[[ThinkGeo.MapSuite.Shapes.RectangleShape|RectangleShape]] * Description:N/A * //targetExtent// * Type:[[ThinkGeo.MapSuite.Shapes.RectangleShape|RectangleShape]] * Description:N/A
** {{wiki:ProtectedMethod.gif|}} OpenCore() ** * //N/A// == 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 == * Type:Void * Description:None == Parameters ==
** {{wiki:ProtectedMethod.gif|}} CloseCore() ** * //N/A// == 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 == * Type:Void * Description:None == Parameters ==
** {{wiki:ProtectedMethod.gif|}} UpdateToExternalProjection(Feature) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //feature// * Type:[[ThinkGeo.MapSuite.Shapes.Feature|Feature]] * Description:N/A
** {{wiki:ProtectedMethod.gif|}} ConvertToExternalProjectionCore(Double[],Double[]) ** * //N/A// == 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 == * Type:[[ThinkGeo.MapSuite.Shapes.Vertex[]|Vertex[]]] * Description:This method returns projected vertices based on the coordinates passed in. == Parameters == * //xArray// * Type:Double[] * Description:N/A * //yArray// * Type:Double[] * Description:N/A
** {{wiki:ProtectedMethod.gif|}} ConvertToInternalProjectionCore(Double[],Double[]) ** * //N/A// == 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 == * Type:[[ThinkGeo.MapSuite.Shapes.Vertex[]|Vertex[]]] * Description:This method returns de-projected vertices based on the coordinates passed in. == Parameters == * //xArray// * Type:Double[] * Description:N/A * //yArray// * Type:Double[] * Description:N/A
** {{wiki:ProtectedMethod.gif|}} UpdateToInternalProjection(Feature) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //feature// * Type:[[ThinkGeo.MapSuite.Shapes.Feature|Feature]] * Description:N/A
** {{wiki:ProtectedMethod.gif|}} GetInternalGeographyUnitCore() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.GeographyUnit|GeographyUnit]] * Description:N/A == Parameters ==
** {{wiki:ProtectedMethod.gif|}} GetExternalGeographyUnitCore() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.GeographyUnit|GeographyUnit]] * Description:N/A == Parameters ==
** {{wiki:ProtectedMethod.gif|}} Finalize() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters ==
** {{wiki:ProtectedMethod.gif|}} MemberwiseClone() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Object * Description:N/A == Parameters ==
==== Public Properties ==== ** {{wiki:PublicProperty.gif|}} IsOpen ** * //N/A// == 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 == * Type:Boolean ** {{wiki:PublicProperty.gif|}} CanConvertRasterToExternalProjection ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Boolean ==== Protected Properties ==== ** {{wiki:ProtectedProperty.gif|}} CanReproject ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Boolean ==== Public Events ====