This page was created by the IDL library routine
mk_html_help. For more information on
this routine, refer to the IDL Online Help Navigator
or type:
? mk_html_help
at the IDL command line prompt.
Last modified: Wed Feb 23 10:25:57 2005.
Project : VOlib (CTIO)
NAME:
CALL_REGISTRY
CATEGORY:
Utility
PURPOSE:
To make queries to the NVO Registry Services.
Specifically, we call the JHU/STSci NVO Registry
(http://nvo.stsci.edu/voregistry/index.aspx)
As of the current version, a user may search
the registry for a given KEYWORD in any of 7
categories: Title, ShortName, Subject, Type,
Description, ServiceType, and Identifier.
Multiple KEYWORD searches are not available.
However, the use may specify a ServiceType
(Cone, SIAP, SkyNode).
CALLING SQUENCE:
IDL> call_registry,str=str1,'parallax' [,/cone,/siap,/skynode]
INPUTS:
INPUT STING = keyword to be searched for in the registry
OUTPUS:
str: a structure containing the registry info. Type
IDL> help, /str, str
to find out the name of the columns returned.
Basically, all FIELD names (or IDs) are given data columns
plus the first column which is entitled CREATED and is
a string of the data the structure was created. If only
one tag exists in your structure, the VOT was empty.
KEYWORD PARAMETERS:
/CONE specifies that you want only cone services
/SIAP specifies that you want only siap services
/SKYNODE specifies that you want only cone services
DEPENDENCIES:
The VOlib IDL/Java class libraries (included with VOlib).
MODIFCATION HISTROY:
Written: 2/04/05 Christopher J. Miller (NOAO/CTIO)
Contact : cmiller@noao.edu
KNOWN ISSUES:
The registry calls require registries to have their
information properly filled out as well as to use some
standardized methods. For instance, while there is only
one CONE type service in the JHU/STSci Registry, there
are three SIAPs (SIAP, SIAP/ARCHIVE, SIAP/CUTOUT). So a
simple search on all SIAP servers might miss the ARCHIVE
and CUTOUT versions.
(See call_registry.pro)
Project : VOlib (CTIO)
NAME:
CONECALL
CATEGORY
Utility
PURPOSE:
To make calls to VO Cone Services. A list of
Cone Servers can be found by querying the VO
Registries (use CALL_REGISTRY).
Specifically, we call any specified Cone Server
and provide the ra,dec, search radius and the
ServiceURL as returned by CALL_REGISTRY.
Defaults are given in the code.
(Cone, SIAP, SkyNode).
The procedure calls the cone service, returns
a VOTable (which will appear in your working
directory), reads in the VOtable using READVOT,
and returns the structure.
CALLING SEQUENCE:
IDL> conecall, str=str1, url=url, ra,dec,sr [,/save]
INPUTS:
INPUT url = string of the URL for the Cone Service
The best way to get this string is by
using call_registry specifing a Cone
Service.
ra,dec = coordinates
sr = search radius in degrees(? check this)
OUTPUTS:
str: a structure containing the data from the
VOtable returned by the cone service.
Type: IDL> help, /str, str
to find out the name of the columns returned.
KEYWORD PARAMETERS:
/SAVE: save the file downloaded from the ConeServer
to your current working directory. If the
name contains bad characters (like spaces
or whatever), the save function will not
rename the "download.xml" generic name to
a more meaningful name based on the query.
/REMEDIATE: Attempts to fix the downloaded XML.
DEPENDENCIES:
READVOT
MODIFCATION HISTORY
Written: 2/04/05 Christopher J. Miller (NOAO/CTIO)
Contact : cmiller@noao.edu
EXAMPLE CALLS:
conecall,str=str, url = 'http://heasarc.gsfc.nasa.gov/cgi-bin/vo/cone/coneGet.pl?table=bsc5p', 180,1,10
conecall,str=str, url ='http://skyserver.sdss.org/vo/dr2cone/sdssConeSearch.asmx/ConeSearch?', 180,1,0.01
conecall,str=str, url ='http://archive.stsci.edu/fuse/search.php?', 180,1,10
conecall,str=str, url ='http://chart.stsci.edu/GSCVO/GSC1VO.jsp?', 180,1,1
KNOWN ISSUES:
The SKYVIEW Coneserver doesnt seem to work (02/23/05). HEASARC might be the replacement?
(See conecall.pro)
PROJECT : VOlib (CTIO)
NAME:
READVOT
CATEGORY:
Utility
PURPOSE:
To read in VOTables into structures. This utility is not fast,
especially since so much parsing is done. I'm sure there must
be a better way to use the Validation_Mode. Regardless, the
VALIDATION_MODE is defaulted to 0 (none). This means that
you VOTable and the DTD (Data Table Definition) must be valid.
Technically, this utility should work fine with Schema Definition
(XSD), but the VOTable-1.1.xsd doesn't seem to work (1.0 is an
invalid schema). So please use the VOTable.dtd.
The top of your VOTable document should look something like this:
This version of the code offers a REMEDIATION technique
which re-writes the VOTable to be valid.
Example VO Tables which are successfully read in are provided
in the VOlib distribution DATA directory.
CALLING SEQUENCE:
IDL> readvot, 'tsObj-000756-6-44-0367.vot', str
INPUTS:
INPUT = filename (string)
OPTIONAL INPUTS:
TABLE = table number from the VO Table. Defaults to 1.
OUTPUTS:
str: VOTable as a structure.
KEYWORD PARAMETERS:
VALIDATE = 1 (if found) or 2 (strict)
/REMEDIATE try to fix the VOT table by making
sure it has a !DOCTYPE and specifies
the VOTable.dtd
DEPENDENCIES:
match
str2arr
add_tag
remove_tags
rtag_names
concat_structs
delvarx
get_date
match
deriv_arr
daycnv
combine_structs
copy_struct
MODIFICATION HISTORY:
Written: 2/04/05 Christopher J. Miller (NOAO/CTIO)
Contact : cmiller@noao.edu
EXAMPLE:
readvot, 'votable.xml',str
KNOWN ISSUES:
Some astronomical data contains the "&" symbol, which is XML
is apparently a reserved charachter for an ENTITY. The IDL
XML reader seems to have trouble with this and will fail.
The XMM SIAP service produces XML with "&"s in it.
Also, to turn field names into structure tag names, invalid
IDL characters cause problems. The current version of the
code tries to weed most of these out.
I dont know how to make structures have multiple tables
(outside of a LIST). So currently, the code tries to
detect multiple tables, but only reads the first or the
otherwise specified table.
Many VOT headers contain array(*) as a size. This makes
creating the proper structure size difficult. Especially
for strings where it is difficult to figure out the separator
character.
Type conversions sometimes show up as warnings from failures.
(See readvot.pro)
PROJECT : VOlib (CTIO)
NAME:
SIAPCALL
CATEGORY:
Utility
PURPOSE:
To make calls to VO Siap Services. A list of
SIAP Servers can be found by querying the VO
Registries (use CALL_REGISTRY).
Specifically, we call any specified SIAP Server
and provide the ra,dec, search radius and the
ServiceURL as returned by CALL_REGISTRY.
Defaults are given in the code.
(Cone, SIAP, SkyNode).
The procedure calls the cone service, returns
an image as a structure.
CALLING SEQUENCE:
IDL> siapcall, str=str, url=url, ra,dec,sr [,/save]
INPUTS:
url = The SIAP Server in string format.
ra,dec = coordinates
sr = search radius in degrees(? check this)
url = string of SIAP server
Type: IDL> help, /str, str1
to find out the name of the columns returned.
OPTIONAL INPUTS:
root = image rootname specified by the user.
OUTPUTS:
images are downloaded to your working directory.
Use MRDFITS to read in FITs or read_jpeg to read
in a JPEG.
str1 = structure of image metadata
KEYWORD PARAMETERS:
/SAVE: save the metadata file downloaded from the SiapServer
to your current working directory. If the
name contains bad characters (like spaces
or whatever), the save function will not
rename the "download.xml" generic name to
a more meaningful name based on the query.
/METADATA: Only get the image header. No downloads.
/REDMEDIATE: Try and fix the VOTable of the metadata
DEPENDENCIES:
READVOT
MODIFICATION HISTORY:
Written: 2/04/05 Christopher J. Miller (NOAO/CTIO)
Contact : cmiller@noao.edu
EXAMPLES:
siapcall, str=str, 217.5,35.0, 0.16, url="http://irsa.ipac.caltech.edu/cgi-bin/2MASS/IM/nph-im_sia?type=ql&ds=asky", root='2mass'
siapcall, str=str, url='http://xsa.vilspa.esa.es:8080/aio/jsp/siap.jsp', 34.26, -5, 0.16,root='xmm'
siapcall, str=str2, 217.5,35.0, 0.16, url="http://archive.noao.edu/nvo/sim/voquery.php", root='ndwfs'
siapcall, str=str2, 180,1.,0.1, url = "http://skyserver.sdss.org/vo/DR2SIAP/SIAP.aspx?bandpass=g&format=image/fits&", root='sdss'
siapcall, str=str2, 180,1.,0.1, url = "http://skyserver.sdss.org/vo/DR2SIAP/SIAP.aspx?bandpass=g&format=image/jpeg&", root='sdss'
siapcall, str=str, url="http://archive.ast.cam.ac.uk/cgi-bin/wfs-siap/queryImage", 340,1,0.1,root='intwfs'
KNOWN ISSUES:
Obviously, the SIAP server must be functioning for the code
to work. The current version lacks a graceful exit strategy
for server failures.
(See siapcall.pro)
PROJECT : VOlib (CTIO)
NAME:
SKYCLIENT
CATEGORY:
Utility
PURPOSE:
To make queries to the NVOs OpenSkyQuery (OSQ)
dataservice (www.openskyquery.net). The OSQ
runs a web service and this IDL procedure uses
a number of java classes that can talk directly
with the OSQ. The OSQ takes an ADQL formatted
query and returns data in a VOTable. SKYCLIENT
automatically parses that VOTable into an IDL
structure. ADQL is like SQL in that a SELECT,
FROM and WHERE must be specified. ADQL also allows
astronomy specific keywords (like REGION).
To make efficient use of SKYCLIENT (or OSQ), one
must know the datasets being queried. For instance
in Query #4 in MAKE_ADQL, we return o.*, which is
all of the data columns of the NOAO Deep Wide Field
Survey (NDWFS). However, to specify the WHERE
clause, one must know what those columns are. Also,
it helps to know where on the sky a dataset lives.
We provide a number of example queries in the
included MAKE_ADQL.pro query constructor. Please
add and/or edit that file to make your own queries.
One technique to get comfortable with ADQL, is to
use the OSQ web interface to build your queries
and them simply copy them into MAKE_ADQL.pro.
CALLING SEQUENCE:
IDL> skyclient, str=str, ra,dec,sr,chisq [,query]
INPUTS:
ra, dec - in decimal degrees.
sr - the search radius in arcminutes
chisq - the cross-match chi-square for
cross-matching catalogs (only needed
if more than one catalog is queried).
DEFAULTs are given in MAKE_ADQL.PRO
OPTIONAL INPUTS:
query - A string containing the ADQL query
OUTPUTS:
str: a structure containing the data. Type
IDL> help, /str, str
to find out the name of the colmnes returned.
KEYWORD PARAMETERS:
DEPENDENCIES:
MAKE_ADQL.PRO which creates the query string.
The VOlib IDL/Java class libraries (included with VOlib).
MODIFICATION HISTORY:
Written: 2/04/05 Christopher J. Miller (NOAO/CTIO)
Contact : cmiller@noao.edu
EXAMPLES:
skyclient, str=strndwfs, qry = " SELECT o.* FROM NDWFS:photoprimary o WHERE o.mag_iso < 19.0 AND Region('Circle J2000 217.500 35.000 10')"
KNOWN ISSUES:
The current version has some memory problems. Large
calls seems to fail, even with the JAVA memory increased
to a proper value. Also, repeated calls tend to fail after
so many calls (~200 or so).
(See skyclient.pro)