<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Aptos;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:12.0pt;
        font-family:"Aptos",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.gmailsignatureprefix
        {mso-style-name:gmail_signature_prefix;}
span.EstiloCorreo19
        {mso-style-type:personal-reply;
        font-family:"Aptos",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="es-419" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Good afternoon<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">I'm adding the point and road files. The points aren't created in any chronological order. Based on the points, I want an optimal route based on the road shape.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="ES" style="font-size:11.0pt;font-family:"Calibri",sans-serif">De:</span></b><span lang="ES" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> chris hermansen <clhermansen@gmail.com>
<br>
<b>Enviado el:</b> jueves, 27 de marzo de 2025 08:10<br>
<b>Para:</b> Ujaval Gandhi <ujaval@spatialthoughts.com><br>
<b>CC:</b> Humberto Vargas Espinoza <hvargas@correos.go.cr>; qgis-user@lists.osgeo.org<br>
<b>Asunto:</b> Re: [Qgis-user] create a route with several points at once<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">Ujaval, Humberto and everyone,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Re-reading Humberto's email, I have the sense that he may not have a suitable road network.  If that's the case, he needs to acquire it before starting.  I don't believe there's any point in trying to generate a "pseudo" road network from
 the points themselves.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Almost for sure, as Ujaval says, this is a travelling salesman problem and heuristic algorithms, in particular simulated annealing, are recognized as decently efficient ways to get an approximately good route.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">It's worth reading the <a href="https://protect.checkpoint.com/v2/r02/___https:/en.wikipedia.org/wiki/Travelling_salesman_problem___.YzJlOmNvcnJlb3NkZWNvc3RhcmljYXNhOmM6bzo1OThlMTdhNGQzOWZhYWIyYTYwNzJlNzNmMzAxZmFiODo3OmRmYWU6NDc2MzhjZmM5NTQyMzcxYWFiYzNhMTNiOTY1OGU1ZWNkY2NhMWMzMjlhODZlNzk3NWVhZjA0NjY1OTAyYTNiYzpoOlQ6Tg" title="Protected by Check Point: https://en.wikipedia.org/wiki/Travelling_salesman_problem">
WIkipedia article on the travelling salesman problem</a>.<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Thu, Mar 27, 2025 at 10:51<span style="font-family:"Arial",sans-serif"> </span>AM Ujaval Gandhi via QGIS-User <<a href="mailto:qgis-user@lists.osgeo.org">qgis-user@lists.osgeo.org</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<div>
<div>
<p class="MsoNormal">If your points are sequential, then it is a simpler routing problem where you find the shortest path along a road network between successive points. You can do it with ORS Tools plugin using OSM data or QNEAT3 plugin if you have your own
 road network. See some tutorials at <a href="https://protect.checkpoint.com/v2/r02/___https:/mailtrack.io/l/668402be1f2b223210d5ef7122dfa9e023b70b7c?w=cWdpcy11c2VyQGxpc3RzLm9zZ2VvLm9yZw&url=https%3A%2F%2Fwww.qgistutorials.com%2Fen%2F*23network-analysis&u=8747767&signature=83a1062400bbbaab___.YzJlOmNvcnJlb3NkZWNvc3RhcmljYXNhOmM6bzo1OThlMTdhNGQzOWZhYWIyYTYwNzJlNzNmMzAxZmFiODo3OjMxZjE6NTUyNDZlMTcxNTg0YjM1NGRkMWE2MjhiOWUyMTk2YjJjMTc5ZTZlYmY1MjNmMDRkYWI3MmE0YzAyM2QzMmRiYzpoOlQ6Tg" target="_blank" title="Protected by Check Point: https://mailtrack.io/l/668402be1f2b223210d5ef7122dfa9e023b70b7c?w=cWdpcy11c2VyQGxpc3RzLm9zZ2VvLm9yZw&url=https%3A%2F%2Fwww.qgistutorials.com%2Fen%2F%23network-analysis&u=8747767&signature=83a1062400bbbaab">https://www.qgistutorials.com/en/#network-analysis</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">If your points are not sequential and you want to find the optimal route between them, it is called the 'travelling salesman' problem and is a much harder problem. I am not aware of any easy QGIS approaches. Many of my students have used
 the<a href="https://protect.checkpoint.com/v2/r02/___https:/nbviewer.org/github/amitkb3/python_spatial_analysis_final_project/blob/master/PythonSpatialAnalysisCourse_FinalProject.ipynb___.YzJlOmNvcnJlb3NkZWNvc3RhcmljYXNhOmM6bzo1OThlMTdhNGQzOWZhYWIyYTYwNzJlNzNmMzAxZmFiODo3OmJlZTc6YzdiMzJlYzc5MGViMGYzODhmZWY2ODdjYzA1Yzg0MDBhNGEyMGY3M2QwNmY3ZTk2ZTYzYjg1NzM0Y2IyZWY2NTpoOlQ6Tg" target="_blank" title="Protected by Check Point: https://nbviewer.org/github/amitkb3/python_spatial_analysis_final_project/blob/master/PythonSpatialAnalysisCourse_FinalProject.ipynb">
 OpenRouteService Optimization API</a> to solve this using Python. <o:p></o:p></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal">---<o:p></o:p></p>
<div>
<p class="MsoNormal">Ujaval Gandhi<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Spatial Thoughts<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="https://protect.checkpoint.com/v2/r02/___https:/mailtrack.io/l/6b03a239a4dfe15aac1f976c1d652762f9df8a73?w=cWdpcy11c2VyQGxpc3RzLm9zZ2VvLm9yZw&url=http%3A%2F%2Fwww.spatialthoughts.com&u=8747767&signature=b1900ce0a08b40a7___.YzJlOmNvcnJlb3NkZWNvc3RhcmljYXNhOmM6bzo1OThlMTdhNGQzOWZhYWIyYTYwNzJlNzNmMzAxZmFiODo3OjA0MmE6MjYxNTU0ODcwMzJmZjdkNTAzYTlkOThkOWNmMDAxMjU0MTliMDVjZTBhOTI5NWFhMTE1ZTQzYjc0NTdlNzlkYjpoOlQ6Tg" target="_blank" title="Protected by Check Point: https://mailtrack.io/l/6b03a239a4dfe15aac1f976c1d652762f9df8a73?w=cWdpcy11c2VyQGxpc3RzLm9zZ2VvLm9yZw&url=http%3A%2F%2Fwww.spatialthoughts.com&u=8747767&signature=b1900ce0a08b40a7">www.spatialthoughts.com</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Thu, Mar 27, 2025 at 6:35<span style="font-family:"Arial",sans-serif"> </span>PM Humberto Vargas Espinoza via QGIS-User <<a href="mailto:qgis-user@lists.osgeo.org" target="_blank">qgis-user@lists.osgeo.org</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Good morning.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I have the following question.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I have a number of georeferenced points and I need to generate a route with a road shape and have the optimal route created with all the points at once.
<span lang="PT">There are a lot of points, and extensions from point to layer or layer to point aren't optional for me.</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="PT"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="PT"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="PT"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><img border="0" width="577" height="571" style="width:6.0083in;height:5.95in" id="m_-7285452505641223608m_6021743724809512456Imagen_x0020_1" src="cid:image001.png@01DB9EFF.0DACF750"><o:p></o:p></p>
</div>
</div>
<p class="MsoNormal">_______________________________________________<br>
QGIS-User mailing list<br>
<a href="mailto:QGIS-User@lists.osgeo.org" target="_blank">QGIS-User@lists.osgeo.org</a><br>
List info: <a href="https://protect.checkpoint.com/v2/r02/___https:/lists.osgeo.org/mailman/listinfo/qgis-user___.YzJlOmNvcnJlb3NkZWNvc3RhcmljYXNhOmM6bzo1OThlMTdhNGQzOWZhYWIyYTYwNzJlNzNmMzAxZmFiODo3OjY2ZjY6MTFiYjVjZWE2YzRjODI4ZGE2OTdiYzU1NTRiZjI1Y2UwNWIyMTI0NTdjMWUwZWFmMGI0OWNhYWJkNDVlZTg2ZjpoOlQ6Tg" target="_blank" title="Protected by Check Point: https://lists.osgeo.org/mailman/listinfo/qgis-user">
https://lists.osgeo.org/mailman/listinfo/qgis-user</a><br>
Unsubscribe: <a href="https://protect.checkpoint.com/v2/r02/___https:/lists.osgeo.org/mailman/listinfo/qgis-user___.YzJlOmNvcnJlb3NkZWNvc3RhcmljYXNhOmM6bzo1OThlMTdhNGQzOWZhYWIyYTYwNzJlNzNmMzAxZmFiODo3OmM2NGU6Mzc0ZGIxMDUwYjliZjAzYWZmNzM2NGY4OWJjMDdjZmMzOWYzYzIzNWIwZjQ3OTE5YWIzOWRkYzYzMWNjNTNkNjpoOlQ6Tg" target="_blank" title="Protected by Check Point: https://lists.osgeo.org/mailman/listinfo/qgis-user">
https://lists.osgeo.org/mailman/listinfo/qgis-user</a><o:p></o:p></p>
</div>
</blockquote>
</div>
<p class="MsoNormal"><img border="0" width="1" height="1" style="width:.0083in;height:.0083in" id="_x0000_i1025" src="https://mailtrack.io/trace/mail/w/cWdpcy11c2VyQGxpc3RzLm9zZ2VvLm9yZw/a7be9a28376970aaf8ce01d29a3f45609faa6ace.png?u=8747767">_______________________________________________<br>
QGIS-User mailing list<br>
<a href="mailto:QGIS-User@lists.osgeo.org" target="_blank">QGIS-User@lists.osgeo.org</a><br>
List info: <a href="https://protect.checkpoint.com/v2/r02/___https:/lists.osgeo.org/mailman/listinfo/qgis-user___.YzJlOmNvcnJlb3NkZWNvc3RhcmljYXNhOmM6bzo1OThlMTdhNGQzOWZhYWIyYTYwNzJlNzNmMzAxZmFiODo3OjMxYzE6OTFiZmI3MzlkYjE5NTA0ZDAzMzdkODFiMmQ1NzIyNDc1M2JlZTQyYWViMDgwY2NhYjFiNThkMGE5NWIwNDNiNzpoOlQ6Tg" target="_blank" title="Protected by Check Point: https://lists.osgeo.org/mailman/listinfo/qgis-user">
https://lists.osgeo.org/mailman/listinfo/qgis-user</a><br>
Unsubscribe: <a href="https://protect.checkpoint.com/v2/r02/___https:/lists.osgeo.org/mailman/listinfo/qgis-user___.YzJlOmNvcnJlb3NkZWNvc3RhcmljYXNhOmM6bzo1OThlMTdhNGQzOWZhYWIyYTYwNzJlNzNmMzAxZmFiODo3OmEyNDY6OTc1NDhjNTNmN2UyZmU4YzlmOGVjMzdhNjBlMjczMmFlZDY1NzRmMzE3YWMwOWYwZjFkZDE0ZTdmMWIxMzhmZTpoOlQ6Tg" target="_blank" title="Protected by Check Point: https://lists.osgeo.org/mailman/listinfo/qgis-user">
https://lists.osgeo.org/mailman/listinfo/qgis-user</a><o:p></o:p></p>
</blockquote>
</div>
<div>
<p class="MsoNormal"><br clear="all">
<o:p></o:p></p>
</div>
<p class="MsoNormal"><br>
<span class="gmailsignatureprefix">-- </span><o:p></o:p></p>
<div>
<div>
<p class="MsoNormal">Chris Hermansen · clhermansen "at" gmail "dot" com<br>
<br>
C'est ma façon de parler.<o:p></o:p></p>
</div>
</div>
</div>
</div>
</body>
</html>