User Tools

Site Tools


thinkgeo.mapsuite.core.managedproj4projection

This is an old revision of the document!


Table of Contents

ThinkGeo.MapSuite.Core.ManagedProj4Projection

<!– Class –> This projection class uses the Proj4 engine to project data from one Srid to another.

Remarks

This projection class uses the Proj4 engine to project data from one Srid to another. Proj4 is a very popular projection library the support thousands for projections. It uses a special text format to feed in parameters about the to and from projection. Though it uses its own format many organizations have recognized it and provide their projection definition in this format. Within this class we support the latest EPSG (European Petroleum Survey Group) SRID (Spatial Reference System Identifiers) list. You can find more information about these on the web. The SRID list is very popular and we include a text version with in our install.

Note that one thing that confuses people is that when they go to or from latitude and longitude they do not know what SRID to use. The proper SRID is 4326 for WGS84 pair coordinates in degrees with Greenwich as the central meridian.

Inheritance Hierarchy

Members Summary

Public Constructors

Name Parameters DeclaringType Summary
Public MethodManagedProj4Projection This is the default constructor for this class.
Public MethodManagedProj4Projection String, String This is a constructor for the class.
Public MethodManagedProj4Projection Int32, Int32
Public MethodManagedProj4Projection String, Int32
Public MethodManagedProj4Projection Int32, String

Protected Constructors

Name Parameters DeclaringType Summary

Public Methods

Name Parameters DeclaringType Summary
Public MethodCloneDeep Projection Create a copy of Projection using the deep clone process.
Public MethodClose Projection This method closes the projection and gets it ready for serialization if necessary.
Public MethodStatic MemberConvertEpsgToPrj Int32 This method is a static API to get a Prj string by Epsg number
Public MethodStatic MemberConvertPrjToProj4 String
Public MethodStatic MemberConvertProj4ToPrj String
Public MethodConvertToExternalProjection Feature Projection This method returns a projected Feature based on the Feature passed in.
Public MethodConvertToExternalProjection BaseShape Projection This method returns a projected BaseShape based on the baseShape passed in.
Public MethodConvertToExternalProjection Double, Double Projection This method returns a projected vertex based on the coordinates passed in.
Public MethodConvertToExternalProjection GeoImage, RectangleShape Projection
Public MethodConvertToExternalProjection RectangleShape Projection This method returns a projected rectangle based on the rectangle passed in.
Public MethodConvertToExternalProjection GeoImage, RectangleShape, RectangleShape Projection
Public MethodConvertToExternalProjection IEnumerable<Vertex> Projection This method returns projected vertices based on the coordinates passed in.
Public MethodConvertToInternalProjection BaseShape Projection This method returns a de-projected BaseShape based on the BaseShape passed in.
Public MethodConvertToInternalProjection Feature Projection This method returns a de-projected Feature based on the Feature passed in.
Public MethodConvertToInternalProjection IEnumerable<Vertex> Projection This method returns de-projected vertices based on the coordinates passed in.
Public MethodConvertToInternalProjection RectangleShape Projection This method returns a de-projected rectangle based on the rectangle passed in.
Public MethodConvertToInternalProjection Double, Double Projection This method returns a de-projected vertex based on the coordinates passed in.
Public MethodEquals Object Object
Public MethodStatic MemberGetBingMapParametersString This method is a static API to get a projection used by BingMaps.
Public MethodStatic MemberGetDecimalDegreesParametersString
Public MethodStatic MemberGetEpsgParametersString Int32 This method is a static API to get a projection text from EPSG(European Petroleum Survey Group).
Public MethodStatic MemberGetEsriParametersString Int32 This method is a static API to get a projection text from ERSI.
Public MethodGetExternalGeographyUnit Projection
Public MethodStatic MemberGetGeographyUnitFromPrj String
Public MethodStatic MemberGetGeographyUnitFromProj4 String
Public MethodStatic MemberGetGoogleMapParametersString This method is a static API to get a projection used by GoogleMap.
Public MethodGetHashCode Object
Public MethodGetInternalGeographyUnit Projection
Public MethodStatic MemberGetLatLongParametersString
Public MethodStatic MemberGetLocalUtmZoneNumber BaseShape, String
Public MethodStatic MemberGetLocalUtmZoneNumber Feature, Int32
Public MethodStatic MemberGetLocalUtmZoneNumber Feature, String
Public MethodStatic MemberGetLocalUtmZoneNumber Double, Double
Public MethodStatic MemberGetLocalUtmZoneNumber BaseShape, Int32
Public MethodStatic MemberGetLocalUtmZoneParametersString BaseShape, Int32
Public MethodStatic MemberGetLocalUtmZoneParametersString Feature, Int32
Public MethodStatic MemberGetLocalUtmZoneParametersString Feature, String
Public MethodStatic MemberGetLocalUtmZoneParametersString Double, Double
Public MethodStatic MemberGetLocalUtmZoneParametersString BaseShape, String
Public MethodStatic MemberGetSphericalMercatorParametersString This method is a static API to get a projection of SphericalMercator.
Public MethodGetType Object
Public MethodStatic MemberGetWgs84ParametersString This method is a static API to get a projection text from WGS84.
Public MethodOpen Projection This method opens the projection and gets it ready to use.
Public MethodToString Object

