<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-115591899064903079</id><updated>2022-03-28T20:37:37.488+02:00</updated><title type='text'>TrackProfiler blog</title><subtitle type='html'>Edit (and share) your GPS tracks online!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>59</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-3950575142224899240</id><published>2014-11-09T20:33:00.001+01:00</published><updated>2014-11-09T20:33:13.514+01:00</updated><title type='text'>Clone track</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;...and last in this &lt;a href=&quot;http://blog.trackprofiler.com/2014/11/faster-trackprofiler.html&quot;&gt;series&lt;/a&gt; of &lt;a href=&quot;http://blog.trackprofiler.com/2014/11/snapshots-and-multistep-undo.html&quot;&gt;blog&lt;/a&gt; &lt;a href=&quot;http://blog.trackprofiler.com/2014/11/gpx-11-and-track-routes.html&quot;&gt;posts&lt;/a&gt;...&lt;br /&gt;&lt;br /&gt;With the new version of Trackprofiler you can now &quot;clone&quot; an existing track into a new one and edit it. Simple as that.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/3950575142224899240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2014/11/clone-track.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/3950575142224899240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/3950575142224899240'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2014/11/clone-track.html' title='Clone track'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-4323266824886388189</id><published>2014-11-06T06:46:00.001+01:00</published><updated>2014-11-06T06:53:59.891+01:00</updated><title type='text'>GPX 1.1 and track routes</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;The first version Trackprofiler worked with only one kind of GPS files -- GPX. Not even all versions of GPX, only 1.0. That wasn&#39;t a big problem since 1.1 wasn&#39;t used very much at the time. With time I added more formats, but as for GPX handling -- Trackprofiler remained for years with 1.0.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Part of this latest rewrite is the ability to handle &lt;b&gt;GPX 1.1&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Related to GPX handling comes another feature. Track files can contain three different kinds of entities:&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;b&gt;Tracks&lt;/b&gt; (with segments)&lt;/li&gt;&lt;li&gt;&lt;b&gt;Routes&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Waypoints&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Tracks are a series of geo-locations recorded with a real GPS. Routes are &quot;planning stages&quot; for tracks, they usually contain fewer points (per unit of distance) and are created by the user on the computer without the need of a GPS unit. Routes are usually &lt;i&gt;uploaded to&lt;/i&gt;&amp;nbsp;the GPS (not&amp;nbsp;&lt;i&gt;downloaded from&lt;/i&gt;&amp;nbsp;like tracks)&amp;nbsp;and are used to help people navigate outdoor.&lt;br /&gt;&lt;br /&gt;Trackprofiler is a GPS&amp;nbsp;&lt;u&gt;track&lt;/u&gt;&amp;nbsp;editor, but&amp;nbsp;tracks and routes are basically similar, and that&#39;s why you can convert &lt;i&gt;track to route&lt;/i&gt; on-the-fly when downloading. But there was one thing missing, you couldn&#39;t upload a track consisting of only routes.&lt;br /&gt;&lt;br /&gt;Now you can, on the upload page there is a checkbox &quot;Convert routes&quot;. If checked &lt;i&gt;routes will be converted to tracks&lt;/i&gt; and then you can edit them as with any other track on Trackprofiler.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/4323266824886388189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2014/11/gpx-11-and-track-routes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/4323266824886388189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/4323266824886388189'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2014/11/gpx-11-and-track-routes.html' title='GPX 1.1 and track routes'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-613356803731638533</id><published>2014-11-05T06:17:00.001+01:00</published><updated>2014-11-05T07:01:49.869+01:00</updated><title type='text'>Track snapshots and multistep undo</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;...so, let us start with the changes introduced with &lt;a href=&quot;http://blog.trackprofiler.com/2014/11/faster-trackprofiler.html&quot;&gt;yesterday upgrade&lt;/a&gt;. The first I want to highlight is the &quot;&lt;i&gt;Undo&lt;/i&gt;&quot; link when you are editing the track:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-7hoYW5lziEE/VFmyMgHuIlI/AAAAAAAAAxw/tXmbROP-_XA/s1600/snapshots.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-7hoYW5lziEE/VFmyMgHuIlI/AAAAAAAAAxw/tXmbROP-_XA/s1600/snapshots.png&quot; height=&quot;132&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;From now on, every change you make on a track is stored in a temporary memory with &quot;&lt;u&gt;snapshots&lt;/u&gt;&quot; of the track. Snapshots are stored for 10-15 minutes from the moment you made the edit. When you are not happy with the changes you made -- you can reset the track to any of the snapshots (or, of course, reset it to original any time).&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/613356803731638533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2014/11/snapshots-and-multistep-undo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/613356803731638533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/613356803731638533'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2014/11/snapshots-and-multistep-undo.html' title='Track snapshots and multistep undo'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-7hoYW5lziEE/VFmyMgHuIlI/AAAAAAAAAxw/tXmbROP-_XA/s72-c/snapshots.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-8011714809821669129</id><published>2014-11-04T07:00:00.001+01:00</published><updated>2014-11-04T07:00:45.051+01:00</updated><title type='text'>Faster Trackprofiler</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;After 4 weeks in beta testing the new version of Trackprofiler is deployed on the main site. This version brings many new features. I&#39;ll mention only one here (and leave the rest for another blogpost)...&lt;br /&gt;&lt;br /&gt;In the last 3 months the entire code for GPX/track manipulation is rewritten from Python to Go(&lt;a href=&quot;https://golang.org/&quot;&gt;lang&lt;/a&gt;). The result is that all the track operations, graph and thumbnail reloading and map refresh time is now much faster than before.&lt;br /&gt;&lt;br /&gt;More about this update soon...&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/8011714809821669129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2014/11/faster-trackprofiler.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/8011714809821669129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/8011714809821669129'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2014/11/faster-trackprofiler.html' title='Faster Trackprofiler'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-7117083437968788068</id><published>2014-05-11T08:09:00.002+02:00</published><updated>2014-05-11T13:24:53.492+02:00</updated><title type='text'>Private tags and edit quicklinks</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;A new version is just deployed with a bunch of new features.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;First, you can now browse &lt;i&gt;your own&lt;/i&gt;&amp;nbsp;tracks by tags. When you visit your profile page you&#39;ll see &lt;u&gt;your own tag&lt;/u&gt; cloud in the right column:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-5l1rkkWpHZ4/U28QaFI-h7I/AAAAAAAAAs0/8jyXRc9B_mI/s1600/trackprofiler_tags.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-5l1rkkWpHZ4/U28QaFI-h7I/AAAAAAAAAs0/8jyXRc9B_mI/s1600/trackprofiler_tags.png&quot; height=&quot;195&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;By clicking on any tag from the cloud, only your tracks tagged with that tag will be filtered. If you are careful to choose the right tags when uploading the track -- this is a good way to &lt;b&gt;intuitively organize and quickly find tracks&lt;/b&gt;.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Next feature is &lt;u&gt;track edit quick links&lt;/u&gt;. On any page where a list of tracks is shown, on your tracks you&#39;ll see edit icons/links:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-sENVxxhWF9w/U28QcJqplfI/AAAAAAAAAs8/FaayMCTraFY/s1600/quicklinks.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-sENVxxhWF9w/U28QcJqplfI/AAAAAAAAAs8/FaayMCTraFY/s1600/quicklinks.png&quot; height=&quot;79&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The title and description can be changed without moving from the page. The icons below the map thumbnail are quick links to the most used edit options.&lt;br /&gt;&lt;br /&gt;And the last option... Premium users can now decide for uploaded tracks to be &lt;i&gt;private&lt;/i&gt;&amp;nbsp;&lt;i&gt;by default&lt;/i&gt;. Just select the checkbox in your profile edit page.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/7117083437968788068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2014/05/private-tags-and-edit-quicklinks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/7117083437968788068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/7117083437968788068'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2014/05/private-tags-and-edit-quicklinks.html' title='Private tags and edit quicklinks'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-5l1rkkWpHZ4/U28QaFI-h7I/AAAAAAAAAs0/8jyXRc9B_mI/s72-c/trackprofiler_tags.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-8070146235209412827</id><published>2014-04-04T20:03:00.001+02:00</published><updated>2014-04-04T20:03:19.894+02:00</updated><title type='text'>Moving to Leaflet and Openstreetmap</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Until a few weeks ago, all embedded maps on Trackprofiler were based on &lt;a href=&quot;https://maps.google.com/&quot;&gt;Google maps&lt;/a&gt;, but I&#39;ve made a switch to &lt;a href=&quot;http://leafletjs.com/&quot;&gt;Leaflet&lt;/a&gt;&amp;nbsp;powered maps with &lt;a href=&quot;http://mapbox.com/&quot;&gt;MapBox&lt;/a&gt; powered layers based on &lt;a href=&quot;http://osm.org/&quot;&gt;Openstreetmap&lt;/a&gt; data and &lt;a href=&quot;http://www.bing.com/maps&quot;&gt;Bing maps&lt;/a&gt; layer for aerial imagery. The functionality is more-or-less the same as before.&lt;br /&gt;&lt;br /&gt;Why the switch? Google maps is still a great solution which thought me a lot about mapping and online geographical programming, but there are some important reasons why I decided to rewrite a big part of Trackprofiler:&lt;br /&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;I believe that Openstreetmap is the future of mapping. It is a great community doing great efforts to create the best map data ever,&lt;/li&gt;&lt;li&gt;Leaflet.js is a great mapping Javascript library, it is fast and easy to work with,&lt;/li&gt;&lt;li&gt;Too restrictive terms of service,&lt;/li&gt;&lt;li&gt;This allowed me to rewrite legacy parts of the application and this, in turn, will help to implement &lt;i&gt;even more new features&lt;/i&gt;...&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/8070146235209412827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2014/04/moving-to-leaflet-and-openstreetmap.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/8070146235209412827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/8070146235209412827'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2014/04/moving-to-leaflet-and-openstreetmap.html' title='Moving to Leaflet and Openstreetmap'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-3071462814047904804</id><published>2014-02-22T22:46:00.000+01:00</published><updated>2014-02-22T22:46:00.259+01:00</updated><title type='text'>More open source projects</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Regular readers of this blog already know, Trackprofiler is not only built on open source components but is &lt;a href=&quot;http://www.trackprofiler.com/text:open-source&quot;&gt;actively releasing new open source&lt;/a&gt; projects.&lt;br /&gt;&lt;br /&gt;Continuing with this trend, here are two new projects for all users of the Leaflet.js mapping framework:&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://github.com/tkrajina/leaflet-editable-polyline&quot;&gt;Leaflet editable polyline&lt;/a&gt;: point-by-point editor for (&lt;i&gt;very&lt;/i&gt;) big polylines&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://github.com/tkrajina/leaflet-clicks&quot;&gt;Leaflet clicks&lt;/a&gt;: a small plugin for custom events where you need to differentiate between single and double clicks.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/3071462814047904804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2014/02/more-open-source-projects.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/3071462814047904804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/3071462814047904804'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2014/02/more-open-source-projects.html' title='More open source projects'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-7253572772080269692</id><published>2014-02-15T22:29:00.000+01:00</published><updated>2014-02-15T22:29:58.145+01:00</updated><title type='text'>Simplify GPS tracks</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;If you happen to record a GPS track driving on the North Dakota State Highway 46, which...&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;...is a 123 mile (198 km) road in eastern North Dakota, crossing the Red River Valley between Streeter and Oxbow. It parallels and runs about twenty miles (32 km) south of Interstate 94, and &lt;b&gt;is the longest stretch of straight road in North America&lt;/b&gt;. (&lt;a href=&quot;http://en.wikipedia.org/wiki/North_Dakota_Highway_46&quot;&gt;Wikipedia&lt;/a&gt;)&lt;/blockquote&gt;...your track may have tens of thousands of points. Of course, since all of them present a straight line -- only two are important: The starting point and the ending point.&lt;br /&gt;&lt;br /&gt;In that case you may use the new feature that is just deployed on Trackprofiler today. The &quot;Simplify track&quot; option will remove points where the track resembles a straight line. You can still decide how many points to choose (by selecting &quot;More points&quot; or &quot;Less points&quot; on the page).&lt;br /&gt;&lt;br /&gt;Note that by removing intermediate points you remove the metadata, too. Most importantly the time (needed to compute the speed) and elevation. &amp;nbsp;But, sometimes those are not that important and you need your tracks to contain only the shape of the path taken. If that&#39;s the case -- enjoy simplifying your tracks!&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/7253572772080269692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2014/02/simplify-gps-tracks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/7253572772080269692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/7253572772080269692'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2014/02/simplify-gps-tracks.html' title='Simplify GPS tracks'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-3921189345369195493</id><published>2014-01-05T08:39:00.004+01:00</published><updated>2014-01-05T08:48:02.323+01:00</updated><title type='text'>Happy new 2014</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Happy new 2014 year!&lt;br /&gt;&lt;br /&gt;As you can see from posts on this blog -- 2013 was a busy year for Trackprofiler. This year will probably see some more features. In the last few weeks I was compiling a list of features from users, and here it is. This is what you can expect this year:&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;i&gt;Simplify tracks by removing too many points&lt;/i&gt;.&lt;/li&gt;&lt;li&gt;&lt;i&gt;OpenStreetMap and Leaflet integration instead of Google Maps&lt;/i&gt;.&lt;/li&gt;&lt;li&gt;&lt;i&gt;Easier handling of multiple tracks (bulk rename, change tags, delete, ...)&lt;/i&gt;.&lt;/li&gt;&lt;li&gt;Support for the newer GPX version of: GPX 1.1 (and possibly more track formats, as well).&lt;/li&gt;&lt;li&gt;Show multiple tracks on one page.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Multistep undo. At the moment the only way to revert an edit is to use &quot;Revert to original track&quot;. With multistep undo You&#39;ll be able to undo only single edits.&lt;/li&gt;&lt;li&gt;Login with Mozilla persona.&lt;/li&gt;&lt;li&gt;Better editing tools for tags, automatic detection of tags.&lt;/li&gt;&lt;li&gt;Share waypoints between multiple tracks.&lt;/li&gt;&lt;li&gt;Public Trackprofiler API.&lt;/li&gt;&lt;li&gt;Bulk download of tracks on Dropbox.&lt;/li&gt;&lt;li&gt;&lt;i&gt;User-defined colors for track segments&lt;/i&gt;.&lt;/li&gt;&lt;li&gt;Microsites (more on this later...).&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;In &lt;i&gt;italic&lt;/i&gt;&amp;nbsp;are the features planned for the first 3-4 months of this year.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is not a definitive list, maybe some new and important features will be added, but I hope that at least two-thirds of this list will be ready this year.&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/3921189345369195493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2014/01/happy-new-2014.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/3921189345369195493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/3921189345369195493'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2014/01/happy-new-2014.html' title='Happy new 2014'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-8109537771486023437</id><published>2013-12-12T10:24:00.000+01:00</published><updated>2013-12-16T07:17:39.782+01:00</updated><title type='text'>Split and move GPS track segments</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Some GPS devices record tracks with random errors like this:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-O-uO-s1ViSM/Uql0h9VdB1I/AAAAAAAAAqc/1gYAqm7r2ms/s1600/random-gps-errors.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-O-uO-s1ViSM/Uql0h9VdB1I/AAAAAAAAAqc/1gYAqm7r2ms/s1600/random-gps-errors.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I followed a smooth path here, the actual GPS track looks pretty irregular. To fix it you need to move every point, or just use a real GPS (instead of a smartphone &quot;GPS&quot; :-).&lt;br /&gt;&lt;br /&gt;Other times your track may look something like this:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/--oz1XUW4AWo/Uql2GkmWpeI/AAAAAAAAAqo/MusOOdfTVeU/s1600/gps-errors.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/--oz1XUW4AWo/Uql2GkmWpeI/AAAAAAAAAqo/MusOOdfTVeU/s1600/gps-errors.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Note that the first part of the track follows the road but then it &quot;decides&quot; to leave the road (in reality, I never went off-road there) and then, later, it returns back on the road. To fix a problem like this one until now you had to use the &quot;&lt;b&gt;Edit points&lt;/b&gt;&quot; option and move points one by one.&lt;br /&gt;&lt;br /&gt;This is a problem people from &lt;a href=&quot;http://www.cadencevr.com/&quot;&gt;CadenceVR&lt;/a&gt; had. For their product (a virtual reality cycling/training application), they need to have reliable tracks files. But when the GPS make an error like the above -- they need to fix many (&lt;i&gt;thousands!&lt;/i&gt;) points by moving them one by one, and every move by the same few meters in the same direction.&lt;br /&gt;&lt;br /&gt;After a few days of emailing back and forth with ideas on how to fix problems like this one, a new feature of Trackprofiler is born. You can now use the &lt;a href=&quot;http://blog.trackprofiler.com/2013/10/track-segment-editor.html&quot;&gt;Segment editor&lt;/a&gt;&amp;nbsp;to split segments and move them around:&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;250&quot; src=&quot;//www.youtube.com/embed/sS5nNEMhzf0?rel=0&quot; width=&quot;450&quot;&gt;&lt;/iframe&gt; &lt;br /&gt;&lt;br /&gt;How to do it...&lt;br /&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;u&gt;Click on the track&lt;/u&gt; to split the segment into two new (you can merge them back later)&lt;/li&gt;&lt;li&gt;&lt;u&gt;Drag the marker&lt;/u&gt; with the number at the start of the segment. The entire segment will move accordingly.&amp;nbsp;&lt;/li&gt;&lt;li&gt;When the segment is moved where it should have been you can &lt;u&gt;merge the segments&lt;/u&gt; again.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/8109537771486023437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2013/12/split-and-move-gps-track-segments.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/8109537771486023437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/8109537771486023437'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2013/12/split-and-move-gps-track-segments.html' title='Split and move GPS track segments'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-O-uO-s1ViSM/Uql0h9VdB1I/AAAAAAAAAqc/1gYAqm7r2ms/s72-c/random-gps-errors.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-6011806641569590220</id><published>2013-10-16T20:47:00.000+02:00</published><updated>2013-10-16T20:49:05.130+02:00</updated><title type='text'>Track segment editor</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Let&#39;s suppose you recorded a track &lt;a href=&quot;http://trackprofiler2.appspot.com/track:lisina-sija-with-segments&quot;&gt;like this&lt;/a&gt;: &lt;br /&gt;&lt;br /&gt;&lt;iframe frameborder=&quot;0&quot; height=&quot;550&quot; scrolling=&quot;no&quot; src=&quot;http://www.trackprofiler.com/track:lisina-sija-with-segments/embeded?width=400&amp;amp;map=1&amp;amp;title=0&amp;amp;graph=1&amp;amp;height=550&quot; style=&quot;border: 1px solid #ebeded;&quot; width=&quot;400&quot;&gt;&amp;lt;a href=&#39;http://www.trackprofiler.com/track:lisina-sija-with-segments&#39;&amp;gt;Lisina - Šija with segments&amp;lt;/a&amp;gt; on &amp;lt;a href=&#39;http://www.trackprofiler.com&#39;&amp;gt;TrackProfiler&amp;lt;/a&amp;gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Note that the path is &quot;broken&quot; in 4 smaller parts. Those parts are called &lt;b&gt;track segments&lt;/b&gt;. Every track can have multiple track segments and GPS devices will usually create a new segment every time it lost GPS satellite visibility (for example if you entered in a tunnel or&amp;nbsp;&amp;nbsp;a deep canyon) or you temporarily switched it off.&lt;br /&gt;&lt;br /&gt;But we have another problem here. When we reached the peak the batteries of our GPS discharged and that&#39;s why we don&#39;t have the return of our trip recorded. BTW, the return was the same path.&lt;br /&gt;&lt;br /&gt;This is a typical scenario where you would use the new &quot;&lt;b&gt;Track segment editor&lt;/b&gt;&quot; on Trackprofiler. When you click on the &quot;segment editor&quot; tab you will see the map with numbered segments and on the right the list with all possible operations on single segments:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-_RgU2M-Itac/Ul7aLtIU6oI/AAAAAAAAAos/cYnJKh9c5zk/s1600/segment-editor.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;321&quot; src=&quot;http://1.bp.blogspot.com/-_RgU2M-Itac/Ul7aLtIU6oI/AAAAAAAAAos/cYnJKh9c5zk/s400/segment-editor.png&quot; style=&quot;border: none; vertical-align: -3px;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;By selecting the drop-down with the number you can change the segment order in your GPS file. Use&amp;nbsp;&lt;img border=&quot;0&quot; src=&quot;http://www.trackprofiler.com/static/i/controller-loop.png&quot; style=&quot;border: none; vertical-align: -3px;&quot; /&gt;&amp;nbsp;to reverse the order of points &lt;b&gt;inside that segment&lt;/b&gt;. With&amp;nbsp;&lt;img border=&quot;0&quot; src=&quot;http://www.trackprofiler.com/static/i/copy.png&quot; style=&quot;border: none; vertical-align: -3px;&quot; /&gt; you can &lt;b&gt;duplicate the segment&lt;/b&gt;&amp;nbsp;or delete it with&amp;nbsp;&lt;img border=&quot;0&quot; src=&quot;http://www.trackprofiler.com/static/i/trash.png&quot; style=&quot;border: none; vertical-align: -3px;&quot; /&gt;.&lt;/div&gt;&lt;br /&gt;Use&amp;nbsp;&lt;img border=&quot;0&quot; src=&quot;http://www.trackprofiler.com/static/i/exchange-vertical.png&quot; style=&quot;border: none; vertical-align: -3px;&quot; /&gt; to &lt;b&gt;join two segments&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Now back to our problematic track. We need to:&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Join all our segments using&amp;nbsp;&lt;img border=&quot;0&quot; src=&quot;http://www.trackprofiler.com/static/i/exchange-vertical.png&quot; style=&quot;border: none; vertical-align: -3px;&quot; /&gt;,&lt;/li&gt;&lt;li&gt;copy the resulting segment with&amp;nbsp;&lt;img border=&quot;0&quot; src=&quot;http://www.trackprofiler.com/static/i/copy.png&quot; style=&quot;border: none; vertical-align: -3px;&quot; /&gt;,&lt;/li&gt;&lt;li&gt;reverse the points on the second segment (the returning path) with&amp;nbsp;&lt;img border=&quot;0&quot; src=&quot;http://www.trackprofiler.com/static/i/controller-loop.png&quot; style=&quot;border: none; vertical-align: -3px;&quot; /&gt;,&lt;/li&gt;&lt;li&gt;join them together with&amp;nbsp;&lt;img border=&quot;0&quot; src=&quot;http://www.trackprofiler.com/static/i/exchange-vertical.png&quot; style=&quot;border: none; vertical-align: -3px;&quot; /&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;...and the result will be &lt;a href=&quot;http://www.trackprofiler.com/track:lisina-sija-without-segments&quot;&gt;the complete path&lt;/a&gt; without &quot;holes&quot;:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-ds1mWMY8088/Ul7cn0EuiOI/AAAAAAAAAo4/vwRD6U8sTpk/s1600/lisina-sija-complete.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;51&quot; src=&quot;http://4.bp.blogspot.com/-ds1mWMY8088/Ul7cn0EuiOI/AAAAAAAAAo4/vwRD6U8sTpk/s320/lisina-sija-complete.png&quot; style=&quot;border: none; vertical-align: -3px;&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;The &lt;b&gt;Track segment editor&lt;/b&gt;&amp;nbsp;is online &lt;i&gt;now&lt;/i&gt;.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Feedback is welcome!&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/6011806641569590220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2013/10/track-segment-editor.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/6011806641569590220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/6011806641569590220'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2013/10/track-segment-editor.html' title='Track segment editor'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-_RgU2M-Itac/Ul7aLtIU6oI/AAAAAAAAAos/cYnJKh9c5zk/s72-c/segment-editor.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-1748326856934049512</id><published>2013-10-08T08:00:00.000+02:00</published><updated>2013-10-08T08:00:48.515+02:00</updated><title type='text'>Geoelevations for Ruby</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://github-camo.global.ssl.fastly.net/9ec1147f3db5223a0e18d8de319d074f3acf18a7/687474703a2f2f746b72616a696e612e6769746875622e696f2f67656f656c65766174696f6e732f756e64756c6174696f6e732e706e67&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;160&quot; src=&quot;https://github-camo.global.ssl.fastly.net/9ec1147f3db5223a0e18d8de319d074f3acf18a7/687474703a2f2f746b72616a696e612e6769746875622e696f2f67656f656c65766174696f6e732f756e64756c6174696f6e732e706e67&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;WGS84 Undulations map of the Earth&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Just released another open source project related to &lt;a href=&quot;http://www.trackprofiler.com/&quot;&gt;Trackprofiler&lt;/a&gt;. &lt;a href=&quot;http://geoelevations.rb/&quot;&gt;Geoelevations.rb&lt;/a&gt;&amp;nbsp;is&amp;nbsp;a SRTM and EGM2008 undulations parser library for Ruby:&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;Geoelevations.rb is a SRTM and EGM2008 undulations parser library for ruby. Geoelevation.rb allows you to &lt;b&gt;retrieve the elevation&lt;/b&gt; for any point in Earth (if present in the SRTM dataset) and the &lt;b&gt;Geoid undulation&lt;/b&gt; (the difference between the WGS84 ellipsoid and the actual Earth size).&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;a href=&quot;http://www2.jpl.nasa.gov/srtm/&quot;&gt;SRTM&lt;/a&gt;: &quot;The Shuttle Radar Topography Mission (SRTM) obtained elevation data on a near-global scale to generate the most complete high-resolution digital topographic database of Earth.&quot;&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;a href=&quot;http://earth-info.nga.mil/GandG/wgs84/gravitymod/egm2008/egm08_wgs84.html&quot;&gt;EGM2008&lt;/a&gt;: &quot;The official Earth Gravitational Model EGM2008&quot;. Part of this dataset is a &quot;geoid undulation values with respect to WGS 84&quot;.&lt;/blockquote&gt;Basically it is simillar to the existing &lt;a href=&quot;https://github.com/tkrajina/srtm.py&quot;&gt;Python SRTM library&lt;/a&gt; (used in Trackprofiler to add elevations to GPS tracks) with two differences:&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;It is written in Ruby,&lt;/li&gt;&lt;li&gt;It contains also a EGM2008 undulations data (remember the &lt;a href=&quot;http://blog.trackprofiler.com/2013/08/better-gps-trackelevation-data.html&quot;&gt;difference between smartphone elevation and the actual elevation&lt;/a&gt;? That&#39;s the reason).&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Geoelevations.rb is hosted here:&amp;nbsp;&lt;a href=&quot;https://github.com/tkrajina/geoelevations&quot;&gt;github.com/tkrajina/geoelevations&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/1748326856934049512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2013/10/geoelevations-for-ruby.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/1748326856934049512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/1748326856934049512'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2013/10/geoelevations-for-ruby.html' title='Geoelevations for Ruby'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-6672678886848521093</id><published>2013-09-04T17:55:00.001+02:00</published><updated>2013-09-04T18:03:18.283+02:00</updated><title type='text'>GPS, Navigation and our Brains</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;a href=&quot;http://www.bostonglobe.com/ideas/2013/08/17/our-brains-pay-price-for-gps/d2Tnvo4hiWjuybid5UhQVO/story.html&quot;&gt;This&lt;/a&gt; sounds true to me:&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;How GPS affects our natural ability to navigate is a question that has, in recent years, begun to attract the attention of researchers around the world. What they are finding suggests that (...) I was one of millions of people for whom technology is disrupting something the human brain is supposed to do well. &lt;b&gt;When we use GPS, the research indicates, we remember less about the places we go, and put less work into generating our own internal picture of the world&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Often referred to as mental maps, these schematics tell us where things are in relation to each other and allow us to navigate among them. They are as powerful as they are mysterious, even to specialists who have devoted their careers to studying how they work. “They are very individual,” said Julia Frankenstein, a researcher at the Center for Cognitive Science at the University of Freiburg in Germany. “The things which matter to you might be completely different to those that matter to your wife or your children.”&lt;br /&gt;&lt;br /&gt;With the option to use GPS to do our wayfinding for us, it might seem like we don’t have much need for mental maps anymore. But according to Veronique Bohbot, a neuroscientist affiliated with McGill University and the Douglas Institute who studies spatial memory and navigation, the process of generating&lt;b&gt; mental maps also plays a role in activities that have nothing to do with getting to work&lt;/b&gt;. Becoming overly reliant on GPS and letting that skill atrophy, she and others suggest, might actually be bad for us.&lt;/blockquote&gt;Later in the article it says that things &lt;u&gt;maybe&lt;/u&gt; aren&#39;t &lt;i&gt;that&lt;/i&gt;&amp;nbsp;bad. But anyway, nobody is sure how bad things are.&lt;br /&gt;&lt;br /&gt;Let&#39;s suppose things &lt;i&gt;are&lt;/i&gt;&amp;nbsp;bad. My experience tells me that is true not only for GPS navigation but even when people go hiking but somebody &lt;i&gt;else&lt;/i&gt; is reading the map and telling them where to turn. I think that the quoted article &lt;b&gt;is&lt;/b&gt; true. But if true, what to do? If every one of us becomes overly reliant to GPS navigation? What then?&lt;br /&gt;&lt;br /&gt;I think I have a solution. Use the GPS &lt;b&gt;to record&lt;/b&gt;&amp;nbsp;the path you took but not to navigate. When outside do experiment, try alternative paths, study paper maps, ... Only when everything else fails -- look at the GPS map. I may be a little extreme but I still have my 8-years-old Garmin GPS60 &lt;i&gt;without maps&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Because the quoted research says nothing about &lt;b&gt;GPS&lt;/b&gt;. It says that the &lt;b&gt;navigation without thinking about the surroundings&lt;/b&gt;&amp;nbsp;is something that might atrophy our skills. But we &lt;i&gt;can&lt;/i&gt;&amp;nbsp;use GPS outside and still think about our surroundings.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;PS. I think that &lt;a href=&quot;http://www.trackprofiler.com/&quot;&gt;Trackprofiler&lt;/a&gt; users are typically the kind of people (mountainbikers, hikers, paragliders, ...) who &lt;u&gt;do&lt;/u&gt; think about surroundings and don&#39;t rely too much on car navigation.&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/6672678886848521093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2013/09/gps-navigation-and-our-brains.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/6672678886848521093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/6672678886848521093'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2013/09/gps-navigation-and-our-brains.html' title='GPS, Navigation and our Brains'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-5624092622331807594</id><published>2013-08-15T22:27:00.000+02:00</published><updated>2013-08-26T06:11:47.219+02:00</updated><title type='text'>Better GPS  track elevation data</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Few weeks ago we made a nice little hiking trip near Pazin. I forgot my Garmin and recorded the trip with my Android smartphone. The resulting elevation graph was pretty strange. Look at the black line:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://github-camo.global.ssl.fastly.net/fbb6d4eb44b7dbb3bf59f9b8b369ada5b239e354/687474703a2f2f746b72616a696e612e6769746875622e696f2f7372746d2e70792f6770785f656c65766174696f6e732e706e67&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;213&quot; src=&quot;https://github-camo.global.ssl.fastly.net/fbb6d4eb44b7dbb3bf59f9b8b369ada5b239e354/687474703a2f2f746b72616a696e612e6769746875622e696f2f7372746d2e70792f6770785f656c65766174696f6e732e706e67&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The blue line is the elevation computed from SRTM (Shuttle Radar Topography Mission) data.&lt;br /&gt;&lt;br /&gt;Is it obvious why the Android elevations were strange? The first thing is that the graph was cca 40 meters above the actual elevation lines. But this isn&#39;t something that bothers me too much. Because if it were only this -- the actual elevation gain should be the same (but the maximum/minimum elevations would be wrong).&lt;br /&gt;&lt;br /&gt;But the second thing is what was really strange. Android cooked up a hill in the first 700 meters of our trip. A big hill, almost 420m high. But in reality there was no hill there.&lt;br /&gt;&lt;br /&gt;This is why I added an option &quot;Add GPS track elevation&quot; on Trackprofiler. It is online almost two months now. But the actual data used is raw-SRTM data. And that&#39;s why the resulting graph was sometimes not a smooth line but a succession of horizontal lines (Look at the blue line in the graph).&lt;br /&gt;&lt;br /&gt;I&#39;ve been experimenting with few different algorithms to make a better elevation graphs from NASA&#39;s elevation data. And I think I finally found a good approximation. The result is the red line:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-59a6IM27ER8/Ug00xMqJR_I/AAAAAAAAAn4/ezXXJOlG4Eo/s1600/gpx_elevations.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;213&quot; src=&quot;http://4.bp.blogspot.com/-59a6IM27ER8/Ug00xMqJR_I/AAAAAAAAAn4/ezXXJOlG4Eo/s320/gpx_elevations.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;This new (and better) algorithm for elevation detection &lt;strike&gt;will be deployed&lt;/strike&gt;&amp;nbsp;is on Trackprofiler &lt;strike&gt;soon&lt;/strike&gt;&amp;nbsp;now.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;PS. I&#39;m not sure but the fact that my Android elevations are cca 40 meters higher may be because of the deviation between the ideal geoid and the actual Earth surface.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/5624092622331807594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2013/08/better-gps-trackelevation-data.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/5624092622331807594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/5624092622331807594'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2013/08/better-gps-trackelevation-data.html' title='Better GPS  track elevation data'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-59a6IM27ER8/Ug00xMqJR_I/AAAAAAAAAn4/ezXXJOlG4Eo/s72-c/gpx_elevations.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-4917856953670607161</id><published>2013-08-04T07:07:00.001+02:00</published><updated>2013-08-07T06:10:44.958+02:00</updated><title type='text'>Add missing time on GPS tracks</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;It is easy to add new points on an existing track. Just click on the track and move the points marked with &lt;img src=&quot;http://www.trackprofiler.com/static/markers/editmarker2.png&quot; style=&quot;border: none;&quot; /&gt; (or move the &lt;img src=&quot;http://www.trackprofiler.com/static/markers/editmarker.png&quot; style=&quot;border: none;&quot; /&gt; if you need to move existing points):&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;object class=&quot;BLOGGER-youtube-video&quot; classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot; codebase=&quot;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0&quot; data-thumbnail-src=&quot;https://i1.ytimg.com/s_vi/rcVF7ADXzXQ/default.jpg?sqp=CKC2948F&amp;amp;rs=AOn4CLCzmIlVVPMZVp1DrNFR0W64__vK6A&quot; height=&quot;266&quot; width=&quot;320&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/rcVF7ADXzXQ?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata&quot; /&gt;&lt;param name=&quot;bgcolor&quot; value=&quot;#FFFFFF&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;embed width=&quot;320&quot; height=&quot;266&quot;  src=&quot;http://www.youtube.com/v/rcVF7ADXzXQ?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Those new points don&#39;t have the same metadata as the old ones. For example, new points don&#39;t have elevations. That&#39;s why the elevation graph looks like this:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-roRXyE243vU/Uf3a-mk5sqI/AAAAAAAAAnE/YlOVNZDTfLc/s1600/elevations.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;85&quot; src=&quot;http://1.bp.blogspot.com/-roRXyE243vU/Uf3a-mk5sqI/AAAAAAAAAnE/YlOVNZDTfLc/s320/elevations.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;There is a &quot;empty hole&quot; on the part of the track where the new points are. This is easy to solve: Just go to &quot;&lt;b&gt;Add elevation&lt;/b&gt;&quot; and click on &quot;Add missing elevations&quot; and the result is:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/--t_xIDACnko/Uf3bfjI11OI/AAAAAAAAAnM/SePy962gmR4/s1600/elevations_2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;85&quot; src=&quot;http://4.bp.blogspot.com/--t_xIDACnko/Uf3bfjI11OI/AAAAAAAAAnM/SePy962gmR4/s320/elevations_2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;By the way, you could use the &quot;&lt;b&gt;Add elevations&lt;/b&gt;&quot; option instead of &quot;Add missing elevations&quot; if you want to &lt;i&gt;override even the existing elevation data&lt;/i&gt;.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;But there still is one thing missing. Look at the analytics page, the speed graph:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-778t-kuARHk/Uf3c4XCrn-I/AAAAAAAAAnc/1FJIeH0LkXY/s1600/speed.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;85&quot; src=&quot;http://1.bp.blogspot.com/-778t-kuARHk/Uf3c4XCrn-I/AAAAAAAAAnc/1FJIeH0LkXY/s320/speed.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Here, too, there is the same &quot;empty hole&quot;, and that&#39;s because &lt;b&gt;the new points have no time&lt;/b&gt;(stamps) saved&lt;br /&gt;&lt;br /&gt;For situations like this I&#39;m finishing/testing a new feature on Trackprofiler. When choosing it, the application will &lt;i&gt;try&lt;/i&gt; to interpolate times for all points where the time data is missing. The interpolation is based on distances between points.&lt;br /&gt;&lt;br /&gt;The &quot;Add missing time&quot; feature is &lt;strike&gt;almost&lt;/strike&gt; ready and &lt;strike&gt;will be online soon&lt;/strike&gt; is deployed now.&amp;nbsp; (BTW. Watch us on &lt;a href=&quot;http://www.trackprofiler.com/&quot;&gt;Trackprofiler&lt;/a&gt; on &lt;a href=&quot;https://twitter.com/trackprofiler&quot;&gt;Twitter&lt;/a&gt;, &lt;a href=&quot;https://www.facebook.com/Trackprofiler&quot;&gt;Facebook&lt;/a&gt; or &lt;a href=&quot;https://plus.google.com/b/117764375489318765447/117764375489318765447&quot;&gt;Google+&lt;/a&gt; for notifications about the new versions deployed.)&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/4917856953670607161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2013/08/add-missing-time-on-gps-tracks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/4917856953670607161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/4917856953670607161'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2013/08/add-missing-time-on-gps-tracks.html' title='Add missing time on GPS tracks'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-roRXyE243vU/Uf3a-mk5sqI/AAAAAAAAAnE/YlOVNZDTfLc/s72-c/elevations.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-8383970090613494448</id><published>2013-07-28T07:40:00.003+02:00</published><updated>2013-07-28T07:40:40.409+02:00</updated><title type='text'>Print only selected track elements</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;From now on, you can decide which elements to include when printing the track:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;242&quot; src=&quot;http://4.bp.blogspot.com/-UEE-WVG-BZQ/UfSudV5Bz4I/AAAAAAAAAmw/4AjaqXyBJRg/s320/select-elements-to-print.png&quot; width=&quot;320&quot; /&gt;&lt;/div&gt;&lt;br /&gt;Feedback is welcome.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/8383970090613494448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2013/07/print-only-selected-track-elements.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/8383970090613494448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/8383970090613494448'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2013/07/print-only-selected-track-elements.html' title='Print only selected track elements'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-UEE-WVG-BZQ/UfSudV5Bz4I/AAAAAAAAAmw/4AjaqXyBJRg/s72-c/select-elements-to-print.png" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-3667714032545936058</id><published>2013-07-24T14:03:00.000+02:00</published><updated>2013-08-05T11:08:35.177+02:00</updated><title type='text'>New layout for GPS track analytics page</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div&gt;There was a few deploys with loads of new features on trackprofiler in the last few months. This is the first of a series of blog posts covering new features introduced lately.&lt;br /&gt;&lt;br /&gt;If you remember, the &lt;a href=&quot;http://blog.trackprofiler.com/2012/05/track-analytics-graphs.html&quot;&gt;original &quot;Track analytics&quot; page&lt;/a&gt;&amp;nbsp;was just a series of graphs. Yesterday a new version was rolled out with the new version:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-Hx8AAv6ebDg/Ue_AHK2_BZI/AAAAAAAAAmc/cGK17kC_nho/s1600/analytics.png&quot; /&gt;&lt;/div&gt;&lt;br /&gt;For every graph you can see:&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Elevation graph&lt;/li&gt;&lt;li&gt;Speed graph&lt;/li&gt;&lt;li&gt;Steepness graph&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;For every graph by moving over it -- you can see exactly on the map where that point was recorder.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;See an example &lt;a href=&quot;http://www.trackprofiler.com/track:vizinad-motovun-karojba-visnjan/analytics&quot;&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/3667714032545936058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2013/07/new-layout-for-gps-track-analytics-page.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/3667714032545936058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/3667714032545936058'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2013/07/new-layout-for-gps-track-analytics-page.html' title='New layout for GPS track analytics page'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-Hx8AAv6ebDg/Ue_AHK2_BZI/AAAAAAAAAmc/cGK17kC_nho/s72-c/analytics.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-473974941050819314</id><published>2013-02-23T06:51:00.000+01:00</published><updated>2013-02-23T06:56:31.009+01:00</updated><title type='text'>GPS elevation graphs</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;This blog post is a short history on the evolution of GPS elevation graphs on &lt;a href=&quot;http://www.trackprofiler.com/&quot;&gt;trackprofiler&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;When starting the service I created a simple javascript based graph library and used it for GPS tracks elevation graphs:&lt;br /&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-aHEHKIbYs3Q/UShTFkxDpUI/AAAAAAAAAjQ/9G6X6wbeMwU/s1600/trackprofiler-03.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-aHEHKIbYs3Q/UShTFkxDpUI/AAAAAAAAAjQ/9G6X6wbeMwU/s1600/trackprofiler-03.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;...but over time, some problems arose. First of all it was slow and rendered in the browser. That means that for slower computers the graphs slowed the rendering of the entire page by more than a second.&lt;br /&gt;&lt;br /&gt;And, there was another thing I wanted to show on the graph -- the speed graph. So, a month ago a new version of TrackProfiler was deployed. The graph is now a PNG image created on the server -- no client&#39;s CPU is used. The graph, then, looked like:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-rpKHTGxEkAc/UShTGC6AHTI/AAAAAAAAAjY/B2HUqyTbJ1M/s1600/trackprofiler-02.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-rpKHTGxEkAc/UShTGC6AHTI/AAAAAAAAAjY/B2HUqyTbJ1M/s1600/trackprofiler-02.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The green graph is speed, the gray one is elevation.&lt;br /&gt;&lt;br /&gt;But, there still was one thing in the evolution of the graph I wanted to make. For example on the GPS track shown -- it started on elevation 197m and never went below. So, it don&#39;t make sense to show the vertical &amp;nbsp;part of the graph from zero. It only makes the uphill and downhill slopes flatter.&lt;br /&gt;&lt;br /&gt;After another iteration (online for the last 3 days) -- the vertical part of the graph now starts from the minimum elevation found on the graph. And the uphill/downhill slopes are better visible:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-1nDTz0YAp3k/UShTGBp55QI/AAAAAAAAAjc/FCJBH1bpeVQ/s1600/trackprofiler-01.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-1nDTz0YAp3k/UShTGBp55QI/AAAAAAAAAjc/FCJBH1bpeVQ/s1600/trackprofiler-01.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;See an &lt;a href=&quot;http://www.trackprofiler.com/track:visnjan-tinjan&quot;&gt;example here&lt;/a&gt;, or try it yourself on &lt;a href=&quot;http://www.trackprofiler.com/&quot;&gt;TrackProfiler&lt;/a&gt;.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/473974941050819314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2013/02/gps-elevation-graphs.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/473974941050819314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/473974941050819314'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2013/02/gps-elevation-graphs.html' title='GPS elevation graphs'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-aHEHKIbYs3Q/UShTFkxDpUI/AAAAAAAAAjQ/9G6X6wbeMwU/s72-c/trackprofiler-03.png" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-5945984694514824171</id><published>2013-01-12T07:15:00.001+01:00</published><updated>2013-01-13T06:43:55.638+01:00</updated><title type='text'>Gpxpy version 0.8.0</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;a href=&quot;https://github.com/tkrajina/gpxpy&quot;&gt;Gpxpy&lt;/a&gt; is an open source python library for parsing and manipulating GPX files. It is one of the core parts of the &lt;a href=&quot;http://www.trackprofiler.com/&quot;&gt;TrackProfiler&lt;/a&gt; web site, and one of the open sourced parts of it. In the last few months a lot of work is done. Two new important features:&lt;br /&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;gpxpy can now use lxml (if available) to parse GPX files (contribution from &lt;a href=&quot;http://isaevigor.ru/&quot;&gt;Isaev Igor&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;Python 3 support (contribution from&amp;nbsp;&lt;a href=&quot;http://www.smallshire.org.uk/sufficientlysmall/about-me/&quot;&gt;Robert Smallshire&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;...and many more small bug fixes and unit tests to make it faster and more stable.&lt;br /&gt;&lt;br /&gt;It is licensed under Apache 2.0 and there should be no problems using it even with your own closed-source commercial apps.&lt;br /&gt;&lt;br /&gt;PS. The &lt;a href=&quot;http://www.trackprofiler.com/old/index.html&quot;&gt;original trackprofiler&lt;/a&gt; utility app and the library used to show analytics graphs (&lt;a href=&quot;http://tkrajina.github.com/cartesius/&quot;&gt;cartesius&lt;/a&gt;) are also open source.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/5945984694514824171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2013/01/gpxpy-version-080.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/5945984694514824171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/5945984694514824171'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2013/01/gpxpy-version-080.html' title='Gpxpy version 0.8.0'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-4682452671324056021</id><published>2012-09-03T06:13:00.000+02:00</published><updated>2012-09-03T06:13:15.246+02:00</updated><title type='text'>Even more GPS editing tools</title><content type='html'>Even more GPS editing tools are available in the newest version of TrackProfiler. Those are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Remove time metadata from the track,&lt;/li&gt;&lt;li&gt;Remove elevation metadata from the track,&lt;/li&gt;&lt;li&gt;Elevation graphs are not shown if the track has no elevation data,&lt;/li&gt;&lt;li&gt;Move graphs,&lt;/li&gt;&lt;li&gt;Add/remove to elevation.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Plus, few bug fixes:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Problem with embeding tracks whose subject contain non-ASCII characters,&lt;/li&gt;&lt;li&gt;Default background for embeded tracks,&lt;/li&gt;&lt;li&gt;Better handling for inbound emails for email track uploading.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Enjoy!&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/4682452671324056021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2012/09/even-more-gps-editing-tools.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/4682452671324056021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/4682452671324056021'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2012/09/even-more-gps-editing-tools.html' title='Even more GPS editing tools'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-7912229008802597088</id><published>2012-08-08T06:21:00.002+02:00</published><updated>2012-08-08T06:52:23.008+02:00</updated><title type='text'>Track page load speed</title><content type='html'>Just rolled out a new update with a an important improvement. The problem was that the track page was generated entirely at the moment you requested it (i.e. you clicked on the link). This is a somewhat slowish process and consequently the page load speed was also slow.&lt;br /&gt;&lt;br /&gt;Now parts of the page are cached and the page load speed is improved by 3-4 times.&lt;br /&gt;&lt;br /&gt;Enjoy!</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/7912229008802597088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2012/08/track-page-speed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/7912229008802597088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/7912229008802597088'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2012/08/track-page-speed.html' title='Track page load speed'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-2977966792382451696</id><published>2012-07-22T06:53:00.000+02:00</published><updated>2012-07-22T06:53:10.221+02:00</updated><title type='text'>Embeding tracks</title><content type='html'>This month -- embeding GPS&amp;nbsp;tracks&amp;nbsp;from Trackprofiler in your site. It&#39;s easy -- when on the page with your track, just click the &quot;Embed&quot; tab. Then, copy the code on your page. There are 3 predefined widths for widgets, select the one that best fits in your page.&lt;br /&gt;&lt;br /&gt;Here is an example of how it looks:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe frameborder=&quot;0&quot; height=&quot;550&quot; scrolling=&quot;no&quot; src=&quot;http://www.trackprofiler.com/track:potok-banina/embeded?width=400&amp;amp;map=1&amp;amp;title=0&amp;amp;graph=1&amp;amp;height=550&quot; style=&quot;border: 1px solid #ebeded;&quot; width=&quot;400&quot;&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/2977966792382451696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2012/07/embeding-tracks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/2977966792382451696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/2977966792382451696'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2012/07/embeding-tracks.html' title='Embeding tracks'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-458660999298840727</id><published>2012-06-07T07:13:00.000+02:00</published><updated>2012-07-22T06:56:35.877+02:00</updated><title type='text'>Export track stats to a CSV file</title><content type='html'>In the last two weeks I was hiking around my small city (Višnjan). I made a total of 737.96564616 meters uphill, 32575.07452042m long (32680.59386254m if counting elevation).&lt;br /&gt;&lt;br /&gt;How do I know those numbers?&lt;br /&gt;&lt;br /&gt;Because there is a new option in TrackProfiler -- &lt;b&gt;You can export track statistics in a CSV file&lt;/b&gt;. For all files or for files with specific tags. All I did was to export in CSV files with tags &quot;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;visnjan&lt;/span&gt;&quot; and &quot;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;hiking&lt;/span&gt;&quot; and then computing the sum of columns with Excel.&lt;br /&gt;&lt;br /&gt;If you tag all your hiking tracks with &quot;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;hiking&lt;/span&gt;&quot;, tracks when you were in Italia with &quot;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;italy&lt;/span&gt;&quot; and Alps tracks with &quot;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;alps&lt;/span&gt;&quot; -- just enter &quot;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;hiking italy alps&lt;/span&gt;&quot; in the new CSV exporter form. The resulting file will contain data for all those tracks.</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/458660999298840727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2012/06/export-track-stats-in-csv-file.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/458660999298840727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/458660999298840727'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2012/06/export-track-stats-in-csv-file.html' title='Export track stats to a CSV file'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total><georss:featurename>Višnjan, Croatia</georss:featurename><georss:point>45.2761908 13.7201219</georss:point><georss:box>45.2314963 13.641157900000001 45.3208853 13.7990859</georss:box></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-5367986836532431642</id><published>2012-05-22T18:36:00.002+02:00</published><updated>2012-07-22T06:57:16.979+02:00</updated><title type='text'>Track analytics graphs</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-Ro_XehpbnUc/T7vAC5wi93I/AAAAAAAAAgg/Iz1p-8MsACk/s1600/analytics.png&quot; /&gt;&lt;/div&gt;&lt;br /&gt;With a new version -- one new feature. Graphs for every track uploaded. At the moment, there are three kind of graphs:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Graph with elevation and speed,&lt;/li&gt;&lt;li&gt;Uphill/downhill ratio,&lt;/li&gt;&lt;li&gt;Elevation and steepness heatmap.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;I&#39;ll probably add more in the future.&lt;br /&gt;&lt;br /&gt;PS. The library used or generating the graphs is now open source: see&amp;nbsp;&lt;a href=&quot;http://tkrajina.github.com/cartesius/&quot;&gt;cartesius&lt;/a&gt;&amp;nbsp;on github.&amp;nbsp;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/5367986836532431642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2012/05/track-analytics-graphs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/5367986836532431642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/5367986836532431642'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2012/05/track-analytics-graphs.html' title='Track analytics graphs'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-Ro_XehpbnUc/T7vAC5wi93I/AAAAAAAAAgg/Iz1p-8MsACk/s72-c/analytics.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-115591899064903079.post-916994243642535086</id><published>2012-01-08T14:00:00.004+01:00</published><updated>2012-01-08T14:00:59.677+01:00</updated><title type='text'>New layout (final)</title><content type='html'>The new layout (&lt;a href=&quot;https://github.com/twitter/bootstrap&quot;&gt;based on twitter bootstrap&lt;/a&gt;) is &lt;a href=&quot;http://www.trackprofiler.com/&quot;&gt;out&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://blog.trackprofiler.com/feeds/916994243642535086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.trackprofiler.com/2012/01/new-layout-final.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/916994243642535086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/115591899064903079/posts/default/916994243642535086'/><link rel='alternate' type='text/html' href='http://blog.trackprofiler.com/2012/01/new-layout-final.html' title='New layout (final)'/><author><name>Tomo Krajina</name><uri>http://www.blogger.com/profile/14568938147841195775</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>