Re: [GRASS-user] translucency and svg output
Le jeudi 25 mars 2010 à 13:59 -0700, pete davidson a écrit : > Although if Vincent is willing to share an example script that uses > imagemagik to compose ps layers I'd be delighted to see it. Lacking time for a complete set of examples with a geodataset, this archive : http://www.lesfavrets.fr/telec/psmap.tar.gz provides an example shell script that fixes settings for a map composition (pagesize, borders), runs 4 instances of ps.map on a given mapset conforming these settings, then outputs a jpg composition of the 4 ps layers. ps.map is really powerfull in the context of maps serial production. Eventhough the module is not user friendly, its adaptability suits perfectly automation needs ! Bye, Vincent ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] translucency and svg output
pete davidson wrote: > To answer Hamish, no, I was exporting each individual layer using d.vect and > d.out.file. You might also want to try using the cairo driver directly, rather than using d.out.file. E.g.: export GRASS_CAIROFILE=out.svg d.mon start=cairo d.vect ... d.vect ... d.mon stop=cairo > Your question gives me the idea I should try using v.out.svg > for individual layers to help work out why Cairo dropped to raster output > and/or to produce individual layers to stitch together later if necessary. v.out.svg doesn't use cairo, and will never rasterise anything. -- Glynn Clements ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] translucency and svg output
Thanks to all for these suggestions and comments. I will look at the options suggested by Andreas, and follow Glynn's comment to explore why Cairo dropped to rasterization - it's good to know that *that's* why I got raster output, rather than wrapping a raster being all that Cairo does! To answer Hamish, no, I was exporting each individual layer using d.vect and d.out.file. Your question gives me the idea I should try using v.out.svg for individual layers to help work out why Cairo dropped to raster output and/or to produce individual layers to stitch together later if necessary. Re Vincent's comment that holding vector format to 'the very end', unfortunately what I'm doing isn't for single-use - I'm producing maps that will be used by several end users for uses ranging from conference posters to individual papers, so I can't predict final image sizes in advance (and I'm not going to be the only end-user). Hence my desire to stick to a vector format in the hopes that they'll at least scale cleanly. Although if Vincent is willing to share an example script that uses imagemagik to compose ps layers I'd be delighted to see it. Thanks again to all for sharing your thoughts & expertise. Peter ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] translucency and svg output
Ignoring the aim of Pete's graphical outputs, perhaps my advice will be trivial, but quite often people want to keep vectorial formats very "far" in the output process eventhough they don't have special post-editing needs. I was of those till I understood raster formats advantages for pre-press, among which: * kind of stability between platforms/softwares (no surprise when interpreting the format, as it often happens e.g. with poor quality postscript interpreters); * very acceptable accuracy (beyond 300 dpi for a color output is useless regarding common printers technology); * lightness (if you ever tried to generate a complex A3 pdf doc with multiple translucent layers above a raster background, you might know what I mean...) It is quite easy with Grass to write a script that: * outputs a ps file for each layer you need to overlay (may they be numerous, you have control on image size and map extent), * then performs the composition with a command line image editor (image magick can interprete postscript if you have ghostscript installed on your system) that does deal with blending options. I can provide examples for those interested... Vincent Le jeudi 25 mars 2010 à 15:12 +, Glynn Clements a écrit : > pete davidson wrote: > > > And then we discover that the 'svg' produced by cairo using the above script > > is actually just a png in an svg wrapper.. At least for my particular > > install of Grass. That's frustrating. Ahh well, back to the drawing board. > > Cairo falls back to rasterisation as soon as it encounters anything > which it might not be able to implement using vector operations. > > For me, a simple "d.vect fields" produces "real" (vector) SVG output. > You might want to experiment with the command options (and the > environment variables used by the cairo driver) to see if a specific > feature is triggering rasterisation. > ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] translucency and svg output
pete davidson wrote: > And then we discover that the 'svg' produced by cairo using the above script > is actually just a png in an svg wrapper.. At least for my particular > install of Grass. That's frustrating. Ahh well, back to the drawing board. Cairo falls back to rasterisation as soon as it encounters anything which it might not be able to implement using vector operations. For me, a simple "d.vect fields" produces "real" (vector) SVG output. You might want to experiment with the command options (and the environment variables used by the cairo driver) to see if a specific feature is triggering rasterisation. -- Glynn Clements ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] translucency and svg output
Pete, sorry if I'm off board : do you absolutely need to generate a /vector/ output ? Vincent. Le mercredi 24 mars 2010 à 20:15 -0700, pete davidson a écrit : > On Wed, Mar 24, 2010 at 7:49 PM, pete davidson > wrote: > > > > On Wed, Mar 24, 2010 at 7:42 PM, Glynn Clements > wrote: > > pete davidson wrote: > > > I'm producing maps in svg format using the cairo > driver and d.out.file. One > > thing I'd really like to be able to do is set one or > more of the vector > > layers to be partially translucent. After rummaging > through this list, I'm > > beginning to wonder if its possible at all, since > translucency in the guis > > seems to be handled by g.pnmcomp, but perhaps > someone with more experience > > knows a way to do it. > > > It isn't. The graphics API doesn't support an alpha > component. > > Apart from anything else, it can't easily be > implemented for > PostScript output, as PostScript doesn't support > translucency. Faking > it with patterns is possible, but it starts getting > complicated if you > want more than one translucent layer. > > > The only workaround I've managed to find so far is > to export each layer as > > an individual svg, then use something like inkscape > to rejoin them, setting > > the translucency/transparency of each layer as I do > it. Which is fine for a > > map with only a few layers, but gets tedious when > dealing with maps with > > dozens of layers. > > > SVG is XML, so it shouldn't be especially hard to > automate the process > using generic XML-processing tools. > > Ohh, I hadn't thought of editing the svg/xml directly. Thanks > for the suggestion, I'll see what I can achieve from there. > > > And then we discover that the 'svg' produced by cairo using the above > script is actually just a png in an svg wrapper.. At least for my > particular install of Grass. That's frustrating. Ahh well, back to > the drawing board. > > Peter > ___ > grass-user mailing list > grass-user@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/grass-user ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] translucency and svg output
pete davidson wrote: > The only workaround I've managed to find so far is to export each layer > as an individual svg, with v.out.svg? Hamish ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] translucency and svg output
On Wed, Mar 24, 2010 at 7:49 PM, pete davidson wrote: > > > On Wed, Mar 24, 2010 at 7:42 PM, Glynn Clements > wrote: > >> >> pete davidson wrote: >> >> > I'm producing maps in svg format using the cairo driver and d.out.file. >> One >> > thing I'd really like to be able to do is set one or more of the vector >> > layers to be partially translucent. After rummaging through this list, >> I'm >> > beginning to wonder if its possible at all, since translucency in the >> guis >> > seems to be handled by g.pnmcomp, but perhaps someone with more >> experience >> > knows a way to do it. >> >> It isn't. The graphics API doesn't support an alpha component. >> >> Apart from anything else, it can't easily be implemented for >> PostScript output, as PostScript doesn't support translucency. Faking >> it with patterns is possible, but it starts getting complicated if you >> want more than one translucent layer. >> >> > The only workaround I've managed to find so far is to export each layer >> as >> > an individual svg, then use something like inkscape to rejoin them, >> setting >> > the translucency/transparency of each layer as I do it. Which is fine >> for a >> > map with only a few layers, but gets tedious when dealing with maps with >> > dozens of layers. >> >> SVG is XML, so it shouldn't be especially hard to automate the process >> using generic XML-processing tools. >> > > Ohh, I hadn't thought of editing the svg/xml directly. Thanks for the > suggestion, I'll see what I can achieve from there. > And then we discover that the 'svg' produced by cairo using the above script is actually just a png in an svg wrapper.. At least for my particular install of Grass. That's frustrating. Ahh well, back to the drawing board. Peter ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] translucency and svg output
On Wed, Mar 24, 2010 at 7:42 PM, Glynn Clements wrote: > > pete davidson wrote: > > > I'm producing maps in svg format using the cairo driver and d.out.file. > One > > thing I'd really like to be able to do is set one or more of the vector > > layers to be partially translucent. After rummaging through this list, > I'm > > beginning to wonder if its possible at all, since translucency in the > guis > > seems to be handled by g.pnmcomp, but perhaps someone with more > experience > > knows a way to do it. > > It isn't. The graphics API doesn't support an alpha component. > > Apart from anything else, it can't easily be implemented for > PostScript output, as PostScript doesn't support translucency. Faking > it with patterns is possible, but it starts getting complicated if you > want more than one translucent layer. > > > The only workaround I've managed to find so far is to export each layer > as > > an individual svg, then use something like inkscape to rejoin them, > setting > > the translucency/transparency of each layer as I do it. Which is fine > for a > > map with only a few layers, but gets tedious when dealing with maps with > > dozens of layers. > > SVG is XML, so it shouldn't be especially hard to automate the process > using generic XML-processing tools. > Ohh, I hadn't thought of editing the svg/xml directly. Thanks for the suggestion, I'll see what I can achieve from there. Regards, Peter ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] translucency and svg output
pete davidson wrote: > I'm producing maps in svg format using the cairo driver and d.out.file. One > thing I'd really like to be able to do is set one or more of the vector > layers to be partially translucent. After rummaging through this list, I'm > beginning to wonder if its possible at all, since translucency in the guis > seems to be handled by g.pnmcomp, but perhaps someone with more experience > knows a way to do it. It isn't. The graphics API doesn't support an alpha component. Apart from anything else, it can't easily be implemented for PostScript output, as PostScript doesn't support translucency. Faking it with patterns is possible, but it starts getting complicated if you want more than one translucent layer. > The only workaround I've managed to find so far is to export each layer as > an individual svg, then use something like inkscape to rejoin them, setting > the translucency/transparency of each layer as I do it. Which is fine for a > map with only a few layers, but gets tedious when dealing with maps with > dozens of layers. SVG is XML, so it shouldn't be especially hard to automate the process using generic XML-processing tools. -- Glynn Clements ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
[GRASS-user] translucency and svg output
Hi all I'm producing maps in svg format using the cairo driver and d.out.file. One thing I'd really like to be able to do is set one or more of the vector layers to be partially translucent. After rummaging through this list, I'm beginning to wonder if its possible at all, since translucency in the guis seems to be handled by g.pnmcomp, but perhaps someone with more experience knows a way to do it. eg: d.mon start=x1 d.vect map=road_lines d.vect map=forest_areas # this is the layer I need translucent d.out.file -c ~/Desktop/test format=svg d.mon stop=x1 The only workaround I've managed to find so far is to export each layer as an individual svg, then use something like inkscape to rejoin them, setting the translucency/transparency of each layer as I do it. Which is fine for a map with only a few layers, but gets tedious when dealing with maps with dozens of layers. Any ideas or suggestions? Regards Peter Davidson Postdoctoral Fellow UCSD Global Public Health ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user