Protected Methods

Name Parameters DeclaringType Summary
Protected MethodCloneDeepCore Projection Create a copy of GeoCanvas using the deep clone process. The default implementation uses serialization.
Protected MethodCloseCore Projection(overriden) This method closes the projection and gets it ready to serialization if necessary.
Protected MethodConvertToExternalProjectionCore GeoImage, RectangleShape, RectangleShape Projection(overriden)
Protected MethodConvertToExternalProjectionCore GeoImage, RectangleShape Projection(overriden)
Protected MethodConvertToExternalProjectionCore Double[], Double[] Projection(overriden) This method returns a projected vertex based on the coordinates passed in.
Protected MethodConvertToInternalProjectionCore Double[], Double[] Projection(overriden) This method returns a de-projected vertex based on the coordinates passed in.
Protected MethodFinalize Object
Protected MethodGetExternalGeographyUnitCore Projection(overriden)
Protected MethodGetInternalGeographyUnitCore Projection(overriden)
Protected MethodMemberwiseClone Object
Protected MethodOpenCore Projection(overriden) This method open the projection and gets it ready to use.

Public Properties

Name Return DeclaringType Summary
Public PropertyCanConvertRasterToExternalProjection Boolean Projection
Public PropertyDecimalDegreeBoundary RectangleShape This property specifies the Boundary for decimaldegree values.
Public PropertyExternalProjectionParametersString String Gets or sets the Proj4 text parameter for the to projection. This parameter typically look like “+proj=utm +zone=33 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs”.
Public PropertyInternalProjectionParametersString String Gets or sets the Proj4 text parameter for the from projection. This parameter typically look like “+Proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs”.
Public PropertyIsOpen Boolean Projection This property gets the state of the projection (whether it is opened or closed).

Protected Properties

Name Return DeclaringType Summary
Protected PropertyCanReproject Boolean Projection(overriden) This property indicates whether this projection should be used.

Public Events

Name Event Arguments DeclaringType Summary

Public Constructors

ManagedProj4Projection()

This is the default constructor for this class.

Remarks

This conctructor pass nothing. After this cconstructor , you should set the InternalProjectionParametersString property and ExternalProjectionParametersString property before open to use.

Parameters

Name Type Description

Go Back

ManagedProj4Projection(String, String)

This is a constructor for the class.

Overloads

This constructor allows you to pass in Proj4 text parameters for the to and from projection. The parameters typically look like “+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs”

Remarks

This constructor allows you to pass in Proj4 text parameters for the to and from projection. The parameters typically look like “+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs” You should use this constructor when you know the parameters. If you know the SRID directly you can use the other constructor that takes the SRID.

Parameters

Name Type Description
internalProjectionParameters String<!– System.String –>
externalProjectionParameters String<!– System.String –>

