comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » where, or, and loops. There has to be a better way.
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: where, or, and loops. There has to be a better way. [message #83568 is a reply to message #83474] Fri, 08 March 2013 16:30 Go to previous messageGo to previous message
wlandsman is currently offline  wlandsman
Messages: 743
Registered: June 2000
Senior Member
It is unnecessary to use the WHERE() function. Instead directly make the position array

key = (huc EQ new[0]) or (huc EQ new[1]) or (hub EQ new[2])

or if you need to loop:

pos = (huc eq new[0])
for i=1,N_elements(new)-1 do pos = pos and (huc EQ new[i])

It might be possible to improve on this by decimating the array (don't test pixels that have already been flagged), but I believe the coding would be considerably more complicated. --Wayne


On Friday, March 8, 2013 6:47:00 PM UTC-5, AB wrote:
> Please see the below example to demonstrate my problem:
>
>
>
> --------------------------------
>
>
>
>
>
> ; This is a large floating point array of river basins
>
> huc = fltarr(4800,4800)
>
>
>
> ; IDs of the basins I want to extract
>
> NEW = [1102,1103,1104,1105]
>
>
>
> ; Find where the basins are
>
> pos = where(huc eq NEW[0] or $ ; IS THIS THE ONLY WAY TO FIND THE VALUES IN THE LARGER ARRAY??
>
> huc eq NEW[1] or $
>
> huc eq NEW[2] or $
>
> huc eq NEW[3])
>
>
>
> ; Create new array and insert basins
>
> key = intarr(4800,4800)
>
>
>
> key(pos) = 1
>
> ---------------------------------
>
>
>
> THe issue here is, what happens when the 'NEW' variable has 300 values in it? Do I have to go through 300 iterations of:
>
>
>
> pos = where(huc eq NEW[1] or $
>
> ............... or $
>
> huc eq NEW[299])
>
>
>
>
>
> I hope someone has found a way around this.
>
>
>
> Thanks for any ideas you can give!!!
>
> Annie
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: Majority Filter
Next Topic: Sorting a matrix

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Fri Oct 10 09:19:56 PDT 2025

Total time taken to generate the page: 0.16125 seconds