The Minor Planet Center (MPC) would like to collect data on "Pointings", i.e. information communicating the direction, time, duration, etc, of each and any exposure taken that might be of relevance to the NEO community.
We consider a pointing (or an exposure) to correspond to am individual image (rather than a multi-exposure field).
We are interested in receiving pointing data from both large "surveys", as well as "targeted follow-up" observations.
The aims of collecting this data are to facilitate:
We are interested in collecting two kinds of pointing information:
The pointing data should be submitted to the Minor Planet Center in the form of a JSON file.
An API to query the pointings database will be made available shortly.
Submissions may be made to the Minor Planet Center's pointings database according to the instructions below.
The following fieds are COMPULSORY within the JSON pointing object
In addition, a JSON pointing object must include exactly ONE of the following keywords to indicate the field geometry. In all cases, units are assumed to be in decimal degrees:
The following JSON fields are OPTIONAL
Square equatorially-aligned field from a survey:
{ "action": "exposed", "surveyExpName": "AK101_Jxpf341-a", "mode": "survey", "mpcCode": "802", "time": "2018-01-01T11:22:33.4567", "duration": 120, "center": [255.1667,-29.0079], "width": 2.5, "limit": 19.5, "filter": "r" }
Circular field:
{ "action": "exposed", "mode": "survey", "mpcCode": "802", "time": "2018-01-01T11:22:33.456", "duration": 30, "center": [255.167,-29.008], "fieldDiam": 2.45, "limit": 22, "filter": "zp1" }
Field corners specified with a list of tangent-plane offsets from center:
{ "action": "exposed", "surveyExpName": "Kg101_abc23112233p456", "mode": "survey", "mpcCode": "802", "time": "2018-01-01T11:22:33.456", "duration": 30, "center": [255.167,-29.008], "offsets": [[1.25,-1.25],[-1.25,-1.25],[1.25,1.25],[-1.25,1.25]], "limit": 22, "filter": "r" }
Follow-up of a specific object ("mode": "target", and "desig": "K18A00A"), rectangular field:
{ "action": "exposed", "surveyExpName": "20180101-EX0132", "mode": "target", "mpcCode": "802", "time": "2018-01-01T11:22:33.456", "duration": 300, "center": [255.167,-29.008], "widths": [0.82, 0.64], "desig": "K18A00A", "limit": 23.5 "nonsidereal": true, "filter": "VR" }
Using curl from a shell script:
$ cat json.txt {"action": "exposed", "mode": "survey", "mpcCode": "802", "time": "2018-01-01T11:22:33.234", "center": [11.11,-22.22], "width": 2.2, "limit": 20.5} $ cat submit.sh URL='https://www.minorplanetcenter.net/cgi-bin/pointings/submit' curl -X POST -H "Content-Type: application/json" -d @json.txt $URL $ sh submit.sh {"response": "Inserted new record with ID=3708893"}
From a Python program:
#!/usr/bin/env python3 import http.client import json observation = { "action":"exposed", "mode":"survey", "mpcCode": "802", "time": "2017-02-06T10:00:57.2", "duration": 15.00, "center": [140.1945,20.3632], "width": 2.4, "limit": 20.5, "surveyExpName":"A123xyz006", } jsontxt = json.dumps(observation) headers = {'Content-type': 'application/json'} conn = http.client.HTTPSConnection('www.minorplanetcenter.net') conn.request("POST", "/cgi-bin/pointings/submit", jsontxt, headers) response = conn.getresponse() print (response.status, response.reason, response.read())
You may use the form below to test your JSON. It will perform all validation steps and attempt to insert your "exposure" data into the database but will add an "ignore" flag indicating that it is test data. Do not use this form for real data.