root='/home/bcarry/work/data/kids/' file='kids_EC_MJD.csv' file='kids_EC_MJD_xmatch.csv' ; file='test.csv' readKids = 0 epsilon = (23. + 26./60. + 21.4119/3600. ) if readKids eq 1 or not keyword_set(ra) then $ readcol, root+file, delimiter=',', $ ra,ASTR_INSTRUM,AWIN_IMAGE,Asteroid,BWIN_IMAGE,CATALOG_NUMBER,dec,EPOCH,$ ERRA_IMAGE,ERRA_WORLD,ERRB_IMAGE,ERRB_WORLD,ERRTHETA_IMAGE,ERRTHETA_WORLD,ERRX2_WORLD,ERRXY_WORLD,ERRY2_WORLD,EXTENSION,FLAGS_EXTRACTION,FLAGS_IMA,FLAGS_SCAMP,$ Field,Filter,MAG,MAGERR,Number,PHOT_INSTRUM,PM,PMALPHA,PMALPHAERR,PMDELTA,PMDELTAERR,PMERR,$ SOURCE_NUMBER,MJD,THETAWIN_IMAGE,X_IMAGE,Y_IMAGE,index,EPOCH_MPC,SkybotNumber,LON,LAT, $ numS, name,tRA,tDec,Class, $ format='(D,I,D,I,D,I,D,D,'+$ ; 8 'D,D,D,D,D,D,D,D,D,I,I,I,I,'+$ ; 13 'A,A,D,D,I,I,D,D,D,D,D,D,'+$ ; 12 'L,D,D,D,D,L,A,A,D,D,'+$ ; 11 'A,A,D,D,A)' ; 5 nbSSO = n_elements(ra) numS = strTrim(numS,2) num=lonarr(nbSSO) pp = where( numS ne '-' ) num[pp] = round(float(numS[pp])) pmRA = pmAlpha /3600.D pmDE = pmDelta /3600.D ra1 = ra de1 = dec ra2 = ra + pmRA de2 = dec + pmDE help, ra1,de1, ra2, de2 ec1 = framecoord_eq2ec( ra1,de1 ) ec2 = framecoord_eq2ec( ra2,de2 ) help, ec1, ec2 dEC = ec2-ec1 pmLon = dEC[*,0]*3600. pmLat = dEC[*,1]*3600. help, pmLon, pmLat window, 2 cgPlot, pmLon, pmLat, psym=3 stop ;---- Test rotation ; sEQ=transpose( [[ra],[dec],[1+fltarr(nbSSO)]] ) ; cEQ = cv_coord(from_sph=sEQ, /to_rect, /degree) ; ; t3d, /reset ; t3d, rotate=[-epsilon,0.,0.] ; cEC = vert_t3d( cEQ ) ; sEC = cv_coord(from_rect=cEC, /to_sph, /degree) ; to0_360 = sEC[0,*] ; to0_360 += 720 ; sEC[0,*] = to0_360 mod 360 ; ; cgPlot, lon, lat, psym=4 ; cgPlot, /OverPlot, sEC[0,*], sEC[1,*], psym=3, color='red' sEQ=transpose( [[pmAlpha],[pmDelta],[1+fltarr(nbSSO)]] ) cEQ = cv_coord(from_sph=sEQ, /to_rect, /degree) t3d, /reset t3d, rotate=[-epsilon,0.,0.] cEC = vert_t3d( cEQ ) sEC = cv_coord(from_rect=cEC, /to_sph, /degree) to0_360 = sEC[0,*] to0_360 += 720 sEC[0,*] = to0_360 mod 360 pmLon = sEC[0,*] pmLat = sEC[1,*] cgPlot, pmLon, pmLat, psym=4 end