pj_units.hpp 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. // Boost.Geometry (aka GGL, Generic Geometry Library)
  2. // This file is manually converted from PROJ4
  3. // Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands.
  4. // This file was modified by Oracle on 2017, 2018.
  5. // Modifications copyright (c) 2017-2018, Oracle and/or its affiliates.
  6. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
  7. // Use, modification and distribution is subject to the Boost Software License,
  8. // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  9. // http://www.boost.org/LICENSE_1_0.txt)
  10. // This file is converted from PROJ4, http://trac.osgeo.org/proj
  11. // PROJ4 is originally written by Gerald Evenden (then of the USGS)
  12. // PROJ4 is maintained by Frank Warmerdam
  13. // PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam)
  14. // Original copyright notice:
  15. // Permission is hereby granted, free of charge, to any person obtaining a
  16. // copy of this software and associated documentation files (the "Software"),
  17. // to deal in the Software without restriction, including without limitation
  18. // the rights to use, copy, modify, merge, publish, distribute, sublicense,
  19. // and/or sell copies of the Software, and to permit persons to whom the
  20. // Software is furnished to do so, subject to the following conditions:
  21. // The above copyright notice and this permission notice shall be included
  22. // in all copies or substantial portions of the Software.
  23. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  24. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  25. // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
  26. // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  27. // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  28. // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  29. // DEALINGS IN THE SOFTWARE.
  30. #ifndef BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_UNITS_HPP
  31. #define BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_UNITS_HPP
  32. #include <boost/geometry/srs/projections/impl/projects.hpp>
  33. namespace boost { namespace geometry { namespace projections {
  34. namespace detail {
  35. // Originally defined in projects.h
  36. struct pj_units_type
  37. {
  38. std::string id; /* units keyword */
  39. std::string to_meter; /* multiply by value to get meters */
  40. std::string name; /* comments */
  41. };
  42. /* Field 2 that contains the multiplier to convert named units to meters
  43. ** may be expressed by either a simple floating point constant or a
  44. ** numerator/denomenator values (e.g. 1/1000) */
  45. static const pj_units_type pj_units[] =
  46. {
  47. { "km", "1000.", "Kilometer" },
  48. { "m", "1.", "Meter" },
  49. { "dm", "1/10", "Decimeter" },
  50. { "cm", "1/100", "Centimeter" },
  51. { "mm", "1/1000", "Millimeter" },
  52. { "kmi", "1852.0", "International Nautical Mile" },
  53. { "in", "0.0254", "International Inch" },
  54. { "ft", "0.3048", "International Foot" },
  55. { "yd", "0.9144", "International Yard" },
  56. { "mi", "1609.344", "International Statute Mile" },
  57. { "fath", "1.8288", "International Fathom" },
  58. { "ch", "20.1168", "International Chain" },
  59. { "link", "0.201168", "International Link" },
  60. { "us-in", "1./39.37", "U.S. Surveyor's Inch" },
  61. { "us-ft", "0.304800609601219", "U.S. Surveyor's Foot" },
  62. { "us-yd", "0.914401828803658", "U.S. Surveyor's Yard" },
  63. { "us-ch", "20.11684023368047", "U.S. Surveyor's Chain" },
  64. { "us-mi", "1609.347218694437", "U.S. Surveyor's Statute Mile" },
  65. { "ind-yd", "0.91439523", "Indian Yard" },
  66. { "ind-ft", "0.30479841", "Indian Foot" },
  67. { "ind-ch", "20.11669506", "Indian Chain" }
  68. };
  69. } // detail
  70. }}} // namespace boost::geometry::projections
  71. #endif // BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_UNITS_HPP