{"id":19300,"date":"2020-12-27T10:05:09","date_gmt":"2020-12-27T15:05:09","guid":{"rendered":"https:\/\/nuxx.net\/blog\/?p=19300"},"modified":"2020-12-27T14:47:03","modified_gmt":"2020-12-27T19:47:03","slug":"josm-tip-simplify-way-before-improve-way-accuracy","status":"publish","type":"post","link":"https:\/\/nuxx.net\/blog\/2020\/12\/27\/josm-tip-simplify-way-before-improve-way-accuracy\/","title":{"rendered":"JOSM Tip: Simplify Way before Improve Way Accuracy"},"content":{"rendered":"\n<p>Consider the following: You are attempting to update <a href=\"https:\/\/www.openstreetmap.org\/\">OpenStreetMap (OSM)<\/a> trail routes using <a href=\"https:\/\/josm.openstreetmap.de\/\">JOSM<\/a> and find that the previous way is very detailed, but fairly wrong, meaning that a lot of nodes will need to be moved.<\/p>\n\n\n\n<p>Even with the <a href=\"https:\/\/josm.openstreetmap.de\/wiki\/Help\/Action\/ImproveWayAccuracy\">Improve Way Accuracy<\/a> tool this&#8217;ll be a pain. So what can you do? First decrease the number of nodes using <a href=\"https:\/\/josm.openstreetmap.de\/wiki\/Help\/Action\/SimplifyWay\">Simplify Way<\/a> and then move the remaining nodes, adding new ones as needed in the gaps. This will keep the original way intact, keep most of the route present, but allow for easy cleanup. It also reduces the number of nodes, making for simpler routes that take up less space on GPS devices. (I find that a <em>maximum error<\/em> setting of 0.5m or 1m works well.)<\/p>\n\n\n\n<p>In 2016 I used the official GIS data from the <a href=\"https:\/\/noquetrails.org\/\">Noquemanon Trails Network (NTN)<\/a> to add the singletrack trails to OSM. This worked pretty well, but since then it&#8217;s become possible to <a href=\"https:\/\/nuxx.net\/blog\/2020\/05\/24\/high-resolution-strava-global-heatmap-in-josm\/\">trace the Strava Global Heatmap high-resolution data<\/a> when mapping. When doing some routine updates and using this layer for assistance I noticed how many trails originally entered using the NTN&#8217;s official data aren&#8217;t quite correct. So along with adding changes, I&#8217;m tweaking the trail routes using the Strava data.<\/p>\n\n\n\n<p>The primary issue is that the official data would often have a large number of points very close together &#8212; in some cases just inches apart &#8212; particularly around curves. These points were much closer than needed for accurate mapping, and yet these curves would be the main things that needed adjusting. Moving all of these points would be a hassle and the resolution wasn&#8217;t necessary, so by simplifying the route, correcting the nodes that remain, and adding in more as needed, cleanup of the route is much faster. It also reduces the number of nodes along each way, saving space.<\/p>\n\n\n\n<p>The following images show a great example of this problem along <em>Mossy<\/em> (way <a href=\"https:\/\/www.openstreetmap.org\/way\/407815861\">40781586<\/a>), the last piece of single track in <em>Pioneer Loop<\/em> (relation <a href=\"https:\/\/www.openstreetmap.org\/relation\/6109593\">6109593<\/a>) when ridden clockwise from the trailhead:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/nuxx.net\/blog\/wp-content\/uploads\/2020\/12\/josm_mossy_original_data.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"570\" src=\"https:\/\/nuxx.net\/blog\/wp-content\/uploads\/2020\/12\/josm_mossy_original_data-1024x570.png\" alt=\"\" class=\"wp-image-19306\" srcset=\"https:\/\/nuxx.net\/blog\/wp-content\/uploads\/2020\/12\/josm_mossy_original_data-1024x570.png 1024w, https:\/\/nuxx.net\/blog\/wp-content\/uploads\/2020\/12\/josm_mossy_original_data-300x167.png 300w, https:\/\/nuxx.net\/blog\/wp-content\/uploads\/2020\/12\/josm_mossy_original_data-768x428.png 768w, https:\/\/nuxx.net\/blog\/wp-content\/uploads\/2020\/12\/josm_mossy_original_data-1536x855.png 1536w, https:\/\/nuxx.net\/blog\/wp-content\/uploads\/2020\/12\/josm_mossy_original_data-2048x1141.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>Detail of original data for <em>Mossy<\/em> in JOSM. Note the very detailed, yet inaccurate, curves.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/nuxx.net\/blog\/wp-content\/uploads\/2020\/12\/josm_mossy_simplified.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"570\" src=\"https:\/\/nuxx.net\/blog\/wp-content\/uploads\/2020\/12\/josm_mossy_simplified-1024x570.png\" alt=\"\" class=\"wp-image-19305\" srcset=\"https:\/\/nuxx.net\/blog\/wp-content\/uploads\/2020\/12\/josm_mossy_simplified-1024x570.png 1024w, https:\/\/nuxx.net\/blog\/wp-content\/uploads\/2020\/12\/josm_mossy_simplified-300x167.png 300w, https:\/\/nuxx.net\/blog\/wp-content\/uploads\/2020\/12\/josm_mossy_simplified-768x428.png 768w, https:\/\/nuxx.net\/blog\/wp-content\/uploads\/2020\/12\/josm_mossy_simplified-1536x855.png 1536w, https:\/\/nuxx.net\/blog\/wp-content\/uploads\/2020\/12\/josm_mossy_simplified-2048x1141.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption><em>Mossy<\/em> after simplifying the way with 1m <em>maximum error<\/em>.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/nuxx.net\/blog\/wp-content\/uploads\/2020\/12\/josm_mossy_cleaned_up.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"570\" src=\"https:\/\/nuxx.net\/blog\/wp-content\/uploads\/2020\/12\/josm_mossy_cleaned_up-1024x570.png\" alt=\"\" class=\"wp-image-19304\" srcset=\"https:\/\/nuxx.net\/blog\/wp-content\/uploads\/2020\/12\/josm_mossy_cleaned_up-1024x570.png 1024w, https:\/\/nuxx.net\/blog\/wp-content\/uploads\/2020\/12\/josm_mossy_cleaned_up-300x167.png 300w, https:\/\/nuxx.net\/blog\/wp-content\/uploads\/2020\/12\/josm_mossy_cleaned_up-768x428.png 768w, https:\/\/nuxx.net\/blog\/wp-content\/uploads\/2020\/12\/josm_mossy_cleaned_up-1536x855.png 1536w, https:\/\/nuxx.net\/blog\/wp-content\/uploads\/2020\/12\/josm_mossy_cleaned_up-2048x1141.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>After manual cleanup of the simplified <em>Mossy<\/em> using the <em>Improve Way Accuracy<\/em> tool<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Consider the following: You are attempting to update OpenStreetMap (OSM) trail routes using JOSM and find that the previous way is very detailed, but fairly&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/nuxx.net\/blog\/2020\/12\/27\/josm-tip-simplify-way-before-improve-way-accuracy\/\">Continue reading<span class=\"screen-reader-text\">JOSM Tip: Simplify Way before Improve Way Accuracy<\/span><\/a><\/div>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[57],"tags":[],"class_list":["post-19300","post","type-post","status-publish","format-standard","hentry","category-mapping","entry"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/posts\/19300","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/comments?post=19300"}],"version-history":[{"count":8,"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/posts\/19300\/revisions"}],"predecessor-version":[{"id":19320,"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/posts\/19300\/revisions\/19320"}],"wp:attachment":[{"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/media?parent=19300"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/categories?post=19300"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/tags?post=19300"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}