GSoC/GCI Archive
Google Summer of Code 2011

OSGeo - Open Source Geospatial Foundation

Web Page: http://wiki.osgeo.org/wiki/Google_Summer_of_Code_2011_Ideas

Mailing List: http://lists.osgeo.org/mailman/listinfo/soc

OSGeo is a non-profit organization serving as an umbrella organization for the Open Source Geospatial community in general and 20 (to 26) code projects in particular:

Web Mapping: deegree, geomajas, GeoServer, Mapbender, MapBuilder, MapFish, MapGuide Open Source, MapServer, OpenLayers

Desktop Applications: GRASS GIS, OSSIM, Quantum GIS, gvSIG

Geospatial Libraries: FDO, GDAL/OGR, GEOS, GeoTools, MetaCRS, PostGIS

The following are sub-projects of MetaCRS:
  • CS-Map, GeoTIFF/libgeotiff, PROJ.4, Proj4J, Proj4js, SpatialReference.org

Metadata Catalog: GeoNetwork

Other (non-code) Projects: Public Geospatial Data, Education and Curriculum, Live Handout DVD

Projects

  • Add support to vector data formats for gvSIG Mini gvSIG Mini is aimed at non-professional users, that means, casual uses such as localization, route calculation, map navigation etc. This project would spread the use of gvSIG Mini among professionals, providing access to vectorial data to the application. It’s a very demandant feature among Android professional users.
  • Astronomical processing tools for Opticks I would like to implement the Astronomical processing tools that includes noise filtering, image enhancement, brightness measurement and if time available, image registration
  • Catalog View of uDig This project will enhance user experience when it comes to viewing and browsing large amounts of layers within the catalog. The project will integrate the Java Browsing Perspective with innovative grouping of layers to the catalog view
  • Completion of wxGUI Nviz extension for 3D data visualization in GRASS GIS This project continues in the development of GRASS GIS 3D visualizaton tool wxNviz based on wxPython and underlying OGSF library. The goal is to add missing functionality so that wxNviz's predecessor written in Tcl/Tk could be replaced by completed wxNviz in GRASS 7. The plan is to add missing features like animations or cutting planes and additionally implement better view control.
  • DBManager plugin for QGIS Integrate PG_Manager, SL_Manager, Rt_Sql_Layer and other related python plugins to create DBManager, a multi-db manager easily expandable to manage other spatial DBs.
  • Development of a ship detection and classification toolkit for SAR imagery in Opticks Ship detection and classification in large open swaths of ocean is tough due to factors like low image resolution and false targets. But with the increasing importance in monitoring ship traffic in both coastal and open ocean, an automatic algorithm for the detection of ships and their wakes is very desirable. In this project, I will develop an automatic ship and wake detection algorithm in Opticks that can identify and classify vessels based on velocity and heading using Radon transforms.
  • Enhancing Geoserver Authentication Geoserver (www.geoserver.org) authentication is based on Spring Security and offering a user id / password log in. After a successful log in process, the user has some predefined roles. Based on these roles, authorization takes place. Spring Security offers many additional authentication mechanisms. (Http Basic, Http Digest, X.509 Certificate, openID, ...). Based on these mechanisms a more powerful Geoserver authentication architecture should be developed.
  • Geoprocessing with Neo4j Spatial PostGIS has a large number of built-in geoprocessing functions, making it a popular choice for geoprocessing within the database. If we support a similar range of geospatial functions as postgis, it would make neo4j very appealing to the GIS crowd. This could include both standard spatial operations like st_buffer, st_interects, etc. (some of which are effectively supported already, but needs a more standard API), as well as topology functions for increasing connectivity. For example, there was
  • Graphical User Interface for the hydrological tools r.stream* in GRASS GIS In GRASS GIS new modules suitable for hydrological analysis have been developed, r.stream*. My idea is to develop a wxpython GUI for r.stream* that allows to see the preview of the hydrological analysis over a part of a map and then decide if apply the analysis or not. It will include "multiple previews". Every result can be saved as an image and set of parameters for future use in additional "preview windows", next choose from group of possible parameters that which is most suitable.
  • GRASS WXGUI WMS service rendering I will introduce several features that make WXGUI more user-friendly. These include adding WMS layer support for WXGUI. The selection features will be displayed as per the based on service GetCapabilities response. The parameters and the layers are to be displayed are extracted out of the xml response. This will be done dynamically.
  • INSPIRE View Service for MapServer Support of the INSPIRE View Service would be a major asset for MapServer and is required by European governmental institutions. The idea of the project is to implement missing features to enhance the support of this extension to WMS.
  • Integration of GGL2 into gvSIG The integration consists of connecting GGL2 to gvSIG Desktop. Thereby, users will be able to reference the gvSIG data sources in GGL2 scripts, process them and visualize the results back in gvSIG. This integration includes implementing the communication between both of them, modificating GGL2 grammar, wrapping gvSIG readers in order to provide access to all formats gvSIG can read and some usability tasks, such as implementing an execution wizard for GGL2 algorithms.
  • Multi-modal public transit routing for pgRouting This task will enrich pgRouting with new functions that operate on public transit data and solve the multi-modal routing problem.
  • Photography processing tools for Opticks Plugins for Opticks, implementing algorithms for various image enhancement operations on RAW images like white reduction , noise removal, demosaicing etc.
  • PyOSSIM: Python bindings for OSSIM libraries PyOSSIM will act as a Python wrapper to the core library, making available the functionalities of OSSIM core libraries via Python, originally written in C++. Many GIS analysis tools like GRASS and QGIS, as well as libraries like GDAL have the Python binding support, but OSSIM also needs it in order to enable these tools and libraries to interact with it. In this way, we shall be making available the functionalities of OSSIM to these GIS and remote sensing analysis tools and libraries.
  • QGIS Mobile The idea is to Port QGIS to Android and improve the GUI for using it on a Tablet PC. Qt, the base library of QGIS has already been ported to Android recently under the name Necessitas.
  • r.in.modis for GRASS GIS MODIS data are free geodata and they are crucial to derive ecological indicators. The two NASA satellite systems, Terra and Aqua, significantly improve the current data availability for scientific purposes. I am facing the challenge to develop a module which will be able to i)import data from a downloaded file or ii) directly download MODIS data from a FTP server and then load the file(s) in a GRASS GIS location.
  • SAGA interface for QGIS Implement a QGIS plugin that makes it possible to run the versatile "System for Automated Geoscientific Analysis" (SAGA GIS) modules from Quantum GIS. Generate a GUI on-the-fly and run the modules using either the SAGA command-line application or the SAGA Python API, if available. Automate the process of information exchange between those two systems.
  • Time Dependent \ Dynamic Shortest Path Algorithm Implementation for pgRouting This project aims at extending the pgRouting library to support time-dependent shortest path routing where the edge weights are function of time and other parameters. Unlike static scenario, where the edge weights do not change here, we assume that the weights change according to time. So, while traversing any edge, the algorithm must consider the cost of edge at that instant of time. Thus the algorithm will give the path which has least arrival time from source to destination.