Purpose

The purpose of this project is several fold.

Growing up, I had (and still have) a field guide to Reptiles and Amphibians of the San Francisco Bay Area, by Dr. Robert C. Stebbins (University of California Press). It was really nice to have a guide that was so regionally specific, that I could flip through and read that covered my specific area.

I know of no such field guide specific for the Shasta County area of California. I thought it would be beneficial for local people here in Shasta County to have a regional specific guide they could refer to that covers the local species.

This web site is not a field guide, it is a web site. However, it still may be very useful for those looking for a region specific guide.

Additionally, there is a very real very serious worldwide amphibian decline taking place, and it is impacting Shasta County, where we almost certainly have already lost the Oregon Spotted Frog (Rana pretiosa), may have lost the California Red-legged Frog (Rana draytonii), and it seems likely that we will lose the Cascades Frog (Rana cascadae).

I am hoping that enough hobbyists will make use of the species record database that we can detect declines in our remaining amphibian species before it is too late to figure out how to protect them.


Web Site Details

Taxonomy

With a few exceptions, I am using the Sixth Edition SSAR list for common and Latin names. I do not agree with all of them, however, I have come to the position where I believe it is generally best to use an agreed upon widely used standard.

One exception is the Aneides flavipunctatus complex. Recent analysis of that complex gives very compelling arguement that it is a Cryptic Species Complex. It is likely that two of those species occur in Shasta County, one of which is either endemic to Shasta County or nearly endemic to Shasta County. The species split is recognized on this web site even though the split is not yet officially recognized in the SSAR list.

Another exception is the common name for Contia tenuis. It too has undergone a recent species split. While the population in Shasta County retains the same latin name, it has a new common name.

Finally, there is the Ensatina complex. Ours are part of a large integrade zone that includes multiple subspecies, with the Oregon Ensatina being the only constant in the intergrade zone. Other subspecies that contribute to the large intergrade zone include the Painted Ensatina, Sierra Nevada Ensatina, and Yellow-eyed Ensatina. In field herping tradition, Ensatina within the large intergrade zone are reffered to as Oregon Ensatina Intergrades since that subspecies is the only constant. The species is under constant study and subspecies borders do not seem to match genetics, so the designation may change in the future.

In a few cases where SSAR recognizes subspecies, I have opted to ignore subspecies but follow the SSAR species name. These cases involve cases where more than one subspecies and/or an intergrade zone occur within Shasta County.

Range Maps

Range map generation is a tricky art. They rarely are perfect, and often reflect historic data that is not presently accurate. Habitat is altered causing some species to leave an area and in some cases allowing other species to expand beyond historic range.

Range map data thus needs to be properly interpreted. Unfilled areas do not necessarily mean the species is not likely to be found there, it simply means that our information does not indicate the species having been found there and assumes it is not. Likewise, areas that are filled in do not necessarily mean the species can be found there. Take the “Suspected Range” on the maps with a grain of salt. In some cases the range is far too generous. In some cases it may not be generous enough.

There are two types of range maps used, embedded and detailed stand-alone.

Embedded Maps

Small maps that only indicate suspected generic range are embedded in web pages and are hyper-links to the detailed stand-alone maps. In a few cases where a species is thought to only have small isolated representation in the county, hexagons indicating general locality are used on the small maps.

Detailed Maps

Detailed versions of the range maps have a few extra features. In addition to the general range, regular hexagons are used to indicated specific localities where the species is reported to have been found.

Color coded hexagons are used to indicate the geo-reference where museum vouchers and records in our own database came from. The color coding is done with respect to age of the record. If there are recent records, there is a good chance the species still persists in that part of its range. Where there are not recent records, the species may still persist there but it is possible it does not.

Shasta County is split into numerous regular hexagons. Each hexagon has an approximate distance of 3 kilometers between opposing sides, and covers an area of approximately 7.79 square kilometers.

When a record is made in the database and verified, if the hexagon the record falls in is not already green for the species, it will turn green. As the newest record in a hexagon ages, the hexagon color shifts towards yellow. Museum records over 5 years old are distinguished from our records by being represented in a shade of brown. The lower resolution maps (which appear on the species page) only use one color to indicate records, regardless of age of record or source of record.

