Next / Previous / Contents / Shipman's homepage

22. class FlatSighting: Complete sighting record

External consumers of bird sighting data often represent sightings as spreadsheets or database tables. To make it easier to export data into those tools, the FlatSighting class centralizes the most important facts about a bird sighting into a single entity.

The constructor operates on a Sighting instance S:

FlatSighting ( S )

Attributes of this instance:

.txKey

Taxonomic key number for this kind of bird, as described in the definition of the Taxon class.

.abbr

First or only bird code, stripped of trailing blanks. This code, the one in the .abbr2 attribute, and the .rel field are documented in A system for representing bird taxonomy.

.rel

If this is a single-code form, contains the empty string. If this is a compound form, contains "|" for species pairs, or "^" for hybrids.

.abbr2

If this is a single-code form, contains the empty string. If this is a compound form, contains the second bird code, stripped of trailing blanks.

.eng

The English name in “Generic[, Specific]” form. Examples: “Hawk, Hawaiian”; “Gadwall x Shoveler, Northern”.

.age

The age code, or an empty string if unknown.

.sex

The sex code, or an empty string if unknown.

.q

The countability flag: an empty string normally; “-” for ABA uncountable; “?” for unsure ID.

.count

The count field. Note that this is not necessarily a single number! Examples: “1”; “#” for two or more; “200-250”, a range; “10+”, an open-ended range. For an unknown count, it holds an empty string, which is to be interpreted as “one or more.”

.date

The date as "YYYY-MM-DD".

.regionCode

Two-character U.S. state code or other region code, capitalized. Always present.

.locName

Brief description of the general locality.

.observer

If the primary observer did not see this bird, the name of the observer who did; otherwise an empty string.

This method is available:

.delimited(delimiter='\t'):

Return the record as a string, with the attributes in the order shown above (.txKey through .observer), with the fields separated by the supplied delimiter.