Table of Contents
class CBCData: The database interface
CBCData.getCircle(): Retrieve a specific circle
CBCData.getEffort(): Retrieve a specific effort record
CBCData.overlappers(): Find overlapping circles
CBCData.degMinAdd(): Lat/long arithmetic
CBCData.overlapCheck(): Do these circles overlap?
CBCData.__circleSep(): Compute the separation of two circles
CBCData.__terraCircle(): Convert a circle center to a terrestrial position
staticloaderscript: Populate the static tables
mycbc.py: Interface to the 1998 database
class MyCBC: Interface to the old database
MyCBC.__mapTable: Locate and bind a table
MyCBC.genCirs(): Generate all circles
MyCBC.genStnds(): Generate all the circle-years for a given circle
MyCBC.getEff(): Retrieve the
effrow for a given circle-year
MyCBC.getAsPub(): Retrieve the
aspubrow for a circle-year
MyCBC.genCens(): Generate census records for one circle-year
transloader: Copy over the MySQL database
The National Audubon Society has been conducting the Christmas Bird Count (CBC) since 1900. The author has been working with digital representations of this database since 1975. This document represents a complete redesign of a previous version of the database.
This database is an older version of the current database maintained by the National Audubon Society. The author's current work is not an attempt to provide a parallel database. It is mainly of interest as an example of contemporary database design, and it also supports the author's work as the New Mexico regional editor of the CBC.
The starting point for the current work was the database design documented in the 1998 database specification. The current effort is a reimplementation of the data in this older database, with an improved design based on third normal form database normalization.
It will be implemented using the Postgresql database engine, and the data will be loaded from a representation of the old database that uses the MySQL database engine. Details of this translation process are discussed in Section 8, “Conversion from the old MySQL database”.