Go Back

ManagedProj4Projection(Int32, Int32)

Parameters

Name Type Description
internalEpsgSrid Int32<!– System.Int32 –>
externalEpsgSrid Int32<!– System.Int32 –>

Go Back

ManagedProj4Projection(String, Int32)

Parameters

Name Type Description
internalProjectionParameters String<!– System.String –>
externalEpsgSrid Int32<!– System.Int32 –>

Go Back

ManagedProj4Projection(Int32, String)

Parameters

Name Type Description
internalEpsgSrid Int32<!– System.Int32 –>
externalProjectionParameters String<!– System.String –>

Go Back

Protected Constructors

Public Methods

CloneDeep()

Create a copy of Projection using the deep clone process.

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

Return Type Description
Projection<!– ThinkGeo.MapSuite.Core.Projection –> A cloned Projection.

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Projection –> Go Back

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<!– System.Void –>

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Projection –> Go Back

ConvertEpsgToPrj(Int32)

<!– static –> This method is a static API to get a Prj string by Epsg number

Return Value

Return Type Description
String<!– System.String –>

Parameters

Name Type Description
srid Int32<!– System.Int32 –> Epsg number that reprents this projection

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

ConvertPrjToProj4(String)

<!– static –>

Return Value

Return Type Description
String<!– System.String –>

Parameters

Name Type Description
prjString String<!– System.String –>

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

ConvertProj4ToPrj(String)

<!– static –>

Return Value

Return Type Description
String<!– System.String –>

Parameters

Name Type Description
proj4String String<!– System.String –>

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> 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
Feature<!– ThinkGeo.MapSuite.Core.Feature –> This method returns a projected Feature for the passed-in Feature.

Parameters

Name Type Description
feature Feature<!– ThinkGeo.MapSuite.Core.Feature –> This parameter is the Feature that contains a BaseShape in decimalDegreesValue to be projected.

<!– ThinkGeo.MapSuite.Core.Projection –> 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
BaseShape<!– ThinkGeo.MapSuite.Core.BaseShape –> This method returns a projected baseShape for the passed-in BaseShape.

Parameters

Name Type Description
baseShape BaseShape<!– ThinkGeo.MapSuite.Core.BaseShape –> This parameter is the baseShape (in decimalDegreesValue) to be projected.

<!– ThinkGeo.MapSuite.Core.Projection –> Go Back

ConvertToExternalProjection(Double, Double)

This method returns a projected vertex based on the coordinates passed in.

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
Vertex<!– ThinkGeo.MapSuite.Core.Vertex –> This method returns a projected vertex based on the coordinates passed in.

Parameters

Name Type Description
x Double<!– System.Double –> This parameter is the X decimalDegreesValue of the point that will be projected.
y Double<!– System.Double –> This parameter is the Y decimalDegreesValue of the point that will be projected.

<!– ThinkGeo.MapSuite.Core.Projection –> Go Back

ConvertToExternalProjection(GeoImage, RectangleShape)

Return Value

Return Type Description
RasterProjectionResult<!– ThinkGeo.MapSuite.Core.RasterProjectionResult –>

Parameters

Name Type Description
image GeoImage<!– ThinkGeo.MapSuite.Core.GeoImage –>
imageExtent RectangleShape<!– ThinkGeo.MapSuite.Core.RectangleShape –>

<!– ThinkGeo.MapSuite.Core.Projection –> Go Back

ConvertToExternalProjection(RectangleShape)

This method returns a projected rectangle based on the rectangle passed in.

Remarks

This method returns a projected rectangle based on the rectangle passed in.

Return Value

Return Type Description
RectangleShape<!– ThinkGeo.MapSuite.Core.RectangleShape –> This method returns a projected rectangle based on the rectangle passed in.

Parameters

Name Type Description
rectangleShape RectangleShape<!– ThinkGeo.MapSuite.Core.RectangleShape –> This parameter represents the rectangle you want to project.

<!– ThinkGeo.MapSuite.Core.Projection –> Go Back

