This file is indexed.

/usr/share/gnudatalanguage/astrolib/querygsc.pro is in gdl-astrolib 2018.02.16+dfsg-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
function Querygsc, target, dis,magrange = magrange, HOURS = hours, $
   VERBOSE=verbose, BOX = box
;+
; NAME: 
;   QUERYGSC
;
; PURPOSE: 
;   Query the Guide Star Catalog (GSC V2.3.2) at STScI by position
; 
; EXPLANATION:
;   Uses the IDL SOCKET command to query the GSC 2.3.2 database over the Web.
;   The number and names of the structure tags was changed in September 2015
;
;   Alternatively, (and more reliably) one can query the GSC 2.3.2 catalog using
;   queryvizier.pro and the VIZIER database, e.g.  
;     IDL> st = queryvizier('GSC2.3',[23,35],10,/all)
; 
;   GSC2.3 is an all-sky export of calibrated photographic survey plate 
;   source parameters from the COMPASS database.  The number of unique
;   objects is approximately 945,592,683.   All sources are 
;   from the second-generation plate-processing pipeline with the exception
;   of Tycho-2 and Skymap sources in the case of very bright objects. The 
;   Skymap sources are exported when there is no matching GSC or Tycho 
;   sources.  Each GSC 2.3 entry contains only one position and one 
;   magnitude per bandpass for each unique sky object
;
; CALLING SEQUENCE: 
;     info = QueryGSC(targetname_or_coords, [ dis, /HOURS] )
;
; INPUTS: 
;      TARGETNAME_OR_COORDS - Either a scalar string giving a target name, 
;          (with J2000 coordinates determined by SIMBAD), or a 2-element
;          numeric vector giving the J2000 right ascension in *degrees* (or 
;          hours if /HOURS is set) and the target declination in degrees.
;
; OPTIONAL INPUT:
;    dis - Numeric scalar giving search radius in arcminutes to search around 
;          specified target    Default is 5 arcminutes
;
; OPTIONAL INPUT KEYWORDS:
;
;    /BOX - if set, then radius gives  a box width in arcminutes
;    /HOURS - If set, then the right ascension is both input and output (in
;             the info .ra tag) in hours instead of degrees
;    /VERBOSE - If set, then the CGI command to the Webserver will be displayed
;;
; OUTPUTS: 
;   info - IDL structure containing information on the GSC stars within the 
;          specified distance of the specified center.   There are (currently)
;          48 tags in this structure  -- for further information see
;          http://gsss.stsci.edu/Catalogs/GSC/GSC2/gsc23/gsc23_release_notes.htm
;

