Run

$AlbumDirectory="C:\\drorbn\\Album\\2026.06.28_Forever_Yonge";

res=800;
fs=FileNames[$AlbumDirectory<>"/*.gpx"];
fs=Complement[fs,
Union[
StringReplace[{"@.gpx"->".gpx", "@.kml"->".kml"}]/@Select[fs,StringPart[#,-5]=="@"&]
]
]
data=DeleteCases[
Union@Table["Geometry"/.Import[f,"Data"],{f,fs}],
GeoPosition[{_,None}], ∞
];
map0=GeoGraphics[{Red,data},GeoScaleBar->"Kilometers", ImageSize ->res];
AllTracks=Get["C:\\drorbn\\Album/Summaries/AllTracks.m"];

Rasterize[
map=GeoGraphics[{Thickness[0.0016], Blue, AllTracks,Thickness[0.0024], Red,data},
GeoScaleBar->"Kilometers",
ImageSize ->res,
GeoRange->(GeoRange/.Options[map0])
],
RasterSize ->res
]
Export[$AlbumDirectory<>"/Path%.png",map];

map3D=Echo@ResourceFunction["GeoElevationGraphics3D"][
{Thick, Blue, AllTracks,Red,data},
GeoGridRangePadding->0,
GeoScaleBar->"Kilometers",
ImageSize ->res,
GeoRange->(GeoRange/.Options[map0])
];
Export[$AlbumDirectory<>"/Path3D.png",map3D]

PathsLocation=Module[{R=3000,r=35,n=6,res=1000},
ImageAssemble[
Partition[#,3]&@Table[
Rasterize[
GeoGraphics[{Blue, Thickness[(2n-k)/4000],AllTracks, Red,Thickness[(2n-k)/1500],data},
GeoCenter->Mean[Join@@Cases[data,GeoPosition[l_List]:>l,∞]] ,
GeoRange->Quantity[R(((r/R))^((k-1)/(n-1))),"Kilometers"],
GeoScaleBar->"Kilometers",
ImageSize->res
],
RasterSize->res
],
{k,n}],
"Fit",Background -> White]
]
Export[$AlbumDirectory<>"/PathsLocation.png",PathsLocation]

Path With Images

imgs=FileNames["*.jpg",$AlbumDirectory];
map=GeoGraphics[{
GeoMarker[
GeoPosition[{1,-1}*Lookup[Import[#,"Exif"],{"GPSLatitude","GPSLongitude"}]], Graphics@Rasterize[Import[#],RasterSize ->res],
"Scale"->0.0075
]& /@ imgs,
Thickness[0.0016], Blue, AllTracks,Thickness[0.0024], Red,data
},
GeoScaleBar->"Kilometers",
ImageSize ->res,
GeoRange->(GeoRange/.Options[map0])
]
Export[$AlbumDirectory<>"/PathWithImages.png",map]

Image Directory

If[Head[PensieveDirectives]===List, ImageComments="ImageComments"/.PensieveDirectives,ImageComments={}];
(Interpretation[ImageResize[Import@#,400],FileNameTake@#]->(FileNameTake[#]/.ImageComments/.(FileNameTake[#]->"")))&/@FileNames["*.jpg"|"*.jpeg"|"*.png"|"*.mp4", $AlbumDirectory]

Export

PensieveDirectives={
"TitleNotes" -> "Everybody knows that Yonge Street is infinite. Or at least, that none of the explorers who tried to find its northern end came back to tell their story. Bravely I've set out to change that and started riding north on Yonge, right from its start on the waterfront, ready to go however long it will take, very possibly forever.

<p>What a letdown! After a mere 57.5 kilometers Yonge came to an unceremonious end. No souvenir shop. No \"The Restaurant at the End of Yonge Street\". And the sentients there seemed like ordinary humans. Next time I'll ride to the end of Bathurst Street.

<p>Oh wait, I had some extra time, so I rode to the end of Bathurst too! It's actually a bit further north than the end of Yonge. I have no idea why Yonge gets all the attention.

<p>84km, 550 meters of ascents, 1 windmill (sort of). Riding <a href=../Equipment/Bromp/index.html>Bromp</a> on a sunny day.",
"ImageComments" ->{->"",->"",->"",->"",->"",->"",->"",->"",->"",->"",->"",->"",->"",->"",->"",->"",->"The end of Yonge Street.",->"The end of Yonge Street.",->"",->"",->"The end of Bathurst Street.",->"",->"",->"",->"",->""}
}