20 #ifndef PISM_PROJECTION_H
21 #define PISM_PROJECTION_H
26 #include "pism/util/Units.hh"
27 #include "pism/util/VariableMetadata.hh"
77 double lon(
double x,
double y)
const;
78 double lat(
double x,
double y)
const;
79 std::array<double, 2>
lonlat(
double x,
double y)
const;
High-level PISM I/O class.
std::array< double, 2 > lonlat(double x, double y) const
LonLatCalculator(const std::string &proj_string)
double lat(double x, double y) const
double lon(double x, double y) const
MappingInfo(const std::string &mapping_name, units::System::Ptr unit_system)
A virtual class collecting methods common to ice and bedrock 3D fields.
std::shared_ptr< System > Ptr
void compute_latitude(const std::string &projection, array::Scalar &result)
void compute_longitude(const std::string &projection, array::Scalar &result)
VariableMetadata epsg_to_cf(units::System::Ptr system, const std::string &proj_string)
Return CF-Convention "mapping" variable corresponding to an EPSG code specified in a PROJ string.
void check_consistency_epsg(const MappingInfo &info)
Check consistency of the "mapping" variable with the EPSG code in the proj string.
MappingInfo get_projection_info(const File &input_file, const std::string &mapping_name, units::System::Ptr unit_system)
Get projection info from a file.
void compute_lat_bounds(const std::string &projection, array::Array3D &result)
void compute_lon_bounds(const std::string &projection, array::Array3D &result)