;          .GSC2ID - GSC2 name
;          .GSC1ID - GSC1 name
;          .HSTID - GSC 2.3 name for HST operations
;          .RA,.DEC - Position in degrees (double precision).   RA is given in
;                   hours if the /HOURS keyword is set.
;          .EPOCH - mean epoch of the observation
;          .RAEPSILON, .DECEPSION - uncertainty (in arcseconds) in the RA and 
;                   Dec
;          .FPGMAG, .FPGERR, .FPGMAGCODE - mag, error, code in photographic F
;          .JPGMAG, .JPGERR, .JPGMAGCODE - mag, error code, photographic J
;          .VPGMAG, .VPGERR, .VPGMAGCODE - V mag, error, code
;          .NPGMAG, .NPGERR, .NPGMAGCODE - mag, error, code
;          .UMAG, .UERR, .UMAGCODE - magnitude, error, code
;          .BMAG, .BERR, .BMAGCODE - magnitude, error, code
;          .VMAG, .VERR, .VMAGCODE - magnitude, error, code
;          .RMAG, .RERR, .RMAGCODE - magnitude, error, code
;          .IMAG, .IERR, .IMAGCODE - magnitude, error, code
;          .JMAG, .JERR, .JMAGCODE - magnitude, error, code
;          .HMAG, .HERR, .HMAGCODE - magnitude, error, code
;          .KMAG, .KERR, .KMAGCODE - magnitude, error, code
;          .CLASS - classification (0-5): 0-star, 1-galaxy, 2-blend, 
;          .SEMIMAJORAXIS - semi-major axis in pixels
;          .POSITIONANGLE - Position angle of extended objects in degrees
;                         3-nonstar, 4-unclassified, 5-defect
;          .SOURCESTATUS -10 digit field  used to encode more detailed information 
;              about the properties of the catalog object.   For more info, see
;http://www-gsss.stsci.edu/Catalogs/GSC/GSC2/gsc23/gsc23_release_notes.htm#ClassificationCodes
;           .VARIABLEFLAG, MULTIPLEFLAG - Variability andd multiplicity flags
;            COMPASSGSC2ID - Unique ID in the Compass database 
;            http://gsss.stsci.edu/zzzOldWebSite/compass/CompassHome.htm
; EXAMPLE: 
;          Plot a histogram of the photographic J magnitudes of all GSC 2.3.2 
;          stars within 10 arcminutes of the center of the globular cluster M13 
;
;          IDL> info = querygsc('M13',10)
;          IDL> plothist,info.jpgmag,xran=[10,20]
;
; PROCEDURES USED:
;          QUERYSIMBAD, RADEC, WEBGET()
;
; MODIFICATION HISTORY: 
;         Written by W. Landsman  SSAI  August 2002
;         Fixed parsing of RA and Dec  W. Landsman September 2002
;         Major rewrite to use new STScI Web server, remove magrange
;           keyword   W. Landsman Dec 2007
;         Update server name, added /BOX,/ VERBOSE keywords W.L 19 Dec 2007
;         Web server now also returns infrared data  W.L. Feb 2010
;         Fixed case where dec neg. and deg or min 0 Pat Fry Jul 2010
;         Updated for new server format W. Landsman  April 2014
;         Updated for new server format W. Landsman  September 2015
;
;-
  compile_opt idl2
  if N_params() LT 2 then begin
       print,'Syntax - info = QueryGSC(targetname_or_coord, dis,'
       print,'                        [/Hours, /Box, /VERBOSE} )'
       print,'   RA (degrees), Dec (degrees) -- search coordinates of center)'
       print,'  dis -- search radius in arcminutes'
       if N_elements(info) GT 0 then return,info else return, -1
  endif
  if N_elements(dis) EQ 0 then dis = 5
    if N_elements(target) EQ 2 then begin
      ra = float(target[0])
      dec = float(target[1])
  endif else begin
       QuerySimbad, target, ra,dec, Found = Found
       if found EQ 0 then message,'Target name ' + target + $
                 ' could not be translated by SIMBAD'
  endelse  
  radius = keyword_set(box)? 'Box' : 'Radius'
  
   radec,ra,dec,hr,mn,sc,deg,dmn,dsc,hours=keyword_set(hours)
   deg = string(deg,'(i3.2)')
   dsn = strmid(deg,0,1)
   deg = strmid(deg,1,2)
   if (dmn lt 0 || dsc lt 0) then begin
       dmn = abs(dmn)
       dsc = abs(dsc)
       dsn = '-'
   endif
   sc = round(sc)
   dsc = round(dsc)
   if dsn EQ ' ' then dsn = '%2B'
  ;;
  QueryURL = "http://gsss.stsci.edu/webservices/vo/CatalogSearch.aspx?" + $
   'RA=' + strtrim(ra,2)  + '&Dec=' + strtrim(dec,2) + $
    '&SR=' + strtrim(dis/60.,2) + $
    '&FORMAT=CSV&CAT=GSC23'

    
  if keyword_set(verbose) then print,queryurl
  ;;  
  Result = webget(QueryURL)
 ;
  t = result.text

  nstar = N_elements(t) -2
  if strmid(t[0],0,5) NE 'Usage' and nstar GT 0 THEN BEGIN
  headers = strsplit(t[1],',',/extract)
  
  info = create_struct(Name='gsc',headers, 0LL,'','','', $
   0.0d,0.0d, 0.0,0.0,0.0, $
     0.0, 0.0, 0, $   ;Fpgmag,Err,code
   0.0, 0.0, 0, $   ;Jpgmag,Err,code
    0.0, 0.0, 0, $   ;Vmag,Err,code
       0.0, 0.0, 0, $   ;Nmag,Err,code 
  0.0, 0.0, 0, $   ;Umag,Err,code
    0.0, 0.0, 0, $   ;Bmag,Err,code
  0.0, 0.0, 0, $   ;Rmag,Err,code
    0.0, 0.0, 0, $   ;Imag,Err,code
  0.0, 0.0, 0, $   ;Jmag,Err,code
   0.0, 0.0, 0, $   ;Hmag,Err,code
   0.0, 0.0, 0, $   ;Kmag,Err,code
   0,  $   ;Classification 
   0.,  $   ;Size
   0., 0., 0LL, $   eccentricity, positionangle, objectflags
   0, 0 , $ ;variable, Multiple flag
   0LL, '' )
 


  info = replicate(info,nstar)

  for i=0,nstar-1 do begin
      temp = strtrim(strsplit(t[i+2],',',/extract),2)
       for j=0,N_elements(temp)-1 do begin 
       info[i].(j) = temp[j]      
       endfor
  endfor
   ENDIF ELSE BEGIN 
      message, 'No objects returned by server. The server answered:', /info
      print, Result.Text
      if N_elements(info) GT 0 then return, info else return, -1
  ENDELSE 
  if keyword_set(hours) then info.ra = info.ra/15.0d 
 return,info
END