When a species is of concern, hexagons for which the newest record is over 20 years old will appear red. This is to indicate that the species may or may not still be present there. Attempts to verify the status of the species in those areas should be made if surveys targeting the species in those areas have not already been done.

On top of any locality hexagons, certain bodies of water are then added.

SVG and Internet Explorer

Range maps are currently drawn using SVG. SVG is easier on the server to generate than bitmap images, produces a smaller file size since the data sent is entirely text (and thus can easily be compressed), and it scales extremely well to fit the size of the browser window. Not all browsers support SVG but the display of SVG is so much better than PNG or GIF and is a lot easier on server resources to dynamically produce on demand, allowing reflection of recent additions to the database as soon as the record is verified. Web browsers that natively support SVG:

Notice that Internet Explorer is not in the list of browsers that support the range maps. Internet Explorer is the only major browser that does not support SVG natively. To view SVG in Internet Explorer, you can install Google Chrome Frame

Chrome Frame is an extension to Internet Explorer that allows the Google Chrome engine to be used with web sites that specify they prefer to be rendered by the Google Chrome engine. This web site identifies itself that way. The extension does not alter how Internet Explorer renders web sites that do not identify themselves as prefering to be rendered by Chrome Frame, so inslling it should not impact how Internet Explorer renders sites that do not ask to be rendered by Chrome Frame.

Microsoft appears to be planning to add native SVG support to Internet Explorer. I am hoping it makes it into Internet Explorer 9, but until then, the hexagon range maps simply will not render in Internet Explorer without Chrome Frame.

How the Maps Are Made

The maps are custom projection of the WGS 84 datum into a cartesian coordinate system. The projection assumes that longitudinal lines are parallel to each other. In reality they are not, they meet at the north pole, but we are far enough south and between a small enough range in latitude that the resulting distortion is negligable. The code for the projection is written by me and is executed on the server.

With the exception of locality hexagons, all features of the range maps start out as an ESRI Shapefile.

All shape files are initially translated into the WGS 84 projection using Quantum GIS and if necessary, any modification to the shapes is done there. The shape files are then imported into the database using shp2pgsql, which is part of the PostGIS spatial database extension for PostgreSQL.

Sources for Map Data

Quality GIS shape files are an extremely valuable commodity. At present, all GIS files used in the generation of maps here have generously been made available for free from a variety of sources.

The county border and water data comes from the following GIS data files generously provided by Shasta County GIS:

  • FNRGC_CASIL.shp - The Far North Region of California
  • Lakes.shp - Waterbodies of Northern California
  • Streams.shp - Streams of Northern California

Generic range maps that appear on both the embedded maps and the detailed maps come from the following GIS data set generously provided by California Interagency Wildlife Task Group:

  • CWHR_GIS2008.zip - CWHR GIS Data 2008

Museum and verified user records are manually fetched from the database as a GPX file and converted into a shape file using the program gpx2shp. The resulting shape file is then loaded on top of the CWHR provided range map assisting in the determination of whether or not the range map needs boundry modification.

In some cases, the shape for the range map needs minor modification. If there is just one or two records outside the CWHR range, I tend to leave the CWHR range alone. Where there are several records just outside the CWHR range, I tweak the CWHR range to include those records. When such minor tweaking takes place, the fact that the CWHR shape has been modified is noted under the small embedded map.

In a few cases, the range map shapes have been significantly altered. In those cases, the fact that the CWHR shape has been modified is noted under the small embedded map and details of the radical alteration are specified in the notes section of the species description page. It is my hope to replace those maps either with updated data sets from the California Interagency Wildlife Task Group when they become available or replace them with maps generated from proper niche modeling.

Any niche modeling performed by me is going to be a long time coming, I am not yet adept at using the software required to perform the task. When I am finally adept at using the software, the results will likely require third party scrutiny before I am willing to use them. When improperly done, niche modeling can result in bogus results, such as Burmese Pythons expanding their range to reach San Francisco.

Sources for Hexagon Data

Hexagons are generated from data submitted to the database by users and from vertebrate museums that have given permission for their data to be used.

