## @ignore Geo::OSRc

## @class Geo::OSR

## @ignore TIEHASH
## @ignore CLEAR
## @ignore FIRSTKEY
## @ignore NEXTKEY
## @ignore FETCH
## @ignore STORE
## @ignore this

## @fn $GetWellKnownGeogCSAsWKT($name)
# @param name a well known name
# @return a WKT string

## @fn $GetUserInputAsWKT($name)
# @param name the user input
# @return a WKT string

## @fn \@GetProjectionMethods()
# @return reference to an array of possible projection methods

## @fn @GetProjectionMethodParameterList($method)
# @param method projection method name
# @return (arrayref parameters, $projection_name)

## @fn @GetProjectionMethodParamInfo($method, $parameter)
# @return ($user_friendly_name, $type, $defaultval)

## @attr SRS_PT_ALBERS_CONIC_EQUAL_AREA
# @deprecated

## @attr SRS_PT_AZIMUTHAL_EQUIDISTANT
# @deprecated

## @attr SRS_PT_CASSINI_SOLDNER
# @deprecated

## @attr SRS_PT_CYLINDRICAL_EQUAL_AREA
# @deprecated

## @attr SRS_PT_ECKERT_IV
# @deprecated

## @attr SRS_PT_ECKERT_VI
# @deprecated

## @attr SRS_PT_EQUIDISTANT_CONIC
# @deprecated

## @attr SRS_PT_EQUIRECTANGULAR
# @deprecated

## @attr SRS_PT_GALL_STEREOGRAPHIC
# @deprecated

## @attr SRS_PT_GNOMONIC
# @deprecated

## @attr SRS_PT_GOODE_HOMOLOSINE
# @deprecated

## @attr SRS_PT_HOTINE_OBLIQUE_MERCATOR
# @deprecated

## @attr SRS_PT_HOTINE_OBLIQUE_MERCATOR_TWO_POINT_NATURAL_ORIGIN
# @deprecated

## @attr SRS_PT_LABORDE_OBLIQUE_MERCATOR
# @deprecated

## @attr SRS_PT_LAMBERT_CONFORMAL_CONIC_1SP
# @deprecated

## @attr SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP
# @deprecated

## @attr SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP_BELGIUM
# @deprecated

## @attr SRS_PT_LAMBERT_AZIMUTHAL_EQUAL_AREA
# @deprecated

## @attr SRS_PT_MERCATOR_1SP
# @deprecated

## @attr SRS_PT_MERCATOR_2SP
# @deprecated

## @attr SRS_PT_MILLER_CYLINDRICAL
# @deprecated

## @attr SRS_PT_MOLLWEIDE
# @deprecated

## @attr SRS_PT_NEW_ZEALAND_MAP_GRID
# @deprecated

## @attr SRS_PT_OBLIQUE_STEREOGRAPHIC
# @deprecated

## @attr SRS_PT_ORTHOGRAPHIC
# @deprecated

## @attr SRS_PT_POLAR_STEREOGRAPHIC
# @deprecated

## @attr SRS_PT_POLYCONIC
# @deprecated

## @attr SRS_PT_ROBINSON
# @deprecated

## @attr SRS_PT_SINUSOIDAL
# @deprecated

## @attr SRS_PT_STEREOGRAPHIC
# @deprecated

## @attr SRS_PT_SWISS_OBLIQUE_CYLINDRICAL
# @deprecated

## @attr SRS_PT_TRANSVERSE_MERCATOR
# @deprecated

## @attr SRS_PT_TRANSVERSE_MERCATOR_SOUTH_ORIENTED
# @deprecated

## @attr SRS_PT_TRANSVERSE_MERCATOR_MI_22
# @deprecated

## @attr SRS_PT_TRANSVERSE_MERCATOR_MI_23
# @deprecated

## @attr SRS_PT_TRANSVERSE_MERCATOR_MI_24
# @deprecated

## @attr SRS_PT_TRANSVERSE_MERCATOR_MI_25
# @deprecated

## @attr SRS_PT_TUNISIA_MINING_GRID
# @deprecated

## @attr SRS_PT_VANDERGRINTEN
# @deprecated

## @attr SRS_PT_KROVAK
# @deprecated

## @attr SRS_PP_CENTRAL_MERIDIAN
# @deprecated

## @attr SRS_PP_SCALE_FACTOR
# @deprecated

## @attr SRS_PP_STANDARD_PARALLEL_1
# @deprecated

## @attr SRS_PP_STANDARD_PARALLEL_2
# @deprecated

## @attr SRS_PP_PSEUDO_STD_PARALLEL_1
# @deprecated

## @attr SRS_PP_LONGITUDE_OF_CENTER
# @deprecated

## @attr SRS_PP_LATITUDE_OF_CENTER
# @deprecated

