diff options
author | Joe Hunkeler <jhunkeler@gmail.com> | 2015-08-11 16:51:37 -0400 |
---|---|---|
committer | Joe Hunkeler <jhunkeler@gmail.com> | 2015-08-11 16:51:37 -0400 |
commit | 40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch) | |
tree | 4464880c571602d54f6ae114729bf62a89518057 /vo/votools/colbyucd.cl | |
download | iraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz |
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'vo/votools/colbyucd.cl')
-rw-r--r-- | vo/votools/colbyucd.cl | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/vo/votools/colbyucd.cl b/vo/votools/colbyucd.cl new file mode 100644 index 00000000..051b2d78 --- /dev/null +++ b/vo/votools/colbyucd.cl @@ -0,0 +1,51 @@ +#{ COLBYUCD -- Find the column number (1-indexed) containing the specified +# value of the UCD attribute. + +procedure colbyucd (table, ucd) + +string table { prompt = "Table name" } +string ucd { prompt = "UCD attribute" } + +int column = 0 { prompt = "Found column number (or -1)"} +string name = "" { prompt = "found column name" } +string id = "" { prompt = "found column ID" } +bool print = no { prompt = "Print the field number?" } +bool found = no { prompt = "Was attribute found??" } + +begin + string ltab, lucd + int nfound + + ltab = table # get parameters + lucd = ucd + column = -1 + nfound = 0 + + tinfo (ltab, ttout-) # get table info + for (i=1; i <= tinfo.ncols; i=i+1) { + keypar (ltab, "TUCD" // i, >& "dev$null") + found = keypar.found + if (keypar.found == yes && keypar.value == lucd) { + if (nfound == 0) { + column = i + + keypar (ltab, "TTYPE" // i, >& "dev$null") + name = "" + if (keypar.found == yes) + name = keypar.value + + keypar (ltab, "TID" // i, >& "dev$null") + id = "" + if (keypar.found == yes) + id = keypar.value + } + nfound = nfound + 1 + } + } + + if (nfound > 1) + printf ("Warning: %d columns found with UCD='%s'\n", nfound, ucd) + + if (print) + print (column) +end |