ConvertToExternalProjection(GeoImage, RectangleShape, RectangleShape)

Return Value

Return Type Description
RasterProjectionResult<!– ThinkGeo.MapSuite.Core.RasterProjectionResult –>

Parameters

Name Type Description
image GeoImage<!– ThinkGeo.MapSuite.Core.GeoImage –>
imageExtent RectangleShape<!– ThinkGeo.MapSuite.Core.RectangleShape –>
targetExtent RectangleShape<!– ThinkGeo.MapSuite.Core.RectangleShape –>

<!– ThinkGeo.MapSuite.Core.Projection –> Go Back

ConvertToExternalProjection(IEnumerable<Vertex>)

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
Vertex[]<!– ThinkGeo.MapSuite.Core.Vertexthinkgeo.mapsuite.core.managedproj4projection –> This method returns projected vertices based on the coordinates passed in.

Parameters

Name Type Description
vertices IEnumerable<Vertex><!– System.Collections.Generic.IEnumerable{ThinkGeo.MapSuite.Core.Vertex} –> This parameter is the vertices that will be projected.

<!– ThinkGeo.MapSuite.Core.Projection –> 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
BaseShape<!– ThinkGeo.MapSuite.Core.BaseShape –> This method returns a de-projected BaseShape for the passed in BaseShape.

Parameters

Name Type Description
baseShape BaseShape<!– ThinkGeo.MapSuite.Core.BaseShape –> This parameter is the baseShape (in decimalDegreesValue) to be de-projected.

<!– ThinkGeo.MapSuite.Core.Projection –> 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
Feature<!– ThinkGeo.MapSuite.Core.Feature –> This method returns a de-projected Feature for the passed-in Feature.

Parameters

Name Type Description
feature Feature<!– ThinkGeo.MapSuite.Core.Feature –> This parameter is the Feature that contains a BaseShape in decimalDegreesValue to be de-projected.

<!– ThinkGeo.MapSuite.Core.Projection –> Go Back

ConvertToInternalProjection(IEnumerable<Vertex>)

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. 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
Vertex[]<!– ThinkGeo.MapSuite.Core.Vertexthinkgeo.mapsuite.core.managedproj4projection –> This method returns de-projected vertices based on the coordinates passed in.

Parameters

Name Type Description
vertices IEnumerable<Vertex><!– System.Collections.Generic.IEnumerable{ThinkGeo.MapSuite.Core.Vertex} –> This parameter is the vertices that will be de-projected.

<!– ThinkGeo.MapSuite.Core.Projection –> Go Back

ConvertToInternalProjection(RectangleShape)

This method returns a de-projected rectangle based on the rectangle passed in.

Remarks

This method returns a de-projected rectangle based on the rectangle passed in.

Return Value

Return Type Description
RectangleShape<!– ThinkGeo.MapSuite.Core.RectangleShape –> This method returns a de-projected rectangle based on the rectangle passed in.

Parameters

Name Type Description
rectangleShape RectangleShape<!– ThinkGeo.MapSuite.Core.RectangleShape –> This parameter represents the rectangle you want to de-project.

<!– ThinkGeo.MapSuite.Core.Projection –> Go Back

ConvertToInternalProjection(Double, Double)

This method returns a de-projected vertex based on the coordinates passed in.

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
Vertex<!– ThinkGeo.MapSuite.Core.Vertex –> This method returns a de-projected vertex based on the coordinates passed in.

Parameters

Name Type Description
x Double<!– System.Double –> This parameter is the X decimalDegreesValue of the point that will be de-projected.
y Double<!– System.Double –> This parameter is the Y decimalDegreesValue of the point that will be de-projected.

<!– ThinkGeo.MapSuite.Core.Projection –> Go Back

Equals(Object)

Return Value

Return Type Description
Boolean<!– System.Boolean –>

Parameters

Name Type Description
obj Object<!– System.Object –>

<!– System.Object –> Go Back

GetBingMapParametersString()

<!– static –> This method is a static API to get a projection used by BingMaps.