## @attr SRS_PP_LONGITUDE_OF_ORIGIN
# @deprecated

## @attr SRS_PP_LATITUDE_OF_ORIGIN
# @deprecated

## @attr SRS_PP_FALSE_EASTING
# @deprecated

## @attr SRS_PP_FALSE_NORTHING
# @deprecated

## @attr SRS_PP_AZIMUTH
# @deprecated

## @attr SRS_PP_LONGITUDE_OF_POINT_1
# @deprecated

## @attr SRS_PP_LATITUDE_OF_POINT_1
# @deprecated

## @attr SRS_PP_LONGITUDE_OF_POINT_2
# @deprecated

## @attr SRS_PP_LATITUDE_OF_POINT_2
# @deprecated

## @attr SRS_PP_LONGITUDE_OF_POINT_3
# @deprecated

## @attr SRS_PP_LATITUDE_OF_POINT_3
# @deprecated

## @attr SRS_PP_RECTIFIED_GRID_ANGLE
# @deprecated

## @attr SRS_PP_LANDSAT_NUMBER
# @deprecated

## @attr SRS_PP_PATH_NUMBER
# @deprecated

## @attr SRS_PP_PERSPECTIVE_POINT_HEIGHT
# @deprecated

## @attr SRS_PP_FIPSZONE
# @deprecated

## @attr SRS_PP_ZONE
# @deprecated

## @attr SRS_UL_METER
# @deprecated

## @attr SRS_UL_FOOT
# @deprecated

## @attr SRS_UL_FOOT_CONV
# @deprecated

## @attr SRS_UL_US_FOOT
# @deprecated

## @attr SRS_UL_US_FOOT_CONV
# @deprecated

## @attr SRS_UL_NAUTICAL_MILE
# @deprecated

## @attr SRS_UL_NAUTICAL_MILE_CONV
# @deprecated

## @attr SRS_UL_LINK
# @deprecated

## @attr SRS_UL_LINK_CONV
# @deprecated

## @attr SRS_UL_CHAIN
# @deprecated

## @attr SRS_UL_CHAIN_CONV
# @deprecated

## @attr SRS_UL_ROD
# @deprecated

## @attr SRS_UL_ROD_CONV
# @deprecated

## @attr SRS_DN_NAD27
# @deprecated

## @attr SRS_DN_NAD83
# @deprecated

## @attr SRS_DN_WGS72
# @deprecated

## @attr SRS_DN_WGS84
# @deprecated

## @attr SRS_WGS84_SEMIMAJOR
# @deprecated

## @attr SRS_WGS84_INVFLATTENING
# @deprecated


## @class Geo::OSR::SpatialReference
# @brief <a href="http://www.gdal.org/ogr/classOGRSpatialReference.html">Documentation
# of the underlying C++ class at www.gdal.org</a>

## @ignore DISOWN
## @ignore ACQUIRE
## @ignore DESTROY
## @ignore __str__

## @cmethod Geo::OSR::SpatialReference new($wkt = undef)
# @param wkt well known text
# @return a new Geo::OSR::SpatialReference object

## @cmethod Geo::OSR::SpatialReference create(%params)
# Create a new spatial reference object using named parameters. This
# constructor recognizes the following named parameters: WKT, Text,
# Proj4, ESRI, EPSG, PCI, USGS, XML.
#
# Usage:
# \code
# $sr = Geo::OSR::SpatialReference->create(...arguments...);
# \endcode
# @return a new Geo::OSR::SpatialReference object

## @method $IsSame($rhs)
# @param rhs a Geo::OSR::SpatialReference object
# @return boolean

## @method $IsSameGeogCS($rhs)
# @param rhs a Geo::OSR::SpatialReference object
# @return boolean

## @method $IsGeographic()
# @return boolean

## @method $IsProjected()
# @return boolean

## @method $IsLocal()
# @return boolean

## @method $GetAttrValue($name, $child = 0)
# @param name
# @param child
# @return string

## @method SetAttrValue($name, $value)
# @param name
# @param value

## @method SetAngularUnits($name, $to_radians)
# @param name
# @param to_radians

## @method $GetAngularUnits()
# @return a number

## @method SetLinearUnits($name, $to_meters)
# @param name
# @param to_meters

## @method $GetLinearUnits()
# @return a number

## @method $GetLinearUnitsName()
# @return string

## @method $GetAuthorityCode($target_key)
# @param target_key
# @return string

## @method $GetAuthorityName($target_key)
# @param target_key
# @return string

## @method SetUTM($zone, $north = 1)
# @param zone
# @param north

## @method SetStatePlane($zone, $is_nad83 = 1, $unitsname = "", $units = 0.0)
# @param zone
# @param is_nad83
# @param unitsname
# @param units

## @method AutoIdentifyEPSG()

