[GRASS-user] ps.map vpoints eps trouble

Hamish hamish_nospam at yahoo.com
Mon Nov 12 21:36:40 EST 2007


Frank Broniewski wrote:

> I have a vector layer with points representing sites. I want to use eps 
> graphics to represent the sites in ps.map. I define the the points layer in 
> the map description file like below
> 
> vpoints sites
>   color black
>   fcolor 98 87 78
> #  symbol basic/circle
>   eps /home/frank/brassard.svg.eps
>   rotate 0
>   masked n
>   size 1
>   where epoch = 'Préhistoire' and category = 'Objet isolé'
>   label Objet isolé
>   end
>
> but when I run 
> ps.map -e input=epc/grass\ maps/prehis_cate.txt output=prehis_cate.ps
> 
> ps.map exits with a segmentation fault: Segmentation fault (core dumped)

It works for me using the GRASS logo EPS file,

ps.map out=test.ps << EOF
vpoints archsites
  color black
  fcolor 98 87 78
#  symbol basic/circle
   eps /usr/local/src/grass/grass63/tools/grasslogo_vector.eps
  rotate 0
  masked n
  size 0.1
  label Objet isolé
  end
end
EOF


The image is not replicated in vlegend, which is a bug. But you can place that
manually with the EPS instruction.

Is there any other message with the SegFault? e.g. I am aware that a malformed
SQL query causes a segfault, but you get a message about that.

You can set the debug message to high and/or put ps.map in verbose mode to see
more messages.
  g.gisenv set="DEBUG=5"   # set back to 0 to turn them off


do see see text like this:
  epstype=1, pre=/usr/local/src/grass/grass63/tools/grasslogo_vector.eps,
suf=(null)
  Scale set to 1 : 102867.
  ...
?

what does that say?

I notice in r_vpoints.c that the EPS suffix (vector.layer[vec].epssuf) is
uninitialized if epstype=1.  ?  (thus above suf=(null))


> I thought, that maybe the image is not in a good eps format, since I convert 
> them from svg to eps, but testing the image with
> 
> eps 50% 50%
>   epsfile /home/frank/brassard.svg.eps
>   scale 3
>   rotate 0
>   masked n
>   end
> 
> runs without any problems. So I really don't have a clue why the eps point 
> representation doesn't work, since there is no error code or something.

they both render with the same eps_draw() function, so the error must be before
that.


>   where epoch = 'Préhistoire' and category = 'Objet isolé'

tip: if this is still causing problems, you might try a partial string match
with the tricky letters removed

  where epoch ~ 'histoire' and category ~ 'Objet isol'
?


Hamish



      ____________________________________________________________________________________
Never miss a thing.  Make Yahoo your home page. 
http://www.yahoo.com/r/hs




More information about the grass-user mailing list