Personal tools
You are here: Home Products Geologic Time Scale
Navigation
Log in


Forgot your password?
New user?
 
Document Actions

Geologic Time Scale

RSS Feed Category: Educational, Media — Other products by this author
Geologic Time Scale is a graphics generating product that uses the Report Lab toolkit for graphics file creation and custom methods to emit SVG code. The alpha version offers all the graphic generation types offered by ReportLab (PNG, JPG, GIF, TIFF, PICT, PS, and SVG) and there is a special custom-generated SVG version and one using custom CSS styling.

Current release

No stable release available yet.

Experimental releases

Upcoming and alpha/beta/candidate releases

  • Alpha releases should only be used for testing and development.
  • Beta releases and Release Candidates are normally released for production testing, but should not be used on mission-critical sites.
  • Always install on a separate test server first, and make sure you have proper backups before installing.
Geologic Time Scale 0.5alpha (Alpha release) Released Feb 23, 2007
Updated for use of DataGridField and associated widget; improvement of basic AT type settings, including use of INonStructuralFolder as in RichDocument; some fixes in time scale generating code; tested in Plone 2.5.1.
Geologic Time Scale 0.3alpha (Alpha release) Released Sep 4, 2005
Improvement to SVG rendering. Addition of image map rendering, along with new javascript tooltips. Italisizing genus and species names in event base descriptions, and italics tagging in the tooltips. Updating for using hi-level SVG and Report lab primitive wrappers that were developed for TeachingSchedule, PhylogeneticTree, etc. (now there is a graphics.py file).
Geologic Time Scale 0.2alpha (Alpha release) Released May 12, 2005
GeologicTimeScale is a folderish Archetypes-based Plone/Zope product. The idea is to use various renderers to create images, PDF files, and/or SVG versions of the time scale and to store them. This allows flexibility for a user of GeologicTimeScale to offer several format versions, if needed. The product also serves in experimenting with a framework for high-level AT-based illustration types.

Project Description

Project resources

LICENSE

  • GPL: See GeologicTimeScale.py header.

