[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