Re: Contouring data over maps [message #12453 is a reply to message #12433] |
Tue, 04 August 1998 00:00   |
Jason Hasenbuhler
Messages: 2 Registered: August 1998
|
Junior Member |
|
|
Hmmm. Not good news.
The reason my boss wants me to make the
contouring respect the land/sea boundries is because
he has a very small sample size over a large area
that is relatively near to the coast. From that data
we are trying to build a picture of the water
structure over the total area. If the extrapolation
algorithms are using the space that the land is
occupying, then the picture comes out wrong.
I'm not particularly worried about the actual
overwriting of the drawn continents, just what that
overwriting implies - that the extrapolation
algorithim is only considering the "straight-line"
distance between my two data points, and not
considering that a huge hunk of rock may intersect
that line and make the extrapolations invalid.
Here's a worst case, maybe it can explain my problem:
..\####/..
...\##/...
....\/....
..*.||.*..
..../\....
.../##\...
My data points are at the asterisks. With the
current method the data that is extrapolated from my
data by IDL will be heavily influenced by BOTH data
points, where, if I could find some way to respect the
coastlines, I would expect IDL to consider these points
much farther away than their cartesian distance.
ARGH.
I have no idea how to approach this. My original
solution was to have my boss get back in the boat and
sample a few thousand more sites, but he said no. Any
other suggestions?
Thanks lots,
Jason Hasenbuhler
hasenbuh@rex.cs.tulane.edu
BTW: please ignore the email address this message is attached to. I have to
use someone else's acccount because mine isn't set up yet. Thanks.
William Connolley wrote:
> 102ff455a31f815f989824@news.frii.com, davidf@dfanning.com (David Fanning) writes:
>> Jason Hasenbuhler (hasenbuh@rex.cs.tulane.edu) writes:
>>
>>> What I need to know is how to make IDL respect the land/sea continental
>>> boundries when I plot my interpolated data.
>>
>> There is, I feel safe in saying, no easy way to do what you want to do.
>
> I think Davids right. I have found in the past that attempting to define "nodata"
> regions with contour causes problems at the edges of those regions. It has been
> easier to contour everywhere, and then polyfill in white/background everywhere
> else (and then redraw the coastline, probably, because bits of it will have
> been clipped).
>
> Unfortunately, map_continents does not appear to have an option to fill the sea
> regions. I'd do it by using a GCM land-sea mask but you probably don't have that.
> If you're drawing to the screen, then:
>
> set your map projection
> map_continents,/fil
> mask=tvrd()
> contour your data
> img=tvrd()
> img(where(mask eq !p.background))=!p.background
> tv,img
>
> ought to work. Some variant might work with postscript, too.
>
> ---
> William M Connolley | wmc@bas.ac.uk | http://www.nbs.ac.uk/public/icd/wmc/
> Climate Modeller, British Antarctic Survey | Disclaimer: I speak for myself
|
|
|