When implementing such a large operation as we are doing for the 3.8, there is inevitably functionality of the old code that has to be reevaluated. Mostly it is because you want something better, sometimes you have to remove some non performing functionality and sometimes you have to set priorities to determine what must be ported to the new structure and what will be dropped. This blog is about the losers of that judgment.
Designer : You can’t print maps in 3.8.
Users : What? I think I misunderstood.
Designer : No really, no printing of maps. No layouts.
User : Eeeh, seems to me a big blunder. Everybody wants to print their maps at a certain moment. Stupid programmers!
Well indeed the layout has gone from ILWIS. No direct printing of maps anymore. It was the result from a discussion between me and several users about printing, how it is used and how important it was. The background was of course a setting of priorities. The basic reasoning was: You don’t want to print; you want to use the rendering of a view in a report or some other kind of document. You can combine it with other texts, figures and tables based on that software. The final result can be printed if needed. In that way you combine the strength of one piece of software (LWIS), rendering spatial data, with the strength of let’s say a word processor (rendering texts/tables + printing) without needing to reinvent the wheel.
As such, this line of reasoning suited me well. I disliked the layouts as being too primitive for real cartographic output. I have never considered ILWIS to be a cartographic package, it’s an analyses package. Sure if you have enough resources it might be feasible to implement such functionality but it certainly has low priority. So the above line of reasoning suited me well, however, it is has two important consequences. First of all ILWIS has to be able to copy the contents of its mapwindow perfectly to the clipboard. Second, that some annotation elements are available in the mapwindow that were previously in the Layout. Elements that are not easily generated by a word processor.
The first task is rather easy. Instead of rendering to the screen, I render to a bitmap of suitable size and put that on the clipboard. At the moment, I render a 300 dpi image to the clipboard. This is quite large and should be sufficient for most documents or posters. I can scale op the image to 600 dpi but that creates a really huge bitmap, so for the moment I leave it at 300 dpi. Note that the image I render is identical to the view you have in your Mapwindow (incl. zoom and such).
The second is somewhat more work, though not overly so. I choose to implement Legend, MapBorder and North Arrow in the mapwindow. In the current internal version, the first two work reasonably well, the third needs to be done. The third one is easy though. I will probably use some ivg file(s) (see earlier blog) and rotate them appropriately. In this way people can add their own arrows and I hardly have to program anything as the ivg rendering is already done with the point maps.
Point graph symbols
The second thing to go was the point graph symbols. You could make a mini graph of the values of an attribute table that appeared at the location of a point. There were a number of types and a lot of properties. Apart from maybe the pie chart they were difficult to read and often quite ugly. Reimplementing them would have been a lot of work for a feature that I judged to be fairly useless ( apart maybe of the pie chart). Now if users can convince me of the usefulness of it, I might reconsider. But for the 3.8 they are out (for the moment).
Point labels are gone for the moment. I am not completely happy with that, but as such they have been given low priority. Partly this was because it took some time to get the scaling of texts correct, that was quite difficult in OpenGL (needed that in the annotations), partly because a good placement algorithm for labels is not trivial (problems with overlapping labels and such). Now that I have good control over the size of fonts I might implement a simple labeling scheme. We will see, for the moment it not on my list of things to do.
Double click action on maps
In the past you could attach the opening of a document (in the broadest sense) to double clicking on locations. As such this was cool (when it was developed) but at the moment I feel that it is not enough. More can be done here, more should be done. But what? So for the moment I leave it out. Maybe it will reappear in the 3.8 or later, maybe not. It is one of those features that are fun to play around with as programmer but I doubt its priority a bit .
So these things are the main things that will not reappear in 3.8. A shame? Maybe, maybe not. It is not bad sometimes to clean up some features as ‘more’ doesn’t always mean ‘better’.