List your Google Summer of Code 2010 Ideas Here!

Use a second level heading for your project idea (see mini-template below).

My Project

  • Create cool stuff
  • Make QGIS better

Transportation Road Network Data Structure

  • This is a work in progress document, last edited by Dassouki (rev 1)

This project intends to create a file format or data structure to accommodate transportation and traffic engineering needs. This project does not conflict with PgRouting as the aim is not to create routing and network analysis plugin, rather it will be a base road/network file format. Although a little bit old, the paper by Miller and Shaw [1] is an excellent paper outlining transportation basics for GIS.

This structure will allow transportation planners, traffic, and safety engineers to design plugins dedicated for transportation needs. Some ideas for the plugins are:
  • Travel Demand Modeling: activity or trip based
  • Integrated land use models
  • Traffic Safety engineering and modeling
  • parking studies
  • Noise modeling
  • Volume and capacity forecasting
  • Level of analysis of roads, systems, traffic signals, and transit
  • Line of sight analysis on traffic intersections, vertical and horizontal curves
  • Traffic Collision reporting and geocoding
  • Transit studies
  • Trip routing and forecasting
  • Transportation forecasting
  • Trip optimizing using heuristics
  • Road sign management
  • Traffic survey design and GeoLocation
  • Traffic data organization
  • Pavement asset management
  • Site impact analysis
  • Freight data modeling
  • Rural vs. urban modeling
  • Micro and macro simulation of road networks
  • Intelligent Transportation Systems

I have all the manuals and technical background to perform the above analysis and could easily be provided upon request.

Challenges: What are some of the differences between a normal line layer and a road network segment?
  • Traffic Control: This indicates a controlled or non-controlled traffic signal. In either case, modellers need to distinguish between turning direction and assign them penalties or bonuses. For example, on a traffic signal, people turning left would be assigned a penalty for having to wait through a light, but people turning right would be assigned a bonus as in North America, they can turn right on red. Another restriction would be applied for allowing U-turn or through trips.
  • Road Representation: Road segments in a SHP/PostGIS table come as either one line or two lines if the road is separated with a median. A direction component needs to be added. Some roads in metropolitan areas share a dual direction (one way in the morning and/or two ways in the afternoon). Other variables include Ramps, Roads, Local, roads, speeds, number of lane, observed volume, ideal capacity, observed capacity, road-facing direction (N.E.W.S.). The system should also distinguish between overpass and underpasses and road types, ramp, local, etc... ESRI does a good job explaining their data model. (Google their NYT poster). TransCAD, EMME/2, and Cube Voyager perform an excellent job in representing road network data. These programs rebuild the shape file as a separate file, that has an API attached to it simplifying modeling as theoretically you can do nearest_neighbour( network.nodes, network.links, cost_formula( time*(volume/capacity)*network.triplength). Another advantage to this representation is a network can be divided into, all vehicles network, passenger vehicles, transit, bike, freight, heavy freight, and walking subnetworks.
  • Dynamic Fields: Based on mathematical equations, these fields change values to reflect any changes in the model or actual network.
  • Signal Timing: A structure would help to distinguish between the entire different phasing configuration and perhaps allow for a formula based one to allow modeling actuated traffic signals.

These are some of the challenges in open source GIS with respect to transportation and traffic engineering. There are many more and I will be more than happy to expand this into a full pledged paper.

  • Intended to be compatible with various network analysis tools like: networkx,graphserver, pgrouting, etc...


SAGA GIS toolbox

for more info see: SAGA Toolbox for QGIS

  • Integrate SAGA GIS tools via a plugin

Willing to [co-]mentor: Anne Ghisla

SVG/PDF export improvements

Raster reproject on the fly

  • Developing infrastructure for on the fly reprojection of rasters
  • Research algoritms and speed comparisons of methods

Tile Cache Support

  • OGC Tile Spec
  • TileCache
  • ArcGIS TileService

Raster Exporter

This project intends to create a plugin and a set of classes to make the translation between raster formats more friendly using gdal. The main products of this work can be:

  • A gui that supports all gdal dataset creation available options via a xml configuration file per format.
  • A gui to translate one raster to other format using all the available options of destiny format (for example compression rate if we are translating from geotiff to jpeg2000 or ecw).
  • A gui to translate multiple raster of multiple formats to a single destiny format applying the same set of options to all of them.
  • Ability to translate the current view extension of a raster dataset to any gdal supported format.
  • A set of core classes to manage the translation process between formats.

Visual Rubber-sheeting

  • During/or instead of Georeferencing, allowing a user to stretch, shrink and twist an image over the map to make it fit.
  • Calculating the transformation parameters and passing them to the georeference tool or gdalwarp.
  • Intended to be used for data that can not be properly georeferenced because it was never in a known projection or was never correctly proportional.

R Spatial Enhancements

  • Add additional common spatial tasks available in R to Manage R plugin
  • Create a plugin framework for an R functions to be wrapped quickly and added to Manage R with a common QGIS-R interface so that each plugin developer doesn't have to rewrite this part and can minimize the rpy2 specific code needed.
  • Ideas
    • Trip analysis
    • Triangulation (Telemetry)
    • Time based graphs
    • igraph
    • kernel density functions

Basic Vector Conversions, Manipulations

  • Implement a suite of basic semi-automated topology editing tools that are commonly missing from most GIS packages.
    • Points <-> Lines
    • Points <-> Polygons
    • Lines <-> Polygons (ftools does have Polygon to Polyline)
    • New Point based on distance and bearing (include option for automatic declination calculation)
    • Create new points along a line at specified distance, or by sample quantity.
  • These are all aggregation or disaggregation based on common id fields.
  • Similar in function to the ET Geowizards tool published for ArcGIS by 3rd Party

Time Series Visualization

  • Create an interface for navigating time based datasets where by sliding the time line widget the main canvas loads different layers or versions of layers
  • For both Vector and Raster datasets
  • Export to Google Earth kml with time spans

Improved Vector Layer Export Formatting

  • Implement shortcuts for gml, kml and other common export formats
  • Add option to specify the format of values for id, data, image embedding.
  • Including styling when the format allows (kml)

QGIS Ecological Toolbox

  • QGIS can gain a lot of popularity among ecological researchers by increasing the bindings with specialised programs. See Ecology_Tools for a list of open source tools. The first idea is to create a Python plugin just like manageR, but if the student is keen on C++ it could be a more deeply rooted integration.
  • PyEco : The main aim of the project will be to develop a tool in Python to perform data interpolation based on different kriging tecniques. The tool will be based on a gui (as Qgis Python plug-in) to allow the user to choose between different kriging algorithms,set parameters and input data to perform the calculation, adding the ability to store the results in a relational database (postgis) or also on more portable file-based data storage as spatialite, shape-file and kml. The project will also have an accuracy evaluator to check the interpolation resutls and analize its error. R seems to be a good choice but i’m also impressed by : HPGL ( so the first step will be to evaluate and compare this two computational environment - choice will be done on speed and ability to handle huge dataset. This tool will be easily integrated in Planet-Sasha (GSoC 2009), it will be released finally as a stable cross-platform tool (i can perform testing on Linux, MacOSX and Windows),to provide a fast and easy way to visualize data in a 3d gis-environment.

Willing to mentor: Anne Ghisla