aboutsummaryrefslogtreecommitdiff
path: root/vo/votools/colbyucd.cl
diff options
context:
space:
mode:
authorJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
committerJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
commit40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch)
tree4464880c571602d54f6ae114729bf62a89518057 /vo/votools/colbyucd.cl
downloadiraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'vo/votools/colbyucd.cl')
-rw-r--r--vo/votools/colbyucd.cl51
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