From: phil r. <phi...@ya...> - 2014-05-21 11:55:56
|
Of course, sorry, should have sent them to start with. Below copied from plplot.h. PLDLLIMPEXP void 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 PLDLLIMPEXP void 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 PLDLLIMPEXP void 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 PLDLLIMPEXP void c_plmapfill( void ( *mapform )( PLINT, PLFLT *, PLFLT * ), const char *type, PLFLT minlong, PLFLT maxlong, PLFLT minlat, PLFLT maxlat, int* plotentries, int nplotentries); From: "plp...@li..." <plp...@li...> To: plp...@li... Sent: Wednesday, 21 May 2014, 12:39 Subject: Plplot-devel Digest, Vol 96, Issue 3 Send Plplot-devel mailing list submissions to plp...@li... To subscribe or unsubscribe via the World Wide Web, visit https://lists.sourceforge.net/lists/listinfo/plplot-devel or, via email, send a message with subject or body 'help' to plp...@li... You can reach the person managing the list at plp...@li... 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 <Arj...@de...> Subject: Re: [Plplot-devel] shapelib find module To: phil rosenberg <phi...@ya...>, PLplot development list <Plp...@li...> Message-ID: <8CF085736108634681FD03EC36E6A072CDB745@V-EXC-C02.DIRECTORY.INTRA> 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. Regards, Arjen From: phil rosenberg [mailto:phi...@ya...] 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. Phil From: phil rosenberg <phi...@ya...<mailto:phi...@ya...>> To: Alan W. Irwin <ir...@be...<mailto:ir...@be...>> Cc: PLplot development list <Plp...@li...<mailto:Plp...@li...>> 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. Phil On Sunday, 2 March 2014, 3:15, Alan W. Irwin <ir...@be...<mailto:ir...@be...>> 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 <ir...@be...<mailto:ir...@be...>> 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 flexible). > 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 drivers. Alan __________________________ 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." http://p.sf.net/sfu/SauceLabs ------------------------------ _______________________________________________ Plplot-devel mailing list Plp...@li... https://lists.sourceforge.net/lists/listinfo/plplot-devel End of Plplot-devel Digest, Vol 96, Issue 3 ******************************************* |