Thuban

 

Concept

This page summarizes the concepts and technical framework behind Thuban. If you think some decisions are not well done or can be improved, please let us know.

Below each decision, open discussion on features is presented. Your contributions are welcome.

WikiPedia has a short article on Thuban in German.

Programming Language

Thuban is implemented using the Python programming language. Python has been choosen as a multi-platform, object-oriented scripting language that allows simple incorporation of modules written in other languages (e.g. computational intensive tasks in C). It is taken care that Thuban is compatible with Python 2.2.1; newer versions should work as well.

As a multi-platform GUI toolkit, Thuban uses wxPython. wxPython is based upon wxWindows, a GUI toolkit that uses a platform's native GUI to embed consistently into the users system (i.e. GTK on Linux or Microsoft Windows NT). Thuban requires wxPython of at least version 2.4.0.4. It is taken care that Thuban is compatible with the latest release of the 2.4 series; newer versions should work as well.

Data Types and Formats

A layer in Thuban may be of one of these basic types:
  • Line
  • Polygon
  • Point
  • Georeferenced Image

We do not intend to develop new software for reading GIS files in various formats. Instead Thuban will only support formats for which adequate libraries are available. The initial releases use Frank Warmerdams Shapelib and thus can handle the Shapefile format only.

The shapelib is to be substituted by the GDAL / OGR library for a broader range of vector and raster formats.

Thuban will connect to databases, e.g. the GRASS database and PostGIS.

Simple add-ons for and whole applications based on Thuban

We think that extending Thuban via Add-ons is a good alternative to directly adding features to Thuban. It allows you to add some specific elements you need for your work. It even is possible to create your own custom applications with all the features of Thuban without the need of forking the development and maintaining your own branch of Thuban.

One example for a comprehensive extension of Thuban is GREAT-ER. It is a environmental simulation tool for chemical exposure in river networks.

It is possible

  • to add additional menus to the menu bar
  • to add additional menu items to existing menus
  • to add tools
  • to store additional information in the xml-based session

Session storage

Thuban stores its information on a session in an XML format of its own.

The routine to read/write a .thuban-file are kept central in Thuban/Model/load.py and Thuban/Model/save.py. We've decided against distributing the knowledge how to write each object with the object itself in order to better maintain different versions of the file format and different file formats in general.


Feature Discussion

Some features are not too easy to decide on. Please feel free to contribute to the following feature discussions (or even raise a new one).

Handling of Cartouches (North Arrows)

(feature discussion overview)

Featuring a northarrow very much reaveals the same problem as a scalebar.

One customary map element is a cartouche, or north arrow. Should Thuban offer a north arrow and if yes, how should it be handled?
This problem is not new. How do others handle it?

Multiple Maps in One Session

(feature discussion overview)

Currently a session contains only one map to work with.

Should Thuban allow to work with more than one map in one session?
How should it then be handled?

String Encoding and i18n

(feature discussion overview)

As brought up by Evgeny Cherkashin, it is desirable to handle other encodings than latin-1 (like russian encoding).

As first steps, Thuban should support i18n and should be made unicode-clean.

The question on how to handle filenames best remains open.

The Edit Menu

(feature discussion overview)

Many programs offer an "Edit" menu where general edit opportunities are summarized. Users get used this though it does not make sense in some cases. We think that Thuban should have one.

What actions should be collected under the "Edit" menu besides the standard 'undo', 'redo', 'copy', 'cut', 'paste'?

Tool Activation via Menu

(feature discussion overview)

Currently Thuban allows the activation of tools either via the toolbar or via the menu. Once selected, a tool is active until another one is selected.

It occured in a discussion that it might make sense to have the menu-way select a tool for exactly one action and then return to the previously active tool.

Does this make sense or would it confuse the user?
Alternatives?

2004/11/03

Info
Homepage
Screenshots
»Concept
Roadmap
Documentation
License
ChangeLog
Download
SVN
Mailing Lists
Problem Tracker
Mini-Payments

Commercial Support
About
   
News

Archive
   
Exits
Python
wxPython
FreeGIS
   
Thuban Project Team <thuban@intevation.de>
These pages are hosted by Intevation GmbH.