{"id":20961,"date":"2022-11-11T13:23:06","date_gmt":"2022-11-11T07:53:06","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/"},"modified":"2022-11-11T13:23:06","modified_gmt":"2022-11-11T07:53:06","slug":"solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/","title":{"rendered":"[Solved] How to get a road path which can be travelled in 10 minutes from a location"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-51686168\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"51686168\" data-parentid=\"51572251\" data-score=\"2\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p><code>pgr_drivingDistance<\/code> uses the <code>cost<\/code> value you provide, and in the units you implicitly specify, meaning that when you add a column <code>&lt;traveling_time&gt;<\/code> (note that I use <em>seconds<\/em> in my example) as the time needed to traverse an edge (given the length and speed limit) and select that as <code>cost<\/code>, the functions result will represent the equal driving time limits.<\/p>\n<p>As for the parts where the algorithm couldn\u00b4t fully traverse the next edge &#8216;in time&#8217;, you will need to add those yourself. The general idea here is to identify all possible edges connected to the end vertices in the result set of <code>pgr_drivingDistance<\/code>, but not equal to any of the involved edges, and interpolate a new end point along those lines.<\/p>\n<p><strong>&#8211; Updated &#8211;<\/strong><\/p>\n<p>The following query <s>is an <em>out-of-my-head<\/em> attempt and <strong>not tested at all<\/strong>, but in theory should<\/s> <strong>is tested<\/strong> and returns <s>a polygon<\/s> all full and partial edges representing a 600 seconds trip along your network:<\/p>\n<pre><code>WITH\n  dd AS (\n    SELECT pg.id1 AS node,\n           pg.id2 AS edge,\n           pg.cost\n    FROM pgr_drivingDistance('SELECT id,\n                                     source,\n                                     target,\n                                     &lt;travel_time_in_sec&gt; AS cost\n                              FROM &lt;edge_table&gt;',\n                             &lt;start_id&gt;,\n                             600,\n                             false,\n                             false\n         ) AS pg\n\n  ),\n  dd_edgs AS (\n    SELECT edg.id,\n           edg.geom\n    FROM &lt;edge_table&gt; AS edg\n    JOIN dd AS d1\n      ON edg.source = d1.node\n    JOIN dd AS d2\n      ON edg.target = d2.node\n  ),\n  dd_ext AS (\n    SELECT edg.id,\n             CASE\n               WHEN dd.node = edg.source\n               THEN ST_LineSubstring(edg.geom, 0, (600 - dd.cost) \/ edg.&lt;travel_time&gt;)\n               ELSE ST_LineSubstring(edg.geom, 1 - ((600 - dd.cost) \/ edg.&lt;travel_time&gt;), 1)\n             END AS geom\n    FROM dd\n    JOIN &lt;edge_table&gt; AS edg\n      ON dd.node IN (edg.source, edg.target) AND edg.id NOT IN (SELECT id FROM dd_edgs)\n  )\n\nSELECT id,\n       geom\nFROM dd_ext\nUNION ALL\nSELECT id,\n       geom\nFROM dd_edgs;\n<\/code><\/pre>\n<p>The <code>CASE<\/code> statement decides if, for any follow-up edge, the fraction of line length will be calculated from the start or end point.<\/p>\n<p>As a sidenote: the current version of <em>pgRouting<\/em> provides a <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/docs.pgrouting.org\/latest\/en\/withPoints-family.html#withpoints\">set of functions<\/a> where inter-edge-points are to be considered; if updating your (rather outdated) <em>PostGIS<\/em>\/<em>pgRouting<\/em> versions is an option, consider those functions instead.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">7<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved How to get a road path which can be travelled in 10 minutes from a location <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] pgr_drivingDistance uses the cost value you provide, and in the units you implicitly specify, meaning that when you add a column &lt;traveling_time&gt; (note that I use seconds in my example) as the time needed to traverse an edge (given the length and speed limit) and select that as cost, the functions result will represent &#8230; <a title=\"[Solved] How to get a road path which can be travelled in 10 minutes from a location\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/\" aria-label=\"More on [Solved] How to get a road path which can be travelled in 10 minutes from a location\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[1103,4841,2839,623,2816],"class_list":["post-20961","post","type-post","status-publish","format-standard","hentry","category-solved","tag-gis","tag-pgrouting","tag-postgis","tag-postgresql","tag-shortest-path"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] How to get a road path which can be travelled in 10 minutes from a location - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] How to get a road path which can be travelled in 10 minutes from a location - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] pgr_drivingDistance uses the cost value you provide, and in the units you implicitly specify, meaning that when you add a column &lt;traveling_time&gt; (note that I use seconds in my example) as the time needed to traverse an edge (given the length and speed limit) and select that as cost, the functions result will represent ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-11T07:53:06+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] How to get a road path which can be travelled in 10 minutes from a location\",\"datePublished\":\"2022-11-11T07:53:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/\"},\"wordCount\":243,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"gis\",\"pgrouting\",\"postgis\",\"postgresql\",\"shortest-path\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/\",\"name\":\"[Solved] How to get a road path which can be travelled in 10 minutes from a location - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-11-11T07:53:06+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] How to get a road path which can be travelled in 10 minutes from a location\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] How to get a road path which can be travelled in 10 minutes from a location - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] How to get a road path which can be travelled in 10 minutes from a location - JassWeb","og_description":"[ad_1] pgr_drivingDistance uses the cost value you provide, and in the units you implicitly specify, meaning that when you add a column &lt;traveling_time&gt; (note that I use seconds in my example) as the time needed to traverse an edge (given the length and speed limit) and select that as cost, the functions result will represent ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/","og_site_name":"JassWeb","article_published_time":"2022-11-11T07:53:06+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] How to get a road path which can be travelled in 10 minutes from a location","datePublished":"2022-11-11T07:53:06+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/"},"wordCount":243,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["gis","pgrouting","postgis","postgresql","shortest-path"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/","url":"https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/","name":"[Solved] How to get a road path which can be travelled in 10 minutes from a location - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-11-11T07:53:06+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-get-a-road-path-which-can-be-travelled-in-10-minutes-from-a-location\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] How to get a road path which can be travelled in 10 minutes from a location"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/20961","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=20961"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/20961\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=20961"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=20961"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=20961"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}