My first few blogs will be about the upcomming 3.8 of which I published a first beta just before my holidays. The next beta will follow shortly.
The last few years, as a programmer, I encountered serious limitations in what ILWIS could render on the screen. The rendering system was designed when computers had far less memomry, puny (compared to now) graphic processors and the data-sets were much smaller. With large, multi-spectral and spatial – temporal data-sets, with big feature sets, web technology etc.., the existing system ran into serious limitations.
After some discussion and brain storming I designed a new system that had the following goals
I didnt want to have to change the internals of ILWIS when implementing a new type of rendering. For example if I want to add a renderer for a WFS service, I only have to write a plug-in for that kind of data stream, I don’t have to touch the rest of ILWIS which simplifies design (and debugging 🙂 )
Rastermaps with different geometries in the same mapwindow
“Old” ILWIS was limited, only rastermaps with the same georeference are allowed in a mapwindow. With the current graphics processors this is no longer needed. They are able to morph bitmaps (and in the end, renderings of maps are just bitmaps) on the fly. So as long as you supply the correct parameters, instantaneous resampling is done for you. This also means that maps are now oriented along the coordinate system instead along the georeference.
People like 3D, even if I may have some reservations about 3D rendering for spatial data, people seem to like it and find it usefull. So this was also one of the goals. The option to view all spatial data in 3D. But my goals went a little bit beyond that, as (see below) one of my additional goals was visual spatial analysis, I wanted to go further then simple 3D renderings of DTM’s and such. The “z” axis had to be a arbitrary numerical value of any data-source as long I could relate the spatial x,y coordinates to that datasource. So an attribute table, a different rastermap, the maps it self etcetera, are all suitable. Now you can make 3D renderings of temperature maps, DTM’s, NDVI’s, population density, the sky is the limit. Which combination is usefull and which not is up to the user, the system poses no limits here.
The “old” ILwis had a primitive animation component which was not that usefull. These days, with big spatial temporal data-sets that are difficult to visualy analyze without some type animation, ILWIS was not the best tool for that.
My goal was to have an animation layer that worked in every way (were relevant) as a normal layer in the mapwindow. The only difference was that what it displayed changed over time (animation!, tadaa). Animation had to work both on “real-time” information(if available, a subject for a different blog maybe, as ILWIS now knows about time) or on a simple index basis. Also synchronization between different animations had to be realized. Apart from that, were relevant, all tools that worked on “normal maps” also had to work on animations. So for example, 3D animations are possible.
The over-arching goal behind this is “visual-analysis”. Though algorithmical analysis is needed to produce the hard numbers needed for scientific work it is sometimes difficult to spot were your analysis should start. Nature has gifted us with a wonderfull tool to spot patterns and trends in the shape of our vision. So making tools that enhance that capability makes perfect sense. This is what I call visual analysis. I added a lot of display tools to the new rendering to help the user in this respect. Interactive representation, real-time stretching, transparencies, 3D tools, animations etcetera are an expression of this. The goal is not to make prety pictures, scene rendering software is better for this, but to make visualy meaningfull images(which might be pretty 🙂 ).