## @method SetProjection($arg)
# @param arg

## @method SetProjParm($name, $val)
# @param name
# @param val

## @method $GetProjParm($name, $default_val = 0.0)
# @param name
# @param default_val
# @return a number

## @method SetNormProjParm($name, $val)
# @param name
# @param val

## @method $GetNormProjParm($name, $default_val = 0.0)
# @param name
# @param default_val
# @return a number

## @method SetACEA($stdp1, $stdp2, $clat, $clong, $fe, $fn)

## @method SetAE($clat, $clon, $fe, $fn)

## @method SetCS($clat, $clon, $fe, $fn)

## @method SetBonne($clat, $clon, $fe, $fn)

## @method SetEC($stdp1, $stdp2, $clat, $clong, $fe, $fn)

## @method SetEckertIV($cm, $fe, $fn)

## @method SetEckertVI($cm, $fe, $fn)

## @method SetEquirectangular($clat, $clong, $fe, $fn)

## @method SetGS($cm, $fe, $fn)

## @method SetWellKnownGeogCS($name)

## @method SetFromUserInput($name)

## @method CopyGeogCSFrom($rhs)
# @param rhs Geo::OSR::SpatialReference

## @method SetTOWGS84($p1, $p2, $p3, $p4 = 0.0, $p5 = 0.0, $p6 = 0.0, $p7 = 0.0)

## @method GetTOWGS84()
# @return array = ($p1, $p2, $p3, $p4, $p5, $p6, $p7)

## @method SetGeogCS($GeogName, $DatumName, $EllipsoidName, $SemiMajor, $InvFlattening, $PMName = "Greenwich", $PMOffset = 0.0, $Units = "degree", $ConvertToRadians =  0.0174532925199433)

## @method SetProjCS($name = "unnamed")

## @method ImportFromWkt($wkt)

## @method ImportFromProj4($proj4)

## @method ImportFromESRI($esri)

## @method ImportFromEPSG($epsg_number)

## @method ImportFromPCI($proj, $units = "METRE", \@argin = undef)
# @param proj
# @param units
# @param argin = array of 17 numbers

## @method ImportFromUSGS($proj_code, $zone = 0, \@argin[15] = undef,  $datum_code = 0)
# @param proj_code
# @param zone
# @param argin = array of 15 numbers
# @param datum_code

## @method ImportFromXML($xml_string)

## @method $AsText()
# Return a well known text representation of this spatial reference
# system.  An alternative name: ExportToWkt.
# @return WKT string

## @method $ExportToPrettyWkt($simplify = 0)
# @return WKT string

## @method $ExportToProj4()
# @return proj4 string

## @method @ExportToPCI()
# @return ($proj_string, $units, [$parms1, ...])

## @method @ExportToUSGS()
# @return ($code, $zone, [$parms1, ...], $datum)

## @method $ExportToXML($dialect = "")
# @return XML string

## @method Geo::OSR::SpatialReference CloneGeogCS()
# @return a new Geo::OSR::SpatialReference object

## @method Validate()

## @method StripCTParms()

## @method FixupOrdering()

## @method Fixup()

## @method MorphToESRI()

## @method MorphFromESRI()

## @method ImportFromUrl()

## @method SetAuthority()

## @method SetCEA()

## @method SetGEOS()

## @method SetGH()

## @method SetGnomonic()

## @method SetHOM()

## @method SetHOM2PNO()

## @method SetKrovak()

## @method SetLAEA()

## @method SetLCC()

## @method SetLCC1SP()

## @method SetLCCB()

## @method SetLocalCS()

## @method SetMC()

## @method SetMercator()

## @method SetMollweide()

## @method SetNZMG()

## @method SetOS()

## @method SetOrthographic()

## @method SetPS()

## @method SetPolyconic()

## @method SetRobinson()

## @method SetSOC()

## @method SetSinusoidal()

## @method SetStereographic()

## @method SetTM()

## @method SetTMG()

## @method SetTMSO()

## @method SetTMVariant()

## @method SetVDG()

## @class Geo::OSR::CoordinateTransformation

## @ignore DISOWN
## @ignore ACQUIRE
## @ignore DESTROY

## @cmethod Geo::OSR::CoordinateTransformation new($src, $dst)
# @param src a Geo::OSR::SpatialReference object
# @param dst a Geo::OSR::SpatialReference object
# @return a new Geo::OSR::CoordinateTransformation object

## @method \@TransformPoint($x, $y, $z)
# @param x
# @param y
# @param z [optional]
# @return arrayref = [$x, $y, $z]

## @method TransformPoints(\@points)
# @param points [in/out] a reference to a list of points (line string
# or ring) that is modified in-place. A list of points is: ([x, y, z],
# [x, y, z], ...), where z is optional. Supports also lists of line
# strings and polygons.
