Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: added explicit dr2 to urls

The MAST Pan-STARRS catalog API provides an easy-to-use cross-match capability for Pan-STARRS.  This page shows examples using curl and Python.

Table of Contents

Cross-matches using the catalog search form

The MAST Pan-STARRS catalog search interface includes a cross-match capability.  This requires several steps:

...

Doing this for a single source list is simple, but it can be tedious if you need to do it more than once. 

Curl example

The catalogs API can be used to do this same query with a single curl command.  Here is a sample command that cross-matches the PS1 DR2 catalog with a list of positions in the file sn2005.csv:

Code Block
languagebash
titlecurl example
curl -F radius=0.000833 -F 'file=@sn2005.csv' \
	-X POST https://catalogs.mast.stsci.edu/api/v0.1/panstarrs/dr2/mean/crossmatch/upload.csv > sn2005.ps1.csv

...

Other curl command options may also be useful (e.g., --compressed to allow the file to be compressed to speed the data transfer.) 

Python example

A similar approach can be used with other tools that allow uploading files in POST commands.  For example, here is Python 3 code using the requests module:

Code Block
languagepy
themeConfluence
titlePython requests example
import requests
r = 0.000833			# radius in degrees
filename = 'sn2005.csv'
url = 'https://catalogs.mast.stsci.edu/api/v0.1/panstarrs/dr2/mean/crossmatch/upload.csv'

r = requests.post(url, params=dict(radius=r), files=dict(file=open(filename,'rb')))
print(r.text, end='')	# print output without trailing newline

...