Return Value

Return Type Description
String<!– System.String –> A text for a projection used by BingMaps , it should like this “+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs”

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

GetDecimalDegreesParametersString()

<!– static –>

Return Value

Return Type Description
String<!– System.String –>

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

GetEpsgParametersString(Int32)

<!– static –> This method is a static API to get a projection text from EPSG(European Petroleum Survey Group).

Remarks

More information about it can reference to EPSG.rtf in the documentation.

Return Value

Return Type Description
String<!– System.String –> The project text corresponding to the srid.

Parameters

Name Type Description
srid Int32<!– System.Int32 –> The target Srid infromation to get the projection text from.

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

GetEsriParametersString(Int32)

<!– static –> This method is a static API to get a projection text from ERSI.

Remarks

More information about it can reference to ERSI.rtf in the documentation.

Return Value

Return Type Description
String<!– System.String –> The project text corresponding to the srid.

Parameters

Name Type Description
srid Int32<!– System.Int32 –> The target Srid infromation to get the projection text from.

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

GetExternalGeographyUnit()

Return Value

Return Type Description
GeographyUnit<!– ThinkGeo.MapSuite.Core.GeographyUnit –>

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Projection –> Go Back

GetGeographyUnitFromPrj(String)

<!– static –>

Return Value

Return Type Description
GeographyUnit<!– ThinkGeo.MapSuite.Core.GeographyUnit –>

Parameters

Name Type Description
prjString String<!– System.String –>

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

GetGeographyUnitFromProj4(String)

<!– static –>

Return Value

Return Type Description
GeographyUnit<!– ThinkGeo.MapSuite.Core.GeographyUnit –>

Parameters

Name Type Description
proj4String String<!– System.String –>

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

GetGoogleMapParametersString()

<!– static –> This method is a static API to get a projection used by GoogleMap.

Return Value

Return Type Description
String<!– System.String –> A text for a projection used by GoogleMap , it should like this “+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs”

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

GetHashCode()

Return Value

Return Type Description
Int32<!– System.Int32 –>

Parameters

Name Type Description

<!– System.Object –> Go Back

GetInternalGeographyUnit()

Return Value

Return Type Description
GeographyUnit<!– ThinkGeo.MapSuite.Core.GeographyUnit –>

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Projection –> Go Back

GetLatLongParametersString()

<!– static –>

Return Value

Return Type Description
String<!– System.String –>

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

GetLocalUtmZoneNumber(BaseShape, String)

<!– static –>

Return Value

Return Type Description
Int32<!– System.Int32 –>

Parameters

Name Type Description
shape BaseShape<!– ThinkGeo.MapSuite.Core.BaseShape –>
proj4ProjectionParameters String<!– System.String –>

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

GetLocalUtmZoneNumber(Feature, Int32)

<!– static –>

Return Value

Return Type Description
Int32<!– System.Int32 –>

Parameters

Name Type Description
feature Feature<!– ThinkGeo.MapSuite.Core.Feature –>
srid Int32<!– System.Int32 –>

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

GetLocalUtmZoneNumber(Feature, String)

<!– static –>

Return Value

Return Type Description
Int32<!– System.Int32 –>

Parameters

Name Type Description
feature Feature<!– ThinkGeo.MapSuite.Core.Feature –>
proj4ProjectionParameters String<!– System.String –>

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

GetLocalUtmZoneNumber(Double, Double)

<!– static –>

Return Value

Return Type Description
Int32<!– System.Int32 –>

Parameters

Name Type Description
latitude Double<!– System.Double –>
longitude Double<!– System.Double –>

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

GetLocalUtmZoneNumber(BaseShape, Int32)

<!– static –>

Return Value

Return Type Description
Int32<!– System.Int32 –>

Parameters

Name Type Description
shape BaseShape<!– ThinkGeo.MapSuite.Core.BaseShape –>
srid Int32<!– System.Int32 –>

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

GetLocalUtmZoneParametersString(BaseShape, Int32)

<!– static –>

