## @ignore Geo::OSRc

## @class Geo::OSR

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

## @fn GetWellKnownGeogCSAsWKT($name)
# @return scalar (WKT string)

## @fn GetUserInputAsWKT($name)
# @return scalar (WKT string)

## @fn GetProjectionMethods()
# @return arrayref

## @fn GetProjectionMethodParameterList($method)
# @return array = (arrayref parameters, $projection_name)

## @fn GetProjectionMethodParamInfo($method, $parameter)
# @return array = ($usrname, $type, $defaultval)

## @attr SRS_PT_ALBERS_CONIC_EQUAL_AREA
# scalar
## @attr SRS_PT_AZIMUTHAL_EQUIDISTANT
# scalar
## @attr SRS_PT_CASSINI_SOLDNER
# scalar
## @attr SRS_PT_CYLINDRICAL_EQUAL_AREA
# scalar
## @attr SRS_PT_ECKERT_IV
# scalar
## @attr SRS_PT_ECKERT_VI
# scalar
## @attr SRS_PT_EQUIDISTANT_CONIC
# scalar
## @attr SRS_PT_EQUIRECTANGULAR
# scalar
## @attr SRS_PT_GALL_STEREOGRAPHIC
# scalar
## @attr SRS_PT_GNOMONIC
# scalar
## @attr SRS_PT_GOODE_HOMOLOSINE
# scalar
## @attr SRS_PT_HOTINE_OBLIQUE_MERCATOR
# scalar
## @attr SRS_PT_HOTINE_OBLIQUE_MERCATOR_TWO_POINT_NATURAL_ORIGIN
# scalar
## @attr SRS_PT_LABORDE_OBLIQUE_MERCATOR
# scalar
## @attr SRS_PT_LAMBERT_CONFORMAL_CONIC_1SP
# scalar
## @attr SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP
# scalar
## @attr SRS_PT_LAMBERT_CONFORMAL_CONIC_2SP_BELGIUM
# scalar
## @attr SRS_PT_LAMBERT_AZIMUTHAL_EQUAL_AREA
# scalar
## @attr SRS_PT_MERCATOR_1SP
# scalar
## @attr SRS_PT_MERCATOR_2SP
# scalar
## @attr SRS_PT_MILLER_CYLINDRICAL
# scalar
## @attr SRS_PT_MOLLWEIDE
# scalar
## @attr SRS_PT_NEW_ZEALAND_MAP_GRID
# scalar
## @attr SRS_PT_OBLIQUE_STEREOGRAPHIC
# scalar
## @attr SRS_PT_ORTHOGRAPHIC
# scalar
## @attr SRS_PT_POLAR_STEREOGRAPHIC
# scalar
## @attr SRS_PT_POLYCONIC
# scalar
## @attr SRS_PT_ROBINSON
# scalar
## @attr SRS_PT_SINUSOIDAL
# scalar
## @attr SRS_PT_STEREOGRAPHIC
# scalar
## @attr SRS_PT_SWISS_OBLIQUE_CYLINDRICAL
# scalar
## @attr SRS_PT_TRANSVERSE_MERCATOR
# scalar
## @attr SRS_PT_TRANSVERSE_MERCATOR_SOUTH_ORIENTED
# scalar
## @attr SRS_PT_TRANSVERSE_MERCATOR_MI_22
# scalar
## @attr SRS_PT_TRANSVERSE_MERCATOR_MI_23
# scalar
## @attr SRS_PT_TRANSVERSE_MERCATOR_MI_24
# scalar
## @attr SRS_PT_TRANSVERSE_MERCATOR_MI_25
# scalar
## @attr SRS_PT_TUNISIA_MINING_GRID
# scalar
## @attr SRS_PT_VANDERGRINTEN
# scalar
## @attr SRS_PT_KROVAK
# scalar
## @attr SRS_PP_CENTRAL_MERIDIAN
# scalar
## @attr SRS_PP_SCALE_FACTOR
# scalar
## @attr SRS_PP_STANDARD_PARALLEL_1
# scalar
## @attr SRS_PP_STANDARD_PARALLEL_2
# scalar
## @attr SRS_PP_PSEUDO_STD_PARALLEL_1
# scalar
## @attr SRS_PP_LONGITUDE_OF_CENTER
# scalar
## @attr SRS_PP_LATITUDE_OF_CENTER
# scalar
## @attr SRS_PP_LONGITUDE_OF_ORIGIN
# scalar
## @attr SRS_PP_LATITUDE_OF_ORIGIN
# scalar
## @attr SRS_PP_FALSE_EASTING
# scalar
## @attr SRS_PP_FALSE_NORTHING
# scalar
## @attr SRS_PP_AZIMUTH
# scalar
## @attr SRS_PP_LONGITUDE_OF_POINT_1
# scalar
## @attr SRS_PP_LATITUDE_OF_POINT_1
# scalar
## @attr SRS_PP_LONGITUDE_OF_POINT_2
# scalar
## @attr SRS_PP_LATITUDE_OF_POINT_2
# scalar
## @attr SRS_PP_LONGITUDE_OF_POINT_3
# scalar
## @attr SRS_PP_LATITUDE_OF_POINT_3
# scalar
## @attr SRS_PP_RECTIFIED_GRID_ANGLE
# scalar
## @attr SRS_PP_LANDSAT_NUMBER
# scalar
## @attr SRS_PP_PATH_NUMBER
# scalar
## @attr SRS_PP_PERSPECTIVE_POINT_HEIGHT
# scalar
## @attr SRS_PP_FIPSZONE
# scalar
## @attr SRS_PP_ZONE
# scalar
## @attr SRS_UL_METER
# scalar
## @attr SRS_UL_FOOT
# scalar
## @attr SRS_UL_FOOT_CONV
# scalar
## @attr SRS_UL_US_FOOT
# scalar
## @attr SRS_UL_US_FOOT_CONV
# scalar
## @attr SRS_UL_NAUTICAL_MILE
# scalar
## @attr SRS_UL_NAUTICAL_MILE_CONV
# scalar
## @attr SRS_UL_LINK
# scalar
## @attr SRS_UL_LINK_CONV
# scalar
## @attr SRS_UL_CHAIN
# scalar
## @attr SRS_UL_CHAIN_CONV
# scalar
## @attr SRS_UL_ROD
# scalar
## @attr SRS_UL_ROD_CONV
# scalar
## @attr SRS_DN_NAD27
# scalar
## @attr SRS_DN_NAD83
# scalar
## @attr SRS_DN_WGS72
# scalar
## @attr SRS_DN_WGS84
# scalar
## @attr SRS_WGS84_SEMIMAJOR
# scalar
## @attr SRS_WGS84_INVFLATTENING
# scalar


