noter om lokal osrm instans

This commit is contained in:
Andreas Gammelgaard Damsbo 2023-06-27 14:29:16 +02:00
parent e10ecc5db5
commit 2915e0e887
6 changed files with 38 additions and 20 deletions

2
.gitignore vendored
View file

@ -53,3 +53,5 @@ rsconnect/
/.quarto/ /.quarto/
food/refs/ food/refs/
osrm-backend/

File diff suppressed because one or more lines are too long

View file

@ -79,18 +79,26 @@ map <- leaflet(trip) %>%
# addProviderTiles(providers$HERE.satelliteDay, # addProviderTiles(providers$HERE.satelliteDay,
# group = "Satelit") %>% # group = "Satelit") %>%
setView(lng = median(camper$Longitude), lat = median(camper$Latitude), zoom = 7) %>% setView(lng = median(camper$Longitude), lat = median(camper$Latitude), zoom = 7) %>%
addPolylines() %>% addPolylines(group = "Estimated route") %>%
addMarkers(data = camper[-nrow(camper),], addMarkers(data = camper[-nrow(camper),],
icon = icons_list, icon = icons_list,
popup = content[-nrow(camper)], popup = content[-nrow(camper)],
label = ~Name) |> label = ~Name,
group = "Points") |>
addLayersControl( addLayersControl(
baseGroups = c("OSM (standard)", "Topografisk"), baseGroups = c("OSM (standard)", "Topografisk"),
overlayGroups = c("Estimated route", "Points"),
options = layersControlOptions(collapsed = FALSE) options = layersControlOptions(collapsed = FALSE)
) )
# Hjælp til lige at komme det sidste stykke med at tegne ruten på: # Hjælp til lige at komme det sidste stykke med at tegne ruten på:
# https://stackoverflow.com/a/60940696/21019325 # 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. Her er ikke tale om en overspringshandling.

View file

