I am new with ENVI IDL,I want to get pixel value of each band in an image in specified lat and long location.I can do a loop among bands in image using this code

ENVI_OPEN_FILE,'E:\MASTER\Payan_Name\DataSer\Output\162\0730\1-1Georefrence_BIP\Subset_BIP.hdr', R_FID=FID, NO_REALIZE=1
ENVI_FILE_QUERY, FID, ns=ns, nl=nl, nb=nb, data_type=data_type, descrip=descrip, bnames=bnames, sensor_type=sensor_type, wavelength_units=wavelength_units, dims=dims

for b=0,nb-1,1 do begin
  indata = ENVI_GET_DATA(FID=fid,POS=b,DIMS=dims)

But I don't know how to get pixel value at lat and long,I searched and found a library which name is Rdpix is used to get pixel value at mouse location but I want it at specified lat and long location, Can Some one please help me find the solution or give me some clues to solve my problem?


If you have the license, ENVI_CONVERT_FILE_COORDINATES is the right function to solve your issue. You can reference this website.

| improve this answer | |
  • thank you for your help.This gunction converts Xy to map cordinates..How can I get the pixel value? – Majid Hojati Nov 16 '14 at 14:27
  • first, get the x and y, and then indata[x,y] is the pixel value. – JZH Nov 17 '14 at 8:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.