Module:Ordnance Survey coordinates/data
Appearance
From Wikipedia, the free encyclopedia
Warning This Lua module is used on approximately 44,000 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them.
Data required for Module:Ordnance Survey coordinates
License
GPL This work is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License Version 2 as published by the Free Software Foundation.
This work is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to: Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
http://www.gnu.org/licenses/old-licenses/gpl-2.0.htmlGPLGNU General Public LicensetruetrueThe above documentation is transcluded from Module:Ordnance Survey coordinates/data/doc. (edit | history)
Editors can experiment in this module's sandbox (create | mirror) and testcases (create) pages.
Subpages of this module.
Editors can experiment in this module's sandbox (create | mirror) and testcases (create) pages.
Subpages of this module.
-- Data for [[Module:Ordnance Survey coordinates]] -- You may use and redistribute this data under the terms of the GPL see http://www.gnu.org/copyleft/gpl.html local deg2rad = math.rad local OSGBglobe = { semimajor = 6377563.396, semiminor = 6356256.910, ecc = 0.006670539761597529073698869358812557054558, n1 = 0.00167322025032508731869331280635710896296, scale = 0.9996012717, e0 = 400000.0, n0 = -100000.0, lat0 = 49.0, lon0 = -2.0 } local IEglobe = { semimajor = 6377340.189, semiminor = 6356034.447, ecc = 0.006670540293336110419293763349975612794125, n1 = 0.001673220384152058651484728058385228837777, scale = 1.000035, e0 = 200000.0, n0 = 250000.0, lat0 = 53.5, lon0 = -8.0 } local WGSglobe = { semimajor = 6378137.0, semiminor = 6356752.3141, ecc = 0.00669438003551279089034150031998869922791 } local WGS2OSGBparam = { -- Table 4, Section 6.6, Ordnance Survey document https://www.ordnancesurvey.co.uk/documents/resources/guide-coordinate-systems-great-britain.pdf semimajor_src = WGSglobe.semimajor, semiminor_src = WGSglobe.semiminor, ecc_src = WGSglobe.ecc, semimajor_dst = OSGBglobe.semimajor, semiminor_dst = OSGBglobe.semiminor, ecc_dst = OSGBglobe.ecc, tx = -446.448, ty = 125.157, tz = -542.060, s0 = 0.0000204894, rx = deg2rad ( -.1502/3600. ), ry = deg2rad ( -.2470/3600. ), rz = deg2rad ( -.8421/3600. ) } local OSGB2WGSparam = { semimajor_src = OSGBglobe.semimajor, semiminor_src = OSGBglobe.semiminor, ecc_src = OSGBglobe.ecc, semimajor_dst = WGSglobe.semimajor, semiminor_dst = WGSglobe.semiminor, ecc_dst = WGSglobe.ecc, tx = -WGS2OSGBparam.tx, ty = -WGS2OSGBparam.ty, tz = -WGS2OSGBparam.tz, s0 = -WGS2OSGBparam.s0, rx = -WGS2OSGBparam.rx, ry = -WGS2OSGBparam.ry, rz = -WGS2OSGBparam.rz, } local IE2WGSparam = { semimajor_src = IEglobe.semimajor, semiminor_src = IEglobe.semiminor, ecc_src = IEglobe.ecc, semimajor_dst = WGSglobe.semimajor, semiminor_dst = WGSglobe.semiminor, ecc_dst = WGSglobe.ecc, tx = 482.53, ty = -130.596, tz = 564.557, s0 = 8.15/1000000.0, rx = deg2rad( -1.042/3600.0 ), ry = deg2rad( -0.214/3600.0 ), rz = deg2rad( -0.631/3600.0 ) } return {OSGBglobe=OSGBglobe, IEglobe=IEglobe, WGSglobe=WGSglobe, WGS2OSGBparam=WGS2OSGBparam, OSGB2WGSparam=OSGB2WGSparam, IE2WGSparam=IE2WGSparam}