Most weeks it is the same trail before sunrise, and that repetition is the point: the same shoreline, photographed and measured through the year, says more than one visit to fifty places.
This is version 1.6 of the methods, revised September 23, 2026. The data sources, the known limitations and what changed since version 1.0 are at the end of the page.
So Far
The Totals
Every Track
One Map
Every recorded morning on Cherokee Trail, Stone Mountain, 116 of them, drawn as one map: each recording a one-pixel line, each pixel toned by how many mornings crossed it, so the routes walked most often show darkest. The trail's page carries it with the numbers under Where the Recordings Go: the common route, the stretches walked alone and the week-to-week gap. Any trail with 5 or more recordings gets its own.
Method
How a Log Is Made
Each entry starts with two files, the GPS track exported from the watch and the photo taken at the top, or with either one alone: a morning with a photograph and no recording is logged with its sunrise, its weather and its sky and carries no distance, pace or rank, and a recording with no photograph fronts its page with the route map. A script turns them into the page. Distance is the summed haversine distance between GPS points. Elevation gain depends on what the watch recorded: barometric tracks go through a five-point median filter and count only climbs over three meters; GPS-derived tracks, which jump several meters between seconds, are smoothed over a minute and count only climbs over five. Every entry says which method it used. Moving time drops any stretch slower than one kilometer per hour, which is standing still. The mile splits are the clock at each mile marker with stops included, and the climb in each mile comes from the same walk as the total, so the rows add up. The gray contour lines under each route map are traced at 20 ft intervals from USGS 3DEP elevation data, which is public domain; wider maps show fewer of them.
The same elevation grid, 10 m cells, is what the relief block on a hike page is drawn from: an oblique view of the ground with the recording draped on it, the lake at its own level, contours every 40 ft and the photo pins where the frames were taken. The camera looks the same way on every morning of a trail, so only the track, the light and the date change between them. The vertical scale is doubled, and the page says so, because a block of 850 ft of relief over two miles reads flat at 1:1. The light is not chosen: it is where the sun stood at the clock the walk reached its highest point, computed the same way sunrise is, and when the sun was still under three degrees then, at the clock the recording ended. Where a loop passes behind the summit from that angle the line goes dotted rather than missing, and the caption says what share of the track that is. The picture is drawn when the entry is made; nothing runs in the browser.
A trail page with enough recordings also draws every one of them on a single map, the density map: each recording is a one-pixel line at about 2 m per pixel, and a pixel's tone is the number of distinct mornings that crossed it, on a log scale so a route walked once stays visible beside one walked a hundred times. Three numbers are measured from the same recordings and stated beside it. The common route is every point that at least half of the mornings passed within 10 m of, and each morning's share of its distance on it is stated as the median with the mornings at either end linked. A morning went its own way when 100 m or more of it had no other morning within 10 m. Week to week, the later of two consecutive recordings is compared with the earlier one on the stretches both walked (within 20 m of each other) and the median gap between its points and the nearest point of the other is stated; that is the watch's repeatability plus the width of the trail, not a choice of route. The band a wrist GPS draws is several meters wide, so the darkest pixel never holds every morning, and the caption says how many it does. Nothing is smoothed by hand and no route is drawn: the picture is the overlay as recorded.
Sunrise and civil dawn are computed for the trail's sunrise spot on that date. Conditions at sunrise come from Open-Meteo's historical archive (ERA5 and ECMWF analysis, licensed CC BY 4.0), which separates low, middle and high cloud, the split that decides whether a sunrise lights up. Cloud cover on this site means the low and middle layers together, because that is the cloud that hides the sun; high cloud is reported on its own, because cirrus is what a sunrise lights up, and a ceilometer at the airport cannot see it at all. For recent mornings the nearest National Weather Service station observation is recorded alongside it, because an airport ceilometer is an instrument and a model is a model.
A walk that was not recorded can be drawn on a map afterwards and logged that way. Such an entry says so on its page: its distance and elevation are estimates from the map's terrain model, it has no times, and it is kept out of every median and rank, though it counts toward the totals because the walk did happen.
Some frames can be placed by neither route: a camera with no GPS receiver, a sunrise shot before the watch was started, a morning with no recording at all. Those carry a position supplied by hand, from one file (src/data/photo-gps.csv) that names either one of the photo spots, in which case the coordinate is the spot's surveyed one, or a coordinate typed in with a sentence saying how it was arrived at. The page says so wherever such a frame appears, the downloads carry the method beside the coordinate, and a measured position is never overwritten by one of these. They are not pretending to be measurements.
Photo metadata is read once for the camera fields shown on the page, then stripped from the published file. Where a photo carries no GPS position it is placed by matching its timestamp to the track. Nothing on a page is typed in by hand except the note, and if a value was not measured it is left out rather than estimated.
Comparisons such as "3rd fastest pace of 112" or "sunrise 14 minutes later than three weeks ago" are not stored anywhere. They are recomputed from the whole log every time the site builds, so adding an old hike re-ranks everything automatically. The findings page is built the same way: its charts and every number in its sentences come from the collection, and a sentence whose group is under 5 mornings is left out rather than printed.
The log sits alongside the trail reviews and the gallery. Many of the photographs on this site are for sale at full resolution on iStock and Adobe Stock. The site is static; Google Analytics and Google's advertising tags load only if you accept them in the cookie notice. See the privacy page and the affiliate disclosure.
The Sky, Scored
Color Index
Each photograph gets a color index from 0 to 100, computed once at ingest. The photo is reduced to a 512 pixel thumbnail and only the top 45 percent of the frame is read, which is where the sky usually is. In HSV terms every pixel contributes its saturation, weighted by how far its hue sits from blue on the color wheel: blue sky counts for nothing, and the farther a hue is from blue the more it counts. The weighted mean, scaled to 100, is the index. A gray or plain blue morning scores near zero; the highest so far is named on the Sunrises wall, and what the index does against the cloud layers and through the year is on the findings page, every figure recomputed at build.
This is version 1 of the formula and it is expected to change. Every photo stores the version it was scored with as color_index_version, so a later formula can rescore the archive without mixing scales.
The Sky, in Five Colors
Sky Palette
Each photograph also carries the five colors that cover the most of its sky: the same top 45 percent of the frame the color index reads, reduced to a 256 pixel thumbnail and cut into five by median cut, listed by how many pixels each covers, most common first. The bar under every photograph draws them in that order, five equal cells. The sky almanac colors each day by the first of the five, the Sunrises wall can be ordered by the most saturated of the five (the most common is often the tree line), grays first and then round the color wheel from blue to gold, and each hike page names the three mornings whose five colors sit nearest its own, measured in the CIE Lab color space where a difference of one is about the smallest a person can see, weighted toward the colors that cover more sky. A frame with fewer than five distinct colors gets no palette rather than a padded one.
What I Carry
Miles on the Gear
Every item on the gear page has a service window, the first and last day it came along, set by hand from the day it was bought or from a photograph of the old pair beside the new one. The log does the rest at build time: the mornings whose date falls inside the window, and the sum of their distances, the same tracks the hike pages show. A morning with no track counts as a morning and adds no miles. A route drawn on a map after the walk adds its map estimate and is counted as such. An open window runs to the newest logged morning, never to the day the site was built, so the same log gives the same numbers on any day.
Nothing is estimated across a gap. A weekend with no morning in the log adds nothing, and the number of such weekends inside the window, counted from the later of the window start and the first logged morning, is printed beside the miles so the floor is visible. An item that predates the log says so and counts from the first logged morning. Used is not tested: an item says tested only when a measured review is linked. Buy links go through /go/, which sends you on to Amazon; the affiliate disclosure has the details.
Clothing is counted differently, because it comes along by the weather and not every morning. Its window says when a piece was bought, often only to the month, so a clothing card states that month and sums no mornings or miles, the hike pages leave it out of the pack, and gear.json gives its counts as null rather than the whole window. Clothing is drawn as an icon rather than photographed. What I wore on a given morning comes from that morning's notes: the sentence that starts with "Wore", and any that start with "Took off" or "Put on", shown word for word on the hike page. Nothing is guessed from the weather, and a morning whose notes do not say shows nothing.
Where the Sun Came Up
The Sunrise Sweep
The sweep works on the two photo spots on the north shore of the bay across from Indian Island, where the sunrise frames are aimed at the sun from nearly the same place every morning, so across a year they turn from northeast in June to southeast in December. The sweep registers each photograph to one reference view of that shoreline by the shape of its treeline against the sky (a rotation-only camera model with the focal length from the EXIF; point features do not survive the seasons on a silhouetted far shore), finds the sun in the warped frame, as a disk when it shows and otherwise as the brightest glow above the treeline, and calibrates the reference strip against the computed bearing of the sun at each capture time. The disk is almost never in frame here, so the calibration rests on the glows and a sanity gate: the bearings the sun should have had must line up with the strip's own geometry over at least six mornings spanning thirty degrees. One spot passes that gate today; the other fails it and is not drawn.
Because the calibration comes from the sun itself, the difference between where a glow sits and where the sun was computed to be measures spread (where I stood, the clock, cloud moving the glow, the detection), not accuracy. The sweep page states that spread as a median and never as a precision; a bearing on a hike page is the computed sunrise bearing, not a reading off a photograph.
One Place, Many Mornings
The Photo Spots
A morning belongs to a photo spot when its track passes within the spot's radius, and the first trackpoint inside that radius is the arrival. A spot page sums only those mornings: how many, how many photographed, the share clear at sunrise, the ten best by color index, the median color index by month, and the timing from the lot (the median walk to the spot, how long before sunrise I tend to arrive, and the latest arrival that still made it).
Indian Island is counted by its shoreline instead of a point. Most of these walks start in the lot on it, so a recording passing through says nothing about the island; a morning belongs to it when one of its photographs has a position on the mapped shoreline or within 15 m of it. The position can be measured (the photograph's own GPS, or the watch's track at the moment it was taken) or placed by hand, and the page says how many mornings rest on a hand-placed one; the trail's default spot, where a frame with no position of its own is put, never counts there. Its page shows the ten best by color index, the median by month and every other photograph taken on the island. The outline is from OpenStreetMap.
A spot inside a working area of the park gets no page at all: its mornings stay in the log, and nothing on the site gives its position or the way to it. Every section disappears below five mornings rather than resting on fewer.
What the Notes Said
Trail Conditions
The conditions lines on a hike page are lifted word for word from that morning's notes by two rules and nothing else: a sentence that follows the word "conditions" is taken as it stands, and a sentence carrying a keyword such as closed, washout, downed tree or bridge is taken whole and marked as picked out by a keyword. Nothing is paraphrased, merged or generated, and a morning with no such line is not a report that the trail was clear. The trail page shows the most recent dated lines and the last ten.
The Nearest Mornings
Other Years, Closest Skies
"This morning in other years" is the nearest logged morning to the date in each other year of the log, within two weeks and wrapping the year boundary, from the same trail when it has one. "Closest weather" is the nearest morning by the low, middle and high cloud fractions, humidity, temperature and time of year, each scaled by its range across the log; "closest sky" is the nearest photographed morning by the five sky colors under each photograph, swatch by swatch, or by color index when a photograph carries no palette. Neither is named from fewer than five candidates.
Where the Numbers Come From
Data Sources
What the Numbers Cannot Tell You
Known Limitations
What Changed