User Tools

Site Tools


thinkgeo.mapsuite.portablecore.unmanagedproj4projection

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

  • System.Object
    • ThinkGeo.MapSuite.Core.Projection
      • ThinkGeo.MapSuite.Core.UnmanagedProj4Projection

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
  • internalProjectionParametersString
    • Type:String
    • Description:This parameter is the projection parameters describing the data.
  • externalProjectionParametersString
    • Type:String
    • Description:This parameter is the projection parameters describing the projection you want to go to.

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
  • internalEpsgSrid
    • Type:Int32
    • Description:This parameter is the projection srid parameter describing the data.
  • externalEpsgSrid
    • Type:Int32
    • Description:This parameter is the projection srid parameter describing the projection you want to go to.

UnmanagedProj4Projection(String,Int32)

N/A

Remarks

N/A

Parameters
  • internalProjectionParametersString
    • Type:String
    • Description:N/A
  • externalEpsgSrid
    • Type:Int32
    • Description:N/A

UnmanagedProj4Projection(Int32,String)

N/A

Remarks

N/A

Parameters
  • internalEpsgSrid
    • Type:Int32
    • Description:N/A
  • externalProjectionParametersString
    • Type:String
    • Description:N/A

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
  • Type:Void
  • Description:None
Parameters

CloneDeep()

N/A

Remarks

N/A

Return Value
Parameters

Open()

N/A

Remarks

N/A

Return Value
  • Type:Void
  • Description:N/A
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
  • Type:Void
  • Description:N/A
Parameters

ConvertToExternalProjection(Double,Double)

N/A

Remarks

N/A

Return Value
Parameters
  • x
    • Type:Double
    • Description:N/A
  • y
    • Type:Double
    • Description:N/A

ConvertToExternalProjection(BaseShape)

N/A

Remarks

N/A

Return Value
Parameters

ConvertToExternalProjection(Feature)

N/A

Remarks

N/A

Return Value
Parameters
  • feature

ConvertToExternalProjection(RectangleShape)

N/A

Remarks

N/A

Return Value
Parameters

ConvertToExternalProjection(IEnumerable<Vertex>)

N/A

Remarks

N/A

Return Value
Parameters
  • vertices
    • Type:IEnumerable<Vertex>
    • Description:N/A

ConvertToInternalProjection(Double,Double)

N/A

Remarks

N/A

Return Value
Parameters
  • x
    • Type:Double
    • Description:N/A
  • y
    • Type:Double
    • Description:N/A

ConvertToInternalProjection(BaseShape)

N/A

Remarks

N/A

Return Value
Parameters

ConvertToInternalProjection(Feature)

N/A

Remarks

N/A

Return Value
Parameters
  • feature

ConvertToInternalProjection(IEnumerable<Vertex>)

N/A

Remarks

N/A

Return Value
Parameters
  • vertices
    • Type:IEnumerable<Vertex>
    • Description:N/A

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
  • Type:String
  • Description:N/A
Parameters

Equals(Object)

N/A

Remarks

N/A

Return Value
  • Type:Boolean
  • Description:N/A
Parameters
  • obj
    • Type:Object
    • Description:N/A

GetHashCode()

N/A

Remarks

N/A

Return Value
  • Type:Int32
  • Description:N/A
Parameters

GetType()

N/A

Remarks

N/A

Return Value
  • Type:Type
  • Description:N/A
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
  • Type:String
  • Description:The project text corresponding to the srid.
Parameters
  • srid
    • Type:Int32
    • Description:The target Srid infromation to get the projection text from.

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
  • Type:String
  • Description:The project text corresponding to the srid.
Parameters
  • srid
    • Type:Int32
    • Description:The target Srid infromation to get the projection text from.

GetGoogleMapParametersString()

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

Remarks

N/A

Return Value
  • Type:String
  • Description: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

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
  • Type:String
  • Description:The project text corresponding to the srid.
Parameters

GetLatLongParametersString()

N/A

Remarks

N/A

Return Value
  • Type:String
  • Description:N/A
Parameters

GetDecimalDegreesParametersString()

N/A

Remarks

N/A

Return Value
  • Type:String
  • Description:N/A
Parameters

GetLocalUtmZoneParametersString(Double,Double)

N/A

Remarks

N/A

Return Value
  • Type:String
  • Description:N/A
Parameters
  • longitude
    • Type:Double
    • Description:N/A
  • latitude
    • Type:Double
    • Description:N/A

GetLocalUtmZoneParametersString(Feature,String)

N/A

Remarks

N/A

