[GRASS-dev] discussion: replacing ps.map

Hamish hamish_nospam at yahoo.com
Thu Apr 5 03:00:36 EDT 2007


[d.labels placement with rotation is getting there, partial replacement
code is now in CVS (disabled, but working)]

roger wrote:
> mapinfo is placed with a coordinate system in inches, originating at
> the bottom left of the map and increasing up and to the right.  Other
> ps.map commands that use lengths (rather than percents) use a
> coordinate system that starts at the top left and increases down and
> to the right.

I'll look into it, but if it is inconsistent we can't change it until
GRASS 7 as this will break many peoples scripts/templates.

> The content of the mapinfo block isn't configurable
> and includes region information that I would probably never place on
> a map.

mapinfo is made up of scale + region. If you only want scale use the
text or comment instruction to write "SCALE: $scale" text.

> Also, the mapinfo product was never drawn with a bounding
> box, even when the bounding box color was specified. 

yes I think I remember this bug. it does get the box if it is placed
within the map box but not outside?? Work around: use the rectangle
tool to place a box behind it.

 
> vlegends is placed with a coordinate system like that used for
> mapinfo, except that if the mapinfo block is present, the origin of
> the legend is at the bottom left of the information block rather than
> at the bottom left of the map.  Y coordinates less than 0 were
> ignored (this is documented behavior), which means that the legend
> will always be attached without a margin to the bottom edge of either
> the mapinfo block or the map itself. 
>
> It would be nice to have a consistent means of locating features on a
> map, and it would be nice to be able to set locations below the map. 
>
> The example map I used had data from 3 vector files - two with areas
> and one with points.  The legend produced by vlegend never contained
> more than 2 entries.  It appeared to pick up the first area vector
> and skip all subsequent area vectors.  I also plotted 4 separate
> polygons from one of the files with a different color for each
> polygon.  That was done with 4 varea entries in the ps.map
> configuration file, each specifying a different cat number and a
> different color.  The legend still contained only one entry --  the
> entry for first varea in the configuration file. 

this is not my experience, but I hardly ever do any vector stuff beyond
a simple coastline, and not thematic vector stuff, so I may not have run
into it and have not worked on vlegends much at all.


> The legend contained an entry for the point data, but no entry for the
> boundary lines. 

?perhaps only features with cats get listed?

> All of the vector features were grouped together into one legend.  It
> would  be nice to separate them.  In fact, it would generally be a
> good thing to be able to select what vector features appeared in the
> legend.

sorting by vpoints, vlines, vareas would be nice. can't sort maps
directly as vector maps may contain all three of those.
An option for a vector map to skip the legend might be nice.

> When the legend was split into more than one column I got a different
> box around each column.  That should be configurable.  I would
> normally prefer that the legend fall entirely within one box.  The
> spacing between columns was large and also not configurable; it
> should be configurable. 
> 
> The user should be able to specify the width and/or style of the
> border line drawn around the legend.  It would also be good to
> specify the margin between the legend content and the bounding line. 

my feeling is that if the defaults look really good, the user won't ever
think to want a control to adjust the fine details. I'd like to have the
default look really good first, and then see which adjustments are still
frustrating not to have -- rather than provide complicated 747 cockpit
control panel from the start.


> The user should be able to add a title for the legend. 

For vlegends that's doable. For raster legends I hope to add
G_set_raster_units() and G_get_raster_units() to write/read a simple
string containing raster data units (set from "r.support units=") which
will be stored in $MAPSET/cell_misc/$RASTERMAP/units. Raster legends and
things like lat/lon NVIZ and r.shaded.relief could use the tag if it
existed.


please make use of the bug/wish trackers.


Hamish




More information about the grass-dev mailing list