## @ignore Geo::OSRc ## @class Geo::OSR ## @ignore UseExceptions ## @ignore DontUseExceptions ## @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) ## @class Geo::OSR::SpatialReference # @brief Documentation # of the underlying C++ class at www.gdal.org ## @attr list PROJECTIONS # Projections known to GDAL ## @attr list PARAMETERS # Some projection parameters known to GDAL ## @cmethod Geo::OSR::SpatialReference new($wkt = undef) # @param wkt well known text # @return a new Geo::OSR::SpatialReference object ## @ignore ImportFromEPSGA ## @ignore ImportFromERM ## @ignore ImportFromMICoordSys ## @ignore ImportFromWkt ## @ignore ImportFromProj4 ## @ignore ImportFromESRI ## @ignore ImportFromEPSG ## @ignore ImportFromPCI ## @ignore ImportFromUSGS ## @ignore ImportFromXML ## @ignore ImportFromUrl ## @cmethod Geo::OSR::SpatialReference create(%params) # Create a new spatial reference object using a named parameter. This # constructor recognizes the following key words (alternative in # parenthesis): WKT (Text), Proj4, ESRI, EPSG, EPSGA, PCI, USGS, GML # (XML), URL, ERMapper (ERM), MapInfoCS (MICoordSys). The value # depends on the key. # - WKT: Well Known Text string # - Proj4: PROJ.4 string # - ESRI: reference to a list of strings (contents of ESRI .prj file) # - EPSG: EPSG code number # - EPSGA: EPSG code number (the resulting CS will have EPSG preferred axis ordering) # - PCI: listref: [PCI_projection_string, Grid_units_code, [17 cs parameters]] # - USGS: listref: [Projection_system_code, Zone, [15 cs parameters], Datum_code, Format_flag] # - GML: GML string # - URL: URL for downloading the spatial reference from # - ERMapper: listref: [Projection, Datum, Units] # - MapInfoCS: MapInfo style co-ordinate system definition # # For more information, consult the import methods in OGR documentation. # # @note ImportFrom* methods also exist but are not documented here. # # Usage: # \code # $sr = Geo::OSR::SpatialReference->create( key => value ); # \endcode # @return a new Geo::OSR::SpatialReference object ## @method Geo::OSR::SpatialReference Clone() # Make a duplicate of this SpatialReference object. # @return a new Geo::OSR::SpatialReference object ## @method Geo::OSR::SpatialReference CloneGeogCS() # Make a duplicate of the GEOGCS node of this SpatialReference object. # @return a new Geo::OSR::SpatialReference object ## @ignore AsText ## @ignore ExportToPrettyWkt ## @ignore ExportToProj4 ## @ignore ExportToPCI ## @ignore ExportToUSGS ## @ignore ExportToXML ## @ignore ExportToMICoordSys ## @ignore ExportToWkt ## @method Export($format) # Export the spatial reference to a selected format. # @note a.k.a. As # @param format One of the following. The return value is explained # after the format. Other arguments are explained in parenthesis. # - WKT (Text): Well Known Text string # - PrettyWKT: Well Known Text string nicely formatted (simplify) # - Proj4: PROJ.4 string # - PCI: a list: ($proj_string, $units, [$parms1, ...]) # - USGS: a list: ($code, $zone, [$parms1, ...], $datum) # - GML (XML): GML based string (dialect) # - MapInfoCS (MICoordSys): MapInfo style co-ordinate system definition # # @note The named parameter syntax also works and is needed is those # cases when other arguments need or may be given. The format should # be given using key as, 'to' or 'format'. # # @note ExportTo* and AsText methods also exist but are not documented here. # # @return a scalar or a list depending on the export format ## @ignore SetACEA ## @ignore SetAE ## @ignore SetAngularUnits ## @ignore SetAttrValue ## @ignore SetBonne ## @ignore SetCS ## @ignore SetCompoundCS ## @ignore SetEC ## @ignore SetEckertIV ## @ignore SetEckertVI ## @ignore SetEquirectangular ## @ignore SetEquirectangular2 ## @ignore SetFromUserInput ## @ignore SetGS ## @ignore SetGaussSchreiberTMercator ## @ignore SetGeocCS ## @ignore SetIGH ## @ignore SetLinearUnits ## @ignore SetLinearUnitsAndUpdateParameters ## @ignore SetNormProjParm ## @ignore SetProjParm ## @ignore SetProjection ## @ignore SetStatePlane ## @ignore SetTargetLinearUnits ## @ignore SetUTM ## @ignore SetVertCS ## @ignore SetWellKnownGeogCS ## @ignore SetAuthority ## @ignore SetCEA ## @ignore SetGEOS ## @ignore SetGH ## @ignore SetGnomonic ## @ignore SetHOM ## @ignore SetHOM2PNO ## @ignore SetKrovak ## @ignore SetLAEA ## @ignore SetLCC ## @ignore SetLCC1SP ## @ignore SetLCCB ## @ignore SetLocalCS ## @ignore SetMC ## @ignore SetMercator ## @ignore SetMollweide ## @ignore SetNZMG ## @ignore SetOS ## @ignore SetOrthographic ## @ignore SetPS ## @ignore SetPolyconic ## @ignore SetRobinson ## @ignore SetSOC ## @ignore SetSinusoidal ## @ignore SetStereographic ## @ignore SetTM ## @ignore SetTMG ## @ignore SetTMSO ## @ignore SetTMVariant ## @ignore SetVDG ## @ignore SetTOWGS84 ## @ignore SetGeogCS ## @ignore SetProjCS ## @method Set(%params) # Set a parameter or parameters in the spatial reference object. # @param params Named parameters. Recognized keys and respective # values are the following. # - Authority: authority name # - Node: partial or complete path to the target node # - AngularUnits: angular units for the geographic coordinate system # - LinearUnits: linear units for the target node or the object # - CoordinateSystem: 'UTM', 'State Plane', 'WGS' or a user visible name # - Zone: zone for setting up UTM or State Plane coordinate systems (State Plane zone in USGS numbering scheme) # - Projection: one from \@Geo::OSR::PROJECTIONS # - Parameter: one from \@Geo::OSR::PARAMETERS # - Code: code for value with an authority # - Value: value to be assigned to a node, the projection or the object # - Normalized: set to true to indicate that the Value argument is in "normalized" form # - Parameters: a reference to a list containing the projection parameters # - Name: Transverse Mercator variant name or a well known name (e.g. WGS84) # - GuessFrom: tries to guess from given text # - North: set false for southern hemisphere # - NAD83: set false if the NAD27 zone definition should be used instead of NAD83 # - UnitName: to override the legal definition for a zone # - UnitConversionFactor: to override the legal definition for a zone # - LOCAL_CS: local cs name # - Datum: a known (OGC or EPSG) name # - Spheroid: user visible name # - GeocentricCS: Geocentric coorinate system name # - HorizontalCS: Horizontal coordinate system name # - VerticalCS: Vertical coordinate system name (setting requires Datum) # # @note Numerous Set* methods also exist but are not documented here. ## @method $IsSame($rs) # @param rs a Geo::OSR::SpatialReference object # @return boolean ## @method $IsSameGeogCS($rs) # @param rs a Geo::OSR::SpatialReference object # @return boolean ## @method $IsGeographic() # @return boolean ## @method $IsProjected() # @return boolean ## @method $IsLocal() # @return boolean ## @method $IsCompound() # @return boolean ## @method $IsGeocentric() # @return boolean ## @method $IsVertical() # @return boolean ## @method $IsSameVertCS($rs) # @param rs a Geo::OSR::SpatialReference object # @return boolean ## @method $GetAttrValue($name, $child = 0) # @param name # @param child # @return string ## @method $GetAngularUnits() # @return a number ## @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 $GetProjParm($name, $default_val = 0.0) # @param name # @param default_val # @return a number ## @method $GetNormProjParm($name, $default_val = 0.0) # @param name # @param default_val # @return a number ## @method CopyGeogCSFrom($rhs) # @param rhs Geo::OSR::SpatialReference ## @method GetTOWGS84() # @return array = ($p1, $p2, $p3, $p4, $p5, $p6, $p7) ## @method GetInvFlattening() ## @method GetSemiMinor() ## @method GetSemiMajor() ## @method GetUTMZone() # Get UTM zone information. # @return The UTM zone (integer). In scalar context the returned value # is negative for southern hemisphere zones. In list context returns # two values ($zone, $north), where $zone is always non-negative and # $north is true or false. ## @method AutoIdentifyEPSG() # Set EPSG authority info if possible. ## @method EPSGTreatsAsLatLong() # Returns TRUE if EPSG feels this geographic coordinate system should be treated as having lat/long coordinate ordering. ## @method Validate() ## @method StripCTParms() ## @method FixupOrdering() ## @method Fixup() ## @method MorphToESRI() ## @method MorphFromESRI() ## @class Geo::OSR::CoordinateTransformation ## @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.