Return Value

Return Type Description
String<!– System.String –>

Parameters

Name Type Description
shape BaseShape<!– ThinkGeo.MapSuite.Core.BaseShape –>
srid Int32<!– System.Int32 –>

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

GetLocalUtmZoneParametersString(Feature, Int32)

<!– static –>

Return Value

Return Type Description
String<!– System.String –>

Parameters

Name Type Description
feature Feature<!– ThinkGeo.MapSuite.Core.Feature –>
srid Int32<!– System.Int32 –>

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

GetLocalUtmZoneParametersString(Feature, String)

<!– static –>

Return Value

Return Type Description
String<!– System.String –>

Parameters

Name Type Description
feature Feature<!– ThinkGeo.MapSuite.Core.Feature –>
proj4ProjectionParameters String<!– System.String –>

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

GetLocalUtmZoneParametersString(Double, Double)

<!– static –>

Return Value

Return Type Description
String<!– System.String –>

Parameters

Name Type Description
longitude Double<!– System.Double –>
latitude Double<!– System.Double –>

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

GetLocalUtmZoneParametersString(BaseShape, String)

<!– static –>

Return Value

Return Type Description
String<!– System.String –>

Parameters

Name Type Description
shape BaseShape<!– ThinkGeo.MapSuite.Core.BaseShape –>
proj4ProjectionParameters String<!– System.String –>

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

GetSphericalMercatorParametersString()

<!– static –> This method is a static API to get a projection of SphericalMercator.

Return Value

Return Type Description
String<!– System.String –> A text for a SphericalMercator projection, it should like this “+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs”

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

GetType()

Return Value

Return Type Description
Type<!– System.Type –>

Parameters

Name Type Description

<!– System.Object –> Go Back

GetWgs84ParametersString()

<!– static –> This method is a static API to get a projection text from WGS84.

Remarks

More information about it can reference to EPSG.rtf in the documentation.

Return Value

Return Type Description
String<!– System.String –> The project text corresponding to the srid.

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> 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<!– System.Void –>

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Projection –> Go Back

ToString()

Return Value

Return Type Description
String<!– System.String –>

Parameters

Name Type Description

<!– System.Object –> Go Back

Protected Methods

CloneDeepCore()

Create a copy of GeoCanvas using the deep clone process. The default implementation uses serialization.

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

Return Type Description
Projection<!– ThinkGeo.MapSuite.Core.Projection –> A cloned GeoCanvas.

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Projection –> Go Back

CloseCore()

This method closes the projection and gets it ready to serialization if necessary.

Remarks

As this is the core version of the Close method it is intended to be overridden in inherited version of the class. When overriding you will be responsible freeing any state you have maintained and getting the class ready to 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 tiles without any ill effects.

In this override we call the Proj4 methods get release the handles and memory.

Return Value

Return Type Description
Void<!– System.Void –>

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Projection(overriden) –> Go Back

ConvertToExternalProjectionCore(GeoImage, RectangleShape, RectangleShape)

Return Value

Return Type Description
RasterProjectionResult<!– ThinkGeo.MapSuite.Core.RasterProjectionResult –>

Parameters

Name Type Description
image GeoImage<!– ThinkGeo.MapSuite.Core.GeoImage –>
imageExtent RectangleShape<!– ThinkGeo.MapSuite.Core.RectangleShape –>
targetExtent RectangleShape<!– ThinkGeo.MapSuite.Core.RectangleShape –>

<!– ThinkGeo.MapSuite.Core.Projection(overriden) –> Go Back

ConvertToExternalProjectionCore(GeoImage, RectangleShape)

Return Value

Return Type Description
RasterProjectionResult<!– ThinkGeo.MapSuite.Core.RasterProjectionResult –>

Parameters

Name Type Description
image GeoImage<!– ThinkGeo.MapSuite.Core.GeoImage –>
imageExtent RectangleShape<!– ThinkGeo.MapSuite.Core.RectangleShape –>

<!– ThinkGeo.MapSuite.Core.Projection(overriden) –> Go Back

