Of course, sorry, should have sent them to start with. Below copied from plplot.h.

c_plmapline( void ( *mapform )( PLINT, PLFLT *, PLFLT * ), const char *type,
       PLFLT minlong, PLFLT maxlong, PLFLT minlat, PLFLT maxlat,
    int* plotentries, int nplotentries);
// Plot map points
c_plmapstring( void ( *mapform )( PLINT, PLFLT *, PLFLT * ),
  const char *type, const char *string,
  PLFLT minlong, PLFLT maxlong, PLFLT minlat, PLFLT maxlat,
  int* plotentries, int nplotentries);
// Plot map text
c_plmaptex( void ( *mapform )( PLINT, PLFLT *, PLFLT * ),
  const char *type, PLFLT dx, PLFLT dy, PLFLT just, const char *text,
  PLFLT minlong, PLFLT maxlong, PLFLT minlat, PLFLT maxlat,
  int plotentry);
// Plot map fills
c_plmapfill( void ( *mapform )( PLINT, PLFLT *, PLFLT * ),
  const char *type, PLFLT minlong, PLFLT maxlong, PLFLT minlat,
  PLFLT maxlat, int* plotentries, int nplotentries);

From: "plplot-devel-request@lists.sourceforge.net" <plplot-devel-request@lists.sourceforge.net>
To: plplot-devel@lists.sourceforge.net
Sent: Wednesday, 21 May 2014, 12:39
Subject: Plplot-devel Digest, Vol 96, Issue 3

Send Plplot-devel mailing list submissions to

To subscribe or unsubscribe via the World Wide Web, visit
or, via email, send a message with subject or body 'help' to

You can reach the person managing the list at

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Plplot-devel digest..."

Today's Topics:

  1. Re: shapelib find module (Arjen Markus)


Message: 1
Date: Wed, 21 May 2014 11:39:00 +0000
From: Arjen Markus <Arjen.Markus@deltares.nl>
Subject: Re: [Plplot-devel] shapelib find module
To: phil rosenberg <philip_rosenberg@yahoo.com>, PLplot development
    list    <Plplot-devel@lists.sourceforge.net>
Content-Type: text/plain; charset="us-ascii"

Hi Phil,

Could you show us the API for these new functions? That would make it easier to see how they can be propagated to the other bindings.



From: phil rosenberg [mailto:philip_rosenberg@yahoo.com]
Sent: Wednesday, May 21, 2014 1:22 PM
To: PLplot development list
Subject: Re: [Plplot-devel] shapelib find module

Hi All
I've just been able to go back and finish sorting the plmap changes to more fully support shapefiles. I just wanted to run the changes past the list before I submitted them.

I have left the current plmap function intact. I have added the functions plmapline, plmapstring, plmapfill and plmaptex, which are essentially equivalent to plline, plstring, plfill, plptex, but the data points are taken from a shapefile. These functions can also be passed an array of indices of objects which will be drawn, to allow a subset of the objects within a shapefile to be drawn (e.g. passing {0, 4, 10} will draw the 1st, 5th and 11th object from a shapefile). Passing NULL will draw all objects.
There have also been some improvements to the speed, quality and reliability of wrapping longitudes.
Example 19 has been updated to show what can be achieved with the changes. If anyone would like a patch to test out the changes themselves let me know.
I have propagated the changes to the C++ binding and the C++ example. But I'm at a bit of a loss when it comes to other bindings. If anyone could lend a hand there it would be much appreciated.

Assuming nobody has any objections to this change to the public API I will submit it later this week.


From: phil rosenberg <philip_rosenberg@yahoo.com<mailto:philip_rosenberg@yahoo.com>>
To: Alan W. Irwin <irwin@beluga.phys.uvic.ca<mailto:irwin@beluga.phys.uvic.ca>>
Cc: PLplot development list <Plplot-devel@lists.sourceforge.net<mailto:Plplot-devel@lists.sourceforge.net>>
Sent: Sunday, 2 March 2014, 10:23
Subject: Re: shapelib find module

Thanks Alan
Yes I meant to send that to the list.

Yes it looks like CMake 3.0 is needed to fix the FreeType issue. I'll try it out and see, then commit it. While I'm at it I will have a look to see if the wxWidgets module has had wxWidgets 3.0 support added. If not then I will also add a findWxWidgets module to Plplot, as the feedback I got from CMake was that this module is orphaned so it is unlikely to get fixed in the near future.

Back to plmap. Re overloading - I had thought that if the function had a different number of parameters it got a different prototype and this was allowed in C, but having just checked, I was wrong. Forget that.

There were some reasons why I picked this data set. I had been using some of this data anyway, so I knew OS provided contour lines as vectors. Most height data seems to be raster format. It's also a case of trying to get files with moderate size. OS provide data at this scale covering 50 km x 50 km squares so the files for this area are only 6 MB (and not all are used in the example so this could be further reduced) so is a sensible size to provide with the Pplot source. I found quite a nice dataset covering Berlin, which I thought would give a nice plot showing different road types, rail, trams etc. However  it was a few hundred MB which is obviously not appropriate to distribute. It also had so many roads not ordered in any sensible way so plotting just the major routes in one colour without coding up database requests was impossible.That said, maybe the Scottish highlands might be a good option to look at too.

