GvSIG GSoC 2014 Ideas
Use this page to jot down and develop any good idea for the Google Summer of Code 2014 program with gvSIG project. Please, use the gvSIG mailing lists for discussion and check 2013, 2012, 2011, 2010, 2009 ideas pages for examples or reference.
Add OpenCL support with Aparapi for Geoprocessing in gvSIG desktop
- Product: gvSIG Desktop
- Possible mentor: Cèsar Ordiñana
- Possible student: Paula Navarro
Aparapi is a library which allows Java developers to take advantage of the compute power of GPU and APU devices by executing data parallel code fragments on the GPU rather than being confined to the local CPU. It does this by converting Java bytecode to OpenCL at runtime and executing on the GPU, if for any reason Aparapi can't execute on the GPU it will execute in a Java thread pool.
Large amounts of geographic data-processing might be involved in the execution of a geoprocess. And many geoprocessing algorithms are suitable to be converted to parallel code, allowing for much better execution performance and capacity.
The objective would be to integrate the Aparapi library in gvSIG, so it might be used in the development of new parallel geoprocessing algorithms which take advantage of current GPUs. Also some geoprocesses would have to be developed or converted to use the Aparapi library to check the benefits and the proper operation of the idea.
Extend Raster Support in Scripting Framework in gvSIG
- Product: gvSIG Desktop
- Possible mentor:
- Possible student: Sandeep Kumar
1. Introduction
gvSIG Scripting Framework is a small environment for development and execution of scripts that interact with the application.These scripts allow us to automate small tasks or add some functionality that we need and that we can implement. This feature helps the developers to test their implementations locally with much less effort.
2. Background
At this moment, using Scripting Framework one can load raster layer and perform some filtering operations. This was implemented as part of GSoC 2013 idea Add Raster Format to Scripting in gvSIG
3. Idea
This idea concentrates on extending the capabilities of Jython Scripting in gvSIG Desktop. A lot of Raster functions like histogram analysis, flow direction analysis, geoprocessing etc., which stand as a major advantage of using Raster data should be implemented in Scripting Framework.
Filtering of raster images is one of the key feature of image analysis. As of now, the filtering operations consume lots of time even on small images. This can be optimized by making use of the already implemented gvSIG kernels from Java.
As of now, one can load .tiff files using Scripting Framework. This should be extended such that one can load .ecw, .jp2 files. Loading a layer in a tiled way, loading WMS and WCS layers, getting the ROI of a layer as a vector layer etc., should be implemented.
Port Network Analysis Extension to gvSIG 2.x branch
- Product: gvSIG Desktop
- Possible mentor: Francisco José Peñarrubia
- Possible student:
Port gvSIG Network Analysis Extension from 1.12 release to the new 2.x branch.
Network Analysis extension allows to calculate routes, service areas, origin - destination matrices, connectivity analysis... It supports speeds for several vehicles, barriers, turn costs, etc.
Improvement: Use GraphHopper [1] library to use new algorithm Contraction Hierarchies (much faster) when calculating routes.
Skills needed: Java, Eclipse development. Some notions about Maven would be interesting.
Idea template
- Product: gvSIG Desktop/gvSIG Mini
- Possible mentor: if applicable
- Possible student: if applicable
Write your idea here... Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi imperdiet condimentum leo sit amet scelerisque. Aliquam placerat, dolor non egestas gravida, tellus felis viverra dui, a scelerisque dolor leo in nulla. Suspendisse pharetra lacus vitae lacus mollis dapibus dignissim metus varius. Nullam scelerisque, elit sit amet ornare commodo, tortor enim consectetur est, eget imperdiet leo augue eget felis. Vivamus nec justo tellus, nec semper ante. Etiam et dolor urna. Nullam non augue in lacus auctor laoreet eget non erat. Integer id justo id magna commodo malesuada. Maecenas tincidunt ipsum nec erat fringilla posuere. Sed ante sapien, posuere non euismod tincidunt, fermentum sollicitudin quam. Aenean metus lacus, viverra ut hendrerit eu, interdum vitae turpis.