diff --git a/.gitignore b/.gitignore
index 599468b..fa506a6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -53,3 +53,5 @@ rsconnect/
/.quarto/
food/refs/
+
+osrm-backend/
diff --git a/_freeze/blog/canada_camper/execute-results/html.json b/_freeze/blog/canada_camper/execute-results/html.json
index 60fd30c..b4a90c5 100644
--- a/_freeze/blog/canada_camper/execute-results/html.json
+++ b/_freeze/blog/canada_camper/execute-results/html.json
@@ -1,7 +1,7 @@
{
- "hash": "42f3aaeb85e732a3fa2d43cff30b0d49",
+ "hash": "5971c007d91a77c761cd5c7b1ce7dd3a",
"result": {
- "markdown": "---\ntitle: Canada i camper\nlang: da\ndate: last-modified\ndescription: Lidt om vores campertur.\nauthor: Andreas\nimage: \"images/canada_map.png\"\ncategories:\n - Canada\n - Rejse\n - Børn\n - R\n---\n\n\n# Kode\n\n\n::: {.cell}\n\n```{.r .cell-code code-summary=\"Kode til oversigtskort\"}\n# Original export from plotting in OsmAnd on phone\n# bookmarks <- gpx::read_gpx(file = \"data/favorites_canada_2023.gpx\")\n\n# Udtræk til .csv, herefter manuelt tilpasset, sorteret og tilføjet yderligere data.\n# write.csv(bookmarks$waypoints,\"data/camper_points.csv\")\n\nlibrary(dplyr)\n\ncamper <- read.csv(\"data/camper_points.csv\",)[-1] |> arrange(Order)\n\n# Alternative source from RVParky export\n# RVParky er fed, men fornyligt er det blevet en betalingstjeneste. Hvorfor er den ikke integreret i OSM?\n# vnc <- gpx::read_gpx(file = \"data/vancouver-trip.gpx\")\n\n## Iconer\nmatching <- c(car=\"images/key.png\", \n bed=\"images/rv.png\", \n house=\"images/house.png\")\n\nlibrary(leaflet)\n\nicons_list <- icons(\n iconUrl = matching[match(camper$Icon,names(matching))],\n iconWidth = c(40),\n iconHeight = c(40)\n)\n\n## Så er det tid til at bruge Open Street Routing Machine\n\nlibrary(osrm)\n\n# osrmTable(loc = camper |> transmute(lon=Longitude,lat=Latitude))\n\ntrips <- osrmTrip(loc = camper |> transmute(lon=Longitude,lat=Latitude), overview = \"full\",\n osrm.profile = \"car\")\ntrip <- trips[[1]]$trip\n\n# There exists a lua filter for truck, put I can't figure how to implement.\n# I suppose I would have to run a local OSRM instance...\n\n## HTML labels til kortet\n\ninvisible(Sys.setlocale(\"LC_TIME\", \"da_DK\"))\n\ncontent <- paste0(\n ifelse(substr(camper$Description,1,4)!=\"http\"|is.na(camper$Description),paste0(\" \",camper$Name),paste0(\"\",camper$Name,\"\")),\n \" \",paste(\"Ankomst:\",tolower(format(as.Date(camper$Arrival),\"%d. %B\"))),\n \" \",paste(\"Nætter:\",camper$Nights),\n \" \",paste(\"Tid til næste:\",round(trips[[1]]$trip$duration,1),\"min\"),\n \" \",paste(\"Afstand til næste:\",round(trips[[1]]$trip$distance,1),\"km\"),\n ifelse(camper$Notes!=\"\",paste0(\" \",paste(\"Noter:\",camper$Notes)),\"\")\n)\n\n## Interaktivt kort med `leaflet`\n\nmap <- leaflet(trip) %>%\n addTiles(group = \"OSM (standard)\") %>%\n addProviderTiles(providers$OpenTopoMap,\n group = \"Topografisk\") %>%\n # addProviderTiles(providers$HERE.satelliteDay,\n # group = \"Satelit\") %>%\n setView(lng = median(camper$Longitude), lat = median(camper$Latitude), zoom = 7) %>%\n addPolylines() %>%\n addMarkers(data = camper[-nrow(camper),],\n icon = icons_list,\n popup = content[-nrow(camper)], \n label = ~Name) |> \n addLayersControl(\n baseGroups = c(\"OSM (standard)\", \"Topografisk\"),\n options = layersControlOptions(collapsed = FALSE)\n )\n\n# Hjælp til lige at komme det sidste stykke med at tegne ruten på:\n# https://stackoverflow.com/a/60940696/21019325\n```\n:::\n\n\nHer er ikke tale om en overspringshandling.\n\n# Forklaring\n\nLige om lidt tager vi til Canada i tre måneder som led i min PhD-uddannelse.\n\nFørst holder vi lidt ferie. På dag 2 kører vi afsted i en lejet camper og har 14 dage i den, hvor vi skal udforske den sydvestlige del af British Colombia.\n\nVores rute er tegnet in på kortet herunder.\n\n\n::: {.cell}\n\n```{.r .cell-code code-summary=\"Print kort\"}\nmap\n```\n\n::: {.cell-output-display}\n```{=html}\n
\n\n```\n:::\n:::\n\n\n## Kommentarer\n\nKortet er et lille forsøg på at binde forskelligt indhold sammen og visualisere det på en let tilgængelig og interaktiv måde.\n",
+ "markdown": "---\ntitle: Canada i camper\nlang: da\ndate: last-modified\ndescription: Lidt om vores campertur.\nauthor: Andreas\nimage: \"images/canada_map.png\"\ncategories:\n - Canada\n - Rejse\n - Børn\n - R\n---\n\n\n# Kode\n\n\n::: {.cell}\n\n```{.r .cell-code code-summary=\"Kode til oversigtskort\"}\n# Original export from plotting in OsmAnd on phone\n# bookmarks <- gpx::read_gpx(file = \"data/favorites_canada_2023.gpx\")\n\n# Udtræk til .csv, herefter manuelt tilpasset, sorteret og tilføjet yderligere data.\n# write.csv(bookmarks$waypoints,\"data/camper_points.csv\")\n\nlibrary(dplyr)\n\ncamper <- read.csv(\"data/camper_points.csv\",)[-1] |> arrange(Order)\n\n# Alternative source from RVParky export\n# RVParky er fed, men fornyligt er det blevet en betalingstjeneste. Hvorfor er den ikke integreret i OSM?\n# vnc <- gpx::read_gpx(file = \"data/vancouver-trip.gpx\")\n\n## Iconer\nmatching <- c(car=\"images/key.png\", \n bed=\"images/rv.png\", \n house=\"images/house.png\")\n\nlibrary(leaflet)\n\nicons_list <- icons(\n iconUrl = matching[match(camper$Icon,names(matching))],\n iconWidth = c(40),\n iconHeight = c(40)\n)\n\n## Så er det tid til at bruge Open Street Routing Machine\n\nlibrary(osrm)\n\n# osrmTable(loc = camper |> transmute(lon=Longitude,lat=Latitude))\n\ntrips <- osrmTrip(loc = camper |> transmute(lon=Longitude,lat=Latitude), overview = \"full\",\n osrm.profile = \"car\")\ntrip <- trips[[1]]$trip\n\n# There exists a lua filter for truck, put I can't figure how to implement.\n# I suppose I would have to run a local OSRM instance...\n\n## HTML labels til kortet\n\ninvisible(Sys.setlocale(\"LC_TIME\", \"da_DK\"))\n\ncontent <- paste0(\n ifelse(substr(camper$Description,1,4)!=\"http\"|is.na(camper$Description),paste0(\" \",camper$Name),paste0(\"\",camper$Name,\"\")),\n \" \",paste(\"Ankomst:\",tolower(format(as.Date(camper$Arrival),\"%d. %B\"))),\n \" \",paste(\"Nætter:\",camper$Nights),\n \" \",paste(\"Tid til næste:\",round(trips[[1]]$trip$duration,1),\"min\"),\n \" \",paste(\"Afstand til næste:\",round(trips[[1]]$trip$distance,1),\"km\"),\n ifelse(camper$Notes!=\"\",paste0(\" \",paste(\"Noter:\",camper$Notes)),\"\")\n)\n\n## Interaktivt kort med `leaflet`\n\nmap <- leaflet(trip) %>%\n addTiles(group = \"OSM (standard)\") %>%\n addProviderTiles(providers$OpenTopoMap,\n group = \"Topografisk\") %>%\n # addProviderTiles(providers$HERE.satelliteDay,\n # group = \"Satelit\") %>%\n setView(lng = median(camper$Longitude), lat = median(camper$Latitude), zoom = 7) %>%\n addPolylines(group = \"Estimated route\") %>%\n addMarkers(data = camper[-nrow(camper),],\n icon = icons_list,\n popup = content[-nrow(camper)], \n label = ~Name, \n group = \"Points\") |> \n addLayersControl(\n baseGroups = c(\"OSM (standard)\", \"Topografisk\"),\n overlayGroups = c(\"Estimated route\", \"Points\"),\n options = layersControlOptions(collapsed = FALSE)\n )\n\n# Hjælp til lige at komme det sidste stykke med at tegne ruten på:\n# https://stackoverflow.com/a/60940696/21019325\n\n# Vejledning til at opsætte en lokal server med mulighed for modificeret profil.\n# https://www.r-bloggers.com/2017/09/building-a-local-osrm-instance/\n# Download specifikke områder: http://download.geofabrik.de/\n# \n# Lastbil profil (den minder vel mere om en camper?): https://github.com/Project-OSRM/osrm-profiles-contrib/blob/master/5/27/truck-soft/car.lua\n```\n:::\n\n\nHer er ikke tale om en overspringshandling.\n\n# Forklaring\n\nLige om lidt tager vi til Canada i tre måneder som led i min PhD-uddannelse.\n\nFørst holder vi lidt ferie. På dag 2 kører vi afsted i en lejet camper og har 14 dage i den, hvor vi skal udforske den sydvestlige del af British Colombia.\n\nVores rute er tegnet in på kortet herunder.\n\n\n::: {.cell}\n\n```{.r .cell-code code-summary=\"Print kort\"}\nmap\n```\n\n::: {.cell-output-display}\n```{=html}\n\n\n```\n:::\n:::\n\n\n## Kommentarer\n\nKortet er et lille forsøg på at binde forskelligt indhold sammen og visualisere det på en let tilgængelig og interaktiv måde.\n",
"supporting": [],
"filters": [
"rmarkdown/pagebreak.lua"
diff --git a/blog/canada_camper.qmd b/blog/canada_camper.qmd
index 76960a4..62e36a6 100644
--- a/blog/canada_camper.qmd
+++ b/blog/canada_camper.qmd
@@ -79,18 +79,26 @@ map <- leaflet(trip) %>%
# addProviderTiles(providers$HERE.satelliteDay,
# group = "Satelit") %>%
setView(lng = median(camper$Longitude), lat = median(camper$Latitude), zoom = 7) %>%
- addPolylines() %>%
+ addPolylines(group = "Estimated route") %>%
addMarkers(data = camper[-nrow(camper),],
icon = icons_list,
popup = content[-nrow(camper)],
- label = ~Name) |>
+ label = ~Name,
+ group = "Points") |>
addLayersControl(
baseGroups = c("OSM (standard)", "Topografisk"),
+ overlayGroups = c("Estimated route", "Points"),
options = layersControlOptions(collapsed = FALSE)
)
# Hjælp til lige at komme det sidste stykke med at tegne ruten på:
# https://stackoverflow.com/a/60940696/21019325
+
+# Vejledning til at opsætte en lokal server med mulighed for modificeret profil.
+# https://www.r-bloggers.com/2017/09/building-a-local-osrm-instance/
+# Download specifikke områder: http://download.geofabrik.de/
+#
+# Lastbil profil (den minder vel mere om en camper?): https://github.com/Project-OSRM/osrm-profiles-contrib/blob/master/5/27/truck-soft/car.lua
```
Her er ikke tale om en overspringshandling.
diff --git a/docs/blog.html b/docs/blog.html
index dcca48e..7968934 100644
--- a/docs/blog.html
+++ b/docs/blog.html
@@ -179,7 +179,7 @@ ul.task-list li input[type="checkbox"] {
@@ -284,18 +284,26 @@ pre > code.sourceCode > span > a:first-child::before { text-decoration: underlin
# addProviderTiles(providers$HERE.satelliteDay,# group = "Satelit") %>%setView(lng =median(camper$Longitude), lat =median(camper$Latitude), zoom =7) %>%
-addPolylines() %>%
+addPolylines(group ="Estimated route") %>%addMarkers(data = camper[-nrow(camper),],icon = icons_list,popup = content[-nrow(camper)],
-label =~Name) |>
-addLayersControl(
-baseGroups =c("OSM (standard)", "Topografisk"),
-options =layersControlOptions(collapsed =FALSE)
- )
-
-# Hjælp til lige at komme det sidste stykke med at tegne ruten på:
-# https://stackoverflow.com/a/60940696/21019325
+label =~Name,
+group ="Points") |>
+addLayersControl(
+baseGroups =c("OSM (standard)", "Topografisk"),
+overlayGroups =c("Estimated route", "Points"),
+options =layersControlOptions(collapsed =FALSE)
+ )
+
+# Hjælp til lige at komme det sidste stykke med at tegne ruten på:
+# https://stackoverflow.com/a/60940696/21019325
+
+# Vejledning til at opsætte en lokal server med mulighed for modificeret profil.
+# https://www.r-bloggers.com/2017/09/building-a-local-osrm-instance/
+# Download specifikke områder: http://download.geofabrik.de/
+#
+# Lastbil profil (den minder vel mere om en camper?): https://github.com/Project-OSRM/osrm-profiles-contrib/blob/master/5/27/truck-soft/car.lua
diff --git a/docs/search.json b/docs/search.json
index 74b500b..383f131 100644
--- a/docs/search.json
+++ b/docs/search.json
@@ -11,7 +11,7 @@
"href": "blog/canada_camper.html",
"title": "Canada i camper",
"section": "",
- "text": "Kode til oversigtskort\n# Original export from plotting in OsmAnd on phone\n# bookmarks <- gpx::read_gpx(file = \"data/favorites_canada_2023.gpx\")\n\n# Udtræk til .csv, herefter manuelt tilpasset, sorteret og tilføjet yderligere data.\n# write.csv(bookmarks$waypoints,\"data/camper_points.csv\")\n\nlibrary(dplyr)\n\ncamper <- read.csv(\"data/camper_points.csv\",)[-1] |> arrange(Order)\n\n# Alternative source from RVParky export\n# RVParky er fed, men fornyligt er det blevet en betalingstjeneste. Hvorfor er den ikke integreret i OSM?\n# vnc <- gpx::read_gpx(file = \"data/vancouver-trip.gpx\")\n\n## Iconer\nmatching <- c(car=\"images/key.png\", \n bed=\"images/rv.png\", \n house=\"images/house.png\")\n\nlibrary(leaflet)\n\nicons_list <- icons(\n iconUrl = matching[match(camper$Icon,names(matching))],\n iconWidth = c(40),\n iconHeight = c(40)\n)\n\n## Så er det tid til at bruge Open Street Routing Machine\n\nlibrary(osrm)\n\n# osrmTable(loc = camper |> transmute(lon=Longitude,lat=Latitude))\n\ntrips <- osrmTrip(loc = camper |> transmute(lon=Longitude,lat=Latitude), overview = \"full\",\n osrm.profile = \"car\")\ntrip <- trips[[1]]$trip\n\n# There exists a lua filter for truck, put I can't figure how to implement.\n# I suppose I would have to run a local OSRM instance...\n\n## HTML labels til kortet\n\ninvisible(Sys.setlocale(\"LC_TIME\", \"da_DK\"))\n\ncontent <- paste0(\n ifelse(substr(camper$Description,1,4)!=\"http\"|is.na(camper$Description),paste0(\"<br/>\",camper$Name),paste0(\"<b><a href='\",camper$Description,\"'>\",camper$Name,\"</a></b>\")),\n \"<br/>\",paste(\"Ankomst:\",tolower(format(as.Date(camper$Arrival),\"%d. %B\"))),\n \"<br/>\",paste(\"Nætter:\",camper$Nights),\n \"<br/>\",paste(\"Tid til næste:\",round(trips[[1]]$trip$duration,1),\"min\"),\n \"<br/>\",paste(\"Afstand til næste:\",round(trips[[1]]$trip$distance,1),\"km\"),\n ifelse(camper$Notes!=\"\",paste0(\"<br/>\",paste(\"Noter:\",camper$Notes)),\"\")\n)\n\n## Interaktivt kort med `leaflet`\n\nmap <- leaflet(trip) %>%\n addTiles(group = \"OSM (standard)\") %>%\n addProviderTiles(providers$OpenTopoMap,\n group = \"Topografisk\") %>%\n # addProviderTiles(providers$HERE.satelliteDay,\n # group = \"Satelit\") %>%\n setView(lng = median(camper$Longitude), lat = median(camper$Latitude), zoom = 7) %>%\n addPolylines() %>%\n addMarkers(data = camper[-nrow(camper),],\n icon = icons_list,\n popup = content[-nrow(camper)], \n label = ~Name) |> \n addLayersControl(\n baseGroups = c(\"OSM (standard)\", \"Topografisk\"),\n options = layersControlOptions(collapsed = FALSE)\n )\n\n# Hjælp til lige at komme det sidste stykke med at tegne ruten på:\n# https://stackoverflow.com/a/60940696/21019325\n\n\nHer er ikke tale om en overspringshandling."
+ "text": "Kode til oversigtskort\n# Original export from plotting in OsmAnd on phone\n# bookmarks <- gpx::read_gpx(file = \"data/favorites_canada_2023.gpx\")\n\n# Udtræk til .csv, herefter manuelt tilpasset, sorteret og tilføjet yderligere data.\n# write.csv(bookmarks$waypoints,\"data/camper_points.csv\")\n\nlibrary(dplyr)\n\ncamper <- read.csv(\"data/camper_points.csv\",)[-1] |> arrange(Order)\n\n# Alternative source from RVParky export\n# RVParky er fed, men fornyligt er det blevet en betalingstjeneste. Hvorfor er den ikke integreret i OSM?\n# vnc <- gpx::read_gpx(file = \"data/vancouver-trip.gpx\")\n\n## Iconer\nmatching <- c(car=\"images/key.png\", \n bed=\"images/rv.png\", \n house=\"images/house.png\")\n\nlibrary(leaflet)\n\nicons_list <- icons(\n iconUrl = matching[match(camper$Icon,names(matching))],\n iconWidth = c(40),\n iconHeight = c(40)\n)\n\n## Så er det tid til at bruge Open Street Routing Machine\n\nlibrary(osrm)\n\n# osrmTable(loc = camper |> transmute(lon=Longitude,lat=Latitude))\n\ntrips <- osrmTrip(loc = camper |> transmute(lon=Longitude,lat=Latitude), overview = \"full\",\n osrm.profile = \"car\")\ntrip <- trips[[1]]$trip\n\n# There exists a lua filter for truck, put I can't figure how to implement.\n# I suppose I would have to run a local OSRM instance...\n\n## HTML labels til kortet\n\ninvisible(Sys.setlocale(\"LC_TIME\", \"da_DK\"))\n\ncontent <- paste0(\n ifelse(substr(camper$Description,1,4)!=\"http\"|is.na(camper$Description),paste0(\"<br/>\",camper$Name),paste0(\"<b><a href='\",camper$Description,\"'>\",camper$Name,\"</a></b>\")),\n \"<br/>\",paste(\"Ankomst:\",tolower(format(as.Date(camper$Arrival),\"%d. %B\"))),\n \"<br/>\",paste(\"Nætter:\",camper$Nights),\n \"<br/>\",paste(\"Tid til næste:\",round(trips[[1]]$trip$duration,1),\"min\"),\n \"<br/>\",paste(\"Afstand til næste:\",round(trips[[1]]$trip$distance,1),\"km\"),\n ifelse(camper$Notes!=\"\",paste0(\"<br/>\",paste(\"Noter:\",camper$Notes)),\"\")\n)\n\n## Interaktivt kort med `leaflet`\n\nmap <- leaflet(trip) %>%\n addTiles(group = \"OSM (standard)\") %>%\n addProviderTiles(providers$OpenTopoMap,\n group = \"Topografisk\") %>%\n # addProviderTiles(providers$HERE.satelliteDay,\n # group = \"Satelit\") %>%\n setView(lng = median(camper$Longitude), lat = median(camper$Latitude), zoom = 7) %>%\n addPolylines(group = \"Estimated route\") %>%\n addMarkers(data = camper[-nrow(camper),],\n icon = icons_list,\n popup = content[-nrow(camper)], \n label = ~Name, \n group = \"Points\") |> \n addLayersControl(\n baseGroups = c(\"OSM (standard)\", \"Topografisk\"),\n overlayGroups = c(\"Estimated route\", \"Points\"),\n options = layersControlOptions(collapsed = FALSE)\n )\n\n# Hjælp til lige at komme det sidste stykke med at tegne ruten på:\n# https://stackoverflow.com/a/60940696/21019325\n\n# Vejledning til at opsætte en lokal server med mulighed for modificeret profil.\n# https://www.r-bloggers.com/2017/09/building-a-local-osrm-instance/\n# Download specifikke områder: http://download.geofabrik.de/\n# \n# Lastbil profil (den minder vel mere om en camper?): https://github.com/Project-OSRM/osrm-profiles-contrib/blob/master/5/27/truck-soft/car.lua\n\n\nHer er ikke tale om en overspringshandling."
},
{
"objectID": "blog/canada_camper.html#kommentarer",
@@ -158,6 +158,6 @@
"href": "blog.html",
"title": "Blog",
"section": "",
- "text": "Her handler det om alle mulige familieprojekter. Det kommer nok til at lugte lidt af kode og IT også.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nCanada i camper\n\n\n\nCanada\n\n\nRejse\n\n\nBørn\n\n\nR\n\n\n\nLidt om vores campertur.\n\n\n\nAndreas\n\n\n26. jun. 2023\n\n\n\n\n\n\n\n\nIngen resultater"
+ "text": "Her handler det om alle mulige familieprojekter. Det kommer nok til at lugte lidt af kode og IT også.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nCanada i camper\n\n\n\nCanada\n\n\nRejse\n\n\nBørn\n\n\nR\n\n\n\nLidt om vores campertur.\n\n\n\nAndreas\n\n\n27. jun. 2023\n\n\n\n\n\n\n\n\nIngen resultater"
}
]
\ No newline at end of file