====== ThinkGeo.MapSuite.Core.Proj4Projection ====== {{section>upgrade_map_suite_to_10.0}} This projection class uses the Proj4 to project data from one Srid to another. ===== Inheritance Hierarchy ===== *System.Object *ThinkGeo.MapSuite.Core.Projection ***ThinkGeo.MapSuite.Core.Proj4Projection** ===== Members Summary ===== ==== Public Constructors ==== ** {{wiki:PublicMethod.gif|}} Proj4Projection() ** * //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 ==
** {{wiki:PublicMethod.gif|}} Proj4Projection(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.
** {{wiki:PublicMethod.gif|}} Proj4Projection(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.
** {{wiki:PublicMethod.gif|}} Proj4Projection(String,Int32) ** * //N/A// == Remarks == * //N/A// == Parameters == * //internalProjectionParametersString// * Type:String * Description:N/A * //externalEpsgSrid// * Type:Int32 * Description:N/A
** {{wiki:PublicMethod.gif|}} Proj4Projection(Int32,String) ** * //N/A// == Remarks == * //N/A// == Parameters == * //internalEpsgSrid// * Type:Int32 * Description:N/A * //externalProjectionParametersString// * Type:String * Description:N/A
==== Protected Constructors ==== ==== Public Methods ==== ** {{wiki:PublicMethod.gif|}} 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 ==
** {{wiki:PublicMethod.gif|}} CloneDeep() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Core.Projection|Projection]] * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}} Open() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}} ConvertToExternalProjection(GeoImage,RectangleShape) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Core.RasterProjectionResult|RasterProjectionResult]] * Description:N/A == Parameters == * //image// * Type:[[ThinkGeo.MapSuite.Core.GeoImage|GeoImage]] * Description:N/A * //imageExtent// * Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] * Description:N/A
** {{wiki:PublicMethod.gif|}} ConvertToExternalProjection(GeoImage,RectangleShape,RectangleShape) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Core.RasterProjectionResult|RasterProjectionResult]] * Description:N/A == Parameters == * //image// * Type:[[ThinkGeo.MapSuite.Core.GeoImage|GeoImage]] * Description:N/A * //imageExtent// * Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] * Description:N/A * //targetExtent// * Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] * Description:N/A
** {{wiki:PublicMethod.gif|}} Close() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}} ConvertToExternalProjection(Double,Double) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Core.Vertex|Vertex]] * Description:N/A == Parameters == * //x// * Type:Double * Description:N/A * //y// * Type:Double * Description:N/A
** {{wiki:PublicMethod.gif|}} ConvertToExternalProjection(BaseShape) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] * Description:N/A == Parameters == * //baseShape// * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] * Description:N/A
** {{wiki:PublicMethod.gif|}} ConvertToExternalProjection(Feature) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] * Description:N/A == Parameters == * //feature// * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] * Description:N/A
** {{wiki:PublicMethod.gif|}} ConvertToExternalProjection(RectangleShape) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] * Description:N/A == Parameters == * //rectangleShape// * Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] * Description:N/A
** {{wiki:PublicMethod.gif|}} ConvertToExternalProjection(IEnumerable) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Core.Vertex[]|Vertex[]]] * Description:N/A == Parameters == * //vertices// * Type:IEnumerable<[[ThinkGeo.MapSuite.Core.Vertex|Vertex]]> * Description:N/A
** {{wiki:PublicMethod.gif|}} ConvertToInternalProjection(Double,Double) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Core.Vertex|Vertex]] * Description:N/A == Parameters == * //x// * Type:Double * Description:N/A * //y// * Type:Double * Description:N/A
** {{wiki:PublicMethod.gif|}} ConvertToInternalProjection(BaseShape) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] * Description:N/A == Parameters == * //baseShape// * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] * Description:N/A
** {{wiki:PublicMethod.gif|}} ConvertToInternalProjection(Feature) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] * Description:N/A == Parameters == * //feature// * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] * Description:N/A
** {{wiki:PublicMethod.gif|}} ConvertToInternalProjection(IEnumerable) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Core.Vertex[]|Vertex[]]] * Description:N/A == Parameters == * //vertices// * Type:IEnumerable<[[ThinkGeo.MapSuite.Core.Vertex|Vertex]]> * Description:N/A
** {{wiki:PublicMethod.gif|}} ConvertToInternalProjection(RectangleShape) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] * Description:N/A == Parameters == * //rectangleShape// * Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] * Description:N/A
** {{wiki:PublicMethod.gif|}} GetInternalGeographyUnit() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}} GetExternalGeographyUnit() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Core.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 ==
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} GetGeographyUnitFromPrj(String) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] * Description:N/A == Parameters == * //prjString// * Type:String * Description:N/A
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} GetGeographyUnitFromProj4(String) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] * Description:N/A == Parameters == * //proj4String// * Type:String * Description:N/A
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} 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 ==
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} 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 ==
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} 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.
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} 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 ==
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} GetLatLongParametersString() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:String * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} GetDecimalDegreesParametersString() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:String * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} 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.
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} 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 ==
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} 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
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} GetLocalUtmZoneParametersString(Feature,String) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:String * Description:N/A == Parameters == * //feature// * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] * Description:N/A * //proj4ProjectionParameters// * Type:String * Description:N/A
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} GetLocalUtmZoneParametersString(Feature,Int32) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:String * Description:N/A == Parameters == * //feature// * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] * Description:N/A * //srid// * Type:Int32 * Description:N/A
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} GetLocalUtmZoneParametersString(BaseShape,String) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:String * Description:N/A == Parameters == * //shape// * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] * Description:N/A * //proj4ProjectionParameters// * Type:String * Description:N/A
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} GetLocalUtmZoneParametersString(BaseShape,Int32) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:String * Description:N/A == Parameters == * //shape// * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] * Description:N/A * //srid// * Type:Int32 * Description:N/A
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} 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
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} GetLocalUtmZoneNumber(Feature,String) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Int32 * Description:N/A == Parameters == * //feature// * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] * Description:N/A * //proj4ProjectionParameters// * Type:String * Description:N/A
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} GetLocalUtmZoneNumber(Feature,Int32) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Int32 * Description:N/A == Parameters == * //feature// * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] * Description:N/A * //srid// * Type:Int32 * Description:N/A
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} GetLocalUtmZoneNumber(BaseShape,String) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Int32 * Description:N/A == Parameters == * //shape// * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] * Description:N/A * //proj4ProjectionParameters// * Type:String * Description:N/A
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} GetLocalUtmZoneNumber(BaseShape,Int32) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Int32 * Description:N/A == Parameters == * //shape// * Type:[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]] * Description:N/A * //srid// * Type:Int32 * Description:N/A
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} 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
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} ConvertProj4ToPrj(String) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:String * Description:N/A == Parameters == * //proj4String// * Type:String * Description:N/A
** {{wiki:PublicMethod.gif|}}{{wiki:Static.gif|}} ConvertPrjToProj4(String) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:String * Description:N/A == Parameters == * //prjString// * Type:String * Description:N/A
==== Protected Methods ==== ** {{wiki:ProtectedMethod.gif|}} 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 ==
** {{wiki:ProtectedMethod.gif|}} 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 ==
** {{wiki:ProtectedMethod.gif|}} ConvertToExternalProjectionCore(GeoImage,RectangleShape) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Core.RasterProjectionResult|RasterProjectionResult]] * Description:N/A == Parameters == * //image// * Type:[[ThinkGeo.MapSuite.Core.GeoImage|GeoImage]] * Description:N/A * //imageExtent// * Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] * Description:N/A
** {{wiki:ProtectedMethod.gif|}} ConvertToExternalProjectionCore(GeoImage,RectangleShape,RectangleShape) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Core.RasterProjectionResult|RasterProjectionResult]] * Description:N/A == Parameters == * //image// * Type:[[ThinkGeo.MapSuite.Core.GeoImage|GeoImage]] * Description:N/A * //imageExtent// * Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] * Description:N/A * //targetExtent// * Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] * Description:N/A
** {{wiki:ProtectedMethod.gif|}} 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:[[ThinkGeo.MapSuite.Core.Vertex[]|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.
** {{wiki:ProtectedMethod.gif|}} 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:[[ThinkGeo.MapSuite.Core.Vertex[]|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.
** {{wiki:ProtectedMethod.gif|}} Finalize() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters ==
** {{wiki:ProtectedMethod.gif|}} GetInternalGeographyUnitCore() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] * Description:N/A == Parameters ==
** {{wiki:ProtectedMethod.gif|}} GetExternalGeographyUnitCore() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Core.GeographyUnit|GeographyUnit]] * Description:N/A == Parameters ==
** {{wiki:ProtectedMethod.gif|}} CloneDeepCore() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.Core.Projection|Projection]] * Description:N/A == Parameters ==
** {{wiki:ProtectedMethod.gif|}} UpdateToExternalProjection(Feature) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //feature// * Type:[[ThinkGeo.MapSuite.Core.Feature|Feature]] * 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.Core.Feature|Feature]] * Description:N/A
** {{wiki:ProtectedMethod.gif|}} MemberwiseClone() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Object * Description:N/A == Parameters ==
==== Public Properties ==== ** {{wiki:PublicProperty.gif|}} MemoryMode ** Gets or sets a valude indicating in which way we read the projection informaion. == Remarks == N/A == Return Value == * Type:[[ThinkGeo.MapSuite.Core.Proj4MemoryMode|Proj4MemoryMode]] ** {{wiki:PublicProperty.gif|}} 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 == * Type:[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] ** {{wiki:PublicProperty.gif|}} 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 ** {{wiki:PublicProperty.gif|}} 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 ** {{wiki:PublicProperty.gif|}} IsOpen ** N/A == Remarks == N/A == 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 ====