API to access CDS cross-match service

Juande Santander Vela jdsant at iaa.es
Mon Feb 18 05:57:17 PST 2013


Thanks to both of you, Thomas, François-Xavier.

Is there in the API a that allows you to learn the column names for the large catalogues? 

If I use the crossmatch web tool (http://cdsxmatch.u-strasbg.fr/xmatch) with a given (for instance, my own) catalogue and a large one, I can get the columns in the large one, but it is quite slow… so it would be great if you could provide an API for the large catalogues, or a small documentation site for those.

Best regards, and thanks again!

El 01/02/2013, a las 04:08, Thomas Boch <thomas.boch at astro.unistra.fr> escribió:

> Dear Juande,
> 
> Options "colRA[12]" and "colDec[12]" are compulsory if you perform a xmatch with an uploaded file or a URL pointing to a table.
> For VizieR tables, the columns RAJ2000 and DEJ2000 (computed by VizieR) are used and cannot be changed (a matter of indexation of large tables).
> Although we could simply ignore "colRA[12]" and "colDec[12]" options with VizieR tables, we prefer to generated an error, preventing the user from obtaining an unexpected result.
> So you will have to remove options "colRA[12]" from "xmatchParamDict".
> We will improve the documentation and the error message for this case.
> 
> Another difficulty is that, so far, the names of the columns for large VizieR tables in the xmatch service differ from the one in VizieR (which I realize is really not user-friendly and will be changed).
> Finally, the columns currently available in the service are limited to the ones selected by default in VizieR.
> 
> The following Python code should perform what you expect:
> 
> import requests
> 
> baseXmatchUrl = "http://cdsxmatch.u-strasbg.fr/xmatch/api/v1/sync"
> xmatchParamsDict = {
>   'REQUEST': 'xmatch',
>   'RESPONSEFORMAT': 'votable',           # votable, json, csv, or tsv
>   'cat1': 'vizier:II/306/sdss8',         # SDSS DR8
>   'cat2': 'vizier:J/A+A/411/391/table1', # AMIGA revised positions
>   # columns from cat1 to keep
>   'cols1': 'ra,dec,objID',
>   'cols2': 'RAJ2000,DEJ2000,CIG',        # columns from cat2 to keep
>   'distMaxArcsec': 30.0,                 # matching tolerance (arcsecs)
>   'selection': 'best'                    # either "all" or "best" match(es)
> }
> 
> xmatchQuery = requests.post(
>   url=baseXmatchUrl,
>   data=xmatchParamsDict
> )
> 
> print xmatchQuery.text
> 
> Thank you for your feedback, it brings to light the points we have to improve.
> Cheers,
> 
> Thomas & François-Xavier
> 
> Le 30/01/13 21:07, Juande Santander Vela a écrit :
>> Dear Thomas, thanks for the service!
>> 
>> I'm trying to see if I can crossmatch with the AMIGA catalogue already in VizieR, with the following Python code:
>> 
>> import requests
>> 
>> baseXmatchUrl = "http://cdsxmatch.u-strasbg.fr/xmatch/api/v1/sync"
>> xmatchParamsDict = {
>>   'REQUEST': 'xmatch',
>>   'RESPONSEFORMAT': 'votable',           # votable, json, csv, or tsv
>>   'cat1': 'vizier:II/306/sdss8',         # SDSS DR8
>>   'cat2': 'vizier:J/A+A/411/391/table1', # AMIGA revised positions
>>   'colRA1':  'RAJ2000',                  # RA and
>>   'colDec1': 'DEJ2000',                  # Dec columns for cat1,
>>   'colRA2':  'RAJ2000',                  # RA and 
>>   'colDec2': 'DEJ2000',                  # Dec columns for cat2
>>   # columns from cat1 to keep
>>   'cols1': 'RAJ2000,DEJ2000,objID,SpObjID',
>>   'cols2': 'RAJ2000,DEJ2000,CIG',        # columns from cat2 to keep
>>   'distMaxArcsec': 30.0,                 # matching tolerance (arcsecs)
>>   'selection': 'best'                    # either "all" or "best" match(es)
>> }
>> 
>> xmatchQuery = requests.post(
>>   url=baseXmatchUrl,
>>   data=xmatchParamsDict
>> )
>> 
>> print xmatchQuery.text
>> 
>> and the error I get is:
>> 
>> <INFO name="QUERY_STATUS" value="ERROR">
>> 
>>                  Message: colRA and colDec not compatible with VizieR catalogs!
>> 
>>                  Trace:
>> java.lang.Exception: colRA and colDec not compatible with VizieR catalogs!
>> 
>>                 at cds.xmatch.servlet.SyncXMatch.getXMatchDataSet(SyncXMatch.java:297)
>> 
>>                 at cds.xmatch.servlet.SyncXMatch.exec(SyncXMatch.java:587)
>> 
>>                 at cds.xmatch.servlet.SyncXMatch.doPost(SyncXMatch.java:398)
>> 
>>                 at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
>> 
>>                 at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
>> 
>>                 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
>> 
>>                 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>> 
>>                 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
>> 
>>                 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
>> 
>>                 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
>> 
>>                 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
>> 
>>                 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
>> 
>>                 at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
>> 
>>                 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>> 
>>                 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
>> 
>>                 at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:301)
>> 
>>                 at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:183)
>> 
>>                 at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:169)
>> 
>>                 at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
>> 
>>                 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>> 
>>                 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>> 
>>                 at java.lang.Thread.run(Thread.java:722)
>> </INFO>
>> 
>> It is not clear whose table is at fault, but I'd guess is the vizier:J/A+A/411/391/table1 , which as h:m:s RA and d:m:s Dec. Is that a current limitation of the API? Thanks!
>> 
>> El 30/01/2013, a las 11:11, Thomas Boch <thomas.boch at astro.unistra.fr> escribió:
>> 
>>> Dear all,
>>> 
>>> The CDS has released today the first version of an API allowing one to programmatically access its cross-match service. Through HTTP calls, any script or program can submit a list of positions (up to 2 million positions) and look for counterparts in one of the 10,000+ VizieR tables. The result can be retrieved in different formats, including VOTable.
>>> 
>>> Full documentation is available at http://cdsxmatch.u-strasbg.fr/xmatch/doc/cross-match-API.html , along with some usage examples in several languages (shell script, Python, Ruby, Java).
>>> Your comments, questions or feedback are welcome and can be sent to cds-question at unistra.fr
>>> 
>>> Cheers,
>>> Thomas
>> 
>> --
>> Juande Santander Vela
>> VIA-SKA Project Manager
>> Instituto de Astrofísica de Andalucía (IAA-CSIC)
>> Glorieta de la Astronomía s/n, E-18008, Granada, Spain
>> 
>> Felix Klein: Todo el mundo sabe lo que es una curva, hasta que estudia suficientes matemáticas como para confundirse con la innumerable cantidad de excepciones posibles.
>> 
> 
> 
> -- 
> Thomas Boch
> Ingénieur de Recherche
> 
>   CDS/Observatoire Astronomique   Phone  : 33 (0)3 68 85 24 42
>   11, rue de l'Universite         Fax    : 33 (0)3 68 85 24 17
>   F-67000 Strasbourg              Email  : thomas.boch at astro.unistra.fr
>   France                          http://cdsweb.u-strasbg.fr/~boch 

--
Juande Santander Vela
VIA-SKA Project Manager
Instituto de Astrofísica de Andalucía (IAA-CSIC)
Glorieta de la Astronomía s/n, E-18008, Granada, Spain

David Riesman: Estudia las frases que parecen ciertas, y ponlas en duda.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ivoa.net/pipermail/apps/attachments/20130218/8d9e970c/attachment-0001.html>


More information about the apps mailing list