Dear 'GRASS_RENDER'-experts,

I use custom functions to render several raster maps on the same output image file (always in the Terminology terminal):
```
# draw a raster map using `tyraster`
function tyraster {
    # new frame, new file
    unset GRASS_RENDER_FRAME
    unset GRASS_RENDER_FILE_READ
    export GRASS_RENDER_FILE="${GRASS_RENDER_PATH}/$1".png
    # keep 'last' filename
    export LAST_GRASS_RENDER_FILE="$GRASS_RENDER_FILE"
    d.rast "$@"
    echo "$GRASS_RENDER_FILE"
    tycat -g 1000x1000 "$GRASS_RENDER_FILE"
    # reset default filename, make it reusable
export GRASS_RENDER_FILE="${GRASS_RENDER_PATH}/${GRASS_RENDER_FILENAME}.${GRASS_RENDER_FORMAT}"
    export GRASS_RENDER_FILE_READ=TRUE
}

# then, draw on top of the existing (output) image file with `tyraster.add`
function tyraster.add {
    # use 'last' filename
    export GRASS_RENDER_FILE="$LAST_GRASS_RENDER_FILE"
    d.rast "$@"
    echo "$GRASS_RENDER_FILE"
    tycat -g 1000x1000 "$GRASS_RENDER_FILE"
    # reset default filename
export GRASS_RENDER_FILE="${GRASS_RENDER_PATH}/${GRASS_RENDER_FILENAME}.${GRASS_RENDER_FORMAT}"
}
```

The same approach does not work for vector maps with PNG as an output file format (substitute in the above functions `d.rast` with `d.vect`).
It does work, however, with the BMP file format.

Would anyone have a clue why PNG is 'problematic' with vector maps?
Each time `d.vect` is called with GRASS_RENDER_FILE_READ=TRUE, there is no data rendered in the output image file. Unsetting GRASS_RENDER_FILE_READ will draw data in the pre-defined output image file, however without drawing it on top of existing data -- which is the point of `tyraster.add` and a corresponding custom function `tyvector.add`.

I use the following setup (of which some variables are custom ones):
```
export GRASS_RENDER_PATH=/some/path/grassdb/render
export GRASS_RENDER_FILENAME=grass_render_file
export GRASS_RENDER_FORMAT=bmp
GRASS_RENDER_FILE="${GRASS_RENDER_PATH}/${GRASS_RENDER_FILENAME}.${GRASS_RENDER_FORMAT}"
export GRASS_RENDER_FILE

export GRASS_RENDER_FILE_READ=TRUE
export GRASS_RENDER_FILE_MAPPED=TRUE
export GRASS_RENDER_DRIVER=cairo
export GRASS_RENDER_ANTIALIAS=CAIRO_ANTIALIAS_SUBPIXEL
GRASS_RENDER_IMMEDIATE="${GRASS_RENDER_DRIVER}"
export GRASS_RENDER_IMMEDIATE

export GRASS_RENDER_TRUECOLOR=TRUE
export GRASS_RENDER_BACKGROUNDCOLOR=000000
export GRASS_RENDER_TRANSPARENT=TRUE

export GRASS_RENDER_WIDTH=1500
export GRASS_RENDER_HEIGHT=1500
export GRASS_RENDER_LINE_WIDTH=1

export GRASS_FONT=DroidSans
export GRASS_RENDER_TEXT_SIZE=10
```

Thank you, Nikos
_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-dev

Reply via email to