pj_units.hpp 4.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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. double numerator;
  41. double denominator;
  42. std::string name; /* comments */
  43. };
  44. /* Field 2 that contains the multiplier to convert named units to meters
  45. ** may be expressed by either a simple floating point constant or a
  46. ** numerator/denomenator values (e.g. 1/1000) */
  47. static const pj_units_type pj_units[] =
  48. {
  49. { "km", "1000.", 1000.0, 1.0, "Kilometer" },
  50. { "m", "1.", 1.0, 1.0, "Meter" },
  51. { "dm", "1/10", 1.0, 10.0, "Decimeter" },
  52. { "cm", "1/100", 1.0, 100.0, "Centimeter" },
  53. { "mm", "1/1000", 1.0, 1000.0, "Millimeter" },
  54. { "kmi", "1852.", 1852.0, 1.0, "International Nautical Mile" },
  55. { "in", "0.0254", 0.0254, 1.0, "International Inch" },
  56. { "ft", "0.3048", 0.3048, 1.0, "International Foot" },
  57. { "yd", "0.9144", 0.9144, 1.0, "International Yard" },
  58. { "mi", "1609.344", 1609.344, 1.0, "International Statute Mile" },
  59. { "fath", "1.8288", 1.8288, 1.0, "International Fathom" },
  60. { "ch", "20.1168", 20.1168, 1.0, "International Chain" },
  61. { "link", "0.201168", 0.201168, 1.0, "International Link" },
  62. { "us-in", "1./39.37", 1.0, 39.37, "U.S. Surveyor's Inch" },
  63. { "us-ft", "0.304800609601219", 0.304800609601219, 1.0, "U.S. Surveyor's Foot" },
  64. { "us-yd", "0.914401828803658", 0.914401828803658, 1.0, "U.S. Surveyor's Yard" },
  65. { "us-ch", "20.11684023368047", 20.11684023368047, 1.0, "U.S. Surveyor's Chain" },
  66. { "us-mi", "1609.347218694437", 1609.347218694437, 1.0, "U.S. Surveyor's Statute Mile" },
  67. { "ind-yd", "0.91439523", 0.91439523, 1.0, "Indian Yard" },
  68. { "ind-ft", "0.30479841", 0.30479841, 1.0, "Indian Foot" },
  69. { "ind-ch", "20.11669506", 20.11669506, 1.0, "Indian Chain" }
  70. };
  71. } // detail
  72. }}} // namespace boost::geometry::projections
  73. #endif // BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_UNITS_HPP