Return Value
  • Type:String
  • Description:N/A
Parameters
  • feature
  • proj4ProjectionParameters
    • Type:String
    • Description:N/A

GetLocalUtmZoneParametersString(Feature,Int32)

N/A

Remarks

N/A

Return Value
  • Type:String
  • Description:N/A
Parameters
  • feature
  • srid
    • Type:Int32
    • Description:N/A

GetLocalUtmZoneParametersString(BaseShape,String)

N/A

Remarks

N/A

Return Value
  • Type:String
  • Description:N/A
Parameters
  • proj4ProjectionParameters
    • Type:String
    • Description:N/A

GetLocalUtmZoneParametersString(BaseShape,Int32)

N/A

Remarks

N/A

Return Value
  • Type:String
  • Description:N/A
Parameters
  • srid
    • Type:Int32
    • Description:N/A

GetLocalUtmZoneNumber(Double,Double)

N/A

Remarks

N/A

Return Value
  • Type:Int32
  • Description:N/A
Parameters
  • latitude
    • Type:Double
    • Description:N/A
  • longitude
    • Type:Double
    • Description:N/A

GetLocalUtmZoneNumber(Feature,String)

N/A

Remarks

N/A

Return Value
  • Type:Int32
  • Description:N/A
Parameters
  • feature
  • proj4ProjectionParameters
    • Type:String
    • Description:N/A

GetLocalUtmZoneNumber(Feature,Int32)

N/A

Remarks

N/A

Return Value
  • Type:Int32
  • Description:N/A
Parameters
  • feature
  • srid
    • Type:Int32
    • Description:N/A

GetLocalUtmZoneNumber(BaseShape,String)

N/A

Remarks

N/A

Return Value
  • Type:Int32
  • Description:N/A
Parameters
  • proj4ProjectionParameters
    • Type:String
    • Description:N/A

GetLocalUtmZoneNumber(BaseShape,Int32)

N/A

Remarks

N/A

Return Value
  • Type:Int32
  • Description:N/A
Parameters
  • srid
    • Type:Int32
    • Description:N/A

GetGeographyUnitFromPrj(String)

N/A

Remarks

N/A

Return Value
Parameters
  • prjString
    • Type:String
    • Description:N/A

GetGeographyUnitFromProj4(String)

N/A

Remarks

N/A

Return Value
Parameters
  • proj4String
    • Type:String
    • Description:N/A

ConvertEpsgToPrj(Int32)

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

Remarks

N/A

Return Value
  • Type:String
  • Description:N/A
Parameters
  • srid
    • Type:Int32
    • Description:Epsg number that reprents this projection

ConvertProj4ToPrj(String)

N/A

Remarks

N/A

Return Value
  • Type:String
  • Description:N/A
Parameters
  • proj4String
    • Type:String
    • Description:N/A

ConvertPrjToProj4(String)

N/A

Remarks

N/A

Return Value
  • Type:String
  • Description:N/A
Parameters
  • prjString
    • Type:String
    • Description:N/A

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
  • Type:Void
  • Description:None
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
  • Type:Void
  • Description:None
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
  • Type:Vertex[]
  • Description:This method returns a projected vertices based on the coordinates passed in.
Parameters
  • x
    • Type:Double[]
    • Description:This parameter is the X values of the points that will be projected.
  • y
    • Type:Double[]
    • Description:This parameter is the Y values of the points that will be projected.

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
  • Type:Vertex[]
  • Description:This method returns a de-projected vertices based on the coordinates passed in.
Parameters
  • x
    • Type:Double[]
    • Description:This parameter is the X values of the points that will be de-projected.
  • y
    • Type:Double[]
    • Description:This parameter is the Y values of the points that will be de-projected.

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
  • Type:Void
  • Description:N/A
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
  • Type:Void
  • Description:N/A
Parameters
  • feature

TDE=(Feature)

N/A

Remarks

N/A

Return Value
  • Type:Void
  • Description:N/A
Parameters
  • feature

MemberwiseClone()

N/A

Remarks

N/A

Return Value
  • Type:Object
  • Description:N/A
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
  • Type:String

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
  • Type:String

IsOpen

N/A

Remarks

N/A

Return Value
  • Type:Boolean

CanConvertRasterToExternalProjection

N/A

Remarks

N/A

Return Value
  • Type:Boolean

Protected Properties

CanReproject

N/A

Remarks

N/A

Return Value
  • Type:Boolean

Public Events

thinkgeo.mapsuite.portablecore.unmanagedproj4projection.txt · Last modified: 2017/03/16 21:59 (external edit)