name:: apply ICRS corrections query:: SELECT u.raj2000+d_alpha+d_pmalpha/cos(radians(u.dej2000))*(u.epoch-2000) AS ra_icrs, u.dej2000+d_delta+d_pmdelta*(u.epoch-2000) AS de_cicrs, u.pmra+d_pmalpha AS pmra_icrs, u.pmde+d_pmdelta AS pmde_icrs, u.* FROM TAP_UPLOAD.T1 AS u JOIN ucac3.icrscorr AS c ON (c.alpha=FLOOR(u.raj2000)+0.5 and c.delta=FLOOR(u.dej2000)+0.5) description:: The tables :taptable:`ppmxl.usnocorr` and :taptable:`ucac3.icrscorr` give mean corrections in 1-degree-sized squares in RA and Dec each to bring positions (and possibly proper motions) based on USNO-B1 and UCAC3 (closer) to ICRS. This query shows how this is done (approximately; in reality, the corrections would need to be applied in the tangetial plane). The scenario is that you have a table you can upload (i.e., a VOTable or something you can load into TOPCAT). As you can see, we assume the positions and proper motions in your table are in the ``raj2000``, ``dej2000``, ``pmra``, and ``pmde`` columns, and ``epoch`` contains the epoch the data has been reduced to using the proper motions, in Julian years. You will also have to adjust the string after ``TAP_UPLOAD`` according to whatever name you give to your upload. The query given would work when your table is the first table within TOPCAT. The equations are taken from the `service info`_; again, they are not exact and will fail miserably near the poles, for epochs far away from J2000., and they do not take into account crossing the RA=0 line. .. _service info: /ucac3/q/corr/info ..