[Shake-dev] Image clickmap problem

Bruce Worden bruce at gps.caltech.edu
Fri Aug 3 23:38:56 GMT 2007


Hi Bill,

I'm working on this.  I should have a fix for you on Monday.

Bruce


On Aug 1, 2007, at 3:23 PM, Bill Gustafson wrote:

> Hi All,
>
> I have a special shakemap product that is a high-resolution  
> shakemap of the Seattle Metropolitan area.  The area that we have  
> selected is narrow and tall relative to the defaults that shakemap  
> usually selects.  You can look at an example here:
>
> http://www.pnsn.org/seashake/shake/0701260923/intensity.html
>
> It's not very interesting but it gets the main idea across.
>
> To get it to fit nicely onto the webpage I have fiddled with the  
> width, xorig, and yorig parameters in mapping.conf.  I have the  
> feeling that this is not the recommended approach (is there one?),  
> because that appears to mess up the clickmaps for the stations.
>
> Here are the values I used:
>
> xorig        : 1.12
> yorig        : 0.6
> width        : 6.25
>
> and here are the defaults:
> xorig        : 1.0
> yorig        : 1.0
> width        : 6.5
>
> Here is a code snippet from ClickMaps.pm that sets up the image  
> clickmaps:
>
> sub imagemap_prep {
>  my $par  = shift;
>  my($fh, at lines,$line,%stas,$sta,$x,$y, at evt,$status,$array,
>     $height_ps,$height);
>
>  my $geom = $par->{'geom'};
>
>  $fh = new IO::File;
>  $fh->open($STATION_LOC_FILE,'r') || Die;
>  @lines = <$fh>;
>  $fh->close;
>  @lines = grep($_ !~ /^\#/, at lines);   # get rid of comment lines
>  @lines = grep($_ !~ /^\s*$/, at lines); # get rid of blank lines
>  chomp(@lines);
>
>  # get some geometry info
>  $height_ps = $geom->{'h'};
>  $height = $height_ps + $JPG_MARGIN{bottom} + $JPG_MARGIN{top};
>  foreach $line (@lines) {
>    ($sta,$x,$y) = split(' ',$line);
>      # add gif/jpg margins
>    $x += $JPG_MARGIN{'left'};
>    $y += $JPG_MARGIN{'bottom'};
>
>    # flip $y (0 at top in gif/jpg)
>    $y = $height - $y;
>
>    # convert from inches to 72 dpi
>    $x = int($x * 72 + 0.5);
>    $y = int($y * 72 + 0.5);
>
>    $stas{$sta} = [$x,$y];
>  }
>
> The critical bits are the JPG_MARGINS, which are set to 1 in  
> Constants.pm, rather than being read from a configuration file.  If  
> I force the left and bottom margins to match those set in  
> mapping.conf, then the clickmaps for the PGA and PGV are correct.   
> There is still the issue of the scalebar height for the  
> intensity.html file, but I think that there is a workaround that is  
> acceptable (I haven't figured it out exactly yet though).
>
> My questions:
>
> Is there a better way to get the images to fit on the web page than  
> fiddling with the xorig, yorig, and width (the issue is that the  
> top of the images are cut off on the intensity.html)?  Should I  
> change the GMT page size (I know very little about GMT), so that  
> it's taller?
> It seems like the JPG_MARGIN values should reflect the xorig and  
> yorig values from mapping, but I'm not sure how to go about that in  
> a general way.  I suppose they could be set as parameters in  
> genex.conf, but it's generally bad form to set the same value in  
> two places, although I would think having the genex program read  
> the mapping.conf file would also be bad form.  I'm happy to work  
> with whoever is now responsible for this code to come up with a  
> fix, but am not sure who I should be talking with.
>
> Thanks,
>
> Bill
>
>
>
> -- 
> Bill Gustafson          Res Eng/Sr Comp Spc
> KSRSL/PNSN              Phone: (206)685-8266/(206)543-8928
> Dept. of Earth and Space Sciences
> Box 351310, UW, Seattle, WA  98195-1310
> http://alumnus.caltech.edu/~billg/bill.htm
>
>
> _______________________________________________
> Shake-dev mailing list
> Shake-dev at scsnmail.gps.caltech.edu
> http://unix1.gps.caltech.edu/mailman/listinfo/shake-dev
>




More information about the Shake-dev mailing list