Sighting Record Streaming

A powerful feature, called Sighting Record Streaming, is used to transfer sighting entries into another data set, or even into a data set on another computer. For example, if you and your spouse keep birding records in different data sets, this feature will allow you to avoid duplicate data entry every time you bird together.

In the File menu, you can choose Sighting Record Streaming | (Re)Start Sighting Record Streaming (F5). From that point forward, a copy of each sighting entry you make, including attached Field Notes, is placed in a "Stream" in memory. By choosing ...| Suspend Sighting Record Streaming (F6), you can temporarily suspend the placement of your entries into the Stream. You can also clear the existing Stream. (Remember, the Stream is in memory (RAM) -- it disappears when you terminate AviSys.) When streaming is active, a green LED appears at the bottom of the screen to remind you.

When there are records in the Stream, you can view them by selecting ...|View Current Memory Stream or pressing F8. The records displayed cannot be edited -- they are presented for information only.

If you then open a different data set from the File menu, say your spouse's data set, you can choose File | Sighting Record Streaming | Import Records from Stream and automatically duplicate your sighting records in your spouse's data set. As you do so, the record confirmation dialog appears for each record, giving you the opportunity to edit or reject it. If there are more than 10 records in the Steam, you are given the option of dispensing with the confirmation dialog and letting the import proceed automatically.

Note: it is the user's responsibility to ensure that every species and every Place used in the Stream is duplicated in the receiving data set. Obviously, if you try to send a record assigned to Taj Mahal, and your spouse does not have Taj Mahal in her Places Tables, the record cannot be imported. Further, the user is responsible to ensure that imported Places with the same name and position in both data sets actually mean the same thing. Portland in the Cities table should not mean Portland, Oregon in one data set and Portland, Maine or Portland, Victoria, Australia in the other.

When the import is requested, every record in the Stream is first checked to be sure that there is a matching Place (in the corresponding table, such as Cities) and that the species exists in the Master Checklist. If everything matches, the import proceeds without interruption. If there are problems, messages call out the missing Places and/or species. The receiving user is then given the opportunity to import just those records that did not have problems, or to terminate the import and fix the problems with the Places Tables and/or Master Checklist.

As a safety matter, the program will not let you import a Stream into the same data set it was created on -- that would simply create duplicate records. However, if the Stream has been read from a file, AviSys can't tell where it came from, so there is no check.

You can also write an existing Stream to a disk file, and read a Stream file from disk into a Stream in the program. (See the menu items Write Stream to File and Read Stream from File in the illustration.) Thus, you can load data into a Stream in another computer, or save a Stream for loading into the same computer at a later time.

Remember, though, that reading the file is not an import -- that just puts the data in a memory Stream. You must also then do an import from the Stream.

Exporting Selected Records to a Stream

When listing sighting file records (List Recs), if you ask to do an Export, you have the choice of a standard comma-delimited data exchange export or a Sighting Record Stream File export. Thus, you can select any group of records and export them for use by any data set or another instance of AviSys, provided all the species and Places are compatible.

When a Sighting Stream File is written, AviSys enforces a .STR file extension. Please do not get creative and change the extension; the results can be unpredictable. Also, if there are attached Field Notes in the Stream, an additional file with the name you chose and the extension .FNR is automatically created.

The Size of Things

The free memory (RAM) requirements for these operations, and file space requirements if a Stream is written to file, are 136 bytes per sighting record and 7,500 bytes per attached Field Note (even though in your actual sighting data the Field Notes will be much smaller). We have easily manipulated entire 12,500 record sighting files using Streams -- although that's no guarantee your computer configuration could handle it.