Run

$AlbumDirectory="C:\\drorbn\\Album\\2026.05.23_De_Alde_Feanen_Ride_and_Paddle";

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<>"/Paths3D.png",map3D]

PathsLocation=Module[{R=3000,r=20,n=6,res=1000},
ImageAssemble[
Partition[#,3]&@Table[
Rasterize[
GeoGraphics[{Blue, Thickness[(2n-k)/4000],AllTracks, Red,Thickness[(2n-k)/1500],data},
GeoCenter->Mean@Cases[data,GeoPosition[l_List]:>Mean[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],#]->(#/.ImageComments/.(#->"")))&/@FileNames["*.jpg"|"*.jpeg"|"*.png"|"*.mp4", $AlbumDirectory]

Export

With Roland . A 1.5km ride to the train station, then a train to Leeuwarden, then a 29.2km ride to Earnewald in the De Alde Feanen National Park (me riding < a href =. ./Equipment/Bromp/index . html > Bromp < /a > and Roland riding his green Brompton), then the rental of two kayaks, then a 13.1 paddle to Grou (within, a 0.5km walk to say hello to some windmills), then a 2km walk and lunch in Grou, then a 9.6km paddle back to Earnewald (with a stop for ice cream towards the end), then a 16km ride to Drachten, then a bus back to Groningen, and then another 1.5km ride back to my room . In total, 48.2km of biking, 22.7km of paddling, 2.5km of walking, 9 windmills, one short ferry ride, and a lovely day!

PensieveDirectives={
"TitleNotes" -> "With Roland. A 1.5km ride to the train station, then a train to Leeuwarden, then a 29.2km ride to Earnewald in the De Alde Feanen National Park (me riding <a href=../Equipment/Bromp/index.html>Bromp</a> and Roland riding his green Brompton), then the rental of two kayaks, then a 13.1 paddle to Grou (within, a 0.5km walk to say hello to some windmills), then a 2km walk and lunch in Grou, then a 9.6km paddle back to Earnewald (with a stop for ice cream towards the end), then a 16km ride to Drachten, then a bus back to Groningen, and then another 1.5km ride back to my room. In total, 48.2km of biking, 22.7km of paddling, 2.5km of walking, 9 windmills, one short ferry ride, and a lovely day!",
"ImageComments" ->{}
}