IAU Minor Planet Center

MPC Pointings Database Submissions

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:

  1. Community coordination of NEO follow-up activities;
  2. Internal MPC data processing;
  3. Community pre-covery.

We are interested in collecting two kinds of pointing information:

  1. Pointings at (or as close as possible to) the time of exposure (which we refer to as "exposed" pointings);
  2. A list of scheduled pointings (which we refer to as "queued" pointings).

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.

JSON Field Names

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


JSON Examples

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"
}

Submission Examples

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())



Test Form

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.