aboutsummaryrefslogtreecommitdiff
path: root/vendor/voclient/doc/OLD/vodata.man
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/voclient/doc/OLD/vodata.man')
-rw-r--r--vendor/voclient/doc/OLD/vodata.man986
1 files changed, 986 insertions, 0 deletions
diff --git a/vendor/voclient/doc/OLD/vodata.man b/vendor/voclient/doc/OLD/vodata.man
new file mode 100644
index 00000000..2f27f606
--- /dev/null
+++ b/vendor/voclient/doc/OLD/vodata.man
@@ -0,0 +1,986 @@
+.\" @(#)vodata.1 1.0 June-07 MJF
+.TH VODATA 1 "July 2007" "NVO VO-CLI Project"
+.SH NAME
+vodata \- query and access VO data services
+.SH SYNOPSIS
+\fBvodata\fP [\fI<flags>\fP] [ <\fIresource\fP> [[ <\fIobjname\fP> [ <\fIsr\fP> ]]] ]
+
+\fBvodata\fP [\fI<flags>\fP] [ <\fIresource\fP> [[ <\fIra\fP> <\fIdec\fP> [ <\fIsr\fP> ]]] ]
+
+\fBvodata\fP [\fI<flags>\fP] [ <\fIurl\fP> ]
+
+.SH OPTIONS
+The \fIvodata\fP task accepts the following options:
+.TP 8
+.B \-h,\--help
+Print a help summary to the terminal and exit. No processing is done
+following this flag.
+.TP 8
+.B \-v,\--verbose
+Verbose output. The output will be more verbose than normal but exactly
+what is printed depends on whether other flags are enabled to changed the
+basic task behavior.
+.TP 8
+.B \--vverbose
+Very-verbose output. Even more output.
+
+.TP 0
+The following flags control the major behavior of the task, i.e. the type
+of output to present.
+.TP 8
+.B \-a, --all
+Perform an action based on all available data. When used as part of a
+data query, this flag causes the <\fIresource\fP> argument to be used in
+a substring match of Directory \fIShortName\fR or \fIIdentifier\fR fields
+to create the actual list of resources to be queried. If the \fIShortName\fP
+of a \fITABULARSKYSERVICE\fP from Vizier is given, the <\fIresource\fP>
+will typically expand to include all tables associated with the paper,
+and providing a means to access all of these tables from a single query.
+.TP 8
+.B \-c, --count
+Print only a count of the matching records found and do not save any
+results. The standard output for the task is to echo some of the input
+parameters and print a table of results showing progress and the number
+of matching records. If this flag is set, the output written to the
+screen will be the same, however the data will not be saved locally.
+.TP 8
+.B \-g, --get
+Get the data referenced by the results of a data query. This typically
+only applies to Simple Image Access service in which the result of a
+query include a column of "\fIaccess references\fP" to the actual data
+that must be resolved separately. Setting this flag will cause all data
+references to be resolved by the task once all of the data queries have
+been completed.
+
+Access references are appended to a master "access list" as each query
+completes. In general the order in which these are retrieved cannot be
+guaranteed. Data downloads can be done in parallel by setting the number
+of concurrent max downloads using the \fI--maxdownloads=<N>\fP flag, the
+default is to download one file at a time. If this flag is followed
+with a comma-delimited list of numbers, only those rows in the result
+table will be accessed.
+.TP 8
+.B \-m, --meta
+Print only the column metadata for the named services. The output will be
+a list of the columns return by a data query to the service, but will not
+save the actual data. A default position and search size will be used for
+the query: In the case of Cone services a negative size is used, for SIAP
+services the FORMAT=METADATA flag is used in the query, and for tabular
+Vizier services the entire table is accessed. Compliant VO services will
+respond quickly with only the column metadata, tabular services may respond
+more slowly due to the need to transfer the data. Adding the \fI-v\fP or
+\fI--verbose-<N>\fP options will increment the VERBOSE level of services
+and may return more metadata if available, to access these extra columns
+the same level of verbosity must be set during a data query.
+
+.TP 0
+The following flags specify data query options:
+.TP 8
+.B \-b <bpass> or --bandpass=<bpass>
+Constrain the query by bandpass. The argument following the flag must
+be one of the allowed bandpass specification string. Setting the flag
+will constrain any Directory search used to only those resources where
+the spectral coverage matches the given bandpass. Aliases for bandpasses
+are allowed, see below.
+.TP 8
+.B \-i <file>
+Specify a file containing the remaining positional command-line input. The
+command line is thought of as having the following components: the options
+beginning with a '-' character and their associated arguments, one or more
+<\fIresource\fP> names giving the service to invoke, an object name or
+position, and an optional query size. The '-i' flag allows everything
+except the options to be specified from a file (or the standard input if
+the '-' argument is used), creating in effect a means to interactively
+specify the e.g. resource/object without restarting the task, or to take
+these values from a file or input stream to create multiple independent
+queries. If either the resource or object name/position has already been
+specified they do not need to be specified again.
+
+The format for the command file is the same as for the <\fIresource\fP>,
+<\fIobjname\fP>, <\fIra\fP> <\fIdec\fP>, <\fIurl\fP>, or <\fIsr\fP> described
+below and as they would appear on the command line, all input lines are
+terminated with a newline, the file or input stream is terminated with an
+EOF. An example of how this
+may be used would be the using a command file such as:
+
+.nf
+ 2mass-psc m31,m51 0.5
+ chandra ngc4258,m51 0.25
+.fi
+
+The task will process this file as if the two lines had been invoked as
+separate commands. The advantage is that this input can be created
+dynamically by another task, and we can group resource and object lists
+into independent queries. See the \fIExamples\fP below for other uses.
+.TP 8
+.B \-o <obj|file> or --object=<obj|file>
+Specify the object name to use in a query. Object names are resolved
+automatically to J2000 equatorial coordinates. The argument to this
+flag may be the name of a single object, a comma-delimited list of
+object names, the name of a file containing object names, or the
+reserved value '-'.
+
+The reserved value '-' tells the task to take this information from the
+standard input, processing doesn't begin until the object list has been
+fully read.
+.TP 8
+.B \-p <pos|file> or --pos=<pos|file>
+Specify the position to use in a query. Positions are composed of two
+values assumed to be equatorial J2000 coordinates.
+Values specified as a floating-point decimal are assumed to be in units
+of degrees, sexagesimal values may also be used and are assumed to be
+equatorial RA and Dec. If the \fI<pos>\fP arg is used only one set of
+coordinates may be given on the command-line and must be delimited by a comma,
+however the argument may also be the name of a file containing coordinates
+to be processed, or the reserved value '-'.
+
+The reserved value '-' tells the task to take this information from the
+standard input, processing doesn't begin until the position list has been
+fully read.
+.TP 8
+.B \-r <radius> or --sr=<radius>[<units>]
+Set the search radius. The default search size is 0.1 degrees unless
+specified on the command-line and argument are assumed to be
+in degrees, setting the size in other units is permitted using the
+\fI-sr\fP flag. To specify the <units> for the \fI--sr\fP flag, the
+argument should be suffixed by an 's' to specify arcseconds, an 'm' to set
+arcminutes, and 'd' to set the size in degrees. By default, all
+queries will be done using the same search size. Variable search
+sizes accomplished using the '-i' flag described above.
+.TP 8
+.B \-s <service> or --svc=<service>
+Specify the service or url to invoke. In most cases the service, i.e.
+the <\fIresource\fP> argument will be taken from the commandline based on
+it's position. The exception is when the user want to specify a service
+URL directly (e.g. to test a local service) because it isn't known to the
+Directory, or to use the reserved values '-' or 'any'. Use of '-' tells
+the task to read the service list from the standard input; use of
+the word 'any' is a means to telling the task to dynamically create the
+resource list from other options (e.g. "any image service" by using the
+'-t image' option).
+.TP 8
+.B \-t <type> or --type=<type>
+Constrain the query by service type. The list of allowed service types
+is given below. The actual string used in a Directory resource record
+may be used if known, otherwise common use is to specify 'image' to
+access Simple Image Access (SIAP) services, 'catalog' for Cone searches,
+or 'table' for Vizier tabular data.
+
+.TP 0
+The following flags are specific to the writing of HTML or KML files:
+.TP 8
+.B \--webnoborder
+Disable the shaded border drawn around an HTML table.
+.TP 8
+.B \--webnocolor
+Disable the coloring for an HTML table.
+.TP 8
+.B \--webnoheader
+Disable the HTML page header written to the output file.
+
+.TP 8
+.B \--kmlmax=<N>
+Specify the max number of placemarks to write. The default is 50, ordering
+is not guaranteed. Setting the sampling will automatically increase the
+maximum number of results returned.
+.TP 8
+.B \--kmlsample=<N>
+Specify the sampling of the result to be every \fI<N>\fP rows. The
+default is to write all rows to the output file. If set, this value will
+be used as a multiplier for the max number of placemarks automatically.
+.TP 8
+.B \--kmlgroup=object
+Group the results of a multi-resource/multi-object query into a single
+hierarchical KML file grouped by the object or position index (default);
+.TP 8
+.B \--kmlgroup=service
+Group the results of a multi-resource/multi-object query into a single
+hierarchical KML file grouped by the service name.
+.TP 8
+.B \--kmlgroup=both
+Groups the results of a multi-resource/multi-object query into a single
+hierarchical KML file. The two top-level folders will be 'By Source' and
+'By Object' indicating the grouping of the results.
+.TP 8
+.B \--kmlnolabel
+Disable the labelling of placemarks. By default, the ID_MAIN ucd for
+each point will be used as a label.
+.TP 8
+.B \--kmlnoregion
+Disable the drawing of the region bounding box in a KML file.
+.TP 8
+.B \--kmlnoverbose
+Disable the writing of verbose information to the KML placemarks. By
+default, each placemark will contain all information from that result.
+
+
+.TP 0
+Input Options:
+.TP 8
+.B \--cols=\fIcol_str\fP
+Use columns specified in \fIcol_str\fP to read the \fIra\fP, \fIdec\fP
+and \fIid\fP values respectively. \fIcol_str\fP is a comma-delimited
+list where the \fIid\fP column is optional and will not be used if not
+present as the third element in the list. Other columns may be given as
+a single integer or as a range of the form \fIstart\fP-\fIend\fP indicating
+the values in the \fIstart\fP thru \fIend\fP columns should be combined
+into a single value.
+.TP 8
+.B \-d, --delim=\fIdelim\fP
+Use the \fIdelim\fP as the input table delimiter. By default, a space, tab,
+comma, vertical bar ('|'), or semicolon may be used as a delimiter for the
+input table. If no explicit delimiter is specified, the first occurance of
+any one of these will be used. The reserved words \fIcomma\fP,
+\fIspace\fP, \fItab\fP, or \fIbar\fP may be used in place of a specific
+character.
+
+<DT><B>--ecols=</B><I>col_str</I>
+.TP 8
+.B \--ecols=\fIcol_str\fP
+Use the explicit columns specified in \fIcol_str\fP in the input table. This
+option should only be used with formatted text tables where the desired
+values will always be in the same columns of the file. Note that 'column' in
+this case refers to a specific character column in a text file. Columns
+may be a single integer or a range, and is a comma-delimited list as with
+the \fI--cols\fP option.
+.TP 8
+.B \-f, --force
+Force the input table to be used even in the number of columns varies on
+each line. The assumption here is that any variation (e.g empty columns)
+occurs after the \fIra\fP, \fIdec\fP and \fIid\fP columns in the table.
+.TP 8
+.B \--hskip=\fI<N>\fP
+Skip \fI<N>\fP header lines in the input file. This option is only needed
+when the lines to be skipped do not begin with the normal '#' comment
+character.
+.TP 8
+.B \--nlines=\fI<N>\fP
+Use only \fI<N>\fP lines of the input table.
+.TP 8
+.B \--sample=\fI<N>\fP
+Sample the table every \fI<N>\fP lines. Setting the sample will not affect
+the \fInlines\fP used.
+
+
+.TP 0
+Output Options:
+.TP 8
+.B \-1,--one
+Save the results into a single file regardless of format. This option will
+be set automatically if the output is being written to the standard output.
+If the output format is something other than KML or XML, all results will
+be concatenated into individual files of the form
+"<svc>_<pid>.<extn>" so that each file will contain the object results from
+each service where the columns will be the same.
+.TP 8
+.B \-A,--ascii
+Save the results as a whitespace delimited ascii table. If an output file
+is created it will have a ".txt" extension appended automatically.
+.TP 8
+.B \-C,--csv
+Save the results as a comma-separated-value (CSV) table. If an output file
+is created it will have a ".csv" extension appended automatically.
+.TP 8
+.B \-H,--html
+Save the results as an HTML table. If an output file
+is created it will have a ".html" extension appended automatically. See
+above for the \fI--webnoheader\fP option that can be used to disable the HTML page
+header.
+.TP 8
+.B \-I,--inventory
+Query the \fIInventory Service\fP rather than the data services directly.
+This will return simply a count of the results found, but when presented
+with a table of resources and sources can be used to do a simple
+crossmatch of the sources found in the catalogs available through the
+service.
+.TP 8
+.B \-K,--KML
+Save the results as a Google Earth/Sky KML placemark file. If an output file
+is created it will have a ".kml" extension appended automatically. See
+above for additional options that control the content of the file.
+.TP 8
+.B \-R, \-V or --raw, --votable
+Save the results as a raw VOTable. If an output file is created it will
+have a ".vot" extension appended automatically.
+.TP 8
+.B \-T,--tsv
+Save the results as a tab-separated-value (TSV) table. If an output file
+is created it will have a ".tsv" extension appended automatically.
+.TP 8
+.B \-O <root> or --output=<root>
+Set the root of the output name. The reserved value '-' tells the task to
+write to the standard output.
+.TP 8
+.B \-X,--xml
+Save the results wrapped XML file of the raw VOTable results. If an output
+file is created it will have a ".xml" extension appended automatically. The
+XML document will gather all the individual VOTable result files to a single
+XML document, where each entry is wrapped by the element \fI<VOTABLE_ENTRY>\fP.
+There will be three attributes: \fIsvc\fP will be the data service name,
+\fIobj\fP will be the object name (if supplied), and the \fIindex\fP attribute
+giving an index into the results. This index list is created by looping over
+each service, and for each service, looping over the object/position list.
+.TP 8
+.B \-e,--extract
+Extract positional and access information to extra output files. By
+default both files will be written, using \fI--extract=pos\fP will write only the
+positional information file, using \fI--extract=urls\fP will write the access URLs only.
+Access URLs are written one-per-line to a file with the same root name as
+the main output but with a ".urls" extension; Positional information is
+written to a file with a ".pos" extension and will contain three columns
+made up of the identifier (the column with the \fIID_MAIN\fP ucd), RA and
+Dec (the \fIPOS_EQ_RA_MAIN\fP and \fIPOS_EQ_DEC_MAIN\fP ucd columns
+respectively). If these ucds appear more than once in a table, the first
+occurrance will be used.
+
+Additionally, the \fI--extract=headers\fP and \fI--extract=kml\fP flags may be to to specify the
+HTML and KML output be written to files with ".html" and ".kml"
+extensions respectively. The \fI--extract=KML\fP flag will cause multi-resource
+and/or multi-object queries to be collected into a single KML file.
+The format-specific \fI--kml<opt>\fP and \fI--web<opt>\fP flags will apply to these files.
+A \fI--extract=xml\fP flag will force the output format to be raw VOTable and gather
+the results to a single XML document (see the \fI-X\fP option).
+
+Note that the URLs file can be used to later access the data (perhaps
+after sub-selecting from the table based on some criteria) by calling
+the task again using the filename as the only argument.
+.TP 8
+.B \-n,--nosave
+If enabled, this flag tells the task not to save results to local disk.
+Status and result information will continue to be printed to the screen,
+but no data are saved to disk.
+.TP 8
+.B \-q,--quiet
+Quiet mode. Suppress any extraneous output and warning messages.
+.TP 8
+.B \-u,--url
+Force the specified URL to be downloaded.
+
+
+.TP 0
+DAL2 Query Options:
+.TP 8
+.B \--band=\fIband_string\fP
+The spectral bandpass is given in range-list format. For a numerical
+bandpass the units are wavelength in vacuum in units of meters.
+The spectral rest frame may optionally be qualified as either
+\fIsource\fP or \fPobserver\fP, specified as a range-list
+qualifier. Bandpass names are often not useful for spectra (they are
+probably more useful for image or time series data) but there are cases where
+they are useful for spectra, for example for a velocity spectrum of a
+specific emission line.
+.TP 8
+.B \--time=\fItime_string\fP
+The time coverage (epoch) specified in range-list form as defined in section
+8.7.2, in ISO 8601 format. If the time system used is not specified UTC is
+assumed. The value specified may be a single value or an open or closed
+range. If a single value is specified it matches any spectrum for which the
+time coverage includes the specified value. If a two valued range is given, a
+dataset matches if any portion of it overlaps the given temporal region.
+
+
+
+.SH DESCRIPTION
+The \fBvodata\fP task allows a user to query and access VO data for multiple
+resources and objects from a desktop or scripting environment. By design,
+the task interface is meant to provide the following features:
+
+.TP 4
+.B \-
+Resources (i.e. data services) may be referred to using a more familiar
+\fIShortName\fP designation, or an IVO identifier, either of which will be
+resolved to a specific \fIServiceURL\fR internally using the Directory.
+.TP 4
+.B \-
+Object names may be used to specify the location of a data query, the
+position will be resolved internally using the \fISesame\fR web service.
+.TP 4
+.B \-
+Output files may be created in a variety of common formats easily manipulated
+with other desktop tools.
+.TP 4
+.B \-
+Multiple resources and objects shall be queried in parallel when possible to
+optimize the task.
+.TP 4
+.B \-
+Data referenced in a query response should be accessible by the task
+automatically.
+.TP 4
+.B \-
+The command-line interface should be as friendly and as flexible as possible
+to allow the task to be used in multiple ways.
+
+.PP
+The task should quickly become familiar to users and is meant operate in
+concert with the \fBvodirectory\fP and \fBvosesame\fP tasks to allow novice
+users to begin to explore for data resources to be used in the final query.
+Some of the flexibility of the task is shown in the Examples section below.
+Major concepts of the task are detailed below as well.
+
+
+.SS Argument Parsing
+.PP
+The meaning of the various command-line arguments is detailed below:
+
+.TP 8
+.B \fI<resource>\fP
+The \fIShortName\fP or \fIIdentifier\fP of a data resource to be queried, a
+comma-delimited list of either, or the name of a file containing either.
+These names will be resolved to a data service URL using the Directory. The
+\fI-s\fP option may be used to specify a non-registered \fIServiceURL\fP that
+the task may use, however the \fI-t\fP option is then also required to
+specify the type of service.
+.TP 8
+.B \fI<objname>\fP
+The name of an object, a comma-delimited list of object names, or the name of
+a file containing object names. The coordinates of each object will be
+resolved to a position prior to processing using the \fISesame\fR name
+resolver service. An error will be returned if an object name cannot be
+resolved, and that object will be skipped.
+.TP 8
+.B \fI<ra> <dec>\fP
+The J2000 equatorial RA and Dec position to the searched. Values given as
+floating point values are assumed to be in decimal degrees, sexagesimal
+values are assumed to be equatorial RA/Dec positions. Sexagesimal values may
+be of the form \fIhh:mm:ss.s\fP or \fIhh:mm.m\fP for RA, or
+\fIdd:mm:ss.s\fP or \fIdd:mm.m\fP for Dec. Only one coordinate pair may be
+specified on the commandline.
+.TP 8
+.B \fI<sr>\fP
+The search size for the data query specified in decimal degrees. The default
+size of 0.1 degrees will be used if this is not specified on the command line.
+The \fI-rs\fP and
+\fI-rm\fP options may be used specify the size in arc seconds and minutes
+respectively. The \fI-i\fP option may be used to specify command-line input
+options, where each command-line can include a different value for the search
+size, otherwise only one value is allowed.
+.TP 8
+.B \fI<url>\fP
+A single URL, or the name of a file containing URLs listed one per line.
+
+
+.SS Multi-Thread and Multi-Process Data Querying
+.PP
+All data queries require at least one \fIresource\fP and one \fIsource\fP
+to be successful. The \fIresource\fP defines a specific data service to be
+queried, and the \fIsource\fR is either an explicit position on the sky or
+the name of an object that can be resolved to a position. Additional
+parameters to the query are used to specify other options, but in essence
+each data query is translated to a single URL that must be accessed by the
+client task. In a complex query, lists of resource and/or objects create a
+potentially large matrix of queries that must be made (i.e.
+\fIN-services\fP by \fIN-objects\fP in total). Because a large fraction of
+the time spent in waiting for a query to finish is in waiting for the
+server to respond, we are able to run multiple queries simultaneously
+without saturating our network bandwidth in most cases.
+.PP
+The \fBvodata\fP task will parallelize the list of services to be queried
+by running a separate processing \fIthread\fP (i.e. a lightweight process
+running in parallel within the main application) for each of the services
+to be called. This allows queries to different servers to be run in
+parallel, and since these servers will often reside on multiple machines
+the client won't impact any one data provider too badly. In addition,
+the list of objects to be queried at each service will be broken up into
+multiple child processes and called simultaneously. This allows, for
+example, 10 objects to be queried from 3 services (a total of 30 queries)
+simultaneously.
+.PP
+The \fI--maxthreads=<N>mt\fP option can be used to set the max number of threads to be
+created for processing the resource list (the default is 20). If the
+resource list is larger than this value, the list will be processed with no
+more than the max number running at any one time until all resources have
+been queried. Similarly, the \fI--maxprocs=<N>\fP option can be used to set the
+number of child processes to be created to process the object list (the
+default is 10). When setting these values it is important to remember that
+the total number of \fIpotential\fP processes running on your machine will
+be the product of these to values. The default values were empirically found
+to work reasonably well on most modern machines.
+.PP
+Additionally, it is worth considering the potential strain that can be put
+on data providers' machines before changing these settings. The large
+majority of Cone services for example come from a single server at HEASARC
+and overloading the server with hundreds of requests to multiple resources
+it provides may result in a failed request and what would appear to be no
+data. One should consider using the \fI-i\fP flag as a means to query a
+large object list against a resource list such that only the object
+processing is parallelized and the server load is minimized (See the example
+below).
+
+
+.SS Output Filename Generation
+.PP
+The \fI-O\fP option may be used to specify the root part of output files
+created by a data query. However, to guarantee that a multi-service, and/or
+multi-object query doesn't overwrite a single output file, the filename root
+will also include the \fIpid\fP (process ID) of the task that created it.
+For a single service and object query no \fIpid\fP will be used as part of
+the filename. This scheme guarantees unique output files across the various
+processing scenarios, with similar root names for multiple files associated
+with a specific query.
+
+Output tables may be created in a number of formats and will likewise have
+extensions indicating the table type. The \fI-e\fP/\fI--extract\fP option
+may create additional files for each query, and the \fI-g\fP/\fI--get\fP
+option to access data will similarly create additional files. The structure
+of an output filename is:
+
+.nf
+
+ \fI<root>[_<pid>].<extn>\fP
+
+.fi
+The meaning of \fI<pid>\fP and \fI<extn>\fP have been discussed above. If
+the \fI-O\fP option was set then the \fI<root>\fP part of the name will
+simply be the argument given to set the root name. Otherwise, the \fI<root>\fP
+element will be of the form:
+.nf
+
+ \fI<svc>_<type>_<objname>\fP
+ \fI<svc>_<type>_<index>\fP
+
+.fi
+The \fI<svc>\fP is derived from the service name used, the \fI<type>\fP is
+a single-character code to indicate the type of service used ('I' for image,
+'C' for catalog, and 'T' for table). The final element will either be the
+object name or the index in a list of positions of no object was specified.
+
+.SS Verbosity
+.PP
+The \fI-v\fP and \fI-vv\fP options serve a dual purpose: within the task they
+set the level of output verbosity in terms of what is reported during
+processing (Similarly, the \fI-q\fP option can be used to turn off output
+reporting entirely). These flags will however also increase the value of the
+\fBVERBOSE\fP parameter sent to services during a data query. The default
+value is at least 1, with the highest level being 3. Using the \fI-v\fP flag
+sets \fBVERBOSE=2\fP and \fI-vv\fP sets \fBVERBOSE=3\fP.
+.PP
+The VERBOSE level can be important in accessing result columns that may only
+be returned at the highest level. When using the \fI-m\fR
+(or \fI--meta\fR) flag to print
+the column metadata, the verbose options will also affect the results and it
+is important that the same verbosity be set when doing the actual data
+query and access.
+
+.SS Bandpass and Service Type Aliases
+.PP
+The type constraint (\fI-t\fP or \fI--type\fP) accepts only the
+following arguments:
+.nf
+
+ catalog Cone search services
+ image Simple Image Access services
+ spectra Simple Spectral Access services
+ table Vizier services
+ <literal> ResourceType from Directory record
+
+.fi
+.PP
+The bandpass constraint (\fI-b\fP or \fI--bandpass\fP) accepts only
+the following arguments:
+.nf
+
+ Radio Millimeter Infrared (IR)
+ Optical Ultraviolet (UV) X-Ray (xray)
+ Gamma-Ray (GR)
+
+.fi
+Values in parenthese are acceptable aliases. All matches are cases
+insensitive.
+
+
+.SS Range-List Parameters
+.PP
+Some parameters (for example BAND and TIME) may allow a parameter value to be
+specified as a numeric range. Such range-valued parameters use the forward
+slash (\fI/\fP) character as the separator between elements of the
+range specification (as in the ISO 8601 date specification after which this
+convention is patterned). For example, \fI5E-7/8E-7\fP would
+specify a range consisting of all values from 5E-7 to 8E-7, inclusive. If a
+third field is specified it is a step size for traversing the indicated
+range. If a parameter permits a step size the semantics of the step size are
+defined by the specific parameter.
+.PP
+An open range may be specified by omitting either range value. If the first
+value is omitted the range is open toward lower values. If the second value
+is omitted the range is open toward higher values. Omitting both values
+indicates an infinite range which accepts all values. For example,
+\fI/5\fP is an open range which accepts all values less than or
+equal to 5. To specify all values less than 5, \fI/4\fP would be
+used (for an integer valued range). Range values are limited to numeric
+values or ISO dates.
+.PP
+A list may be qualified by appending the character \fI;\fP (semicolon)
+followed by a qualifier string. For example \fI1E-7/3E-6;source\fP could
+specify a spectral bandpass in the rest frame of the source. List and
+range syntax may be combined, e.g., to indicate a list of scalar or
+range-valued parameter values. Such a range list may be ordered or
+unordered, and may contain either numeric or string data. An ordered
+list is one which requires values to be processed in a specified order,
+and to ensure this the range list is sorted or ordered by the service as
+necessary before being used. It is the responsibility of the service to
+sort an ordered range list, hence the client can input ranges or range
+values in any order for an ordered range list and the result will be
+the same. The sequence in which items in an unordered list occur on the
+other hand is significant, as since there is no intrinsic ordering for
+the list which can be enforced by the service, items will be processed
+by the service in the order they are input by the client.
+.PP
+TIME and BAND are typical examples of ordered range lists. Since a dataset
+matches the query if it contains data in any of the specified ranges,
+logically it does not matter in what order the ranges are given, or whether
+the first element of a range is less than the second, or whether ranges
+overlap; the result should be the same in all cases. Hence the range list has
+an intrinsic ordering irrespective of how ranges are input. Unless otherwise
+specified in the definition of a given parameter, range lists are assumed to
+be ordered.
+
+
+
+.SH VOCLIENT DAEMON PROCESSING
+All VO-CLI tasks are built upon the VOClient interface an rely on a
+separate \fIvoclientd\fP process to provide the VO functionality. The
+voclientd task is distributed as part of VO-CLI and will be started
+automatically by each task if it is not already running. If problems are
+encountered, you may want to manually start the voclientd in a separate
+window before running the task so you can monitor the output for error
+messages.
+
+.SH RESOURCE CACHING
+Directory resolution is a common activity of VO-CLI tasks and so results
+will be cached in the $HOME/.voclient/cache/regResolver directory based on
+the search term, service type and bandpass parameters. Defining the
+\fIVOC_NO_CACHE\fP environment variable will cause the task to ignore the
+cache.
+
+.SH EXAMPLES
+
+.TP 4
+1)
+Query the GSC 2.3 catalog for stars a) within the 0.1 degree
+default search size around NGC 1234: b) around all positions
+contained in file 'pos.txt': c) for the list of objects given
+on the command line: d) query a list of services for a list
+of positions: e) print a count of results that would be returned
+from 3 services for each position in a file:
+.nf
+
+ % vodata gsc2.3 ngc1234 (a)
+ % vodata gsc2.3 pos.txt (b)
+ % vodata gsc2.3 m31,m51,m93 (c)
+ % vodata svcs.txt pos.txt (d)
+ % vodata hst,chandra,gsc2.3 pos.txt (e)
+
+.fi
+
+.TP 4
+2)
+Query all (142) image services having data of the subdwarf galaxy
+IC 10, print a count of the results only:
+.nf
+
+ % vodata -c -t image any IC10
+ % vodata --count --type=image any IC10
+
+.fi
+Note that we use the reserved word '\fIany\fP' for the service name and
+constrain by image type. The task will automatically query the Directory to
+create the list of services to be queried.
+
+.TP 4
+3)
+Print a count of X-ray catalog data around Abell2712:
+.nf
+
+ % vodata -c -t catalog -b x-ray any abell2712
+ % vodata --count --type=catalog --bandpass=x-ray any abell2712
+
+.fi
+In this case we constrain both the service type as well as the spectral
+coverage published for the resource in the Directory. We use the reserved
+'\fIany\fP' service name to query multiple services and use the '\fI-c\fP'
+flag to print a count without saving results. The object name is resolved
+to coordinates internally. (Note: this example may take a while to run).
+
+
+.TP 4
+4)
+Print the column metadata returned by the RC3 catalog service:
+.nf
+
+ % vodata --meta rc3 or vodata -m rc3
+
+.fi
+The output will print the result using the default VERBOSE level, adding
+the \fI-v\fP will set the query parameter VERBOSE=2, adding \fI-vv\fP will
+set VERBOSE=3 (to print all available columns). When accessing data the
+same \fI-v\fP flags will be required to retrieve columns at that
+\fIVERBOSE\fP level.
+
+
+.TP 4
+5)
+Use the Directory to query for resources using the search terms
+"cooling flow". Upon examining the output the user notices a
+Vizier paper titled "\fICooling Flows in 207 clusters of Galaxies\fP"
+that looks interesting. Use the \fBvodata\fP task to download all
+tables associated with this paper, save tables in the default
+CSV format:
+.nf
+
+ % vodirectory cooling flow
+ % vodata -O white97 -all J/MNRAS/292/419/
+ % vodata --output=white97 --all J/MNRAS/292/419/
+
+.fi
+All 7 tables will be written to the current directory to files
+having a root name 'white97' (chosen based on the author and
+publication date).
+
+
+.TP 4
+6)
+Find a suitable XMM image service, get a (brief) count of the
+XMM images available for 3c273, and if there aren't too many,
+download the images and save the extracted access URLs:
+.nf
+
+ % vodirectory -rv -t image xmm
+ ShortName ResourceType Title
+ ------------------------------------------------------....
+ XMM-Newton SIAP/ARCHIVE XMM-Newton Archive ....
+
+ % vodata -cq xmm-newton 3c273
+ xmm-newton 27 I XMM-Newton Archive ....
+
+ % vodata --count --quiet xmm-newton 3c273
+ xmm-newton 27 I XMM-Newton Archive ....
+
+ % vodata --get xmm-newton 3c273
+ .... will query and download 27 images.
+
+.fi
+
+.TP 4
+7)
+Query for the images available from 2MASS at a given position,
+extract the positions and service URLs to separate files:
+.nf
+
+ % vodata -e -O 2mass -t image 2mass 12:34:56.7 -23:12:45.2
+ % vodata -e --output=2mass --type=image 2mass 12:34:56.7 -23:12:45.2
+
+.fi
+The query produces files with the root name '2mass', and exten- sions of
+"\fI.csv\fP" (the main response), "\fI.pos\fP" (the extracted pos- itions),
+and "\fI.urls\fP" (the access references). The user inspects the files and
+notices that the references return both FITS and HTML files, but she only
+wants the FITS image date and uses \fBvodata\fP to download only those:
+.nf
+
+ % grep fits 2mass_I_001_15998.urls > images.txt
+ % vodata images.txt
+ or
+ % grep fits 2mass_I_001_15998.urls | vodata -i -
+
+.fi
+In both cases we pass URLs to the task which bypasses the query and directly
+access the images. However, in the first case we process the entire list
+and are able to take advantage of the \fI-maxdownloads=<N>\fR option to
+increase the number of simultaneous downloads. In the second case, the
+\fI-i\fP flag causes the task to interpret each line of the input stream
+as a separate command and so the data are always downloaded one at a time
+(which is the default download behavior anyway).
+
+.TP 4
+8)
+Use \fBvodata\fP as a test client for a locally-installed SIAP service:
+.nf
+
+ % vodata -t image -s http://localhost/siap.pl 180.0 0.0
+ % vodata --type=image --svc=http://localhost/siap.pl 180.0 0.0
+
+.fi
+In this case we force the ServiceURL using the '\fI-s\fP' flag, but since we
+can't do a Directory query to discover what type of service this is, we must
+use the '\fI-t\fP' flag to indicate it is an image service.
+
+
+.TP 4
+9)
+Create a local table containing the Abell catalog. Begin with a
+Directory query to find likely services using the \fBvodirectory\fP task, print
+a verbose description of each resource and page the results with \fIless\fP:
+.nf
+
+ % vodirectory -v -v --type=catalog abell | less
+
+.fi
+The verbose results indicate a number of services with differing
+requirements for what is included. We decide to use the service from
+HEASARC since it contains southern hemisphere data and constraints we are
+interested in. Try an all-sky query to retrieve the entire catalog, use
+the service identifier to be specific about where we want to go:
+.nf
+
+ % vodata -e ivo://nasa.heasarc/abell 0.0 0.0 180.0
+ % vodata --extract ivo://nasa.heasarc/abell 0.0 0.0 180.0
+
+.fi
+We use the '\fI-e\fP' flag to extract the positions to a separate file with
+a "\fI.pos\fP" extension so that we can use these in later queries.
+However, the \fI.pos\fP file additionally contains the ID from the original
+catalog in column 1. Strip this column so we're left with only RA and DEC
+and query for Chandra observations at each position:
+.nf
+
+ % cut -c6- *.pos | vodata ivo://nasa.heasarc/chanmaster -p -
+ % cut -c6- *.pos | vodata ivo://nasa.heasarc/chanmaster --pos=-
+
+.fi
+Here we used the unix '\fIcut\fP' utility to remove the first column and
+pipe the resulting positions to the task, using the '\fI-p -\fP' option to
+indicate positions should be read from stding, and the IVO identifier of
+the Chandra observation master log we also discovered from the Directory.
+
+
+.TP 4
+10)
+Interactively query for a count of Chandra observations of Messier
+objects:
+.nf
+
+ % vodata -cq chandra -i -
+ m31
+ chandra 335 I Chandra X-Ray Observatory Data Archive
+ : : : : :
+
+.fi
+Note that by using the '\fI-i\fP' flag we execute each query as if we'd put
+the object name on the command line. Using the '\fI-o\fP' flag would
+instead read all of the objects from the stdin but then execute the queries
+in parallel following an EOF to terminate the input.
+
+
+.TP 4
+11)
+Use the \fISTILTS\fP task '\fItpipe\fP' to select rows from a VOTable
+of QSOs (made with an earlier query) where the redshift is > 0.2. Output
+only the positions and pipe this to \fBvodata\fP to generate a new query to
+see whether HST has observed any of these objects:
+.nf
+
+ % stilts tpipe ifmt=votable qso_survey.vot \
+ cmd='select "Z > 0.2"' \
+ cmd='keepcols "RA DEC"' | vodata -p - hstpaec
+
+.fi
+Note that we use the '\fI-p -\fP' flag to tell the task to take it's list of
+positions from the piped input. The positions are used to query the HST
+Planned and Archived Exposure Catalog (\fIhstpaec\fP)
+
+
+.TP 4
+12)
+The user has a task called '\fIwcsinfo\fP' that takes a list of images
+and outputs a text table containing the plate center and size in degrees.
+Use this task as part of a query for 2MASS point sources contained in each
+image:
+.nf
+
+ % wcsinfo *.fits | vodata 2mass-psc -i -
+
+.fi
+Here we specify the desired service (\fI2mass-psc\fP) on the commandline as
+usual, and allow the remainder of the args (i.e. the position and search
+size) to be read from the stdin. This allows for variable search sizes but
+processes the positions serially. If the sizes are all the same (say 25
+arcmin), multiple queries can be done simultaneously using just a position
+file, e.g.
+.nf
+
+ % wcsinfo -pos_only *.fits > centers.txt
+ % vodata --sr=25m 2mass-psc centers.txt
+
+.fi
+
+
+
+.TP 4
+13)
+Query a large list of objects against a number of ASCA resources.
+Because the ASCA catalogs are served by the same machine, use the \fI'-i'\fP
+option and a command file to process only each resource sequentially while
+still parallelizing the object lists:
+
+.nf
+ % cat cmds.txt
+ ASCA survey.tbl
+ ASCA\\ GIS survey.tbl
+ ASCA\\ GPS survey.tbl
+ : :
+
+ % vodata -i cmds.txt
+.fi
+.PP
+Note that we've needed to escape the space in the resource name in some
+cases. To avoid this, use of the IVO identifier for each resource is usually
+preferred.
+
+.TP 4
+14)
+Query the VO for GALEX data of M51. Because the \fIShortName\fP GALEX
+is not unique, we must either specify the IVO identifier of a
+specific service to query, or if we're interested in results from all
+supported data services with \fIgalex\fP in the name:
+.nf
+
+ % vodata -a galex M51
+ % vodata --all galex M51
+
+.fi
+The results come from the Cone and SIAP services both called \fIGALEX\fP,
+as well as an additional SIAP service called 'GALEX_Atlas'. Note that the
+service names are case insensitive in either case.
+
+
+.TP 4
+15)
+Process a list of hundreds of positions against the GSC2.3 catalog:
+.nf
+
+ % vodata gsc2.3 positions.txt
+
+.fi
+
+
+.TP 4
+16)
+Process a list of hundreds of positions against the GSC2.3 catalog, assume
+that the input table has a 5 line header of text and three columns
+(id,ra,dec). Note that the \fIcols\fP option requires the optional id
+be specified last:
+.nf
+
+ % vodata --cols=2,3,1 --hskip=5 gsc2.3 positions.txt
+
+.fi
+
+.SH BUGS
+Some services don't repond properly to the metadata query and will print
+a "no attributes found" message.
+
+.SH TODO
+.PP
+- Additional command-line options should be allowed to be specified in a
+command file.
+.PP
+- Support for SSAP, SAMP, TAP
+
+
+.SH Revision History
+June 2007 - This task is new.
+.SH Author
+Michael Fitzpatrick (fitz@noao.edu), June 2007
+.SH "SEE ALSO"
+voclient(1), voclientd(1), vosesame(1), vodirectory(1)