User Record Verification

Only records that have had the species verified are used to generate hexagons for the range maps.

Records submitted by new members are flagged as unverified. When a member of vested status has reviewed the record and agrees the record is valid, the record then becomes verified. Once a member has 15 records verified covering at least 5 different species, they are eligible to become vested members and their future records are assumed accurate unless they have a history of multiple flawed records (IE species mis-identification).

I may make some individuals with well known field expertise vested members before they reach that mark.

Verified records may be challenged by any vested member.

The system is not completely fool proof, but it should works fairly well. For the most part, mis-identification in Shasta County is not a big problem. Other than our Pacific Newts,Spiny Lizards and Alligator Lizards, most species are fairly distinct from each other. There can be some confusion between members of our native True Frogs, however, the species that are most likely to be confused either do not share range or are thought to be extirpated in Shasta County.

Museum Records

In addition to data submitted directly to our database by users, the range maps include data gleaned from the following vertebrate museums:

Typical Elevation

Elevation ranges given in most field guides is somewhat useless for Shasta County. The problem is many species that are willing to go down to sea level near the coast are not willing to do so inland. Since Shasta County is an inland county, many of our species have elevation ranges specifying from Sea Level in field guides but stay away from the lower elevations here.

Typical elevation is calculated by taking the maximum and minimum elevation for a species for each hexagon where we have records for the species. From the list of resulting elevations, the bottom 5% and top 5% are cast out, the “Typical” elevation range is the range of elevation that remains. This method helps mitigate erroneous extremes from bad data, but you should note that when a typical elevation is given, records of the species do in fact exist in Shasta County that are outside the specified typical elevation on both ends.

Typical elevation is only calculated for species who have records in 25 or more hexagons. Species that probably do not exist in that number of hexagons will be handled differently.

Elevations for Museum records are calculated using GPSVisualizer.

In the context of this web site, the phrase “lower Sacramento River valley” refers to the valley around the Sacramento River south of the Kesewick dam. The “upper Sacramento River” being the part of the river above the headwaters at Lake Shasta Reservoir.

Database Records

One of the primary purposes of this web site is to maintain a database of photo vouchered geo-referenced records for reptiles and amphibians found within our county borders.

These records are used to help produce range maps indicating both historic and current range of species in the county and may at some point in time be used society research projects, such as checking known toad breeding sites for the presense of the Chytrid fungus.

The database is open to the public for viewing, but geo-reference and locality data is not made available to the public. At this time, that data is not even made available to researchers. Members are encouraged to also submit their data to the North American Field Herping Association database and our record form provides a field where the NAFHA record number can be entered, resulting in a hyperlink to the record in that database. Researcers interested in locality data should make their request through the NAFHA when they want locality information and the record is also present there. If the record is not also present there, researchers who want the data will need to contact the person who submitted the record.

GPX and KML

[Valid KML]

Records you have submitted, and only records you have submitted, may be downloaded as either GPX files suitable for using with many applications, particularly applications that talk to GPS devices, or as KML files suitable for viewing in Google Earth. You can download the files for a single record you have submitted, all records you have submitted for a species, or all records you have submitted for a group (IE Turtles).

To download a GPX/KML file for a single record, you must be logged in. Then view the record and download buttons will appear at the bottom of the page. For the other options, you also must be logged in. Go to the search page, select yourself from the User Select field, and enter your other search criteria. If the search produces any records, buttons to download the results as GPX or KML will appear at the bottom of the search result page.

Example Files:

The KML file does more than just indicate the location of a record. It also displays some information about the record, audio and image vouchers associated with the record, and a color coded placemark that indicates the nature of the species (click images for full size):

[Thumbnail of Google Earth Screenshot]
 
[Thumbnail of Google Earth Screenshot]
 

The following placemark color conventions are used to indicate the nature of the specimen in the record:

Placemark Nature of Specimen
[Green Background] Native Species, Not of Special Concern
[Yellow Background] Native Species, DF&G Species of Special Concern
[Red Background] Invasive Species
[Red Background] Species Not Identified or Not in Database

Known Issues

