UNPKG

openapi-directory

Version:

Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS

1 lines 6.08 kB
{"openapi":"3.0.0","servers":[{"url":"/wmm"}],"info":{"contact":{"x-twitter":"amentumspace"},"description":"\nThe World Magnetic Model calculates the intensity and direction of the Earth's magnetic field on a specific date-time, geodetic altitude, latitude, and longitude. It is relied upon throughout the world for navigation, mineral exploration, atmospheric and space science, and is installed on billions of devices. <br><br>\nA comprehensive description of the World Magnetic Model, including its limitations, can be found <a href='https://www.ngdc.noaa.gov/geomag/WMM/'>here</a>. <br><br>\nWe provide a RESTful API to access the out-of-cycle World Magnetic Model (WMM2015v2) valid for years 2015.0 - 2020.0 and WMM2020 valid for years 2020.0 - 2025.0<br><br>\nAPI requests must contain a key \"API-Key\" in the header (see code samples). Obtain a key from <a href='https://developer.amentum.io'>here</a>. <br><br> \nAmentum Pty Ltd is not responsible nor liable for any loss or damage of any sort incurred as a result of using the API. <br><br>\nHelp us improve the quality of our web APIs by completing our 2 minute survey <a href=\"https://www.surveymonkey.com/r/CTDTRBN\">here</a>.<br><br>\nCopyright <a href='https://amentum.space'>Amentum Pty Ltd</a> 2021.\n","title":"Geomag API","version":"1.3.0","x-apisguru-categories":["location"],"x-logo":{"altText":"Amentum Aerospace","backgroundColor":"#FFFFFF","url":"https://twitter.com/amentumspace/profile_image?size=original"},"x-origin":[{"format":"openapi","url":"https://globalmagnet.amentum.space/wmm/openapi.json","version":"3.0"}],"x-providerName":"amentum.space","x-serviceName":"global-magnet"},"paths":{"/magnetic_field":{"get":{"description":"at specified conditions.\n","operationId":"app.api_wmm.endpoints.WMM.magnetic_field","parameters":[{"$ref":"#/components/parameters/Altitude"},{"$ref":"#/components/parameters/Latitude"},{"$ref":"#/components/parameters/Longitude"},{"$ref":"#/components/parameters/Year"}],"responses":{"200":{"content":{"application/json":{"schema":{"example":{"declination":{"units":"Deg","value":34.144142150878906},"grid_variation":{"units":-65.8558578491211,"value":"Deg"},"inclination":{"units":"Deg","value":87.98262786865234},"total_intensity":{"units":"nT","value":58421.87109375}},"properties":{"declination":{"description":"The angle in the horizontal plane between magnetic north and true north. Declination is positive when magnetic north is east of true north.\n","properties":{"units":{"type":"string"},"value":{"type":"number"}},"type":"object"},"grid_variation":{"description":"Referenced to grid north, referenced to 0 deg meridian of a polar stereographic projection. Only defined for latitudes greater than 55 degrees and less than -55 degrees (arctic and antarctic).\n","properties":{"units":{"type":"string"},"value":{"type":"number"}},"type":"object"},"inclination":{"description":"Also known as 'dip', is the angle made between the horizontal plane and the magnetic field vector at some position. Positive inclination corresponds to a downward pointing. \n","properties":{"units":{"type":"string"},"value":{"type":"number"}},"type":"object"},"total_intensity":{"description":"Total magnetic field intensity in nano Teslas.\n","properties":{"units":{"type":"string"},"value":{"type":"number"}},"type":"object"}},"type":"object"}}},"description":"Successful magnetic field intensity calculation"}},"summary":"Calculate magnetic declination, inclination, total field intensity, and grid variation\n","x-codeSamples":[{"lang":"Shell","source":"curl -X GET \"https://geomag.amentum.io/wmm/magnetic_field?altitude=10&latitude=80&longitude=100&year=2020.5\" -H \"API-Key: <your_key>\" -H \"accept: application/json\"\n"},{"lang":"Python","source":"import json\nimport requests\n\nheaders = {\"API-Key\" : \"<add_your_key>\"}\n\nhostname = \"https://geomag.amentum.io/wmm/magnetic_field\"\n\nparams = dict(\n altitude = 10, # [km]\n longitude = 100, # [deg]\n latitude = 80, \n year = 2020.5 # decimal year, half-way through 2020\n)\n\ntry: \n response = requests.get(hostname, params=params, headers=headers)\n # extract JSON payload of response as Python dictionary\n json_payload = response.json()\n # raise an Exception if we encoutnered any HTTP error codes like 404 \n response.raise_for_status()\nexcept requests.exceptions.ConnectionError as e: \n # handle any typo errors in url or endpoint, or just patchy internet connection\n print(e)\nexcept requests.exceptions.HTTPError as e: \n # handle HTTP error codes in the response\n print(e, json_payload['error'])\nexcept requests.exceptions.RequestException as e: \n # general error handling\n print(e, json_payload['error'])\nelse:\n json_payload = response.json()\n print(json.dumps(json_payload, indent=4, sort_keys=True))\n"},{"lang":"Javascript","source":"let url = 'https://geomag.amentum.io/wmm/magnetic_field?'\n\nvar params = new URLSearchParams({\n year: 2020.5, // decimal year, half-way through 2020\n latitude: 80, // [deg]\n longitude: 100,\n altitude: 10 // [km]\n})\n\nvar requestOptions = {\n method: 'GET',\n redirect: 'follow',\n headers: {'API-Key': '<add_your_key>'} \n};\n\nfetch(url + params, requestOptions)\n .then(response => response.text())\n .then(result => console.log(result))\n .catch(error => console.log('error', error));\n"}]}}},"components":{"parameters":{"Altitude":{"description":"Geodetic Altitude 0 km to 600 km.","in":"query","name":"altitude","required":true,"schema":{"example":10,"type":"number"}},"Latitude":{"description":"Geodetic Latitude. -90 deg (S) to 90 deg (N).","in":"query","name":"latitude","required":true,"schema":{"example":80,"type":"number"}},"Longitude":{"description":"Geodetic Longitude. -180 deg (W) to 180 deg (E).","in":"query","name":"longitude","required":true,"schema":{"example":100,"type":"number"}},"Year":{"description":"Year as a decimal in the range 2015-2025 (2017.5 would be half way through 2017).","in":"query","name":"year","required":true,"schema":{"example":2020.5,"type":"number"}}}}}