Table of Contents

ThinkGeo.MapSuite.Core.UnmanagedProj4Projection

Note: The page was created before Map Suite 10. Map Suite 10.0 organized many classes into new namespaces and assemblies as well as had a few minor breaks in compatibility. The majority of previously built code should work without modification assuming the new namespaces are added. For guidance on upgrading your existing code, please check out MapSuite 10 Upgrade Guide.

This projection class uses the Proj4 engine to project data from one Srid to another.

Inheritance Hierarchy

Members Summary

Public Constructors

UnmanagedProj4Projection()

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

UnmanagedProj4Projection(String,String)

This is a constructor for the class.

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

UnmanagedProj4Projection(Int32,Int32)

This is a constructor for the class.

Remarks

This constructor allows you to pass in Proj4 srid parameters for the to and from projection. The parameters typically look like 4320 stands for “+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs” and 4604 stands for “ +proj=longlat +ellps=clrk80 +towgs84=174,359,365,0,0,0,0 +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

UnmanagedProj4Projection(String,Int32)

N/A

Remarks

N/A

Parameters

UnmanagedProj4Projection(Int32,String)

N/A

Remarks

N/A

Parameters

Protected Constructors

Public Methods

Dispose()

This is the dispose method for the class.

Remarks

This dispose releases the handles of the Proj4 library. You should normally use Close instead of dispose unless you really want to never use this instance again. Normally when a layer is finished drawing it will call the Close of the projection class. This allows the object to be serialize but used again in the future. You should only use the Dispose method when you do not want to use this class again.

Return Value
Parameters

CloneDeep()

N/A

Remarks

N/A

Return Value
Parameters

Open()

N/A

Remarks

N/A

Return Value
Parameters

ConvertToExternalProjection(GeoImage,RectangleShape)

N/A

Remarks

N/A

Return Value
Parameters

ConvertToExternalProjection(GeoImage,RectangleShape,RectangleShape)

N/A

Remarks

N/A

Return Value
Parameters

Close()

N/A

Remarks

N/A

Return Value
Parameters

ConvertToExternalProjection(Double,Double)

N/A

Remarks

N/A

Return Value
Parameters

ConvertToExternalProjection(BaseShape)

N/A

Remarks

N/A

Return Value
Parameters

ConvertToExternalProjection(Feature)

N/A

Remarks

N/A

Return Value
Parameters

ConvertToExternalProjection(RectangleShape)

N/A

Remarks

N/A

Return Value
Parameters

ConvertToExternalProjection(IEnumerable<Vertex>)

N/A

Remarks

N/A

Return Value
Parameters

ConvertToInternalProjection(Double,Double)

N/A

Remarks

N/A

Return Value
Parameters

ConvertToInternalProjection(BaseShape)

N/A

Remarks

N/A

Return Value
Parameters

ConvertToInternalProjection(Feature)

N/A

Remarks

N/A

Return Value
Parameters

ConvertToInternalProjection(IEnumerable<Vertex>)

N/A

Remarks

N/A

Return Value
Parameters

ConvertToInternalProjection(RectangleShape)

N/A

Remarks

N/A

Return Value
Parameters

GetInternalGeographyUnit()

N/A

Remarks

N/A

Return Value
Parameters

GetExternalGeographyUnit()

N/A

Remarks

N/A

Return Value
Parameters

ToString()

N/A

Remarks

N/A

Return Value
Parameters

Equals(Object)

N/A

Remarks

N/A

Return Value
Parameters

GetHashCode()

N/A

Remarks

N/A

Return Value
Parameters

GetType()

N/A

Remarks

N/A

Return Value
Parameters

GetEpsgParametersString(Int32)

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
Parameters

GetEsriParametersString(Int32)

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
Parameters

GetGoogleMapParametersString()

This method is a static API to get a projection used by GoogleMap.

Remarks

N/A

Return Value
Parameters

GetWgs84ParametersString()

This method is a static API to get a projection text from World projections.

Remarks

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

Return Value
Parameters

GetLatLongParametersString()

N/A

Remarks

N/A

Return Value
Parameters

GetDecimalDegreesParametersString()

N/A

Remarks

N/A

Return Value
Parameters

GetLocalUtmZoneParametersString(Double,Double)

N/A

Remarks

N/A

Return Value
Parameters

GetLocalUtmZoneParametersString(Feature,String)

N/A

Remarks

N/A

Return Value
Parameters

GetLocalUtmZoneParametersString(Feature,Int32)

N/A

Remarks

N/A

Return Value
Parameters

GetLocalUtmZoneParametersString(BaseShape,String)

N/A

Remarks

N/A

Return Value
Parameters

GetLocalUtmZoneParametersString(BaseShape,Int32)

N/A

Remarks

N/A

Return Value
Parameters

GetLocalUtmZoneNumber(Double,Double)

N/A

Remarks

N/A

Return Value
Parameters

GetLocalUtmZoneNumber(Feature,String)

N/A

Remarks

N/A

Return Value
Parameters

GetLocalUtmZoneNumber(Feature,Int32)

N/A

Remarks

N/A

Return Value
Parameters

GetLocalUtmZoneNumber(BaseShape,String)

N/A

Remarks

N/A

Return Value
Parameters

GetLocalUtmZoneNumber(BaseShape,Int32)

N/A

Remarks

N/A

Return Value
Parameters

GetGeographyUnitFromPrj(String)

N/A

Remarks

N/A

Return Value
Parameters

GetGeographyUnitFromProj4(String)

N/A

Remarks

N/A

Return Value
Parameters

ConvertEpsgToPrj(Int32)

This method is a static API to get a Prj string by Epsg number

Remarks

N/A

Return Value
Parameters

ConvertProj4ToPrj(String)

N/A

Remarks

N/A

Return Value
Parameters

ConvertPrjToProj4(String)

N/A

Remarks

N/A

Return Value
Parameters

Protected Methods

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
Parameters

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
Parameters

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
Parameters

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
Parameters

ConvertToExternalProjectionCore(GeoImage,RectangleShape)

N/A

Remarks

N/A

Return Value
Parameters

ConvertToExternalProjectionCore(GeoImage,RectangleShape,RectangleShape)

N/A

Remarks

N/A

Return Value
Parameters

Finalize()

This is the dispose method for the class.

Remarks

N/A

Return Value
Parameters

GetInternalGeographyUnitCore()

N/A

Remarks

N/A

Return Value
Parameters

GetExternalGeographyUnitCore()

N/A

Remarks

N/A

Return Value
Parameters

CloneDeepCore()

N/A

Remarks

N/A

Return Value
Parameters

SzE=(Feature)

N/A

Remarks

N/A

Return Value
Parameters

TDE=(Feature)

N/A

Remarks

N/A

Return Value
Parameters

MemberwiseClone()

N/A

Remarks

N/A

Return Value
Parameters

Public Properties

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

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”.

Remarks

N/A

Return Value

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”.

Remarks

N/A

Return Value

IsOpen

N/A

Remarks

N/A

Return Value

CanConvertRasterToExternalProjection

N/A

Remarks

N/A

Return Value

Protected Properties

CanReproject

N/A

Remarks

N/A

Return Value

Public Events