If you wish to view the contents of the GPX or KML files as plain text and you use the Microsoft Windows operating system, do not use Notepad. Notepad, the default Windows text editor, is too stupid to know what to do with UNIX line breaks and incorrectly inserts a garbage character where they occur in place of the line break. Instead, use a real text editor to view the files, such as PSPad or Notepad++. Both are free. You only need them if you wish to view the actual XML, applications designed to use the files will work fine without them.

I have not yet created the placemark icons to be associated with Snakes or Lizards. Coming soon.

RSS Feed

[Valid RSS]

An RSS feed for database records is available, allowing those who like such things to be made aware of new records or changes to existing records from a feed aggregator.

The feed will ordinarily show up to 20 records that have been created or modified within the last six weeks. If there are less than 5 records that have been created or modified within the last six weeks, it expands its range to the last 12 weeks.

For proper compatibility with as many feed aggregators as possible, the feed is kept relatively simplistic and care has been taken to make sure the feed properly validates using the RSS validator linked to in the image above.


Web Page Markup Details

Web Design

I am not a web designer. I am doing the best I can, but undoubtedly I am breaking some rules of good web design. For that, I apologize. I am open to suggestions, the best kind of suggestions come with some kind of reference, hopefully involving case studies explaining why the suggestion is the right way to do it. For example, I do not know if a study has been done, but I personally get tired when trying to read content on an all white background or with a small font size.

JavaScript

JavaScript is used but I am committed to make sure the web site is fully functional with JavaScript disabled. When it is used, it is primarily used for form validation.

Web Links

I do not instruct your browser to open any pages in a new window. If that is what you want to do, you can right click on a link and choose to open it in a new window or tab. When you click on a link to another web site, you will leave this web site unless you choose to manually open the link in a new window or tab.

Valid XHTML with CSS

I strive to produce web pages that are valid (X)HTML 5 with valid CSS for layout. For browsers that do not properly support XML, the pages are translated to valid HTML before they are sent to your browser.

This web site may not properly display and is not fully function in Internet Explorer. It is recommended that you use Google Chrome, Mozilla Firefox, or Opera.

If a web page validates but does not work properly in your browser, try using the current version of one of the browsers mentioned above.

Most of my testing is done with Google Chrome, Firefox, and Opera. Unfortunately both Microsoft and Apple have chosen not to release their browsers for Linux, the operating system I use, so I do not get to test with those browsers very often.

Multimedia

[Play Ogg]

I have started adding multimedia to the site, consisting of both audio clips and video clips. Most pages do not have multimedia content and probably will not for some time, but the goal is to provide it when I have it.

If you are using an (X)HTML 5 Media capable browser, most multimedia will be embedded via (X)HTML 5. Otherwise, if you have the Adobe Flash plugin version 9.115 or newer installed, the media should be embedded via Flowplayer. The MP3 audio content here may work with some older versions of flash, but the H.264/AVC video content will not. If you have an older version of Adobe Flash, please consider upgrading. In addition to the ability to handle new media types that are heavily in use, there are known security vulnerabilities in older versions of flash. You will be doing yourself a favor by upgrading.

If you do not have Flash and do not have an (X)HTML 5 media capable browser, then you should be presented with text hyperlinks to the media.

If you are presented with hyperlinks instead of embedded media, all the media types used here can be played with VLC if you do not already have a suitable media player.

For x86_64 Linux users, Adobe states that their 64 bit plugin for Linux is alpha, which unfortunately scares some users away from it. I can personally testify that it works extremely well. Do not let the alpha label scare you into going through the hoops and bloat necessary to run the 32 bit plugin in x86_64 Linux, your experience will be inferior and full of crashes. Use the alpha x86_64 plugin, it is quite stable and very good. If you do not know what Linux is, this paragraph is not for you.

Audio

For (X)HTML 5 Media capable browsers, audio is provided in both Ogg Vorbis and MP3 so that your browser can select the codec it knows how to support.

Video

For (X)HTML 5 Media capable browsers, video is provided in both Ogg Theora and H.264/AVC so that your browser can select the codec it knows how to support.

Known Issues

Audio Vouchers in user submitted records will not be available until the server has transcoded them to make them available as both MP3 and Ogg Vorbis. Transcode is not triggered upon record submission, but should take place within 20 minutes of record submission.

