# Difference between revisions of "PostGIS SoC Ideas 2007"

(added postgis ideas page) |
|||

Line 1: | Line 1: | ||

== Ideas for Google Summer of Code students wanting to work on PostGIS == | == Ideas for Google Summer of Code students wanting to work on PostGIS == | ||

− | |||

− | == Topology model and operations == | + | === Topology model and operations === |

− | The project consists in providing a standardized interface for storing topology information, that is sets of Edges, Nodes, Areas and their relations in constituting a Feature. There's already a [ | + | The project consists in providing a standardized interface for storing topology information, that is sets of Edges, Nodes, Areas and their relations in constituting a Feature. There's already a [http://postgis.refractions.net/support/wiki/index.php?PostgisTopology draft implementation] of the model, what can be done is (in random order): |

* Implementing topological operation directly using the topology model rather then converting input to simple Geometries. | * Implementing topological operation directly using the topology model rather then converting input to simple Geometries. | ||

* Import from / export to popular topology data formats (ie: TIGER) | * Import from / export to popular topology data formats (ie: TIGER) | ||

− | == Network model and operations == | + | === Network model and operations === |

The project is aimed at providing a standardized interface for topological | The project is aimed at providing a standardized interface for topological | ||

Line 16: | Line 15: | ||

tasks such as least cost path finding. | tasks such as least cost path finding. | ||

− | == Coverage model and operations == | + | === Coverage model and operations === |

Allow storage and operations on coverage (raster-like) data. | Allow storage and operations on coverage (raster-like) data. | ||

− | == GEOS performance improvements == | + | === GEOS performance improvements === |

− | The [ | + | The [http://geos.refractions.net/ GEOS] C++ library suffers from a design too closely bound to it's Java-implemented parent, [http://www.jump-project.org/project.php?PID=JTS&SID=OVER JTS]. This approach has introduced an unnecessary overhead throughout |

the whole operations flow due to excessive dynamic polymorphism and heap allocations. Redesigning the most used subsystems could improve the overall performance. Random ideas: | the whole operations flow due to excessive dynamic polymorphism and heap allocations. Redesigning the most used subsystems could improve the overall performance. Random ideas: | ||

* Redesign index classes using a templated approach. | * Redesign index classes using a templated approach. | ||

* Enforce use of standard algorithms wherever appropriate. | * Enforce use of standard algorithms wherever appropriate. | ||

− | |||

− | |||

== Potential Mentors == | == Potential Mentors == | ||

+ | Developers in the PostGIS community who would be interested in supporting one of the above projects: | ||

* ...you? | * ...you? |

## Revision as of 14:56, 6 March 2007

## Contents

## Ideas for Google Summer of Code students wanting to work on PostGIS

### Topology model and operations

The project consists in providing a standardized interface for storing topology information, that is sets of Edges, Nodes, Areas and their relations in constituting a Feature. There's already a draft implementation of the model, what can be done is (in random order):

- Implementing topological operation directly using the topology model rather then converting input to simple Geometries.
- Import from / export to popular topology data formats (ie: TIGER)

### Network model and operations

The project is aimed at providing a standardized interface for topological network information storage and operations. Tipical use would be modeling communication networks, composed by Links and Nodes, and performing tasks such as least cost path finding.

### Coverage model and operations

Allow storage and operations on coverage (raster-like) data.

### GEOS performance improvements

The GEOS C++ library suffers from a design too closely bound to it's Java-implemented parent, JTS. This approach has introduced an unnecessary overhead throughout the whole operations flow due to excessive dynamic polymorphism and heap allocations. Redesigning the most used subsystems could improve the overall performance. Random ideas:

- Redesign index classes using a templated approach.
- Enforce use of standard algorithms wherever appropriate.

## Potential Mentors

Developers in the PostGIS community who would be interested in supporting one of the above projects:

- ...you?