Difference between revisions of "PostGIS SoC Ideas 2007"

From OSGeo
Jump to navigation Jump to search
(added postgis ideas page)
 
m
 
(14 intermediate revisions by 5 users not shown)
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 [draft implementation|http://postgis.refractions.net/support/wiki/index.php?PostgisTopology] of the model, what can be done is (in random order):
+
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 15: Line 14:
 
communication networks, composed by Links and Nodes, and performing
 
communication networks, composed by Links and Nodes, and performing
 
tasks such as least cost path finding.
 
tasks such as least cost path finding.
 +
 +
==== Linking to CGAL Library ====
 +
 +
The [http://www.cgal.org/ Computational Geometry Algorithms Library] supports many algorithms for spatial analysis. Voronois, delaunays, etc.
 +
==== Linking to Boost Graph Library ====
 +
 +
The [http://www.boost.org/libs/graph/doc/index.html Boost Graph Library] supports many algorithms for graph and network analysis. Because it uses a generic iterator-based interface, it can easily be grafted into other frameworks simply by providing the appropriate iterator classes.
 +
 +
=== Coverage model and operations ===
 
   
 
   
== Coverage model and operations ==
+
Allow storage and operations on coverage (raster-like) data. Geo-referenced images (aerial photo, satellite images) by are acquired by remote sensing techniques, as well as ordinary photo will be supported to be stored, indexed, accessed and processed within PostgreSQL/PostGIS database. Similar approach as Oracle GeoRaster will be taken.
 +
 
 +
For more information about this Project on Google SoC 2007, please follow this link: [http://code.google.com/soc/osgeo/appinfo.html?csaid=2425D23F080CAAFB]
 +
 
 +
More detail information about the design and implementation is coming soon.
 +
 
 +
Any advice or comments, please email to me [mailto://solo.lin@gmail.com].
 +
 
 +
=== GEOS performance improvements ===
 
   
 
   
Allow storage and operations on coverage (raster-like) data.
+
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
 
== GEOS performance improvements ==
 
 
The [GEOS|http://geos.refractions.net/] C++ library suffers from a design too closely bound to it's Java-implemented parent, [JTS|http://www.jump-project.org/project.php?PID=JTS&SID=OVER]. 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:
 
   
 
   
Line 28: Line 40:
 
* Enforce use of standard algorithms wherever appropriate.
 
* 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:
 +
* [[User:Mloskot|Mateusz Loskot]] - mloskot[]gmail.com - interested in supporting ''GEOS performance improvements'' task
 +
* [[User:Tkeitt|Tim Keitt]] - I'm interested in supporting "Network model and operations" and "Coverage model and operations" tasks
 +
 
 +
== Other projects ==
 +
 
 +
Please see [[Google Summer of Code]]
  
== Potential Mentors ==
 
  
* ...you?
+
[[Category:Google Summer of Code]]

Latest revision as of 00:55, 15 April 2008

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.

Linking to CGAL Library

The Computational Geometry Algorithms Library supports many algorithms for spatial analysis. Voronois, delaunays, etc.

Linking to Boost Graph Library

The Boost Graph Library supports many algorithms for graph and network analysis. Because it uses a generic iterator-based interface, it can easily be grafted into other frameworks simply by providing the appropriate iterator classes.

Coverage model and operations

Allow storage and operations on coverage (raster-like) data. Geo-referenced images (aerial photo, satellite images) by are acquired by remote sensing techniques, as well as ordinary photo will be supported to be stored, indexed, accessed and processed within PostgreSQL/PostGIS database. Similar approach as Oracle GeoRaster will be taken.

For more information about this Project on Google SoC 2007, please follow this link: [1]

More detail information about the design and implementation is coming soon.

Any advice or comments, please email to me [2].

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:

  • Mateusz Loskot - mloskot[]gmail.com - interested in supporting GEOS performance improvements task
  • Tim Keitt - I'm interested in supporting "Network model and operations" and "Coverage model and operations" tasks

Other projects

Please see Google Summer of Code