@ -179,7 +179,7 @@ ul.task-list li input[type="checkbox"] {
<div class="quarto-listing quarto-listing-container-grid" id="listing-listing"> <div class="quarto-listing quarto-listing-container-grid" id="listing-listing">
<div class="list grid quarto-listing-cols-3"> <div class="list grid quarto-listing-cols-3">
<div class="g-col-1" data-index="0" data-categories="Canada,Rejse,Børn,R" data-listing-date-sort="1687767068000" data-listing-file-modified-sort="1687767068730" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="3"> <div class="g-col-1" data-index="0" data-categories="Canada,Rejse,Børn,R" data-listing-date-sort="1687868483000" data-listing-file-modified-sort="1687868483817" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="3">
<a href="./blog/canada_camper.html" class="quarto-grid-link"> <a href="./blog/canada_camper.html" class="quarto-grid-link">
<div class="quarto-grid-item card h-100 card-left"> <div class="quarto-grid-item card h-100 card-left">
<p class="card-img-top"> <p class="card-img-top">
@ -211,7 +211,7 @@ Lidt om vores campertur.
Andreas Andreas
</div> </div>
<div class="listing-date"> <div class="listing-date">
26. jun. 2023 27. jun. 2023
</div> </div>
</div> </div>
</div> </div>

File diff suppressed because one or more lines are too long

View file

@ -11,7 +11,7 @@
"href": "blog/canada_camper.html", "href": "blog/canada_camper.html",
"title": "Canada i camper", "title": "Canada i camper",
"section": "", "section": "",
"text": "Kode til oversigtskort\n# Original export from plotting in OsmAnd on phone\n# bookmarks &lt;- 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 &lt;- read.csv(\"data/camper_points.csv\",)[-1] |&gt; 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 &lt;- gpx::read_gpx(file = \"data/vancouver-trip.gpx\")\n\n## Iconer\nmatching &lt;- c(car=\"images/key.png\", \n bed=\"images/rv.png\", \n house=\"images/house.png\")\n\nlibrary(leaflet)\n\nicons_list &lt;- 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 |&gt; transmute(lon=Longitude,lat=Latitude))\n\ntrips &lt;- osrmTrip(loc = camper |&gt; transmute(lon=Longitude,lat=Latitude), overview = \"full\",\n osrm.profile = \"car\")\ntrip &lt;- 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 &lt;- paste0(\n ifelse(substr(camper$Description,1,4)!=\"http\"|is.na(camper$Description),paste0(\"&lt;br/&gt;\",camper$Name),paste0(\"&lt;b&gt;&lt;a href='\",camper$Description,\"'&gt;\",camper$Name,\"&lt;/a&gt;&lt;/b&gt;\")),\n \"&lt;br/&gt;\",paste(\"Ankomst:\",tolower(format(as.Date(camper$Arrival),\"%d. %B\"))),\n \"&lt;br/&gt;\",paste(\"Nætter:\",camper$Nights),\n \"&lt;br/&gt;\",paste(\"Tid til næste:\",round(trips[[1]]$trip$duration,1),\"min\"),\n \"&lt;br/&gt;\",paste(\"Afstand til næste:\",round(trips[[1]]$trip$distance,1),\"km\"),\n ifelse(camper$Notes!=\"\",paste0(\"&lt;br/&gt;\",paste(\"Noter:\",camper$Notes)),\"\")\n)\n\n## Interaktivt kort med `leaflet`\n\nmap &lt;- leaflet(trip) %&gt;%\n addTiles(group = \"OSM (standard)\") %&gt;%\n addProviderTiles(providers$OpenTopoMap,\n group = \"Topografisk\") %&gt;%\n # addProviderTiles(providers$HERE.satelliteDay,\n # group = \"Satelit\") %&gt;%\n setView(lng = median(camper$Longitude), lat = median(camper$Latitude), zoom = 7) %&gt;%\n addPolylines() %&gt;%\n addMarkers(data = camper[-nrow(camper),],\n icon = icons_list,\n popup = content[-nrow(camper)], \n label = ~Name) |&gt; \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 &lt;- 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 &lt;- read.csv(\"data/camper_points.csv\",)[-1] |&gt; 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 &lt;- gpx::read_gpx(file = \"data/vancouver-trip.gpx\")\n\n## Iconer\nmatching &lt;- c(car=\"images/key.png\", \n bed=\"images/rv.png\", \n house=\"images/house.png\")\n\nlibrary(leaflet)\n\nicons_list &lt;- 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 |&gt; transmute(lon=Longitude,lat=Latitude))\n\ntrips &lt;- osrmTrip(loc = camper |&gt; transmute(lon=Longitude,lat=Latitude), overview = \"full\",\n osrm.profile = \"car\")\ntrip &lt;- 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 &lt;- paste0(\n ifelse(substr(camper$Description,1,4)!=\"http\"|is.na(camper$Description),paste0(\"&lt;br/&gt;\",camper$Name),paste0(\"&lt;b&gt;&lt;a href='\",camper$Description,\"'&gt;\",camper$Name,\"&lt;/a&gt;&lt;/b&gt;\")),\n \"&lt;br/&gt;\",paste(\"Ankomst:\",tolower(format(as.Date(camper$Arrival),\"%d. %B\"))),\n \"&lt;br/&gt;\",paste(\"Nætter:\",camper$Nights),\n \"&lt;br/&gt;\",paste(\"Tid til næste:\",round(trips[[1]]$trip$duration,1),\"min\"),\n \"&lt;br/&gt;\",paste(\"Afstand til næste:\",round(trips[[1]]$trip$distance,1),\"km\"),\n ifelse(camper$Notes!=\"\",paste0(\"&lt;br/&gt;\",paste(\"Noter:\",camper$Notes)),\"\")\n)\n\n## Interaktivt kort med `leaflet`\n\nmap &lt;- leaflet(trip) %&gt;%\n addTiles(group = \"OSM (standard)\") %&gt;%\n addProviderTiles(providers$OpenTopoMap,\n group = \"Topografisk\") %&gt;%\n # addProviderTiles(providers$HERE.satelliteDay,\n # group = \"Satelit\") %&gt;%\n setView(lng = median(camper$Longitude), lat = median(camper$Latitude), zoom = 7) %&gt;%\n addPolylines(group = \"Estimated route\") %&gt;%\n addMarkers(data = camper[-nrow(camper),],\n icon = icons_list,\n popup = content[-nrow(camper)], \n label = ~Name, \n group = \"Points\") |&gt; \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", "objectID": "blog/canada_camper.html#kommentarer",
@ -158,6 +158,6 @@
"href": "blog.html", "href": "blog.html",
"title": "Blog", "title": "Blog",
"section": "", "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"
} }
] ]