PageRenderTime 25ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/Proj4/pj_datums.c

http://github.com/route-me/route-me
C | 129 lines | 43 code | 10 blank | 76 comment | 0 complexity | af6306b0c4c3ab9817003d0b677c1481 MD5 | raw file
  1. /******************************************************************************
  2. * $Id: pj_datums.c,v 1.12 2006/04/21 02:46:10 fwarmerdam Exp $
  3. *
  4. * Project: PROJ.4
  5. * Purpose: Built in datum list.
  6. * Author: Frank Warmerdam, warmerda@home.com
  7. *
  8. ******************************************************************************
  9. * Copyright (c) 2000, Frank Warmerdam
  10. *
  11. * Permission is hereby granted, free of charge, to any person obtaining a
  12. * copy of this software and associated documentation files (the "Software"),
  13. * to deal in the Software without restriction, including without limitation
  14. * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  15. * and/or sell copies of the Software, and to permit persons to whom the
  16. * Software is furnished to do so, subject to the following conditions:
  17. *
  18. * The above copyright notice and this permission notice shall be included
  19. * in all copies or substantial portions of the Software.
  20. *
  21. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  22. * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  23. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
  24. * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  25. * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  26. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  27. * DEALINGS IN THE SOFTWARE.
  28. ******************************************************************************
  29. *
  30. * $Log: pj_datums.c,v $
  31. * Revision 1.12 2006/04/21 02:46:10 fwarmerdam
  32. * fixed bogota direction
  33. *
  34. * Revision 1.11 2005/11/08 15:25:40 fwarmerdam
  35. * added OSGB36 transformation
  36. *
  37. * Revision 1.10 2004/10/28 16:07:55 fwarmerdam
  38. * added pj_get_*_ref() accessors
  39. *
  40. * Revision 1.9 2004/05/04 01:15:21 warmerda
  41. * Added NZGD49 datum - see bug 339
  42. *
  43. * Revision 1.8 2003/03/28 14:29:28 warmerda
  44. * Fixed ire65 definition ... use mod_airy, not modif_airy.
  45. *
  46. * Revision 1.7 2003/03/17 21:37:22 warmerda
  47. * make NAD27 grids optional, added alaska and ntv2
  48. *
  49. * Revision 1.6 2003/02/06 03:37:52 warmerda
  50. * Fixed typo in madrid prime meridian value.
  51. *
  52. * Revision 1.5 2003/01/15 14:34:55 warmerda
  53. * Added some datums as suggested by GRASS team
  54. *
  55. * Revision 1.4 2002/12/09 16:01:02 warmerda
  56. * added prime meridian support
  57. *
  58. * Revision 1.3 2002/07/08 02:32:05 warmerda
  59. * ensure clean C++ builds
  60. *
  61. * Revision 1.2 2001/04/05 19:32:41 warmerda
  62. * added ntv1_can.dat to NAD27 list
  63. *
  64. * Revision 1.1 2000/07/06 23:32:27 warmerda
  65. * New
  66. *
  67. */
  68. #define PJ_DATUMS__
  69. #include "projects.h"
  70. /*
  71. * The ellipse code must match one from pj_ellps.c. The datum id should
  72. * be kept to 12 characters or less if possible. Use the official OGC
  73. * datum name for the comments if available.
  74. */
  75. struct PJ_DATUMS pj_datums[] = {
  76. /* id definition ellipse comments */
  77. /* -- ---------- ------- -------- */
  78. "WGS84", "towgs84=0,0,0", "WGS84", "",
  79. "GGRS87", "towgs84=-199.87,74.79,246.62", "GRS80",
  80. "Greek_Geodetic_Reference_System_1987",
  81. "NAD83", "towgs84=0,0,0", "GRS80",
  82. "North_American_Datum_1983",
  83. "NAD27", "nadgrids=@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",
  84. "clrk66",
  85. "North_American_Datum_1927",
  86. "potsdam", "towgs84=606.0,23.0,413.0", "bessel", "Potsdam Rauenberg 1950 DHDN",
  87. "carthage", "towgs84=-263.0,6.0,431.0", "clark80", "Carthage 1934 Tunisia",
  88. "hermannskogel", "towgs84=653.0,-212.0,449.0", "bessel", "Hermannskogel",
  89. "ire65", "towgs84=482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15", "mod_airy", "Ireland 1965",
  90. "nzgd49", "towgs84=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993", "intl", "New Zealand Geodetic Datum 1949",
  91. "OSGB36", "towgs84=446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894", "airy", "Airy 1830",
  92. NULL, NULL, NULL, NULL
  93. };
  94. struct PJ_DATUMS *pj_get_datums_ref()
  95. {
  96. return pj_datums;
  97. }
  98. struct PJ_PRIME_MERIDIANS pj_prime_meridians[] = {
  99. /* id definition */
  100. /* -- ---------- */
  101. "greenwich", "0dE",
  102. "lisbon", "9d07'54.862\"W",
  103. "paris", "2d20'14.025\"E",
  104. "bogota", "74d04'51.3\"W",
  105. "madrid", "3d41'16.58\"W",
  106. "rome", "12d27'8.4\"E",
  107. "bern", "7d26'22.5\"E",
  108. "jakarta", "106d48'27.79\"E",
  109. "ferro", "17d40'W",
  110. "brussels", "4d22'4.71\"E",
  111. "stockholm", "18d3'29.8\"E",
  112. "athens", "23d42'58.815\"E",
  113. "oslo", "10d43'22.5\"E",
  114. NULL, NULL
  115. };
  116. struct PJ_PRIME_MERIDIANS *pj_get_prime_meridians_ref()
  117. {
  118. return pj_prime_meridians;
  119. }