Some of the Gtk webkit browsers have incomplete (X)HTML 5 support and do not yet provide a media control bar. Since media here does not autostart, that is a problem. Do not use those browsers to access multimedia here until they fully support (X)HTML 5 media.

No current version of Internet Explorer handles SVG graphics. SVG graphics are currently used for range maps and may soon be used for other illustrations. Internet Explorer 7 and earlier do not seem to properly handle the CSS layout for the HTML 5 symantic nodes used on this site.

Until Internet Explorer 9 is released, I will not attempt to fix any issues with Internet Explorer.

Secure Login

To view the information on this web site, no login is required. If you would like to contribute to the information available here, you will be required to create an account first and then log in to your account.

User registration and login are done over a secure connection via SSL so that your password is never passed to the server in plain text.

HTTP Cookies

I do use session cookies to keep track of your login status. Session cookies are deleted as soon as you quit your browsing session. At this time, I do not use any persistent cookies, and I probably never will. Almost every modern browser has password management. Use that if you do not want to have type in your login info every time you want to add a record.

Dead Links

Dead links are annoying. With some regularity, I use Dead-Links.com to find them so I can fix them. If you encounter a dead or incorrect link, please contact me so I can fix it.

Honey Do List

There are several features I would like to implement but have not yet done so.

Latin Pronunciation

I would like to provide accurate pronunciation for the Latin names of the various reptiles and amphibians listed here. This is not an easy task. One method would be to use a text to speech engine that does a good job with something like the International Phonetic Alphabet, and then properly translating the Latin names to the IPA.

Another method would be to have someone who correctly pronounces Latin taxons record the correct pronounciations. While probably easier to implement, it is not quite as flexible. Taxonomy is not static and classifications do change.

Do not expect it anytime soon. For one thing, IPA speech synthesizers are not really that usable yet, and I know of no attempts to translate Latin names to IPA. Unfortunately using a classic Latin text to speech synthesizer may not work, because Greek and other languages are also used for the “Latin” names of some species.

Smart Quotes

I need to go through site and replace possessive single quotes that use a ' with an ’. I also need to replace "stuff" with “stuff”. Single quotes used for contractions (such as isn't) should be expanded, contractions are not very professional in type.

Search Engine

I am working on a content search engine that will better meet the needs of this site. Specifically, I want it to make heavy use of the SiteMap.org specification for indexing and search result ranking algorythm. As a bonus, it will also check spelling and thus make it easy for me to find spelling errors, and check external links to make sure they are valid so that I can clean up dead or moved external links as the web evolves. Originally I was going to modify Sphyder to do this, but after reading the code, I decided it would probably would be better to just start from scratch.

Despite simplifying the crawling algorythm by strictly using a sitemap file for all link aquisition, Writing a content search engine is not a trivial task. It will be some time before I have it completed.

Record Form Submission

I would like to implement a record clone function, so that if you have several records to submit that are very similar, it is easy to clone a record to make additional records.

Message System

I would like to make it possible to initiate e-mail contact with other ShastaHerps.com members. I do not want to host a PM system, but rather, users who choose to can allow other users to use ShastaHerps.com to initiate an e-mail exchange. IE if Adam wants to contact Eve, he fills out a form, and the server e-mails it to Eve without exposing Eve's e-mail address to Adam. Adam's e-mail address would be exposed to Eve, and if she wanted to reply, she could do so with her e-mail client. If she thought Adam was creepy, she could ignore it and add Adam to a list of users that are not allowed to contact her.

That is actually pretty easy to implement, but it is low priority and I will not do it until I figure out how I want to prevent the system from being used for spam.


Coding and Serving

This is where I get up on my soap box and preach about the benefits of free software.

Hardware