Thanks for the info on the backgrounds - I think there is a bug in the wxWindow "save file" option that isn't utilising this somewhere. I'll have a look.


On Sunday, 2 March 2014, 3:15, Alan W. Irwin <irwin@beluga.phys.uvic.ca<mailto:irwin@beluga.phys.uvic.ca>> wrote:
Hi Phil:

I am pretty sure you meant to send the remarks below (which you only sent
to me) to the list as well so I am going to CC the list in my reply so
everybody can see your remarks.

On 2014-02-28 17:54-0800 phil rosenberg wrote:

>> On Thursday, 27 February 2014, 17:04, Alan W. Irwin <irwin@beluga.phys.uvic.ca<mailto:irwin@beluga.phys.uvic.ca>> wrote:
>> From recent remarks made by Brad King at
>> http://public.kitware.com/Bug/view.php?id=14774itappearsthe problem
>> had already been fixed in their development version but not released
>> yet.
>> So as the next step you should look at the dates of all the commits he
>> referred to and copy the blob from the latest of those into PLplot's
>> cmake/modules/FindFreeType.cmake (which will then supersede whatever
>> FindFreetype.cmake that comes with your CMake version) to see whether
>> that latest version works for you.

> I have just upgraded my CMake. Hopefully that will do the job.

I doubt even the latest released version of FindFreeType.cmake is
going to help you. Instead, please follow what I suggested above to
get the latest _unreleased_ version.  And if it works, please commit
that new version of cmake/modules/FindFreeType.cmake so that all
PLplot users can benefit regardless of their CMake version.

> I've been working on plmap over the last few days and am coming
close to something worth submitting. I have rewritten the way it does
wrapping which should fix a few bugs and also be rather more
efficient. I also added support for shapelib polygons as well as
lines. Finally I added the ability to select which items of a
shapefile are drawn. I would like some advice on what people think is
the best interface for this. I added two new variables to plmap - an
array of PLINTs, and the number of points in that array. This array
provides the indices of the items the user wishes to plot. Passing
NULL for the array just plots everything. Does this sound like the
best way to do this to everyone? I could imagine doing it a few
different ways, such as passing an array of 0s and 1s to not plot or
plot each element or parsing database requests to filter certain
features (but this is obviously more effort and actually a bit less

> I could also leave the old version in place as an overload, but I'm
not sure if all the languages we support  have the ability to deal
with overloads?

Congratulations on being so close to an improved plmap API. I don't
feel that competent to answer the questions in the two paragraphs
above. For example, you talk about overloading which I know is
possible with f95, Python, and C++, and ???, but is that possible with
C which is the language you should use for all core library functions?

Anyhow, I am repeating your paragraphs above for the benefit of Andrew
and Hez who are likely more competent to respond on these API issues.
A further remark is it is always a good idea to ask (as you have done)
when API changes are involved, but if Andrew and Hez are unable to
respond in a timely way just use your best judgement for the commit.
After all, they have a whole release cycle to modify your change if
they prefer something different than what you have chosen.

> Alan, I seem to remember when we first introduced shapefiles you
wanted a new example to show off the capabilities. I've attached a map
of the coastline to the north of Exmoor UK, generated with the
wxWidget driver, which I thought might do the job. It uses shapelib
files which are licenced such that we can redistribute them and
it makes use of all the shapelib features I have included thusfar. The
only thing I am struggling with is setting the white background on
just this plot within example 19, but leaving the others black. It
works on the wxWidgets interactive interface, but doesn't seem to work
on the colour ps driver or the saved wxWidget output.

I really like this example; a fully coloured contour map is a huge
improvement compared to the simple outline maps we currently have for
the rest of this example.  However, I suggest you put some additional
decoration on the map (such as "Exmoor National Park, UK") to identify
it for our users. Also, Exmoor is a great start, but can you find
relevant shapefile map data featuring a spectacular crater or volcano
for an additional "coloured contour map" example page as well?  I am
thinking along the lines of the big Island of Hawaii (with Mauna Loa
and Mauna Kea) or even Olympus Mons (on Mars).  Teide in the Canary
Islands (see http://en.wikipedia.org/wiki/Teide) looks fairly
spectacular as well, but, of course, for all of these suggestions the
big question for each of them is whether shapefile data exist in
publicly distributable form.

With regard to your question concerning changing the background from
one page to the next, the colour manipulations of example 16 (which
include a changed background colour in the colour palettes) are all
done just before the relevant pladv call, and I think the changed
backagrounds are consistent for all device drivers.  The plenv
function used in example 19 contains an internal call to pladv.  So my guess is
what you have to do is change the background just before the relevant
plenv call to get consistent changed background results for all device

Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).

Linux-powered Science

DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail.
-------------- next part --------------
An HTML attachment was scrubbed...


"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."


Plplot-devel mailing list

End of Plplot-devel Digest, Vol 96, Issue 3