Hi Alan and anyone else
No, you must call multiple times. This is mostly however a limit of shapefiles. An overview of shapefiles is as follows. A shapefile is actually multiple files with the same filename and different extensions. Lets call these a shapefile set. The files include the map data, an index to the data file and a metadata file. Some other optional files can be included too. Each shapefile set can be either line data, point data, fill data, etc. Mixed shapefile sets are not permitted. So to define a full map you would generally have multiple shapefiles defining various different aspects of the map. So to plot different types you would have to plot data from different files anyway. Because a file contains only one data type it is not necessary to define the type, but it may be useful to be able to override the type. For example I often see coastlines plotted as dots, or line data may wish to be filled or vica versa.
So, I will change the implementation to use one function. This will have parameters for all the types and a type parameter. Which may be auto, point line, fill or gradient.
I don't have access to the api right now, but it might make sense to have a plsmaptype function. Users could call this to override the default type of the file and this would remove one parameter from plmap. This is at the expense of a further function to propagate. I wwill go through and check if there are any further draw types that may be useful.
Let me know if you have any further thoughts. I'm away this week so it will be the weekend at least before I do anything about this.
While waiting for Andrew to weigh in on what he thinks is the best
PLplot mapping API, I have a further questions about that API. If we
used the "one-function" approach would we have to call that function 4
times to draw fills, lines, text, and strings defining the map or
could that function plot the required data defining the map in one
call? I assume the latter is the case, but I just want to make sure.
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).