[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Map graphics
Ben Tupper wrote:
> I have a widget routine which displays a map (using Map_Set, etc.)
> with vector overlays. The routine user can call another widget
> application
> that displays some direct graphics plots using !P.Multi = [0,2,2].
> When the user returns to the main routine, plotting the earlier vector
> overlays on the map shows that the plotting parameters have changed.
> All of the vectors get squished toward the center of the graphic.
>
> Before starting the second routine, I have saved a copy of !P.Multi,
> !X.S, !Y.S, and !Map. Each of these is restored after the second
> routine is closed. Short of calling Map_Set again, is there a way I
> can save the mapping/plotting parameters and restore them later?
Ah the joy of global variables....
One way to handle this problem is to 'refresh' the map projection by
calling MAP_SET with the /NOERASE and /NOBORDER keywords to re-create
the map projection whenever you select the graphics window which
contains the map plot.
If you decide to go the system variable route, I would save !X, !Y, !Z,
!P, and !MAP for each graphics window. I use this technique in my IDL
frame tools which allow you to create a map projection in one frame, a
multiple panel plot in the next frame, and then switch between them with
no problems:
http://cimss.ssec.wisc.edu/~gumley/frame.html
Cheers,
Liam.