gvSIG 2.0 improves the raster access incorporating the possibility to make tiles for the sources of this type of data, local or remote ones. The results is that the raster layers are loaded on the gvSIG view in small portions or tiles that allows the layer to be rendered progressively. The layers are divided in pre-establish levels with different resolutions and these tiles are generated for each level in executing time, that means when the requests for new areas are made (zooms) the tiles are generated.
But the best advantage of this system is that we can save all the tiles in a cache. At this way, the information that is downloaded from the servers don’t have to be asked for again once it has been done, because the next requests are served from the cached data, with the consequent efficiency improvement.
At this way, the incorporation of new data sources with this system of resolution pyramids is easy. Due to this possibility the development of a new plugin to access to the tiled layers from OpenStreetMap servers has been relatively easy. It’s because these servers serve data at this way and it’s totally compatible with the cache system that has been incorporated in gvSIG.
This plugin includes a basic access to the OpenStreetMap layers for viewing. Four servers are configured by default, that serve the Map Quest, Map Quest Open Aerial, Open cycle Map and Mapnik layers. At the same “Add layer” interface it’s possible to add new servers, so it doesn’t limit it only to the preconfigured data. The interface to do it is very intuitive and it doesn’t need any special explanation. In our opinion, this is an example about how we can take advantage of the base possibilities of gvSIG 2.0 effortlessly to develop a new functionality.
A problem with the OSM tiled layers in gvSIG is the projection. They are served in EPSG:3785 and gvSIG doesn’t include this projection originally. It’s possible to create it manually if we have the WKT string, but it’s not easy. In this case, the plugin will do it for us. Everytime it’s executed it will check if this EPSG exists in the gvSIG database and if it’s not included it will be created as a user projection. At this way we will be able to change the view to this projection for loading the cartography.
Another inconvenient that we can find is that once the information is at the cache it’s not updated, and if the information changes at the server we will continue loading old data. This is not a problem to load local layers, but it would be a problem for remote layers, like the OSM layers. We expect to improve it in the future to solve this problem.