CREDITS

  • The people behind the geological data sources at www.stratigraphy.org; Update: Adam Lugowski and Jim Ogg have a Java program to create graphical time scales. See the link from www.stratigraphy.org.
  • USGS (United States Geological Survey) color scheme, which is shown at www.stratigraphy.org/codus.pdf (There is a different set of colors for Europe at http://www.stratigraphy.org/codeu.pdf.)
  • RenderableCharts, by Dirk Datzert, which is a Zope product at: http://www.zope.org/Members/Dirk.Datzert/RenderableCharts/
  • Dinu Gherman's presentation on generating graphics using ReportLab, http://starship.python.net/~gherman/presentations/rlzope-dzug2003.pdf, and rlzopecatalog.py, a modification of rlzope.py.
  • Jerome Alet's rlzope.py, http://cortex.unice.fr/~jerome/RLfromZope/
  • colorstr, http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/325823
  • wordWrap, http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/148061
  • SVG all around help, http://www.carto.net
  • SVG emitting, http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/325823
  • SVG and javascript tooltips, http://svg-whiz.com/svg/Tooltip.svg
  • Javascript tooltips are done with Walter Zorn's tooltip library (http://www.walterzorn.com/tooltip/tooltip_e.htm).
  • the textbook "Evolution of the Earth", 7th edition, by Donald R. Prothero and Robert H. Dott, Jr, from which the range events were estimated.

AUTHORSHIP

  • initial coding: Jeff Pittman, http://www.geojeff.org

DESCRIPTION

GeologicTimeScale uses the ReportLab toolkit to generate the geologic time scale using data from the International Commission on Stratigraphy (ICS) website (http://www.stratigraphy.org), which is based on:

  • Gradstein, F.M., Ogg, J.G., Smith, A.G. (coordinators), 2005. A Geologic Time Scale 2004. Cambridge University Press, 610 pages. You may see a photo of Felix Gradstein and Jim Ogg at http://stratigraphy.org/jimfelix.jpg, holding a copy of the book.

and

  • the "GeoWhen" dataset by Robert A. Rohde, Dept. of Physics, Univ. of California, Berkeley (http://www.stratigraphy.org/geowhen/index.html).

GeologicTimeScale is a folderish Archetypes-based Plone/Zope product. The idea is to use various renderers to create images, PDF files, and/or SVG versions of the time scale and store them. This allows flexibility for a user of GeologicTimeScale to offer several format versions, if needed. GeologicTimeScale takes input of the following items:

  • image size (width and height, in pixels)
  • position (x and y of upper left corner, in pixels)
  • start and end time (in millions of years)
  • a setting for scale-to-fit
  • choice of a simplified or full version
  • optional range events, entered as comma-separated values on separate lines for the events. Range events are specified by:
    • label placement (top, bottom, left, right, center, relative to the vertical bar that will mark the event)
    • label angle (0 for horizontal, 90 for vertical, or any other angle)
    • x position (same dimension as time, in millions of years)
    • end time (in millions of years)
    • start time (in millions of years; note that end < start)
    • text (not word wrapped, presently)
    • color - changed to a SelectColumn with a few colors. (considering use of ATColorPickerWidget)
  • optional point-in-time events, entered as comma-separated values:
    • label placement (top, bottom, left, right, center, relative to the symbol that will mark the event)
    • label angle (0 for horizontal, 90 for vertical, or any other angle)
    • x position (same dimension as time, in millions of years)
    • time (in millions of years)
    • symbol type (ellipse or rect)
    • symbol width
    • symbol height
    • text
    • color - just a few colors for now (see comment above under range events)

REQUIREMENTS

  • DataGridField, which you will need to install in your Products directory, in parallel with installation of GeologicTimeScale. You can get DGF at plone.org at http://plone.org/products/datagridfield.
  • Archetypes (tested with Archetypes that comes with the 2.5.1 bundle)
  • Plone (tested with Plone-2.5.1)
  • PIL (Python Imaging Library), http://www.pythonware.com/products/pil/
  • ReportLab Toolkit, from http://www.reportlab.org
  • renderPM, from the ReportLab Toolkit, as an addon module, from: http://www.reportlab.org (renderPM provides the full functionality for formats other than ps and pdf) (Can get it when you do an svn checkout of reportlab).
  • Adobe Acrobat Reader,

    Original comment about this:

    for fonts, from http://www.adobe.com/products/acrobat/readstep2.html. On Linux, v. 5 works; not sure about the new v. 7. On Linux, you can install v. 5 from http://ardownload.adobe.com/pub/adobe/acrobatreader/unix/5.x/linux-5010.tar.gz, which will put it in /usr/local/Acrobat5 and the needed font files will be in /usr/local/Acrobat5/ResourcE/Font. renderPM will find them there.

    Update:

    Very helpful explanation and instructions available at:

    http://www.sebastien-verbois.be/python/render-pm-help.txt/view

PLATFORM NOTES

  • Original development and testing was done on Linux. Starting with version 0.5alpha, work is on a Mac.

INSTALLATION

  1. Install Adobe Acrobat Reader, taking note of its installation directory.
  2. Install the ReportLab toolkit, first editing rl_config.py in the reportlab directory to set the Acrobat directory, if needed, so the fonts will be found by the renderer. (See specific note above about that helpful link).
  3. Install the renderPM addon from ReportLab.org. (See same note above).
  4. Put DataGridField in your Zope Products directory.
  5. Put GeologicTimeScale in your Zope Products directory.
  6. Restart Zope.
  7. Install DGF and GeologicTimeScale into your Plone site. Select "site setup", click on "Add/Remove Products" and install.

BUGS AND FEATURE REQUESTS

Please report bugs and feature requests to Jeff Pittman, who can be reached at geojeff@geojeff.org. Jeff is often on the #plone irc channel as geojeff.

IDEAS

  • First, it should be easy to look at the ReportLab examples, including the chart examples, and modify this for showing dynamic charts. See also RenderableCharts. [There are new products at plone.org for image and graphics generation, e.g., http://plone.org/products/textimage.]
  • Hopefully this product will save some time for those wishing to make their own drawing types. [See other similar products in the collective, which follow the same design: PhylogeneticTree, TeachingSchedule, VacationPlanner]
  • A basic derivation would be a simple traditional number line with tick marks, or an enhanced bar scale. Transformations could be added for presenting the number line horizontally vs. vertically, left-to-right vs. right-to-left, increasing-down or up, etc.
  • And, of course, don't forget the history of the universe, which I could use in teaching several courses.

TODO:

  • Images are generated as Files, but they could be Image types. Or, with the new ATCT types in Plone-2.1.1, maybe these could be used. [Not new anymore].
  • Phylogenies (there are several code packages out there for drawing diagrams to show relationships, for presentation within time). For an example of a phylogenetic diagram on a time scale, see this one: http://palaeo.gly.bris.ac.uk/Palaeofiles/Triassic/ammon.htm that includes abundance range bars also.

    [Note: PhylogeneticTree is now a Plone product. It can be potentially used with this software.]

  • A horizontal layout would be a welcome addition for some uses.
  • A RangeEvent could be used for a lineage, which as it is now would be shown with a simple rectangle, but as shown on the ammon.htm diagram, a varying width would be nice to show abundance. This would require a data series consisting of start_time/abundance pairs and an ending time, or a similar scheme.
  • It is common to show phylogenetic lineages as "bubble" plots for changing abundance or diversity through time, with the "bubbles" being smooth-sided shapes showing the abundance history of the lineage. The same sort of data series described above could work for this, along with a smooth sided polygon drawing routine.
  • Certainly lines and perhaps primitive shapes would be useful, and not too difficult to implement, but perhaps most users would tend to use standard built-in drawing features. Choice of stroke type and line thickness would allow control so background time lines could be kept as a subtle backdrop to the plotted items. String labels would be easy to add, to do plots like this: http://www.ldeo.columbia.edu/~polsen/nbcp/trj.html
  • Curve plotting would be relatively easy to implement, given the availability of example code, and would be needed for drawing sea level curves, elemental abundances in chemical analyses, etc.
  • Similar to curve plotting, a simple horizontal bar chart plotting, where the value items would be distributed in time, using a data series scheme like that mentioned above for drawing abundance on phylogenetic lineages.
  • Lithology patterns would take this into the realm of a measured section drawing system, which would could be split into another programming effort. It really depends on the scale of use. At finer time scales, this sort of thing might be needed. Without getting into a huge effort on lithology patterns, just a set of simple patterns would allow useful plotting, as in: http://www.ldeo.columbia.edu/~polsen/nbcp/breakupintro.html
  • It would be easy to make a black-and-white or color magnetic reversal columnar plot. An example of this, can be seen at: http://www.ldeo.columbia.edu/~polsen/nbcp/cyclcicity.html
  • Symbol plotting. If symbols are bitmaps, there is functionality in ReportLab to plot images. Vector symbols would be nicer for scaling.
  • The initial use of this software is for preparing a study aid for a historical geology class. One simple feature would be a blank line drawing substitution choice which would show a fill-in-the-blanks chart for quizzing or study.
  • Image maps or SVG rollover effects could be used as well for quiz making.

    [Javascript tooltips and an image map rendering have been added, but with the new html stripping code in CMFDefault/utils.py, which removes such things as onmouseover tags, the image map functionality has been stubbed out until further notice.]

by Jeff Pittman last modified February 23, 2007 - 12:45

For any issues with the web site functionality, please file a ticket.

Please consult the policy on plone.org content if you want your content published on this site.

Servers and hosting by