ConvertToExternalProjectionCore(Double[], Double[])

This method returns a projected vertex 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
Vertex[]<!– ThinkGeo.MapSuite.Core.Vertexthinkgeo.mapsuite.core.managedproj4projection –> This method returns a projected vertices based on the coordinates passed in.

Parameters

Name Type Description
x Double[]<!– System.Doublethinkgeo.mapsuite.core.managedproj4projection –> This parameter is the X values of the points that will be projected.
y Double[]<!– System.Doublethinkgeo.mapsuite.core.managedproj4projection –> This parameter is the Y values of the points that will be projected.

<!– ThinkGeo.MapSuite.Core.Projection(overriden) –> Go Back

ConvertToInternalProjectionCore(Double[], Double[])

This method returns a de-projected vertex 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 to to and from various projections.

Return Value

Return Type Description
Vertex[]<!– ThinkGeo.MapSuite.Core.Vertexthinkgeo.mapsuite.core.managedproj4projection –> This method returns a de-projected vertices based on the coordinates passed in.

Parameters

Name Type Description
x Double[]<!– System.Doublethinkgeo.mapsuite.core.managedproj4projection –> This parameter is the X values of the points that will be de-projected.
y Double[]<!– System.Doublethinkgeo.mapsuite.core.managedproj4projection –> This parameter is the Y values of the points that will be de-projected.

<!– ThinkGeo.MapSuite.Core.Projection(overriden) –> Go Back

Finalize()

Return Value

Return Type Description
Void<!– System.Void –>

Parameters

Name Type Description

<!– System.Object –> Go Back

GetExternalGeographyUnitCore()

Return Value

Return Type Description
GeographyUnit<!– ThinkGeo.MapSuite.Core.GeographyUnit –>

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Projection(overriden) –> Go Back

GetInternalGeographyUnitCore()

Return Value

Return Type Description
GeographyUnit<!– ThinkGeo.MapSuite.Core.GeographyUnit –>

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Projection(overriden) –> Go Back

MemberwiseClone()

Return Value

Return Type Description
Object<!– System.Object –>

Parameters

Name Type Description

<!– System.Object –> Go Back

OpenCore()

This method open 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 inherited version of the class. When overriding you will be responsible for getting the projection classes state ready for doing projections.

In this override we call the Proj4 methods get it ready for projection.

Return Value

Return Type Description
Void<!– System.Void –>

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Projection(overriden) –> Go Back

Public Properties

CanConvertRasterToExternalProjection

Return Value

Return Type
Boolean<!– System.Boolean –>

<!– ThinkGeo.MapSuite.Core.Projection –> Go Back

DecimalDegreeBoundary

This property specifies the Boundary for decimaldegree values.

Remarks

The default boundary is(-179.9, 89.9, 179.9, -89.9). That means when I want to project a PointShape(-179,91,89.91) out, in fact what it projects is (-179.9,89.9) because of its out of boundary.

Return Value

Return Type
RectangleShape<!– ThinkGeo.MapSuite.Core.RectangleShape –>

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

ExternalProjectionParametersString

Gets or sets the Proj4 text parameter for the to projection. This parameter typically look like “+proj=utm +zone=33 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs”.

Return Value

Return Type
String<!– System.String –>

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

InternalProjectionParametersString

Gets or sets the Proj4 text parameter for the from projection. This parameter typically look like “+Proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs”.

Return Value

Return Type
String<!– System.String –>

<!– ThinkGeo.MapSuite.Core.ManagedProj4Projection –> Go Back

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<!– System.Boolean –>

<!– ThinkGeo.MapSuite.Core.Projection –> Go Back

Protected Properties

CanReproject

This property indicates whether this projection should be used.

Return Value

Return Type
Boolean<!– System.Boolean –>

<!– ThinkGeo.MapSuite.Core.Projection(overriden) –> Go Back

Public Events

thinkgeo.mapsuite.core.managedproj4projection.1440040129.txt.gz · Last modified: 2015/09/17 10:34 (external edit)