My current web development box is a Dell Optiplex GX50 that I found in a dump pile by Salt Creek while field herping. The hard drive was bad, probably why it was dumped, but I replaced the hard drive with an old spare and re-attached the CPU (which had come loose) and was able to install Linux on it. The CDROM is also flaky on read, not good enough for installing a full OS from CD but it is good enough to boot the small CentOS boot.iso and do a network install. The built in video card puts snow on the display but it runs headless so who cares. I think that may be a buggy video driver as it was not present in installer, but again, who cares. Due to the pathetic i815 chipset it can never have more than 512MB of RAM but that is plenty for this purpose. I think the motherboard inside it was swapped at some point, as the GX50 model is suppose to have i810 chipset (also pathetic) but this clearly has i815.

It has proven to be extremely stable once the bad hard drive was replaced, and it is nice to have a local box configured virtually identically to the live server. It is not a power house by any stretch of the imagination, but it does not need to be. It is a nice compact low power consuming quiet little box perfect for the job. One man’s garbage is another man’s treasure.

Coding

[Bluefish]

All coding for the web site is currently done using the Bluefish editor, a free open source web development oriented text editor. Calling it a text editor does not really do it justice, it is so much more than just a text editor.

With the exception of the GIS work and multimedia production, all coding and editing is done using CentOS 5.x, a free robust Enterprise quality Linux distribution that is comparable to Red Hat Enterprise Linux. While the software and libraries for CentOS tend to be a little older than what is shipped with some Linux distributions, it is extremely stable with most of the kinks worked out.

Geographic information system

GIS work is done using the following free software applications:

GIS work is done in Ubuntu Karmic rather than CentOS as it has easier integration and installation of the software and all of its dependencies.

Multimedia

Audio editing is done with the free audio editor Audacity.

Digital Video import and editing is done with the free video editor Kino.

H.264/AVC video compression is done with ffmpeg. Ogg Theora video compression is done with ffmpeg2theora.

For multimedia editing and web compression I use Ubuntu Karmic rather than CentOS as it has easier integration and installation of modern multimedia libraries and utilities. Ubuntu is a modern free Linux distribution that just plain does a lot of things right.

For those interested, the shell script I use to compress the 480i DV source content to H.264 and Theora can be viewed here: encodeVideo.sh. The script takes a single argument, the DV source file.

Serving

This web site is powered by free software:

  • CentOS - A Robust Enterprise Linux Distribution
  • Apache - A high quality secure, efficient web server
  • PostgreSQL - A fast, reliable, robust relational database
  • php - A very flexible server side scripting language

Search Engine

The search engine is currently powered by Sphider, a free GPL licensed php/MySQL based search engine with some rather advanced features.

Since I have moved the rest of the site to PostgreSQL, I will soon be doing something different for content search. I am actually thinking about coding my own based on the Full Text Search capabilities that are part of PostgreSQL.

Mail System

I am using the free GPL licensed class phpMailer to handle the web application's out-going mail needs. It rocks.

The server's mail needs are met by Postfix, Dovecot, and SquirrelMail.

Misc Non-Free

As much as I prefer to use free software, some licensed software is used in the production of this web site.

Flowplayer

For those without (X)HTML 5 media capable web browsers, multimedia content is made available using the licensed version of Flowplayer.

Please note that Flowplayer is kind enough to release a free open source version of their product that would have worked just as well. A license was purchased because it is a really well done product with excellent documentation.

Fonts

The following fonts were used in the creation of this web site:

New Century Schoolbook Roman
Used in some images. License purchased from Adobe Systems Inc.
Lucida Bright Demibold
Used in copyright notice for video. License purchased from TeX Users Group.
Bitstream Vera Sans
Used in server side image copyright watermarks. Use of the font without any license fee generously granted by Bitstream Inc. in cooperation with the The GNOME Project.
AmphibiPrint
Used in the creation of Google Earth placemark icons, specifically the frog and salamander icons. Permission to use the font generously granted by Astigmatic One Eye Typographic Institute.
Keya’s Turtle
Used in the creation of Google Earth placemark icons, specifically the turtle icons. Licensed from House of Lime.

Gratitude

 
 
 
 
 
 
 
 

I express my gratitude to the many dedicated software developers that have put many hours of sweat and tears into the production of the high quality open source software used to develop, test, and serve this web site. Without their effort, licensing fees alone may have prevented this web site from ever coming together. Licensing costs would have at least made it very difficult.

 
[Sponsor ShastaHerps.org]