Thursday, March 20, 2014

The Daily Grind

When you start a new project, you can devote 100% of your time to new, exciting stuff.  As the project grows and matures, maintenance and general upkeep take over.  Eventually the cool features, the ones you wake up excited to go work on and change the world with, get pushed to the side.  Sneaking time to work on them begins to feel like a guilty pleasure.

While the day-to-day stuff isn't glamorous, it's still critical to making a useful site.  To help illustrate that work on CalTopo is still alive and kicking in the absence of big-ticket changes, this post is devoted to some of the smaller items from the last couple months.  They are:

Added Degree Decimal Minute support to the PDF generator.

Custom PDF page scales.  You could always choose "not fixed", but now you can snap boxes to a custom scale:


Garmin's USB Mass Storage enabled GPSs behave a little differently, and were sometimes problematic when importing and exporting data.  I had to rewrite some of the GPS interface code to get them working properly.

Provided direct KMZ downloads to GPSs that support Garmin Custom Maps, so a user doesn't have to figure out where to manually copy the file over to.  This is on the same page that lets you export KMLs and KMZs:


My GPX parser isn't perfect, and the KML parser far from it, as KML is a very large and complex format.  I'm now saving all files the parser can't handle.  Most of these are gibberish like shapefiles and tabular data that were uploaded by mistake, but looking through them helps me spot errors without being reliant on users complaining when something doesn't work right.

CalTopo now reports sizes for smaller polygons in acres, in addition to square miles and kilometers.

The find box at the top of the page was interpreting coordinates as WGS84 even when the datum was set to NAD27.

Sorted objects in the left bar by name, rather than creation order:

Improved default "View from Here" quality, and eliminated the "fast" option.  So far this feature hasn't been unduly bogging down my server, so there's no need to keep it restrained.

The coordinate options in the left bar were originally UTM/USNG on top and several Lat/Lng formats on the bottom.  I changed this so that both dropdowns have all five options.  CalTopo will switch over to Lat/Lng on top and UTM on bottom by default, but these choices are saved to your browser so you shouldn't need to keep resetting them:

The big reason for this change is that I can now treat the first checkbox as the user's preferred coordinate system.  I've wanted to allow direct editing of marker coordinates for some time, but the lack of a single, user-specified coordinate system held me back.  It's about time for this change; previously you had to try dragging a marker into the correct spot while watching the coordinates in the screen's top right:

Cookies had been expiring when you closed your browser, so the map center/layers/datum/etc reset every time you came back with a new browser session.  I never noticed this as I rarely reboot my computer and am often clearing cookies for debugging purposes, but those settings will now last for 3 months.

I had been smoothing GPS tracks a bit, in order to prevent bogging down the UI when someone imports, say, a big chunk of the PCT.  By popular demand, this is now optional, although still recommended unless you want the extra precision:

A new stage was also added to the import dialog to give you the option of choosing particular markers and shapes rather than pulling in everything and then deleting the stuff you don't want:


There were some coordinate formats I wasn't parsing right, like last 5 UTM and using 120.1 W instead of -120.1 for longitude.  Fixed what I could, if you run into something that doesn't work right, let me know.

Added bearing lines, so that you can plot a line at a compass bearing from a given location.  Useful for SAR for coordinating ELT signals and voice calls, not sure what how much use it will have for general mapping.  Note that when drawing a new line, range/bearing from the last vertex is displayed at the top right of the screen, which may also be helpful.

You can now print a list of marker coordinates along with a map.  This used to exist but partially broke at some point.  It's accessible at the bottom of the PDF generator:

GPX exports - and consequently, GPS exports - added a bunch of extra data into the description field so that if you re-imported the file, it would preserve colors, marker symbols, comments and so on.  Unfortunately all this data would sometimes show up on GPSs, which is more than a little annoying.  Exports are now plain vanilla GPX.  If you want to back up a map or copy features from one map to another, the export dialog now has an "Include Attributes" checkbox.

This is a pretty obscure feature, but if you're setting up a website and want to make use of embedded CalTopo maps, you can import a KML file by listing it as part of the URL hash, e.g. ending with &kml=http://location/of/kml/file.

Some more options for getting detailed information on a point:

Sun Exposure was covered in the "Where's the Sun?" post.  The NOAA Forecast option brings up a point forecast page on weather.gov.  Position & Elevation brings up a dialog with elevation/slope/aspect as well as the coordinates in a variety of formats:

The "Layers" section on the leftbar simply provides a preset combination for the layer menu at the top right.  This proved to be too subtle as many people thought these were the only options and missed the layer menu entirely.  In order to make this visually obvious, I'm now briefly flashing the layer menu whenever someone clicks on a preset.

Similarly, a lot of people missed the slope and land management keys at the bottom right of the map screen.  These are now shown directly under the checkbox, although to avoid UI clutter, they only appear when a layer is active.  The keys are currently cropped instead of flowing onto a second line, but they still convey the general idea:


No comments:

Post a Comment