[GRASS-user] Rotating/sizing labels based on DB column?

Hello.

I'm using some Ordnance Survey street-level Mastermap data which implements street names, house numbers, etc. as map points linked to a database containing the text to print, its size and its rotation.

I can produce basic map labels using v.label:

   v.label labels=xxx map=g26a column=textString layer=3 size=1.50

to get:

   http://www.piceur.com/misc/grass/non_rotated_text.png

Before I start hacking the label paint files myself (the format looks nice and simple), is there a way to set size and rotation information on a per-label basis? I'm aiming for a result that looks something like this (rendered by the Edina Digimap service):

   http://www.piceur.com/misc/grass/digimap_render.png

The final map is to be the bottom layer of a stack of moderately complicated information and so I'd like to be able to render it myself in a simplified form rather than just importing tiles from the Ordnance Survey.

Thanks,
Asher.

On Mon, Feb 13, 2012 at 9:34 PM, Asher Hoskins <asher@piceur.com> wrote:

Hello.

I'm using some Ordnance Survey street-level Mastermap data which implements
street names, house numbers, etc. as map points linked to a database
containing the text to print, its size and its rotation.

I can produce basic map labels using v.label:

v.label labels=xxx map=g26a column=textString layer=3 size=1.50

to get:

http://www.piceur.com/misc/grass/non_rotated_text.png

Before I start hacking the label paint files myself (the format looks nice
and simple), is there a way to set size and rotation information on a
per-label basis? I'm aiming for a result that looks something like this
(rendered by the Edina Digimap service):

http://www.piceur.com/misc/grass/digimap_render.png

The final map is to be the bottom layer of a stack of moderately complicated
information and so I'd like to be able to render it myself in a simplified
form rather than just importing tiles from the Ordnance Survey.

As of now, the "rotation" parameter seems to only support global
rotation.

But perhaps v.label.sa could be helpful?
http://grass.osgeo.org/grass64/manuals/html64_user/v.label.sa.html

Markus

Asher wrote:

> Before I start hacking the label paint files myself (the format looks
> nice and simple), is there a way to set size and rotation
> information on a per-label basis?

MarkusN wrote:

As of now, the "rotation" parameter seems to only support global
rotation.

But perhaps v.label.sa could be helpful?
http://grass.osgeo.org/grass64/manuals/html64_user/v.label.sa.html

but see also the -a and -c flags, which rotates lines according to their
instantaneous slopes.

(v.label.sa is good for making sure labels do not overlap, but neither
(AFAIU) tries to not overlap the vector map underneath, although that
would be nice to have)

Hamish