Thursday, April 2, 2015

Improved and Printable Elevation Profiles

Elevation profiles are one of the few remaining gaps people have noticed when comparing CalTopo to desktop software.  No more.

There are now two profile modes - the existing interactive one that uses Google elevation data, and a full-page version that builds on the terrain statistics dialog with CalTopo sourced elevation data.  You can get to the new profiles using the terrain statistics menu option, or clicking the expand link at the top right of the interactive profile dialog:

The expanded version is a full-page dialog:

One of the most obvious differences is axes in place of rise/run data:

There's also a heatmap below the profile showing slope angle, land cover and tree cover along the route:

Below that is the previously existing terrain stats content (lines only - terrain stats along a polygon's perimeter, to match the profile, would be meaningless or misleading).  A more subtle addition is that nearby markers are automatically placed along the profile:

Using bulk ops, you can also plot multiple lines on the same axes:

Absolute plots the lines' actual elevations, while relative shows how each line changes from its starting elevation.  Below are 3 routes plotted against each other in absolute mode (top) and relative (bottom).

PDF versions of any profile are available using the print link at the top right of the dialog.

Note that because the interactive profile uses Google data and the expanded profile uses CalTopo data, gross gain and loss numbers may be slightly different.  Like terrain stats, expanded elevation profiles will only work within the continental US.

Wednesday, March 25, 2015

Weather Stations

CalTopo now has a source for NOAA weather stations - some are in standard airport and urban locations, but a number of others are in quasi-backcountry locations useful for trip planning.  Note that the data is screen-scraped off of a web page rather than coming through a documented web service, so it may be less reliable than the SNOTel and water gauge layers.

available as a data overlay checkbox

Similar to the other data layers, at broad zoom levels only station locations are displayed, not station data.  Zooming in, stations with winds greater than 10mph are rendered with arrows showing the wind direction, while stations with light wind or no wind data are shown as black circles.  Mousing over a station brings up a tooltip with the last observation time:

As with SNOTel and stream gauges, clicking on a station brings up additional details and a link to the station's official observation pages.  The official pages contain additional information I'm not sourcing, like solar radiation, fuel moisture and cloud ceiling.

The details dialog also has links to government-sourced diagrams showing typical monthly daytime and nighttime wind patterns.

Between weather stations, SNOTel and stream gauges, CalTopo now provides hourly data from over 12,000 remote sensors nationwide!  As usual, please report any issues.

Friday, March 6, 2015

Killer Visuals Through Enhanced Relief

One of CalTopo's core features has always been the ability to blend multiple map layers together.  Until now, that's been done by creating a layer stack and varying the opacity of each layer to suit.  This works, but shaded relief has always been a weak point.  In order to keep the relief layer from washing out the rest of the map, I had to crank up the exaggeration.  This meant you could use less relief and get less washout, but it reduced the layer's ability to capture small details.

Even so, it's never played well with aerial imagery.  Consider the image of Mt Shasta below; you can make out terrain features from the relief layer, but the imagery itself is starting to get washed out.

Professional mapmakers solve this problem by using more advanced techniques than opacity based layer stacking.  One of those is to do a multiply blend, where each pixel on the map is multiplied by the intensity of the hillshade, on a 0-1 scale.  This darkens the image a bit, but does a much better job of preserving it.  The photo below is the same image of Shasta with multiply blend relief shading . . .

There's no way to a multiply blend in Google Maps, so I have to fetch all the tiles on my server, combine them into a single image, and then pass them back to the browser.  This means that when using the enhanced relief layer, the map won't react to react to opacity adjustments in real time - it has to fetch a new batch of images instead of just changing a CSS parameter.  It also means that images not available to my server - like Google's - will default to the standard relief shading.

While the effect is more subtle with maps than with images, but I still think it's an improvement.  Below are maps of Mt Shasta with both standard and enhanced shading:

This is still experimental, so I may make some changes going forward, including switching to an approach that lightens some parts of the image and darkens others.  While enhanced relief works with printing, it reverts to standard shading for KMZ exports.  Still, I'd rather get it out there and get feedback than tinker away privately until it's perfect.

Wednesday, February 25, 2015

Dude, where's my UI?

CalTopo just gained a redesigned user interface.  Normally I hate invasive UI rewrites, and I'm sure this one won't please everyone.  However, over time it's become apparent that CalTopo's previous long-standing UI had too many obscure and confusing features.  It was painful watching people struggle with the same issues over and over, and while I may not have solved all of them, I felt that I had to at least try.

The most obvious change is a transition to pull-down menus across the top of the screen, grouping features from the left bar, top right and context menu into a single location:

Some of the context menu options proved particularly hard for people to find, like view from here and terrain analysis,.  While they still exist in the context menu, they've also been pushed out to a Measure pulldown menu:

Layer selection is largely unchanged, but has been moved into a more obvious standalone control that mimics the de facto standard look for a number of programs these days:

Mousing over the control, layer addition and removal should look familiar:

One big change is that clicking on a marker or shape will now bring up an info window with distance (lines), coordinates (points), and several edit and analysis options.  Clicking an object in the left bar still centers the map on that object, but will also bring up the info window:

Account and map management options in the left bar have also been consolidated and should hopefully be a little more obvious.

The "Share this map" option now only gives you the URL for sharing, while "Manage this map" lets you set both general map information and read/write access for other users.  The account link leads to an updated and hopefully more straightforward one-stop account dialog.

There are numerous small changes as well - as just one example that's hard to screenshot, the new marker dialog is now accompanied by a draggable on-screen marker rather than being in a fixed location.  As you drag the marker the coordinates dialog will update, and vice versa.

While I've done my best to test the new code, I'm not delusional enough to think it's error free.  If something looks off, let me know.

Wednesday, February 18, 2015

Printable Peak Views

The view from here feature has been around for a while, but you've never been able to print the results and take them into the field, except perhaps for making a screenshot.  I'm happy to announce that has now changed.

There's now a print link to the right of the share link:

Instead of launching a separate print page the way that the map viewer does, this simply brings up a couple print options at the top of the left bar.  You can choose page size, whether to show labels, and whether to show a custom selection or a 360 degree view.  A red draggable rectangle appears for the custom selection option.

The generated PDF has as many peak labels as possible, in diagonal orientation:

The 360 degree view has 3 rows, each covering 120 degrees.  Although they're not yet labeled, the first row covers NW-NE, the second row covers NE-S and the third row covers S-NW.

There are a few finishing touches that need to get added, like marking compass directions, but I don't want to wait for those to get finished up before announcing it.

Wednesday, January 14, 2015

Support CalTopo: GPS Maps

There are still some environments where a smartphone won't do, and you need the battery life and weather resistance of a dedicated GPS.  SAR is one of those environments, but it's also one that demands accurate, high-quality maps.  Once you've gotten used to tracking your location on a satellite image, or dodging cliffs on a steep descent using slope angle shading, it's hard to go back to a confusing mess of blocky contour lines rendered in 160x240 resolution.

Enter custom GPS maps from CalTopo, available with large-area coverage on 32GB MicroSD cards.  Preload the same high-quality maps that power onto your GPS and never worry about having to download imagery or deal with inadequate maps again.  Before I get too deep into the cheerleading, bad news first.

Garmin doesn't want to just sell you a GPS, they want to sell you a pure-gravy BirdsEye subscription as well.  The only way that works is if they're the only game in town when it comes to GPS imagery, which they accomplish by "locking" their units to only work with official Garmin maps.  In order to use CalTopo's custom GPS maps, you need to unlock your GPS as described here.  I'd be willing to pay a licensing fee to Garmin in order to get my maps officially sanctioned, since that would allow me to sell trouble-free cards through major retailers, but I've asked and they're not interested.

So on to the good news.  You live in California, Oregon or Washington and are in the market for some maps that will work with a newer Garmin GPS that you have unlocked.  As an added bonus, you'd like those maps to match your printed CalTopo maps 1:1.  You're in luck!  The following are real screenshots taken from my 62s.


Yosemite Valley, Rodeo Beach and Mt Shasta.

The three layers available are:

  • Scanned USGS Topo Maps, to an equivalent zoom of 15.
  • 2 meter per pixel aerial imagery, to an equivalent zoom of 16.  NAIP Aerial layer used for California, US Topo Imagery layer used elsewhere.
  • Slope angle shading with Forest Service maps replacing USGS topos where available. 
Some additional screenshots, of Mt Rainier and the San Juan Islands:

Check out the CalTopo Store today!

Monday, January 12, 2015

Elevation and Vegetation at a Glance

Long distance hiking leaves plenty of time for reflection, and an accelerated JMT trip I did this fall was no exception.  Despite being armed with maps and elevation profiles, I realized that I still wasn't aware whether a given day would be spent in shady forests or on barren, south-facing slopes.  I'd also been pondering a better way to size up search areas for SAR, and decided to solve both those problems with a new stats dialog.  It took a couple months to put the idea into production, but it's finally here.

Like with elevation profiles, there are two ways to bring up a stats dialog.  One is to right click on a line or polygon, and choose Stats.  The second is to right-click on the map background, choose Measure, and then either Line Stats or Area Stats.

Either option will probably involve a short delay as CalTopo pulls up the relevant elevation and vegetation data, followed by a dialog.  Unlike with elevation profiles, polygons will bring up data for the polygon's interior rather than just its perimeter.

The first two charts are elevation and slope histograms, along with min, max and average values; color-coding on the slope histogram matches CalTopo's slope shading layers.  The third chart is a circular histogram tracking aspect across 45 degree slices.  The pie slices are area-proportional rather than radius-proportional, i.e. if N aspects are 50% as frequent as W aspects, then the N pie slice will cover half the area of the W pie slice, with a radius that's 70% as large.

The tree cover histogram shows tree canopy coverage - 100% means that trees completely block all views of the sky.  Land cover shows land coverage as listed in the National Land Cover Dataset (NLCD).

In addition to other benefits, this provides another quick sanity check on planned routes for backcountry skiing.