## @class Geo::OSR::SpatialReference

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

## @cmethod new($wkt = undef)
# @return Geo::OSR::SpatialReference object

## @method IsSame($rhs)
# @param $rhs Geo::OSR::SpatialReference object
# @return scalar (int)

## @method IsSameGeogCS($rhs)
# @param $rhs Geo::OSR::SpatialReference object
# @return scalar (int)

## @method IsGeographic()
# @return scalar (int)

## @method IsProjected()
# @return scalar (int)

## @method IsLocal()
# @return scalar (int)

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

## @method SetAttrValue($name, $value)
# @return scalar (OGRErr)

## @method SetAngularUnits($name, $to_radians)
# @return scalar (OGRErr)

## @method GetAngularUnits()
# @return scalar (double)

## @method SetLinearUnits($name, $to_meters)
# @return scalar (OGRErr)

## @method GetLinearUnits()
# @return scalar (double)

## @method GetLinearUnitsName()
# @return string

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

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

## @method SetUTM($zone, $north = 1)
# @return scalar (OGRErr)

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

## @method AutoIdentifyEPSG()
# @return scalar (OGRErr)

## @method SetProjection($arg)
# @return scalar (OGRErr)

## @method SetProjParm($name, $val)
# @return scalar (OGRErr)

## @method GetProjParm($name, $default_val = 0.0)
# @return scalar (double)

## @method SetNormProjParm($name, $val)
# @return scalar (OGRErr)

## @method GetNormProjParm($name, $default_val = 0.0)
# @return scalar (double)

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

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

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

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

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

## @method SetEckertIV($cm, $fe, $fn)
# @return scalar (OGRErr)

## @method SetEckertVI($cm, $fe, $fn)
# @return scalar (OGRErr)

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

## @method SetGS($cm, $fe, $fn)
# @return scalar (OGRErr)

## @method SetWellKnownGeogCS($name)
# @return scalar (OGRErr)

## @method SetFromUserInput($name)
# @return scalar (OGRErr)

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

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

## @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)
# @return scalar (OGRErr)

## @method SetProjCS($name = "unnamed")
# @return scalar (OGRErr)

## @method ImportFromWkt($wkt)
# @return scalar (OGRErr)

## @method ImportFromProj4($proj4)
# @return scalar (OGRErr)

## @method ImportFromESRI($esri)
# @return scalar (OGRErr)

## @method ImportFromEPSG($epsg_number)
# @return scalar (OGRErr)

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

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

## @method ImportFromXML($xml_string)
# @return scalar (OGRErr)

## @method ExportToWkt()
# @return $wkt_string

## @method ExportToPrettyWkt($simplify = 0)
# @return $wkt_string

## @method ExportToProj4()
# @return $proj4_string

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

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

## @method ExportToXML($dialect = "")
# @return $xml

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

## @method Validate()
# @return scalar (OGRErr)

## @method StripCTParms()
# @return scalar (OGRErr)

## @method FixupOrdering()
# @return scalar (OGRErr)

## @method Fixup()
# @return scalar (OGRErr)

## @method MorphToESRI()
# @return scalar (OGRErr)

## @method MorphFromESRI()
# @return scalar (OGRErr)

## @class Geo::OSR::CoordinateTransformation

## @ignore DISOWN
## @ignore ACQUIRE

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

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