User Tools

Site Tools


thinkgeo.mapsuite.core.managedproj4projection

ThinkGeo.MapSuite.Core.ManagedProj4Projection

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

Members 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

ManagedProj4Projection(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
  • internalProjectionParameters
    • Type:String
    • Description:N/A
  • externalProjectionParameters
    • Type:String
    • Description:N/A

ManagedProj4Projection(Int32,Int32)

  • N/A
Remarks
  • N/A
Parameters
  • internalEpsgSrid
    • Type:Int32
    • Description:N/A
  • externalEpsgSrid
    • Type:Int32
    • Description:N/A

ManagedProj4Projection(String,Int32)

  • N/A
Remarks
  • N/A
Parameters
  • internalProjectionParameters
    • Type:String
    • Description:N/A
  • externalEpsgSrid
    • Type:Int32
    • Description:N/A

ManagedProj4Projection(Int32,String)

  • N/A
Remarks
  • N/A
Parameters
  • internalEpsgSrid
    • Type:Int32
    • Description:N/A
  • externalProjectionParameters
    • Type:String
    • Description:N/A

Protected Constructors

Public Methods

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.

GetWgs84ParametersString()

  • 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
  • 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

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

GetBingMapParametersString()

  • This method is a static API to get a projection used by BingMaps.
Remarks
  • N/A
Return Value
  • Type:String
  • Description: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

GetSphericalMercatorParametersString()

  • This method is a static API to get a projection of SphericalMercator.
Remarks
  • N/A
Return Value
  • Type:String
  • Description: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

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

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

UpdateToExternalProjection(Feature)

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

UpdateToInternalProjection(Feature)

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

Finalize()

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

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

This property indicates whether this projection should be used.

Remarks

N/A

Return Value
  • Type:Boolean

Public Events

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