<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Robin Lovelace</title><link>https://robinlovelace.net/old-site/</link><atom:link href="https://robinlovelace.net/old-site/index.xml" rel="self" type="application/rss+xml"/><description>Robin Lovelace</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><lastBuildDate>Fri, 26 Jun 2026 09:00:00 +0100</lastBuildDate><image><url>https://robinlovelace.net/old-site/media/icon_hu93dbabadc2a9bdd4930d1377c0b338b2_5137_512x512_fill_lanczos_center_3.png</url><title>Robin Lovelace</title><link>https://robinlovelace.net/old-site/</link></image><item><title>Example Page 1</title><link>https://robinlovelace.net/old-site/courses/example/example1/</link><pubDate>Sun, 05 May 2019 00:00:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/courses/example/example1/</guid><description>&lt;p>In this tutorial, I&amp;rsquo;ll share my top 10 tips for getting started with Academic:&lt;/p>
&lt;h2 id="tip-1">Tip 1&lt;/h2>
&lt;p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida.&lt;/p>
&lt;p>Nullam vel molestie justo. Curabitur vitae efficitur leo. In hac habitasse platea dictumst. Sed pulvinar mauris dui, eget varius purus congue ac. Nulla euismod, lorem vel elementum dapibus, nunc justo porta mi, sed tempus est est vel tellus. Nam et enim eleifend, laoreet sem sit amet, elementum sem. Morbi ut leo congue, maximus velit ut, finibus arcu. In et libero cursus, rutrum risus non, molestie leo. Nullam congue quam et volutpat malesuada. Sed risus tortor, pulvinar et dictum nec, sodales non mi. Phasellus lacinia commodo laoreet. Nam mollis, erat in feugiat consectetur, purus eros egestas tellus, in auctor urna odio at nibh. Mauris imperdiet nisi ac magna convallis, at rhoncus ligula cursus.&lt;/p>
&lt;p>Cras aliquam rhoncus ipsum, in hendrerit nunc mattis vitae. Duis vitae efficitur metus, ac tempus leo. Cras nec fringilla lacus. Quisque sit amet risus at ipsum pharetra commodo. Sed aliquam mauris at consequat eleifend. Praesent porta, augue sed viverra bibendum, neque ante euismod ante, in vehicula justo lorem ac eros. Suspendisse augue libero, venenatis eget tincidunt ut, malesuada at lorem. Donec vitae bibendum arcu. Aenean maximus nulla non pretium iaculis. Quisque imperdiet, nulla in pulvinar aliquet, velit quam ultrices quam, sit amet fringilla leo sem vel nunc. Mauris in lacinia lacus.&lt;/p>
&lt;p>Suspendisse a tincidunt lacus. Curabitur at urna sagittis, dictum ante sit amet, euismod magna. Sed rutrum massa id tortor commodo, vitae elementum turpis tempus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean purus turpis, venenatis a ullamcorper nec, tincidunt et massa. Integer posuere quam rutrum arcu vehicula imperdiet. Mauris ullamcorper quam vitae purus congue, quis euismod magna eleifend. Vestibulum semper vel augue eget tincidunt. Fusce eget justo sodales, dapibus odio eu, ultrices lorem. Duis condimentum lorem id eros commodo, in facilisis mauris scelerisque. Morbi sed auctor leo. Nullam volutpat a lacus quis pharetra. Nulla congue rutrum magna a ornare.&lt;/p>
&lt;p>Aliquam in turpis accumsan, malesuada nibh ut, hendrerit justo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque sed erat nec justo posuere suscipit. Donec ut efficitur arcu, in malesuada neque. Nunc dignissim nisl massa, id vulputate nunc pretium nec. Quisque eget urna in risus suscipit ultricies. Pellentesque odio odio, tincidunt in eleifend sed, posuere a diam. Nam gravida nisl convallis semper elementum. Morbi vitae felis faucibus, vulputate orci placerat, aliquet nisi. Aliquam erat volutpat. Maecenas sagittis pulvinar purus, sed porta quam laoreet at.&lt;/p>
&lt;h2 id="tip-2">Tip 2&lt;/h2>
&lt;p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida.&lt;/p>
&lt;p>Nullam vel molestie justo. Curabitur vitae efficitur leo. In hac habitasse platea dictumst. Sed pulvinar mauris dui, eget varius purus congue ac. Nulla euismod, lorem vel elementum dapibus, nunc justo porta mi, sed tempus est est vel tellus. Nam et enim eleifend, laoreet sem sit amet, elementum sem. Morbi ut leo congue, maximus velit ut, finibus arcu. In et libero cursus, rutrum risus non, molestie leo. Nullam congue quam et volutpat malesuada. Sed risus tortor, pulvinar et dictum nec, sodales non mi. Phasellus lacinia commodo laoreet. Nam mollis, erat in feugiat consectetur, purus eros egestas tellus, in auctor urna odio at nibh. Mauris imperdiet nisi ac magna convallis, at rhoncus ligula cursus.&lt;/p>
&lt;p>Cras aliquam rhoncus ipsum, in hendrerit nunc mattis vitae. Duis vitae efficitur metus, ac tempus leo. Cras nec fringilla lacus. Quisque sit amet risus at ipsum pharetra commodo. Sed aliquam mauris at consequat eleifend. Praesent porta, augue sed viverra bibendum, neque ante euismod ante, in vehicula justo lorem ac eros. Suspendisse augue libero, venenatis eget tincidunt ut, malesuada at lorem. Donec vitae bibendum arcu. Aenean maximus nulla non pretium iaculis. Quisque imperdiet, nulla in pulvinar aliquet, velit quam ultrices quam, sit amet fringilla leo sem vel nunc. Mauris in lacinia lacus.&lt;/p>
&lt;p>Suspendisse a tincidunt lacus. Curabitur at urna sagittis, dictum ante sit amet, euismod magna. Sed rutrum massa id tortor commodo, vitae elementum turpis tempus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean purus turpis, venenatis a ullamcorper nec, tincidunt et massa. Integer posuere quam rutrum arcu vehicula imperdiet. Mauris ullamcorper quam vitae purus congue, quis euismod magna eleifend. Vestibulum semper vel augue eget tincidunt. Fusce eget justo sodales, dapibus odio eu, ultrices lorem. Duis condimentum lorem id eros commodo, in facilisis mauris scelerisque. Morbi sed auctor leo. Nullam volutpat a lacus quis pharetra. Nulla congue rutrum magna a ornare.&lt;/p>
&lt;p>Aliquam in turpis accumsan, malesuada nibh ut, hendrerit justo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque sed erat nec justo posuere suscipit. Donec ut efficitur arcu, in malesuada neque. Nunc dignissim nisl massa, id vulputate nunc pretium nec. Quisque eget urna in risus suscipit ultricies. Pellentesque odio odio, tincidunt in eleifend sed, posuere a diam. Nam gravida nisl convallis semper elementum. Morbi vitae felis faucibus, vulputate orci placerat, aliquet nisi. Aliquam erat volutpat. Maecenas sagittis pulvinar purus, sed porta quam laoreet at.&lt;/p></description></item><item><title>Example Page 2</title><link>https://robinlovelace.net/old-site/courses/example/example2/</link><pubDate>Sun, 05 May 2019 00:00:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/courses/example/example2/</guid><description>&lt;p>Here are some more tips for getting started with Academic:&lt;/p>
&lt;h2 id="tip-3">Tip 3&lt;/h2>
&lt;p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida.&lt;/p>
&lt;p>Nullam vel molestie justo. Curabitur vitae efficitur leo. In hac habitasse platea dictumst. Sed pulvinar mauris dui, eget varius purus congue ac. Nulla euismod, lorem vel elementum dapibus, nunc justo porta mi, sed tempus est est vel tellus. Nam et enim eleifend, laoreet sem sit amet, elementum sem. Morbi ut leo congue, maximus velit ut, finibus arcu. In et libero cursus, rutrum risus non, molestie leo. Nullam congue quam et volutpat malesuada. Sed risus tortor, pulvinar et dictum nec, sodales non mi. Phasellus lacinia commodo laoreet. Nam mollis, erat in feugiat consectetur, purus eros egestas tellus, in auctor urna odio at nibh. Mauris imperdiet nisi ac magna convallis, at rhoncus ligula cursus.&lt;/p>
&lt;p>Cras aliquam rhoncus ipsum, in hendrerit nunc mattis vitae. Duis vitae efficitur metus, ac tempus leo. Cras nec fringilla lacus. Quisque sit amet risus at ipsum pharetra commodo. Sed aliquam mauris at consequat eleifend. Praesent porta, augue sed viverra bibendum, neque ante euismod ante, in vehicula justo lorem ac eros. Suspendisse augue libero, venenatis eget tincidunt ut, malesuada at lorem. Donec vitae bibendum arcu. Aenean maximus nulla non pretium iaculis. Quisque imperdiet, nulla in pulvinar aliquet, velit quam ultrices quam, sit amet fringilla leo sem vel nunc. Mauris in lacinia lacus.&lt;/p>
&lt;p>Suspendisse a tincidunt lacus. Curabitur at urna sagittis, dictum ante sit amet, euismod magna. Sed rutrum massa id tortor commodo, vitae elementum turpis tempus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean purus turpis, venenatis a ullamcorper nec, tincidunt et massa. Integer posuere quam rutrum arcu vehicula imperdiet. Mauris ullamcorper quam vitae purus congue, quis euismod magna eleifend. Vestibulum semper vel augue eget tincidunt. Fusce eget justo sodales, dapibus odio eu, ultrices lorem. Duis condimentum lorem id eros commodo, in facilisis mauris scelerisque. Morbi sed auctor leo. Nullam volutpat a lacus quis pharetra. Nulla congue rutrum magna a ornare.&lt;/p>
&lt;p>Aliquam in turpis accumsan, malesuada nibh ut, hendrerit justo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque sed erat nec justo posuere suscipit. Donec ut efficitur arcu, in malesuada neque. Nunc dignissim nisl massa, id vulputate nunc pretium nec. Quisque eget urna in risus suscipit ultricies. Pellentesque odio odio, tincidunt in eleifend sed, posuere a diam. Nam gravida nisl convallis semper elementum. Morbi vitae felis faucibus, vulputate orci placerat, aliquet nisi. Aliquam erat volutpat. Maecenas sagittis pulvinar purus, sed porta quam laoreet at.&lt;/p>
&lt;h2 id="tip-4">Tip 4&lt;/h2>
&lt;p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida.&lt;/p>
&lt;p>Nullam vel molestie justo. Curabitur vitae efficitur leo. In hac habitasse platea dictumst. Sed pulvinar mauris dui, eget varius purus congue ac. Nulla euismod, lorem vel elementum dapibus, nunc justo porta mi, sed tempus est est vel tellus. Nam et enim eleifend, laoreet sem sit amet, elementum sem. Morbi ut leo congue, maximus velit ut, finibus arcu. In et libero cursus, rutrum risus non, molestie leo. Nullam congue quam et volutpat malesuada. Sed risus tortor, pulvinar et dictum nec, sodales non mi. Phasellus lacinia commodo laoreet. Nam mollis, erat in feugiat consectetur, purus eros egestas tellus, in auctor urna odio at nibh. Mauris imperdiet nisi ac magna convallis, at rhoncus ligula cursus.&lt;/p>
&lt;p>Cras aliquam rhoncus ipsum, in hendrerit nunc mattis vitae. Duis vitae efficitur metus, ac tempus leo. Cras nec fringilla lacus. Quisque sit amet risus at ipsum pharetra commodo. Sed aliquam mauris at consequat eleifend. Praesent porta, augue sed viverra bibendum, neque ante euismod ante, in vehicula justo lorem ac eros. Suspendisse augue libero, venenatis eget tincidunt ut, malesuada at lorem. Donec vitae bibendum arcu. Aenean maximus nulla non pretium iaculis. Quisque imperdiet, nulla in pulvinar aliquet, velit quam ultrices quam, sit amet fringilla leo sem vel nunc. Mauris in lacinia lacus.&lt;/p>
&lt;p>Suspendisse a tincidunt lacus. Curabitur at urna sagittis, dictum ante sit amet, euismod magna. Sed rutrum massa id tortor commodo, vitae elementum turpis tempus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean purus turpis, venenatis a ullamcorper nec, tincidunt et massa. Integer posuere quam rutrum arcu vehicula imperdiet. Mauris ullamcorper quam vitae purus congue, quis euismod magna eleifend. Vestibulum semper vel augue eget tincidunt. Fusce eget justo sodales, dapibus odio eu, ultrices lorem. Duis condimentum lorem id eros commodo, in facilisis mauris scelerisque. Morbi sed auctor leo. Nullam volutpat a lacus quis pharetra. Nulla congue rutrum magna a ornare.&lt;/p>
&lt;p>Aliquam in turpis accumsan, malesuada nibh ut, hendrerit justo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque sed erat nec justo posuere suscipit. Donec ut efficitur arcu, in malesuada neque. Nunc dignissim nisl massa, id vulputate nunc pretium nec. Quisque eget urna in risus suscipit ultricies. Pellentesque odio odio, tincidunt in eleifend sed, posuere a diam. Nam gravida nisl convallis semper elementum. Morbi vitae felis faucibus, vulputate orci placerat, aliquet nisi. Aliquam erat volutpat. Maecenas sagittis pulvinar purus, sed porta quam laoreet at.&lt;/p></description></item><item><title>AUM2026: Applied Urban Modelling Symposium and Pre-conference Seminar</title><link>https://robinlovelace.net/old-site/talk/aum2026-applied-urban-modelling-symposium-and-pre-conference-seminar/</link><pubDate>Fri, 26 Jun 2026 09:00:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/aum2026-applied-urban-modelling-symposium-and-pre-conference-seminar/</guid><description>&lt;p>I&amp;rsquo;ll be presenting on &lt;strong>Modelling multi-modal traffic interactions, casualties, and safety risk for people walking and cycling&lt;/strong>.&lt;/p>
&lt;h2 id="abstract">Abstract&lt;/h2>
&lt;p>This talk presents data-driven approaches for modelling multi-modal traffic interactions, casualties, and safety risk for people walking and cycling, with the aim of informing government guidance on critical safety issues for walking, wheeling, and cycling. The presentation will cover: data engineering pipelines designed to ingest large volumes of pedestrian and cycle count data; the integration of casualty and traffic data to characterise risk; and open-source tools and reproducible methods used to build models capable of informing evidence-based policy and design guidance. The work draws on and extends existing transport modelling frameworks and speaks to the broader challenge of making active travel the natural choice for short trips in UK cities and towns.&lt;/p>
&lt;!-- ## Event Details
### Pre-conference Seminar: Modelling Active Mobility
- **Dates:** 26-27 June 2026
- **Venue:** Bateman Auditorium, Gonville &amp; Caius College (Old Courts)
- **Format:** Day 1 presentations by invitation; Day 2 group discussion
- **Sponsor:** VREF (Volvo Research and Educational Foundations)
### Main AUM2026 Symposium
- **Dates:** 29 June - 1 July 2026
- **Venue:** Cavonius Centre, Gonville &amp; Caius College (Harvey Court)
- **Organisers:** Department of Land Economy and Martin Centre, University of Cambridge
### Registration
Registration covers symposium organisation, refreshments, and buffet lunches. Accommodation not included (limited college guestrooms available).
### Contact
[aum@landecon.cam.ac.uk](mailto:aum@landecon.cam.ac.uk) --></description></item><item><title>10th Mobile Tartu Conference</title><link>https://robinlovelace.net/old-site/talk/10th-mobile-tartu-conference/</link><pubDate>Mon, 08 Jun 2026 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/10th-mobile-tartu-conference/</guid><description>&lt;p>We welcome you to join us at the 10th biennial Mobile Tartu Conference and PhD School on June 7/8‒10, 2026, to celebrate two decades of human mobility studies based on mobile phone data!&lt;/p>
&lt;p>The Mobile Tartu Conference focuses on human mobility studies for resilient, just, and sustainable societies, using primarily digital traces from mobile big data. At the Jubilee Conference, we reflect on the evolution of mobility studies over the past two decades and how this has influenced the need to consider mobility data justice in research and governance. Our confirmed keynote speakers include Prof. Kay W. Axhausen (ETH Zurich, Switzerland) and Prof. Mimi Sheller (Worcester Polytechnic Institute, USA).&lt;/p>
&lt;p>The special themes of the jubilee Mobile Tartu 2026 include:&lt;/p>
&lt;ul>
&lt;li>Activity space studies informing just and sustainable societies&lt;/li>
&lt;li>Multilocal living and cross-border interactions in digital transition&lt;/li>
&lt;li>Mobility data justice in research and governance&lt;/li>
&lt;/ul>
&lt;p>The conference also features panel discussions, paper sessions (including NECTAR and Cycle4Climate sessions), and a rich social programme with vibrant discussions on the conceptual, methodological, and empirical dimensions of measuring human mobility using mobile big data.&lt;/p>
&lt;p>In collaboration with the EIT Urban Mobility Doctoral Training Network and the Estonian Doctoral School, the conference also includes a PhD School, comprising lectures and hands-on workshops on mobile big data applications for understanding human mobility. The workshops are led by Andres Sevtsuk (MIT), Robin Lovelace (University of Leeds), Francisco Rowe (University of Liverpool), and Anto Aasa (University of Tartu).&lt;/p>
&lt;p>Abstract submission deadline: 16 January 2026&lt;/p></description></item><item><title>Travel Planning Co-ordinator Event Leeds</title><link>https://robinlovelace.net/old-site/talk/travel-planning-co-ordinator-event-leeds/</link><pubDate>Wed, 06 May 2026 10:00:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/travel-planning-co-ordinator-event-leeds/</guid><description>&lt;p>I&amp;rsquo;ll be attending this free networking event for travel plan coordinators in Leeds on 6 May 2026.&lt;/p>
&lt;p>The event is organized by the Leeds City Council Travel Planning team and brings together people working on travel plans across the city. It&amp;rsquo;s a great opportunity to connect with others in the field and learn about local sustainable transport initiatives including:&lt;/p>
&lt;ul>
&lt;li>Betterpoints&lt;/li>
&lt;li>Beryl Bikes&lt;/li>
&lt;li>Northern Rail&lt;/li>
&lt;li>Residential MCard&lt;/li>
&lt;li>Enterprise Car Club&lt;/li>
&lt;li>Public transport ticketing&lt;/li>
&lt;/ul>
&lt;p>The event runs from 10am to 12pm at Merrion House (110 Merrion Way, Leeds LS1 1UR).&lt;/p>
&lt;p>Registration is free via &lt;a href="https://www.eventbrite.co.uk/e/travel-planning-co-ordinator-event-leeds-tickets-1983857569394" target="_blank" rel="noopener">Eventbrite&lt;/a>.&lt;/p></description></item><item><title>stats19 v4.0.0: 45 Years of UK Road Crash Data, Unified</title><link>https://robinlovelace.net/old-site/post/stats19-v4/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/stats19-v4/</guid><description>&lt;p>The stats19 R package has been updated to version 4.0.0. The main change is a unified column schema that lets you work with 45 years of UK road crash data (1979 to 2024) without running into mismatched column names.&lt;/p>
&lt;h2 id="unified-schema">Unified schema&lt;/h2>
&lt;p>Older data files have columns like &lt;code>carriageway_hazards_historic&lt;/code> while newer ones use &lt;code>carriageway_hazards&lt;/code>. v4.0.0 detects these variants, merges them into the modern names, and drops the redundant columns.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">library&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">stats19&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">crashes&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">get_stats19&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">year&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="m">1979&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="m">2024&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">type&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;crashes&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="parsing-fixes">Parsing fixes&lt;/h2>
&lt;p>&lt;code>read_stats19()&lt;/code> now builds a custom parser from the CSV header, which removes the warnings about unmatched columns that appeared in previous versions. We also fixed a bug where 2024 latitude and longitude values were truncated to integers.&lt;/p>
&lt;h2 id="missing-values">Missing values&lt;/h2>
&lt;p>Codes like &lt;code>-1&lt;/code>, &amp;ldquo;Code deprecated&amp;rdquo;, and &amp;ldquo;Data missing or out of range&amp;rdquo; are now standardised to &lt;code>NA&lt;/code> during formatting, so &lt;code>is.na()&lt;/code> works consistently.&lt;/p>
&lt;h2 id="performance">Performance&lt;/h2>
&lt;p>The package now uses readr Edition 2 by default, which supports multi-threaded parsing. Loading large files is noticeably faster.&lt;/p>
&lt;h2 id="new-functions">New functions&lt;/h2>
&lt;ul>
&lt;li>&lt;code>match_tag()&lt;/code> joins government TAG cost estimates (RAS4001) to collision data&lt;/li>
&lt;li>&lt;code>clean_make()&lt;/code>, &lt;code>clean_model()&lt;/code>, and &lt;code>clean_make_model()&lt;/code> standardise the 2,400+ raw strings in the vehicle dataset&lt;/li>
&lt;/ul>
&lt;h2 id="multi-year-downloads">Multi-year downloads&lt;/h2>
&lt;p>Year ranges now download bulk historic files once and filter efficiently. The 1979 file is also handled correctly (it used to be returned as a catch-all for any older year).&lt;/p>
&lt;h2 id="feedback-wanted">Feedback wanted&lt;/h2>
&lt;p>We plan to submit to CRAN soon. Please install, test, and report any issues:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">pak&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">pak&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;ropensci/stats19&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Issues: &lt;a href="https://github.com/ropensci/stats19/issues" target="_blank" rel="noopener">github.com/ropensci/stats19/issues&lt;/a>&lt;/p>
&lt;h2 id="acknowledgements">Acknowledgements&lt;/h2>
&lt;p>Contributions from David Ranzolin and Adam Sparks (rOpenSci review), Malcolm Morgan, Layik Hama, and Blaise Kelly. Funding from the RAC Foundation.&lt;/p>
&lt;h2 id="links">Links&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://github.com/ropensci/stats19" target="_blank" rel="noopener">GitHub&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://docs.ropensci.org/stats19/" target="_blank" rel="noopener">Documentation&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/ropensci/stats19/blob/main/NEWS.md" target="_blank" rel="noopener">Changelog&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Transport Committee Academic Engagement Event</title><link>https://robinlovelace.net/old-site/talk/transport-committee-academic-engagement-event/</link><pubDate>Wed, 11 Feb 2026 09:30:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/transport-committee-academic-engagement-event/</guid><description>&lt;p>The Transport Committee is holding an academic engagement event to strengthen connections with the research community and discuss pertinent transport policy issues.&lt;/p>
&lt;p>The event aims to:&lt;/p>
&lt;ul>
&lt;li>Give members of the Committee an opportunity to hear about the latest academic research.&lt;/li>
&lt;li>Grow the Committee’s understanding of and connections to the research community.&lt;/li>
&lt;li>Strengthen researcher understanding of the work of the Committee and how to get involved.&lt;/li>
&lt;/ul>
&lt;p>I have been invited based on my research expertise in:&lt;/p>
&lt;ul>
&lt;li>Research methods and data science&lt;/li>
&lt;li>Local and regional transport planning&lt;/li>
&lt;li>Travel behaviour and behaviour change&lt;/li>
&lt;li>Decarbonisation&lt;/li>
&lt;/ul>
&lt;p>I plan to discuss my ongoing work with Active Travel England, particularly the update to evidence on &amp;ldquo;critical issues&amp;rdquo; for walking, wheeling, and cycling. This involves a move towards identifying and remediating dangerous infrastructure rather than just promoting best practice. I am also developing methods to estimate baseline traffic levels for all modes at the road segment level, a project that is currently focused on the West Midlands but has national scalability.&lt;/p></description></item><item><title>Corenet: A flexible framework for generating and prioritising core cycle network designs</title><link>https://robinlovelace.net/old-site/publication/wang-corenet-2026/</link><pubDate>Sun, 01 Feb 2026 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/wang-corenet-2026/</guid><description/></item><item><title>Outdoor lighting and active travel: A high-resolution analysis using satellite imagery and Strava data in Glasgow</title><link>https://robinlovelace.net/old-site/publication/vidal-tortosa-outdoor-lighting-2026/</link><pubDate>Sun, 01 Feb 2026 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/vidal-tortosa-outdoor-lighting-2026/</guid><description/></item><item><title>spanishoddata: A package for accessing and working with Spanish Open Mobility Big Data</title><link>https://robinlovelace.net/old-site/publication/kotov-spanishoddata-2026/</link><pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/kotov-spanishoddata-2026/</guid><description/></item><item><title>Delineating potential DRT operating areas: An origin–destination clustering approach</title><link>https://robinlovelace.net/old-site/publication/mahfouz-drt-operating-2025/</link><pubDate>Mon, 01 Dec 2025 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/mahfouz-drt-operating-2025/</guid><description/></item><item><title>Modelling active travel with efficient, future-proof tools</title><link>https://robinlovelace.net/old-site/talk/modelling-active-travel-with-efficient-future-proof-tools/</link><pubDate>Tue, 18 Nov 2025 10:05:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/modelling-active-travel-with-efficient-future-proof-tools/</guid><description/></item><item><title>Building Capacity for Data-Driven Urban Mobility</title><link>https://robinlovelace.net/old-site/talk/building-capacity-for-data-driven-urban-mobility/</link><pubDate>Tue, 04 Nov 2025 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/building-capacity-for-data-driven-urban-mobility/</guid><description>&lt;p>This keynote outlines practical steps to enable data-driven decision-making in transport using open and reproducible workflows, with examples from communities of practice and national-level data integration.&lt;/p></description></item><item><title>New tools for internationally-scalable future-proof transport planning</title><link>https://robinlovelace.net/old-site/talk/new-tools-for-internationally-scalable-future-proof-transport-planning/</link><pubDate>Wed, 22 Oct 2025 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/new-tools-for-internationally-scalable-future-proof-transport-planning/</guid><description>&lt;p>This talk highlights scalable, open transport planning tools and opportunities to align with GREENTRAVEL, including reproducible research practices and international portability.&lt;/p></description></item><item><title>Route network simplification for transport planning</title><link>https://robinlovelace.net/old-site/publication/deakin-route-network-2025/</link><pubDate>Wed, 01 Oct 2025 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/deakin-route-network-2025/</guid><description/></item><item><title>Data Science for Transport Planning: 2 day course</title><link>https://robinlovelace.net/old-site/talk/data-science-for-transport-planning-2-day-course/</link><pubDate>Thu, 18 Sep 2025 10:00:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/data-science-for-transport-planning-2-day-course/</guid><description>&lt;!-- https://store.leeds.ac.uk/product-catalogue/environment/transport-studies/short-courses/0925dstp2-data-science-for-transport-planning -->
&lt;h2 id="note-tickets-are-now-on-sale-get-yours-at-storeleedsacukhttpsstoreleedsacukproduct-catalogueenvironmenttransport-studiesshort-courses0925dstp2-data-science-for-transport-planning">Note: tickets are now on sale! Get yours at &lt;a href="https://store.leeds.ac.uk/product-catalogue/environment/transport-studies/short-courses/0925dstp2-data-science-for-transport-planning" target="_blank" rel="noopener">store.leeds.ac.uk&lt;/a>.&lt;/h2>
&lt;p>Based on demand, I&amp;rsquo;m running a 2-day course with colleagues teaching modern data science skills for transport planning, focussed on transport planning practitioners and transport planning researchers looking to develop their skills for real-world applications.&lt;/p>
&lt;p>Any questions welcome, looking forward to seeing you at the course!&lt;/p></description></item><item><title>Future-Proof Transport Planning: Cities Workshop</title><link>https://robinlovelace.net/old-site/talk/future-proof-transport-planning-cities-workshop/</link><pubDate>Wed, 03 Sep 2025 14:00:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/future-proof-transport-planning-cities-workshop/</guid><description>&lt;h2 id="keynote-talk">Keynote Talk&lt;/h2>
&lt;p>This is the keynote talk for the Sustainable Transport and Planning for Cleaner and Healthier Cities Workshop.&lt;/p>
&lt;p>&lt;a href="https://www.robinlovelace.net" target="_blank" rel="noopener">Robin Lovelace&lt;/a> is Professor of Transport Data Science at the Leeds Institute for Transport Studies and Head of Data Science at Active Travel England.&lt;/p></description></item><item><title>Modelling of Traffic Collisions at Road Intersections in Cape Town, South Africa: A Bayesian Spatio-Temporal Approach</title><link>https://robinlovelace.net/old-site/publication/er-modelling-traffic-2025/</link><pubDate>Tue, 01 Jul 2025 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/er-modelling-traffic-2025/</guid><description/></item><item><title>Integrating diverse data sources to support future-proof transport modelling</title><link>https://robinlovelace.net/old-site/talk/integrating-diverse-data-sources-to-support-future-proof-transport-modelling/</link><pubDate>Wed, 25 Jun 2025 09:00:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/integrating-diverse-data-sources-to-support-future-proof-transport-modelling/</guid><description>&lt;p>I presented an extended abstract at the 57th Universities Transport Studies Group (UTSG) Annual Conference, held at University College Dublin on 25th June 2025.
The abstract is titled &amp;ldquo;Integrating diverse data sources to support future-proof transport modelling&amp;rdquo; and discusses the limitations of traditional transport models that rely on limited input datasets, leading to biases and blind-spots in model outputs.
The presentation highlights a case study of the Network Planning Tool for Scotland (NPT), which integrates multiple datasets to support more evidence-based and data-driven transport strategies.&lt;/p>
&lt;p>The extended abstract can be found &lt;a href="https://github.com/nptscot/osmactive/releases/download/v0.1/307.pdf" target="_blank" rel="noopener">here&lt;/a>.&lt;/p>
&lt;!-- Social media posts:
Just signed-up to the #UTSG2025 conference in Dublin, 25th-27th June. Looking forward to presenting our work on integrating multiple network datasets for the Network Planning Tool, funded by Transport Scotland and developed in collaboration with Sustrans. This is the first time that cycling Level of Service (LoS) has been calculated for every road and presented alongside estimates of cycling potential nationwide anywhere, to the best of my knowledge. The tool is open source and will be publicly available soon. See you there! #NPT #geocompx
## Short version for x:
Just signed-up to the #UTSG2025 conference in Dublin, 25th-27th June. Looking forward to presenting our work on transport data integration to calculate Level of Service on every road in Scotland. Thanks to colleagues, Transport Scotland + Sustrans. See you there! #NPT #geocompx
--></description></item><item><title>NPT Nominated for Most Innovative Project at Scottish Transport Awards 2025</title><link>https://robinlovelace.net/old-site/talk/npt-nominated-for-most-innovative-project-at-scottish-transport-awards-2025/</link><pubDate>Thu, 19 Jun 2025 18:15:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/npt-nominated-for-most-innovative-project-at-scottish-transport-awards-2025/</guid><description>&lt;p>I am thrilled to announce that the Network Planning Tool (NPT) project, which I lead, has been nominated for the &amp;lsquo;Most Innovative Project of the Year&amp;rsquo; award at the 22nd Annual Scottish Transport Awards!&lt;/p>
&lt;p>I will be attending the awards ceremony on 19th June 2025 at the Glasgow Marriott Hotel. It&amp;rsquo;s an honour for the NPT to be recognised among other significant achievements in Scottish transport.&lt;/p>
&lt;p>More details about the awards can be found on the &lt;a href="https://www.transporttimes.co.uk/awards.php/Scottish-Transport-Awards-3/" target="_blank" rel="noopener">official event website&lt;/a>.&lt;/p></description></item><item><title>New ways of working for a new generation of transport modellers</title><link>https://robinlovelace.net/old-site/talk/new-ways-of-working-for-a-new-generation-of-transport-modellers/</link><pubDate>Tue, 17 Jun 2025 14:00:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/new-ways-of-working-for-a-new-generation-of-transport-modellers/</guid><description>&lt;p>I am looking forward to leading the closing plenary session at Modelling World 2025, which will be held from 17-18 June 2025 at the Manchester Conference Centre.&lt;/p>
&lt;p>I&amp;rsquo;m chairing the final session of the conference, 15:45-17:00 on Wednesday 18th titled &amp;ldquo;New ways of working for a new generation of transport modellers&amp;rdquo;.
In it we will hear from the following panelists about new tools and ways of working across generations:&lt;/p>
&lt;ul>
&lt;li>Robin North, CEO and Lead Technologist, Immense Simulations&lt;/li>
&lt;li>Raquel Sánchez, R&amp;amp;D Data Scientist, Nommon Solutions and Technologies&lt;/li>
&lt;li>James Hulse, Analyst, Transport for the North&lt;/li>
&lt;li>Francesca Bryden, Head of Data Engineering, Department for Transport&lt;/li>
&lt;li>Martin Campbell, Associate Director - Digital, SYSTRA&lt;/li>
&lt;li>Ian Williams, Independent Transport and Land Use Consultant&lt;/li>
&lt;/ul>
&lt;p>We will explore the evolving practices, tools, skills, and mindsets shaping the future of transport modelling.
More information about the conference can be found on the &lt;a href="https://www.modelling-world.com/conference-2025" target="_blank" rel="noopener">official event website&lt;/a>.&lt;/p>
&lt;!-- Social media:
Short version for Twitter:
I will be leading a plenary session at Modelling World 2025 in Manchester, discussing the evolving practices, tools, skills, and mindsets for the next generation of transport modellers. More info: https://www.modelling-world.com/conference-2025 #ModellingWorld2025 #TransportModelling
Longer version for LinkedIn:
I am excited to announce that I will be leading a plenary session at Modelling World 2025 in Manchester, where we will explore the evolving practices, tools, skills, and mindsets for the next generation of transport modellers. This session will address how the current generation of modellers needs to adapt, the role of AI in forecasting, the sufficiency of visualisation and data science, methods for evaluating model realism, and the importance of bold scenarios for substantial change. Join us for this insightful discussion! More info: https://www.modelling-world.com/conference-2025 #ModellingWorld2025 #TransportModelling
--></description></item><item><title>Seminar in St Andrews: Future-Proof Transport Planning</title><link>https://robinlovelace.net/old-site/talk/seminar-in-st-andrews-future-proof-transport-planning/</link><pubDate>Tue, 20 May 2025 14:00:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/seminar-in-st-andrews-future-proof-transport-planning/</guid><description>&lt;h2 id="introduction">Introduction&lt;/h2>
&lt;p>This is part of the &lt;a href="https://begin.wp.st-andrews.ac.uk/category/seminars/" target="_blank" rel="noopener">St Andrews Bell Edwards Geographic Data Institute (BEGIN) Seminar Series&lt;/a>, held in the Irvine Building, University of St Andrews, North Street, St Andrews, KY16 9AL, Scotland, and hosted by &lt;a href="https://www.st-andrews.ac.uk/geography-sustainable-development/people/mfbp1/" target="_blank" rel="noopener">Fernando Benitez&lt;/a>.&lt;/p>
&lt;h2 id="blurb">Blurb&lt;/h2>
&lt;p>&lt;a href="https://www.robinlovelace.net" target="_blank" rel="noopener">Robin Lovelace&lt;/a> is Professor of Transport Data Science at the Leeds Institute for Transport Studies (&lt;a href="https://environment.leeds.ac.uk/transport/staff/953/dr-robin-lovelace" target="_blank" rel="noopener">ITS&lt;/a>).
Robin specializes in data science and geocomputation, with a focus on developing geographic methods applied to modeling transport systems, active travel, and decarbonisation.
Robin has experience not only researching but deploying transport models in inform sustainable policies and more effective use of transport investment, including as Lead Developer of the Propensity to Cycle Tool (see &lt;a href="https://www.pct.bike" target="_blank" rel="noopener">www.pct.bike&lt;/a>), the basis of strategic cycle network plans nationwide.
Robin has led numerous data science projects for organizations ranging from the Department for Transport and Transport Infrastructure Ireland to the World Bank.&lt;/p>
&lt;!-- ![](images/paste-3.png) -->
&lt;p>Illustration of the Network Planning Tool (NPT) results for St Andrews&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/old-site/talk/seminar-in-st-andrews-future-proof-transport-planning/images/paste-2_hub8594f290a3c082a3e723545ecf6fda2_661425_c80e112a056c63d3e68a125cf2115942.webp 400w,
/old-site/talk/seminar-in-st-andrews-future-proof-transport-planning/images/paste-2_hub8594f290a3c082a3e723545ecf6fda2_661425_ff256ac6da87ad6beef0b63bcbba7f52.webp 760w,
/old-site/talk/seminar-in-st-andrews-future-proof-transport-planning/images/paste-2_hub8594f290a3c082a3e723545ecf6fda2_661425_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://robinlovelace.net/old-site/old-site/talk/seminar-in-st-andrews-future-proof-transport-planning/images/paste-2_hub8594f290a3c082a3e723545ecf6fda2_661425_c80e112a056c63d3e68a125cf2115942.webp"
width="760"
height="375"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p></description></item><item><title>Inaugural Lecture: Data Science for Future-Proof Transport Planning</title><link>https://robinlovelace.net/old-site/talk/inaugural-lecture-data-science-for-future-proof-transport-planning/</link><pubDate>Thu, 08 May 2025 16:30:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/inaugural-lecture-data-science-for-future-proof-transport-planning/</guid><description>&lt;!-- ![demo](image.png) --></description></item><item><title>Data Driven 2025</title><link>https://robinlovelace.net/old-site/talk/data-driven-2025/</link><pubDate>Thu, 01 May 2025 09:00:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/data-driven-2025/</guid><description>&lt;p>Presentation based on work by me and colleagues on the Network Planning Tool for Scotland (NPT) project, funded by Transport Scotland and delivered in collaboration with Sustrans Scotland.&lt;/p></description></item><item><title>Mapping, classifying, and integrating diverse street network datasets</title><link>https://robinlovelace.net/old-site/talk/mapping-classifying-and-integrating-diverse-street-network-datasets/</link><pubDate>Thu, 24 Apr 2025 14:30:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/mapping-classifying-and-integrating-diverse-street-network-datasets/</guid><description>&lt;p>See a video from the talk below:&lt;/p>
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/6mimz_gN-V8?si=L7Beog5C39LWCfUl" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen>&lt;/iframe></description></item><item><title>Copenhagenize: examining a thesis on urban data science for sustainable mobility and developing bike/research networks</title><link>https://robinlovelace.net/old-site/post/copenhagenize/</link><pubDate>Thu, 03 Apr 2025 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/copenhagenize/</guid><description>&lt;p>I spent the last three days in Copenhagen to examine a &lt;a href="https://en.itu.dk/Research/PhD-Programme/PhD-Defences/PhD-Defences-2025/March/Anastassia-Vybornova" target="_blank" rel="noopener">thesis&lt;/a>.
I assumed the capital of bike-friendly Denmark and inspiration for the ‘&lt;a href="https://copenhagenizeindex.eu/" target="_blank" rel="noopener">Copenhaganize index&lt;/a>’ (which Copenhagen of course leads, with a score of 90.2% as of 2019) would have a lot to offer a transport researcher, and it did not disappoint.
For some thoughts, links and photos from the trip, read on!&lt;/p>
&lt;p>The reason for the trip was to be part of the committee examining a PhD.
This was the second PhD defense (also known as a viva) that I’ve done, and the first outside the UK, so quite a big occasion for me.&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>
It was also a big occasion for the NERDS group in which the research was based, as it was the first PhD that had been completed in the lab.&lt;/p>
&lt;p>The “PhD defense” (also known as the viva) processes &lt;a href="https://eprints.bournemouth.ac.uk/37508/7/624-Article%20Text-966-1-10-20230112.pdf" target="_blank" rel="noopener">vary&lt;/a> from country to country and even from university-to-university within the same country (Teijlingen et al. 2022).
In the UK, vivas take place in a “&lt;a href="https://vitae.ac.uk/resource/working-in-research/doctoral-research/the-viva/" target="_blank" rel="noopener">non-public&lt;/a>” space, typically with two examiners, one internal (based in the same institution as the student) and the other external (a subject expert from a different institution).
In Denmark (and many other countries) the defense happens in public.
There are three examiners, one of whom “&lt;a href="https://www.dtu.dk/english/-/media/dtudk/uddannelse/phd-udannelse/dokumenter/dtus-rules-for-the-phd-programme-may-2023.pdf" target="_blank" rel="noopener">must be from outside of Denmark, unless this is not practicable considering the subject in question&lt;/a>”.&lt;/p>
&lt;p>The thesis I examined was Anastassia Vybornova’s, titled “Urban Data Science for Sustainable Mobility”.&lt;/p>
&lt;p>As the title suggests, it was a multi-disciplinary thesis, combining elements of data science (including reproducible research and open source software development), network science, transport/mobility, and urban planning.
4 out of the 8 papers focussed on cycle network design, a topic that is right up my street, and something that I could comment on.
This focus on cycling: research into active modes is “dwarfed” research into motorised modes, as the thesis rightly points out, and the papers in this thesis help address the imbalance.&lt;/p>
&lt;p>I recommend anyone with an interest in the topic to take a read of the papers (see below), you can also download the &lt;a href="https://en.itu.dk/Research/PhD-Programme/PhD-Defences/PhD-Defences-2025/March/Anastassia-Vybornova" target="_blank" rel="noopener">full PhD Thesis from the website itu.dk&lt;/a>.
A particular highlight for me was the strength of the introduction that tied all the papers together: each aspect of the thesis’s title Urban Data Science for Sustainable Mobility was discussed and defined upfront, setting the scene for the papers.&lt;/p>
&lt;p>I was particularly struck by the discussion of data science, something that I often take for granted.
Data science is defined in the thesis succinctly and correctly as “learning from data”.
One thing that I learned from the thesis was that the term “data science” was popularised in a &lt;a href="https://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century" target="_blank" rel="noopener">article&lt;/a> outlining how the term began to be used in a commercial context, for example “to optimize the service contracts and maintenance intervals for industrial products” according to one example from this highly-cited (and seemingly seminal) article (Davenport and Patil 2012).&lt;/p>
&lt;p>This early commercial focus (or even its reason for existing) may come as a surprise given how prominent the term is in academic and public-sector research: data science is now taught as an academic subject in many if not most universities, and several academic journals bear its name.
There are even job titles such as my job as Professor of Transport Data Science.
Contemporary usage emphasise computational and data-driven techniques while perhaps glossing-over the term’s commercial origins.
That’s not to imply that data science is bad, but the history of the term suggests that it could benefit from being reclaimed, as stated in this apt quote from the &lt;a href="Trip%20to%20Copenhagen%20to%20examine%20a%20thesis%20on%20urban%20data%20science%20for%20sustainable%20mobility%20and%20to%20explore%20and%20develop%20bike%20and%20collaborative%20research%20networks">thesis&lt;/a>:&lt;/p>
&lt;blockquote>
&lt;p>The challenge therefore lies in repurposing digital tools and methods, putting them into service of a sustainable mobility shift instead.&lt;/p>
&lt;/blockquote>
&lt;p>The contents of the thesis ‘walk the walk’ by tackling the challenge head-on, producing important methodological and empirical contributions — plus some valuable open source software packages and reproducible code that future work can build on — in the process.&lt;/p>
&lt;p>The thesis is composed of the following papers:&lt;/p>
&lt;ol>
&lt;li>Paper 1: “A shape-based heuristic for the detection of urban block artifacts in street networks” (Fleischmann and Vybornova 2024)&lt;/li>
&lt;li>Paper 2: “BikeDNA: A tool for bicycle infrastructure data and network assessment” (Vierø, Vybornova, and Szell 2024)&lt;/li>
&lt;li>Paper 3: “How Good Is Open Bicycle Network Data? A Countrywide Case Study of Denmark” (Vierø, Vybornova, and Szell 2025)&lt;/li>
&lt;li>Paper 4: “You Don’t Have to Live Next to Me: Towards a Demobilization of Individualistic Bias in Computational Approaches to Urban Segregation” (A. Vybornova and Verma 2024)&lt;/li>
&lt;li>Paper 5: “Automated Detection of Missing Links in Bicycle Networks” (Anastassia Vybornova et al. 2022)&lt;/li>
&lt;li>Paper 6: “BikeNodePlanner: a data-driven decision support tool for bicycle node network planning” (Anastassia Vybornova et al., n.d.)&lt;/li>
&lt;li>Paper 7: “superblockify: A Python Package for Automated Generation, Visualization, and Analysis of Potential Superblocks in Cities” (Büth, Vybornova, and Szell 2024)&lt;/li>
&lt;li>Paper 8: “Urban highways are barriers to social ties” (Aiello et al., n.d.)&lt;/li>
&lt;/ol>
&lt;p>That is a &lt;em>lot&lt;/em> of ground covered in a single PhD and testament to the collaborative teamwork in action in the &lt;a href="https://nerds.itu.dk/" target="_blank" rel="noopener">NERDS lab&lt;/a>.
After an excellent presentation providing an overview of the work, and ideas that held the papers listed above together into a cohesive whole, there was an in-depth discussion in which the others on the committee and I asked many questions and got detailed answers.
Happy to say: Anastassia passed with flying colours 🎉&lt;/p>
&lt;figure>
&lt;img src="images/paste-2.png" data-fig-alt="Meal in Copenhagen" alt="Meal with Anastassia, PhD supervisor Michael, and the 3/2rds of the examination committee to celebrate" />
&lt;figcaption aria-hidden="true">Meal with Anastassia, PhD supervisor Michael, and the 3/2rds of the examination committee to celebrate&lt;/figcaption>
&lt;/figure>
&lt;h1 id="the-city">The city&lt;/h1>
&lt;p>The city of Copenhagen is beautiful, child-friendly and highly conducive to active travel, things that are enabled by comparatively low (but still harmful) levels of car ownership and driving in city.
There are &lt;a href="https://www.detail.de/de_en/kobehavn-englisch" target="_blank" rel="noopener">entire books&lt;/a> on the topic that I cannot do justice to here, so I will just share some photos I took during the trip.&lt;/p>
&lt;figure>
&lt;img src="images/paste-4.png" alt="Photo of Manchester from the train to the airport on the way to Copenhage, highlighting the fact that there is great potential to ‘copenhagenize’ and make existing cities more liveable. Small interventions like providing clearly demarcated space for cycling and narrowing the carriageway that has low levels of traffic could help, as illustrated in the image below." />
&lt;figcaption aria-hidden="true">Photo of Manchester from the train to the airport on the way to Copenhage, highlighting the fact that there is great potential to ‘copenhagenize’ and make existing cities more liveable. Small interventions like providing clearly demarcated space for cycling and narrowing the carriageway that has low levels of traffic could help, as illustrated in the image below.&lt;/figcaption>
&lt;/figure>
&lt;figure>
&lt;img src="images/paste-5.png" alt="Illustration of “edge lane roads” implemented on a growing number of residential roads in Denmark, providing a cost-effective way of creating space for cycling while reducing vehicle speeds (note the lack of a centreline, encouraging safe driving). Source, the Cycling Emassy of Denmark website, hosted at cylingsolutions.info." />
&lt;figcaption aria-hidden="true">Illustration of “edge lane roads” implemented on a growing number of residential roads in Denmark, providing a cost-effective way of creating space for cycling while reducing vehicle speeds (note the lack of a centreline, encouraging safe driving). Source, the &lt;a href="https://cyclingsolutions.info/edge-lane-roads/">Cycling Emassy of Denmark website, hosted at cylingsolutions.info&lt;/a>.&lt;/figcaption>
&lt;/figure>
&lt;figure>
&lt;img src="images/paste-6.png" alt="Another photo of central Manchester from the train on the way to the airport. This image shows that there are some very liveable and beautiful spaces in the UK, a major issue being the lack of safe active travel routes between them, something that is tackled in “paper 5” of Anastassia’s thesis, on identifying gaps in networks." />
&lt;figcaption aria-hidden="true">Another photo of central Manchester from the train on the way to the airport. This image shows that there are some very liveable and beautiful spaces in the UK, a major issue being the lack of safe active travel routes between them, something that is tackled in “paper 5” of Anastassia’s thesis, on identifying gaps in networks.&lt;/figcaption>
&lt;/figure>
&lt;figure>
&lt;img src="images/paste-7.png" alt="The plane that took me to Copenhagen. There is a tension between the benefits of international links which can grow with in-person meetings and the benefits of reducing travel demand, highlighted by the “No Fly Climate Sci” movement and the article “Could you give up flying? Meet the no-plane pioneers”." />
&lt;figcaption aria-hidden="true">The plane that took me to Copenhagen. There is a tension between the benefits of international links which can grow with in-person meetings and the benefits of reducing travel demand, highlighted by the “&lt;a href="https://noflyclimatesci.org/">No Fly Climate Sci&lt;/a>” movement and the article “&lt;a href="https://www.theguardian.com/travel/2019/may/22/could-you-give-up-flying-meet-the-no-plane-pioneers">Could you give up flying? Meet the no-plane pioneers&lt;/a>”.&lt;/figcaption>
&lt;/figure>
&lt;figure>
&lt;img src="images/paste-8.png" alt="The first bit of cycle infrastructure I came across on the walk from the metro station to Zoku, the place I was staying. This infrastructure is not really good from a utilitarian perspective but it’s good from a fun perspective, highlighting the fact that infrastructure should be fun and child-friendly in places." />
&lt;figcaption aria-hidden="true">The first bit of cycle infrastructure I came across on the walk from the metro station to Zoku, the place I was staying. This infrastructure is not really good from a utilitarian perspective but it’s good from a fun perspective, highlighting the fact that infrastructure should be fun and child-friendly in places.&lt;/figcaption>
&lt;/figure>
&lt;figure>
&lt;img src="images/paste-9.png" alt="The first view I got of the rush hour, from a run on my first day in Copenhagen. Note: cycles outnumber cars by around 3:1. I suspect that that modal split is about right for many roads in central cophagen." />
&lt;figcaption aria-hidden="true">The first view I got of the rush hour, from a run on my first day in Copenhagen. Note: cycles outnumber cars by around 3:1. I suspect that that modal split is about right for many roads in central cophagen.&lt;/figcaption>
&lt;/figure>
&lt;figure>
&lt;img src="images/paste-10.png" alt="The main building of the IT University of Copenhagen where the research and defense took place." />
&lt;figcaption aria-hidden="true">The main building of the &lt;a href="https://itu.dk/">IT University of Copenhagen&lt;/a> where the research and defense took place.&lt;/figcaption>
&lt;/figure>
&lt;figure>
&lt;img src="images/paste-11.png" alt="The view from an office in ITU." />
&lt;figcaption aria-hidden="true">The view from an office in ITU.&lt;/figcaption>
&lt;/figure>
&lt;figure>
&lt;img src="images/paste-13.png" alt="Anastassia in action during the presentation of the thesis" />
&lt;figcaption aria-hidden="true">Anastassia in action during the presentation of the thesis&lt;/figcaption>
&lt;/figure>
&lt;figure>
&lt;img src="images/paste-14.png" alt="A typical arterial road in Denmark. Note: the amount of space taken by private motorised modes is greater than the amount of space dedicated for active travel. This suggests that there is room for improvement for active travel provision and quick wins even in cities with active travel levels that are high compared with most cities worldwide but which still have a high level of car ownership and use in absolute terms." />
&lt;figcaption aria-hidden="true">A typical arterial road in Denmark. Note: the amount of space taken by private motorised modes is greater than the amount of space dedicated for active travel. This suggests that there is room for improvement for active travel provision and quick wins even in cities with active travel levels that are high compared with most cities worldwide but which still have a high level of car ownership and use in absolute terms.&lt;/figcaption>
&lt;/figure>
&lt;figure>
&lt;img src="images/paste-15.png" alt="One of many bridges for active travel in Copenhagen. Note the width of the paths and space enabling high levels of cycle and foot traffic. It is a beautiful site to behold." />
&lt;figcaption aria-hidden="true">One of many bridges for active travel in Copenhagen. Note the width of the paths and space enabling high levels of cycle and foot traffic. It is a beautiful site to behold.&lt;/figcaption>
&lt;/figure>
&lt;figure>
&lt;img src="images/paste-17.png" alt="Another car-free bridge, highlighting the scale of active travel infrastructure and investment for a joined-up network." />
&lt;figcaption aria-hidden="true">Another car-free bridge, highlighting the scale of active travel infrastructure and investment for a joined-up network.&lt;/figcaption>
&lt;/figure>
&lt;figure>
&lt;img src="images/paste-18.png" alt="The Copehagen skyline" />
&lt;figcaption aria-hidden="true">The Copehagen skyline&lt;/figcaption>
&lt;/figure>
&lt;figure>
&lt;img src="images/paste-19.png" alt="An example of clear separation between cycling and walking modes." />
&lt;figcaption aria-hidden="true">An example of clear separation between cycling and walking modes.&lt;/figcaption>
&lt;/figure>
&lt;figure>
&lt;img src="images/paste-20.png" alt="Central Copenhagen, highlighting the high throughflow of pedestrians and cyclists enabled by space allocation policies, and the fact that there are bike parking spaces *everywhere* in the city." />
&lt;figcaption aria-hidden="true">Central Copenhagen, highlighting the high throughflow of pedestrians and cyclists enabled by space allocation policies, and the fact that there are bike parking spaces *everywhere* in the city.&lt;/figcaption>
&lt;/figure>
&lt;p>Overall it was an inspiring trip.
There are many research ideas brewing, and I look forward to putting some of them into thought, words, code and action over the coming months.
I would love to learn more about how Copenhagen and other cities with high percentages of trips made by active modes got there so feel free to get in touch on that.
If you’re interested in any of the code underlying Anastassia’s thesis, check out the &lt;a href="https://github.com/NERDSITU/" target="_blank" rel="noopener">NERDSITU GitHub organisation&lt;/a>.&lt;/p>
&lt;p>More could be said on the research and city sides, I would love to create a photo map of my trip, but that can wait for another day.&lt;/p>
&lt;h1 id="references">References&lt;/h1>
&lt;div id="refs" class="references csl-bib-body hanging-indent">
&lt;div id="ref-aiello" class="csl-entry">
&lt;p>Aiello, Luca Maria, Anastassia Vybornova, Sándor Juhász, Michael Szell, and Eszter Bokányi. n.d. “Urban Highways Are Barriers to Social Ties.” &lt;a href="https://doi.org/10.48550/arXiv.2404.11596" target="_blank" rel="noopener">https://doi.org/10.48550/arXiv.2404.11596&lt;/a>.&lt;/p>
&lt;/div>
&lt;div id="ref-büth2024" class="csl-entry">
&lt;p>Büth, Carlson Moses, Anastassia Vybornova, and Michael Szell. 2024. “Superblockify: A Python Package for Automated Generation, Visualization, and Analysis of Potential Superblocks in Cities.” &lt;em>Journal of Open Source Software&lt;/em> 9 (100): 6798. &lt;a href="https://doi.org/10.21105/joss.06798" target="_blank" rel="noopener">https://doi.org/10.21105/joss.06798&lt;/a>.&lt;/p>
&lt;/div>
&lt;div id="ref-davenport2012" class="csl-entry">
&lt;p>Davenport, Thomas H., and D. J. Patil. 2012. “Data Scientist: The Sexiest Job of the 21st Century.” &lt;em>Harvard Business Review&lt;/em>, October. &lt;a href="https://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century" target="_blank" rel="noopener">https://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century&lt;/a>.&lt;/p>
&lt;/div>
&lt;div id="ref-fleischmann2024" class="csl-entry">
&lt;p>Fleischmann, Martin, and Anastassia Vybornova. 2024. “A Shape-Based Heuristic for the Detection of Urban Block Artifacts in Street Networks.” &lt;em>Journal of Spatial Information Science&lt;/em>, no. 28 (June): 75–102. &lt;a href="https://doi.org/10.5311/JOSIS.2024.28.31" target="_blank" rel="noopener">https://doi.org/10.5311/JOSIS.2024.28.31&lt;/a>.&lt;/p>
&lt;/div>
&lt;div id="ref-vanteijlingen2022" class="csl-entry">
&lt;p>Teijlingen, Edwin van, Bibha Simkhada, Pramod Regmi, Padam Simkhada, Vanora Hundley, and Krishna C. Poudel. 2022. “Reflections on Variations in PhD Viva Regulations: “And the Options Are …”.” &lt;em>Journal of Education and Research&lt;/em> 12 (2): 61–74. &lt;a href="https://doi.org/10.51474/jer.v12i2.624" target="_blank" rel="noopener">https://doi.org/10.51474/jer.v12i2.624&lt;/a>.&lt;/p>
&lt;/div>
&lt;div id="ref-vierø2024" class="csl-entry">
&lt;p>Vierø, Ane Rahbek, Anastassia Vybornova, and Michael Szell. 2024. “BikeDNA: A Tool for Bicycle Infrastructure Data and Network Assessment.” &lt;em>Environment and Planning B: Urban Analytics and City Science&lt;/em> 51 (2): 512–28. &lt;a href="https://doi.org/10.1177/23998083231184471" target="_blank" rel="noopener">https://doi.org/10.1177/23998083231184471&lt;/a>.&lt;/p>
&lt;/div>
&lt;div id="ref-vierø2025" class="csl-entry">
&lt;p>———. 2025. “How Good Is Open Bicycle Network Data? A Countrywide Case Study of Denmark.” &lt;em>Geographical Analysis&lt;/em> 57 (1): 52–87. &lt;a href="https://doi.org/10.1111/gean.12400" target="_blank" rel="noopener">https://doi.org/10.1111/gean.12400&lt;/a>.&lt;/p>
&lt;/div>
&lt;div id="ref-vybornova2022" class="csl-entry">
&lt;p>Vybornova, Anastassia, Tiago Cunha, Astrid Gühnemann, and Michael Szell. 2022. “Automated Detection of Missing Links in Bicycle Networks.” &lt;em>Geographical Analysis&lt;/em> n/a (n/a). &lt;a href="https://doi.org/10.1111/gean.12324" target="_blank" rel="noopener">https://doi.org/10.1111/gean.12324&lt;/a>.&lt;/p>
&lt;/div>
&lt;div id="ref-vybornova" class="csl-entry">
&lt;p>Vybornova, Anastassia, Ane Rahbek Vierø, Kirsten Krogh Hansen, and Michael Szell. n.d. “BikeNodePlanner: A Data-Driven Decision Support Tool for Bicycle Node Network Planning.” &lt;a href="https://doi.org/10.48550/arXiv.2412.20270" target="_blank" rel="noopener">https://doi.org/10.48550/arXiv.2412.20270&lt;/a>.&lt;/p>
&lt;/div>
&lt;div id="ref-vybornova2024" class="csl-entry">
&lt;p>Vybornova, A., and T. Verma. 2024. “You Don’t Have to Live Next to Me: Towards a Demobilization of Individualistic Bias in Computational Approaches to Urban Segregation.” Copenhagen.&lt;/p>
&lt;/div>
&lt;/div>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>I was a reviewer of a &lt;a href="https://bsky.app/profile/robinlovelace.bsky.social/post/3llxvrb652c2e" target="_blank" rel="noopener">thesis&lt;/a> by &lt;a href="https://christianwerner.at/" target="_blank" rel="noopener">Christian Werner&lt;/a> on “Integrated geospatial network assessment for planning support in cycling mobility” but was not part of the defense committee.
The first PhD thesis I examined was “Rethinking streets: a study of streetspace allocation metrics and street networks in London” by &lt;a href="https://npalomin.github.io/" target="_blank" rel="noopener">Nicolas Palominos&lt;/a>.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Reproducible Methods for Modeling Combined Public Transport and Cycling Trips and Associated Benefits: Evidence from the biclaR Tool</title><link>https://robinlovelace.net/old-site/publication/felix-reproducible-2025/</link><pubDate>Tue, 01 Apr 2025 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/felix-reproducible-2025/</guid><description/></item><item><title>Geocomputation with Python</title><link>https://robinlovelace.net/old-site/publication/dorman-geocomputation-2025/</link><pubDate>Fri, 14 Feb 2025 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/dorman-geocomputation-2025/</guid><description/></item><item><title>Transport AI 2025</title><link>https://robinlovelace.net/old-site/talk/transport-ai-2025/</link><pubDate>Wed, 05 Feb 2025 09:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/transport-ai-2025/</guid><description>&lt;p>I&amp;rsquo;m looking forward to learning about the latest developments in transport AI at this event.&lt;/p>
&lt;p>For more information see the &lt;a href="https://www.transportai.uk/" target="_blank" rel="noopener">event website&lt;/a>.&lt;/p></description></item><item><title>Looking back on 2024 and forward to 2025</title><link>https://robinlovelace.net/old-site/post/2024-retrospective/</link><pubDate>Fri, 03 Jan 2025 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/2024-retrospective/</guid><description>&lt;p>In this post I look back on 2024 and forward to 2025.&lt;/p>
&lt;p>Work-wise, I completed my contract in the &lt;a href="https://www.gov.uk/government/organisations/civil-service" target="_blank" rel="noopener">Civil Service&lt;/a> where I&amp;rsquo;ve been working for the last 2 years in new government agency &lt;a href="https://www.activetravelengland.gov.uk/" target="_blank" rel="noopener">Active Travel England&lt;/a>&lt;/p>
&lt;!-- (note their shiny new website hosted at [activetravelengland.gov.uk](https://www.activetravelengland.gov.uk/), which has been a long time coming). -->
&lt;p>I got a &lt;a href="https://www.robinlovelace.net/post/professorship/" target="_blank" rel="noopener">promotion&lt;/a>, and, from January 2025, will be back to the relative simplicity of having a single full time job.&lt;/p>
&lt;p>On a personal note, I’m thrilled to announce that I’ve become a father again!
My wife Katy gave birth to a beautiful baby girl, Rosa Lovelace, on Tuesday 12th November 2024.
Kit, who was born three years earlier, is being an excellent big brother.
While it inevitably led to less free time and some disrupted nights in the final part of the year, it has meant the world to us as a family.&lt;/p>
&lt;p>Despite all this change, I&amp;rsquo;ve still found time to do some fun things outside work and to participate in amazing community projects.&lt;/p>
&lt;p>That&amp;rsquo;s the high-level summary of what I&amp;rsquo;ve been up to for anyone interested in my exploits in 2024.
If you&amp;rsquo;re &lt;em>really&lt;/em> interested, read on!&lt;/p>
&lt;h1 id="working-at-active-travel-england">Working at Active Travel England&lt;/h1>
&lt;p>My two-year contract at Active Travel England concluded on January 3, 2025, marking the end of a detour in my career.
As outlined in a previous &lt;a href="https://www.robinlovelace.net/post/professorship/" target="_blank" rel="noopener">post&lt;/a>, taking the job in the Civil Service and going part-time at the University of Leeds to enable it was a big decision.&lt;/p>
&lt;!-- Balancing an academic career with a part-time role outside academia was a challenge.
The nature of academic work lends itself to an 'all in' approach, especially when it comes to research and the pressure/expectation/enjoyment of publishing.
That 'all in' mentality wouldn't normally apply so much to the Civil Service (as outlined in [Reddit thread](https://www.reddit.com/r/TheCivilService/comments/14ga6j4/what_are_the_positives_and_negatives_of_working/) on the pros and cons of working there), but in a new and exciting government agency like ATE I knew that many people were 100% committed to it. -->
&lt;p>The decision to go part time in both jobs was the right one though: it allowed me to follow through on the belief that publicly-funded researchers owe it to society to &amp;lsquo;give back&amp;rsquo;.
Plus, the differences between academia and the Civil Service are not too big: both are knowledge-based institutions with a focus on evidence and the public good.
(In some countries such as Germany, academics are civil servants.)&lt;/p>
&lt;p>More specifically, accepting the offer to work part time in a new part of central government, devoted to a topic that I am passionate about, was exciting.
It allowed me to build a data and digital team and help shape a rapidly-evolving organisation.
Furthermore, I knew that the role in Active Travel England would allow me to work on projects that will have huge impacts for years to come, while continuing to work with outstanding people as part of my main career in academia.&lt;/p>
&lt;p>The job at ATE didn&amp;rsquo;t come out of the blue.
I started working for ATE as the Director of Data and Analysis, on an interim basis in 2022.
It was a secondment from my role as a 10DS Fellow at the data science team in No 10, which was itself a secondment from the University of Leeds.
Clearly, building digital and data science capacity in government was going to be easier to deliver if I was working for government directly.
Positive societal impact has always been a key driver for me, and the opportunity to work on the Active Travel England project was too good to pass up.&lt;/p>
&lt;p>My proudest achievements in ATE include:&lt;/p>
&lt;ul>
&lt;li>Setting-up a grant funding agreement between Active Travel England and the Alan Turing Institute (see details at &lt;a href="https://www.turing.ac.uk/news/alan-turing-institute-brings-data-expertise-nationwide-walking-and-cycling-schemes" target="_blank" rel="noopener">turing.ac.uk&lt;/a> and &lt;a href="https://www.forbes.com/sites/carltonreid/2023/04/04/active-travel-england-partners-with-alan-turing-institute-to-leverage-data-into-investment/" target="_blank" rel="noopener">Forbes&lt;/a>) enabling the development of new digital tools for more effective transport planning, including &lt;a href="https://plan.activetravelengland.gov.uk" target="_blank" rel="noopener">planning&lt;/a> (see below) and &amp;lsquo;&lt;a href="https://acteng.github.io/inspectorate_tools/" target="_blank" rel="noopener">inspectorate&lt;/a>&amp;rsquo; tools, supplementing the spreadsheet-based &lt;a href="https://www.gov.uk/government/publications/active-travel-england-design-assistance-tools" target="_blank" rel="noopener">Active Travel England design assistance tools&lt;/a>. &lt;!-- (Incidentally, this was the first submission that ATE sent to then new government led by Rishi Sunak after the tumultuous and short-lived Liz Truss premiership.) -->&lt;/li>
&lt;li>Instigating the &amp;lsquo;ATIP&amp;rsquo; project hosted at &lt;a href="https://plan.activetravelengland.gov.uk" target="_blank" rel="noopener">plan.activetravelengland.gov.uk&lt;/a> (see open source code at &lt;a href="https://github.com/acteng/atip" target="_blank" rel="noopener">github.com/acteng/atip&lt;/a>)&lt;/li>
&lt;li>The &lt;a href="https://acteng.github.io/netgen/articles/schoolroutes.html" target="_blank" rel="noopener">SchoolRoutes&lt;/a> project, which builds on &lt;a href="https://od2net.org" target="_blank" rel="noopener">&lt;code>od2net&lt;/code>&lt;/a> and the &lt;a href="https://www.pct.bike" target="_blank" rel="noopener">Propensity to Cycle Tool&lt;/a> to help local authorities identify and prioritise school routes for investment in active travel infrastructure.&lt;/li>
&lt;/ul>
&lt;p>After my experience there, I would recommend working in the Civil Service to anyone who is interested in making a positive impact on society and has the skills to do so, see job opportunities at &lt;a href="https://www.civilservicejobs.service.gov.uk/csr/index.cgi?SID=cGFnZWNsYXNzPVNlYXJjaCZwYWdlYWN0aW9uPXNlYXJjaGNvbnRleHQmb3duZXI9NTA3MDAwMCZvd25lcnR5cGU9ZmFpciZjb250ZXh0aWQ9MTExNDU0MzU1JnJlcXNpZz0xNzM2MDg2MTMxLTUxMTE3Mjc4NGUwNDczYWQ4N2I1NDIzNzU0MDMyN2Q3ZGZkNzA0ZGQ=" target="_blank" rel="noopener">civilservicejobs.service.gov.uk&lt;/a>.&lt;/p>
&lt;h1 id="academic-exploits">Academic exploits&lt;/h1>
&lt;p>In 2024 I continued to work on a range of academic projects, with the focus being on the Network Planning Tool for Scotland (&lt;a href="https://www.npt.scot/" target="_blank" rel="noopener">NPT&lt;/a>), the new BICISCHOOLS project with colleagues at the University of Lisbon, and various ongoing research projects and collaborations.&lt;/p>
&lt;p>Highlights included:&lt;/p>
&lt;ul>
&lt;li>I completed two books on geographic data analysis using free and open-source programming languages for reproducible research. Both are now with CRC Press, available for pre-order, and will be published in 2025.
&lt;ul>
&lt;li>Geocomputation with R (second edition), a major update of the first edition, which was published in 2019.&lt;/li>
&lt;li>Geocomputation with Python, a new book that builds on the success of the R book and applies the same principles to the Python programming language.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Delivering a keynote at the &lt;a href="https://www.robinlovelace.net/post/tartu2024/" target="_blank" rel="noopener">Mobile Tartu conference&lt;/a>, and participating in the summer school that preceded it, which incidentally led to a new R package [&lt;code>spanishoddata&lt;/code> (see below).&lt;/li>
&lt;li>The internationalisation and extension of methods developed for the Propensity to Cycle Tool project, including:
&lt;ul>
&lt;li>Publishing our work on the Cycle Route Uptake and Scenario Estimation (CRUSE) project in an academic &lt;a href="https://www.robinlovelace.net/publication/lovelace-cycle-2024/" target="_blank" rel="noopener">paper&lt;/a> (see &lt;a href="https://cruse.bike/" target="_blank" rel="noopener">cruse.bike&lt;/a> for an interactive web app resulting from the research)&lt;/li>
&lt;li>Completion of the &lt;a href="https://www.tmlmobilidade.pt/comunicacao/noticias/biclar-tml-chama-municipios-a-debater-rumo-a-um-futuro-ciclavel/" target="_blank" rel="noopener">Biclar&lt;/a> &lt;a href="https://u-shift.github.io/biclarwww/" target="_blank" rel="noopener">web application&lt;/a> and paper, published in Computers, Environment and Urban Systems (&lt;a href="https://www.sciencedirect.com/science/article/pii/S0198971522000731" target="_blank" rel="noopener">CEUS&lt;/a>) describing the underlying methods.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Participating in the Spatial Data Science across Languages (&lt;a href="https://spatial-data-science.github.io/2024/" target="_blank" rel="noopener">SDSL&lt;/a>) conference, which was held in-person in Prague in September 2024.&lt;/li>
&lt;/ul>
&lt;h1 id="my-year-in-open-source">My year in open source&lt;/h1>
&lt;p>In 2024 I continued to contribute to open source projects, including:&lt;/p>
&lt;ul>
&lt;li>Developing a simple R interface to the &lt;a href="https://od2net.org" target="_blank" rel="noopener">&lt;code>od2net&lt;/code>&lt;/a> Rust crate, which can generate route networks for OD data in a fraction of the time of other approaches.
&lt;ul>
&lt;li>This work was part of the SchoolRoutes project, see the &lt;a href="https://acteng.github.io/netgen/" target="_blank" rel="noopener">acteng/netgen&lt;/a> package for more details.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Instigating and co-authoring the new &lt;a href="https://github.com/ropenspain/spanishoddata" target="_blank" rel="noopener">&lt;code>spanishoddata&lt;/code>&lt;/a> R package, which enables reproducible scientific research and discovery in mobility and other fields based on the world&amp;rsquo;s first open access and high-resolution national origin-destination dataset. Thanks to the Spanish government for making this data open access and to Egor Kotov, who led the development of the package after we met at the Mobile Tartu conference.&lt;/li>
&lt;li>Contributing to the &lt;a href="https://github.com/anisotropi4/parenx" target="_blank" rel="noopener">&lt;code>parenx&lt;/code>&lt;/a> Python package, now on &lt;code>pip&lt;/code> which provides functions for simplification of geographic representations of transport networks.&lt;/li>
&lt;li>Work on software for joining spatial networks, including improvements to the &lt;a href="https://docs.ropensci.org/stplanr/reference/rnet_join.html" target="_blank" rel="noopener">&lt;code>stplanr::rnet_join()&lt;/code>&lt;/a> function and contributions to the &lt;a href="https://github.com/josiahparry/anime" target="_blank" rel="noopener">&lt;code>anime&lt;/code>&lt;/a> (Approximate Network Integration, Matching and Enrichment) package for fast and flexible linestring matching in R, Rust and (hopefully soon) other languages.&lt;/li>
&lt;/ul>
&lt;p>See my &lt;a href="https://github.com/robinlovelace" target="_blank" rel="noopener">GitHub profile&lt;/a> for more details on my open source work.&lt;/p>
&lt;h1 id="community-projects">Community projects&lt;/h1>
&lt;p>Working across three roles as Lead Data Scientist at Active Travel England, an academic at the University of Leeds, and an author and maintainer of open-source software involved a lot of screen time.
The perfect antidote to that is getting outside and doing things with other people and 2024 was pretty strong in that regard.
I had three main outlets for my outdoorsy and social side in 2024: the community-run &lt;a href="https://bikefs.org/" target="_blank" rel="noopener">Bike Fix Sunday&lt;/a> project to help people fix their bikes in the local community, the Chapeltown Cohousing community-led housing project where I live, and the &amp;lsquo;Oaty Cortado run club&amp;rsquo;.&lt;/p>
&lt;p>These were a fun and rewarding outlet during downtime from work and family life and, as the photos below convey, were great fun.&lt;/p>
&lt;h2 id="bike-fix-sunday">Bike Fix Sunday&lt;/h2>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/old-site/post/2024-retrospective/images/paste-4_hu54d1d8add1df94b1895892943070a2b0_748218_869c886446eba325f22246fe136545a8.webp 400w,
/old-site/post/2024-retrospective/images/paste-4_hu54d1d8add1df94b1895892943070a2b0_748218_6531f7960e08767b141f5668338d0c1a.webp 760w,
/old-site/post/2024-retrospective/images/paste-4_hu54d1d8add1df94b1895892943070a2b0_748218_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://robinlovelace.net/old-site/old-site/post/2024-retrospective/images/paste-4_hu54d1d8add1df94b1895892943070a2b0_748218_869c886446eba325f22246fe136545a8.webp"
width="760"
height="369"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>&lt;em>The Bike Fix Sunday Facebook group, we&amp;rsquo;ve got 150 members now and have fixed a similar number of bikes.&lt;/em>&lt;/p>
&lt;p>See the &lt;a href="https://bikefs.org/" target="_blank" rel="noopener">Bike Fix Sunday&lt;/a> website for more details on the project, which is a great way to meet people in the local community and help people fix their bikes.&lt;/p>
&lt;h2 id="chapeltown-cohousing">Chapeltown Cohousing&lt;/h2>
&lt;p>&lt;a href="https://www.chapeltowncohousing.org.uk/" target="_blank" rel="noopener">Chapeltown Cohousing&lt;/a> is a cohousing project in Leeds.
It&amp;rsquo;s a great place to live, with a decent amount of outdoor space that is ideal for children to run around in without the danger of the roads.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/old-site/post/2024-retrospective/images/paste-7_hu3bea09d8171b21d7b2c7090c0e622a23_1888279_725e6ffde3bdc219ef85b8451f4c7ba8.webp 400w,
/old-site/post/2024-retrospective/images/paste-7_hu3bea09d8171b21d7b2c7090c0e622a23_1888279_d89e78708b4b0e154a1545fb2bb2c323.webp 760w,
/old-site/post/2024-retrospective/images/paste-7_hu3bea09d8171b21d7b2c7090c0e622a23_1888279_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://robinlovelace.net/old-site/old-site/post/2024-retrospective/images/paste-7_hu3bea09d8171b21d7b2c7090c0e622a23_1888279_725e6ffde3bdc219ef85b8451f4c7ba8.webp"
width="760"
height="556"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>&lt;em>Chapeltown Cohousing in the sun, plus Katy and Rosa being surrounded by a rainbow&lt;/em>&lt;/p>
&lt;p>Other than simply living there and chatting to our amazing neighbours, I&amp;rsquo;ve got involved in a few initiatives there, including getting a shared electric cargo bike, thanks to a grant from the &lt;a href="https://www.leeds.gov.uk/community-climate-grants" target="_blank" rel="noopener">Leeds Community Climate Grant&lt;/a> initiative.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/old-site/post/2024-retrospective/images/paste-8_hu7fbda2ed0e0fedd09c95b21b909544db_1466412_f2439eb702f28ef1f68e33d838f38621.webp 400w,
/old-site/post/2024-retrospective/images/paste-8_hu7fbda2ed0e0fedd09c95b21b909544db_1466412_9b5bda4e64e9709fcc07c5630f4a519b.webp 760w,
/old-site/post/2024-retrospective/images/paste-8_hu7fbda2ed0e0fedd09c95b21b909544db_1466412_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://robinlovelace.net/old-site/old-site/post/2024-retrospective/images/paste-8_hu7fbda2ed0e0fedd09c95b21b909544db_1466412_f2439eb702f28ef1f68e33d838f38621.webp"
width="760"
height="572"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>&lt;em>Chapeltown cohousing&amp;rsquo;s shared electric bike, plus happy travellers on their way home on the nursery run.&lt;/em>&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/old-site/post/2024-retrospective/images/paste-9_hu8b8a36ea847ac72e3f77e163dec3835c_1507791_1d9b02c7b6d2ba1dabe29250da7e4988.webp 400w,
/old-site/post/2024-retrospective/images/paste-9_hu8b8a36ea847ac72e3f77e163dec3835c_1507791_0fa760e413fcbca17d053bc41426e358.webp 760w,
/old-site/post/2024-retrospective/images/paste-9_hu8b8a36ea847ac72e3f77e163dec3835c_1507791_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://robinlovelace.net/old-site/old-site/post/2024-retrospective/images/paste-9_hu8b8a36ea847ac72e3f77e163dec3835c_1507791_1d9b02c7b6d2ba1dabe29250da7e4988.webp"
width="760"
height="579"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>&lt;em>The electric cargo bike in action, showing how a good bike trailer + bike can conveniently carry more than many cars.&lt;/em>&lt;/p>
&lt;h2 id="oaty-cortado-run-club">Oaty Cortado run club&lt;/h2>
&lt;p>This isn&amp;rsquo;t an official run club, just a group of mates who go for a coffee once a week or so, and fit in some runs too!
I&amp;rsquo;m not on Strava much, but having seen the impressive &lt;a href="https://www.strava.com/activities/13236925876" target="_blank" rel="noopener">activity&lt;/a> on there from Oaty Cortado run club member &lt;a href="https://www.bobakchampion.co.uk/" target="_blank" rel="noopener">Bobak Champion&lt;/a>, getting more involved in running and encouraging more people to do so seems a worthy New Year&amp;rsquo;s resolution!&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/old-site/post/2024-retrospective/images/paste-5_hu459c7fc88e69fd30a27850f192651de7_714587_3a908bf6f1e0b523bcc67c61c53081ec.webp 400w,
/old-site/post/2024-retrospective/images/paste-5_hu459c7fc88e69fd30a27850f192651de7_714587_9e0b8888d0c735cdab29495987052c6b.webp 760w,
/old-site/post/2024-retrospective/images/paste-5_hu459c7fc88e69fd30a27850f192651de7_714587_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://robinlovelace.net/old-site/old-site/post/2024-retrospective/images/paste-5_hu459c7fc88e69fd30a27850f192651de7_714587_3a908bf6f1e0b523bcc67c61c53081ec.webp"
width="760"
height="373"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>&lt;em>Oaty Cortado run club in action.&lt;/em>&lt;/p>
&lt;p>I&amp;rsquo;d also like to go on more runs with the little ones: baby Rosa is yet to do a run in the buggy but that should change in 2025!&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/old-site/post/2024-retrospective/images/paste-6_huca39f1122f371e44ad763641ed77e06d_1441121_6b359da24d3d635216eae6636b78e366.webp 400w,
/old-site/post/2024-retrospective/images/paste-6_huca39f1122f371e44ad763641ed77e06d_1441121_c8afb8c87011f5916b8068ea98c5e3b1.webp 760w,
/old-site/post/2024-retrospective/images/paste-6_huca39f1122f371e44ad763641ed77e06d_1441121_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://robinlovelace.net/old-site/old-site/post/2024-retrospective/images/paste-6_huca39f1122f371e44ad763641ed77e06d_1441121_6b359da24d3d635216eae6636b78e366.webp"
width="569"
height="760"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>&lt;em>Family run with the little ones in the bike trailer / running buggy.&lt;/em>&lt;/p>
&lt;h1 id="thoughts-on-2025">Thoughts on 2025&lt;/h1>
&lt;p>I’m looking forward 2025, building on the foundations laid in 2024.
Happy New Year everyone!&lt;/p>
&lt;!-- With the extra bandwidth allowed by the completion of my work at Active Travel England, I'm also open to opportunities, so if you would like to get in touch about a project or collaboration, please do so in the comments below, via the [contact form](https://www.robinlovelace.net/#contact), or via email. -->
&lt;!-- ![](images/paste-2.png)
*Kit enjoying the snow in 2024.*
![](images/paste-3.png) -->
&lt;!-- *Kit and Rosa* 🥰 --></description></item><item><title>flowcluster: Cluster origin-destination flow data</title><link>https://robinlovelace.net/old-site/publication/mahfouz-flowcluster-2025/</link><pubDate>Wed, 01 Jan 2025 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/mahfouz-flowcluster-2025/</guid><description/></item><item><title>Tools for Future-Proof Transport Planning: Open Source, Open Access, Reproducible and Collaborative</title><link>https://robinlovelace.net/old-site/talk/tools-for-future-proof-transport-planning-open-source-open-access-reproducible-and-collaborative/</link><pubDate>Thu, 10 Oct 2024 15:00:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/tools-for-future-proof-transport-planning-open-source-open-access-reproducible-and-collaborative/</guid><description>&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">In a hybrid UBDC webinar at 3pm on Thursday 10 October, &lt;a href="https://twitter.com/robinlovelace?ref_src=twsrc%5Etfw">@robinlovelace&lt;/a> from the Leeds Institute for Transport Studies will make the case that &lt;a href="https://twitter.com/hashtag/ReproducibleResearch?src=hash&amp;amp;ref_src=twsrc%5Etfw">#ReproducibleResearch&lt;/a> and &lt;a href="https://twitter.com/hashtag/OpenTools?src=hash&amp;amp;ref_src=twsrc%5Etfw">#OpenTools&lt;/a> are essential for effective 21st century &lt;a href="https://twitter.com/hashtag/TransportPlanning?src=hash&amp;amp;ref_src=twsrc%5Etfw">#TransportPlanning&lt;/a>. Full details: &lt;a href="https://t.co/6E6kOfziXl">https://t.co/6E6kOfziXl&lt;/a>&lt;/p>&amp;mdash; UBDC (@UrbanBigData) &lt;a href="https://twitter.com/UrbanBigData/status/1843564536567107629?ref_src=twsrc%5Etfw">October 8, 2024&lt;/a>&lt;/blockquote> &lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;h2 id="blurb">Blurb&lt;/h2>
&lt;p>&lt;a href="https://www.robinlovelace.net" target="_blank" rel="noopener">Robin Lovelace&lt;/a> is Professor of Transport Data Science at the Leeds Institute for Transport Studies (&lt;a href="https://environment.leeds.ac.uk/transport/staff/953/dr-robin-lovelace" target="_blank" rel="noopener">ITS&lt;/a>) and Head of Data Science at the UK government agency &lt;a href="https://activetravelengland.gov.uk/" target="_blank" rel="noopener">Active Travel England&lt;/a>.
Robin specializes in data science and geocomputation, with a focus on developing geographic methods applied to modeling transport systems, active travel, and decarbonisation.
Robin has experience not only researching but deploying transport models in inform sustainable policies and more effective use of transport investment, including as Lead Developer of the Propensity to Cycle Tool (see &lt;a href="https://www.pct.bike" target="_blank" rel="noopener">www.pct.bike&lt;/a>), the basis of strategic cycle network plans nationwide.
Robin has led numerous data science projects for organizations ranging from the Department for Transport and Transport Infrastructure Ireland to the World Bank.&lt;/p>
&lt;h2 id="pre-event-write-up">Pre-event write up&lt;/h2>
&lt;p>I&amp;rsquo;m on my way up North, looking forward to it!&lt;/p>
&lt;p>See below for info on the talk and how to attend/get involved.&lt;/p>
&lt;p>Photo from the way up North:&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/old-site/talk/tools-for-future-proof-transport-planning-open-source-open-access-reproducible-and-collaborative/images/paste-1_hua9249d18258e3a4d5b47e1282ab10373_1021299_cc9ea1d78dfaa785c89c7a0bb6324411.webp 400w,
/old-site/talk/tools-for-future-proof-transport-planning-open-source-open-access-reproducible-and-collaborative/images/paste-1_hua9249d18258e3a4d5b47e1282ab10373_1021299_4c10f07fe41a67dd5e705c13292ad4fb.webp 760w,
/old-site/talk/tools-for-future-proof-transport-planning-open-source-open-access-reproducible-and-collaborative/images/paste-1_hua9249d18258e3a4d5b47e1282ab10373_1021299_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://robinlovelace.net/old-site/old-site/talk/tools-for-future-proof-transport-planning-open-source-open-access-reproducible-and-collaborative/images/paste-1_hua9249d18258e3a4d5b47e1282ab10373_1021299_cc9ea1d78dfaa785c89c7a0bb6324411.webp"
width="760"
height="527"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>See &lt;a href="eventbrite.html">eventbrite&lt;/a> for more details.&lt;/p></description></item><item><title>Cycle Route Uptake and Scenario Estimation (CRUSE): An Approach for Developing Strategic Cycle Network Planning Tools</title><link>https://robinlovelace.net/old-site/publication/lovelace-cycle-2024/</link><pubDate>Mon, 30 Sep 2024 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-cycle-2024/</guid><description/></item><item><title>Spatial Data Sciences across the Languages (SDSL) 2024</title><link>https://robinlovelace.net/old-site/talk/spatial-data-sciences-across-the-languages-sdsl-2024/</link><pubDate>Wed, 18 Sep 2024 09:00:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/spatial-data-sciences-across-the-languages-sdsl-2024/</guid><description/></item><item><title>Packaging Code and Data for Reproducible Research: A Case Study of Journey Time Statistics</title><link>https://robinlovelace.net/old-site/publication/botta-packaging-2024/</link><pubDate>Wed, 24 Jul 2024 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/botta-packaging-2024/</guid><description/></item><item><title>The Pathway to Professorship</title><link>https://robinlovelace.net/old-site/post/professorship/</link><pubDate>Wed, 24 Jul 2024 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/professorship/</guid><description>
&lt;div id="TOC">
&lt;ul>
&lt;li>&lt;a href="#my-career-path" id="toc-my-career-path">My career path&lt;/a>&lt;/li>
&lt;li>&lt;a href="#the-promotion-process-and-portfolio" id="toc-the-promotion-process-and-portfolio">The promotion process and portfolio&lt;/a>&lt;/li>
&lt;li>&lt;a href="#key-publications" id="toc-key-publications">Key publications&lt;/a>&lt;/li>
&lt;li>&lt;a href="#portfolio" id="toc-portfolio">Portfolio&lt;/a>&lt;/li>
&lt;li>&lt;a href="#reflections-on-incentives-inspiration-and-future-plans" id="toc-reflections-on-incentives-inspiration-and-future-plans">Reflections on incentives, inspiration and future plans&lt;/a>&lt;/li>
&lt;/ul>
&lt;/div>
&lt;p>I am delighted to announce that I have been appointed to a Professorship at the &lt;a href="https://environment.leeds.ac.uk/transport/staff/953/dr-robin-lovelace">University of Leeds&lt;/a>.
A small change in my job title (just removing the first word of my previous job title “Associate Professor of Transport Data Science” as shown in the ‘&lt;a href="https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/incorporating-feedback-in-your-pull-request">diff&lt;/a>’ below) means a lot for my career.&lt;/p>
&lt;!-- ```diff
-Associate Professor of Transport Data Science
+Professor of Transport Data Science
``` -->
&lt;p>&lt;img src="images/paste-1.png" />&lt;/p>
&lt;p>This post is a reflection on the path that got me here, provides some insight into the promotion system in the UK, outlines some of the work that I’m most proud of, and provides a chance to say thank you to the many people who have inspired and supported me along the way.&lt;/p>
&lt;div id="my-career-path" class="section level1">
&lt;h1>My career path&lt;/h1>
&lt;p>I didn’t set out to work in academia and certainly didn’t plan to become a professor.
Although my career has been mostly in higher education, I think it is a little unusual in the way I’ve got there, with a big focus on impact and practical skills, rather than research outputs, administrative roles and memberships of committees and boards.
As outlined in snippets from the evidence submitted to the promotion panel below, a large part of my career has been spent working on projects that have had a direct impact on policy and practice (indeed, one of the questions from the panel was whether there’s a risk that my work becomes too much like consultancy).
Before going into that, here’s a brief overview of my career to date in chronological order:&lt;/p>
&lt;ul>
&lt;li>1990-2002: Attended &lt;a href="https://weobleyhigh.co.uk/">Weobley High School&lt;/a> and &lt;a href="https://weobleyprimary.com/">Weobley Primary&lt;/a>, state schools near where I grew up in Herefordshire&lt;/li>
&lt;li>2002-2004: Attended &lt;a href="https://www.hereford.ac.uk/">Hereford Sixth Form College&lt;/a>, studying A-levels in Maths, Geography, Psychology, and AS levels in Physical Education and English Language and Literature&lt;/li>
&lt;li>2004-2008: Studied Geography at the University of Bristol’s &lt;a href="https://www.bristol.ac.uk/geography/">School of Geographical Sciences&lt;/a>, where you were allowed to do combined physical and human geography, something at the time called Environmental Geography, an option that is sadly no longer available at the University of Bristol but which is happily available in a number of other UK and international universities (source: Google Searches with the text strings &lt;a href="https://www.google.com/search?client=ubuntu-sn&amp;amp;channel=fs&amp;amp;q=%22environmental+geography%22+site%3Aac.uk">&lt;code>"environmental geography" site:ac.uk&lt;/code>&lt;/a> and &lt;a href="https://www.google.com/search?client=ubuntu-sn&amp;amp;channel=fs&amp;amp;q=%22environmental+geography%22+university+course">&lt;code>"environmental geography" university course&lt;/code>&lt;/a>)&lt;/li>
&lt;li>2008-2009: Won a scholarship to study Environmental Science and Management at the University of York (an excellent course that I would recommend to anyone interested in the environment and sustainability, I’m glad to see that it’s still going strong according to the &lt;a href="https://www.york.ac.uk/study/postgraduate-taught/courses/msc-environmental-science-management/">website&lt;/a>)&lt;/li>
&lt;li>2009-2013: 4 year combined masters and PhD studentship as part of the EPSRC-funded E-Futures Doctoral Training Centre at the University of Sheffield, where my supervisors &lt;a href="https://www.rug.nl/staff/d.ballas/?lang=en">Dimitris Ballas&lt;/a>, &lt;a href="https://www.sheffield.ac.uk/geography-planning/people/academic-research/matt-watson">Matt Watson&lt;/a>, and &lt;a href="https://www.sheffield.ac.uk/mecheng/people/academic/stephen-beck">Stephen Beck&lt;/a> provided the skills across a range of disciplines (economics, microsimulation, policy engagement and engineering) that have been the foundation of my career&lt;/li>
&lt;li>2013-2014: My first job, an 18 month contract working on the National Centre for Research Methods (&lt;a href="https://www.ncrm.ac.uk/about/phase3.php">NCRM&lt;/a>) funded &lt;a href="https://environment.leeds.ac.uk/geography-research/dir-record/research-projects/658/talisman-geospatial-data-analysis-and-simulation">TALISMAN&lt;/a> project on geospatial data analysis and simulation project (huge credit to &lt;a href="https://environment.leeds.ac.uk/geography/staff/1005/professor-mark-birkin">Mark Birkin&lt;/a> who gave me my first job in academia and who encouraged me to pursue my own research interests)&lt;/li>
&lt;li>2014-2016: Research fellow in Data Analytics (University of Leeds, Leeds Institute for Data Analytics), where I got stuck into data science and started to take computer science and programming seriously, leading to the book I co-authored with Colin Gillespie, &lt;a href="https://bookdown.org/csgillespie/efficientR/">Efficient R Programming&lt;/a>&lt;/li>
&lt;li>2016-2019: University Academic Fellow in Transport and Big Data, at the Leeds Institute for Transport Studies (&lt;a href="https://environment.leeds.ac.uk/transport">ITS&lt;/a>), where I worked on a range of projects including the &lt;a href="https://www.pct.bike">Propensity to Cycle Tool&lt;/a>, and where I’m still based&lt;/li>
&lt;li>2019-2024: Associate Professor of Transport Data Science at the University of Leeds (part time since 2023)&lt;/li>
&lt;li>2023-2024: Working part time in 2 year contract for the &lt;a href="https://www.civilservicejobs.service.gov.uk">Civil Service&lt;/a> as Director of Data &amp;amp; Analysis, Head of Data and Digital and Lead Data Scientist at the new government agency Active Travel England (&lt;a href="https://www.gov.uk/government/organisations/active-travel-england">ATE&lt;/a>)&lt;/li>
&lt;li>2024 onwards: Professor of Transport Data Science at the University of Leeds&lt;/li>
&lt;/ul>
&lt;p>What a journey!&lt;/p>
&lt;/div>
&lt;div id="the-promotion-process-and-portfolio" class="section level1">
&lt;h1>The promotion process and portfolio&lt;/h1>
&lt;p>In the UK higher education system, promotions take place through a formal process and, as in many jobs, based on a set of criteria.
As outlined on the University of Leeds’ Human Resources &lt;a href="https://hr.leeds.ac.uk/info/8/promotions/299/promotions-process">website&lt;/a>, there are three pathways you can take, which encourages diversity in the types of professors that are appointed (although there is still a long way to go in terms of diversity on every dimension):&lt;/p>
&lt;!-- Grade 10 Student Education criteria / Grade 10 Student Education guidance notes
Grade 10 Research &amp; Innovation criteria / Grade 10 Research &amp; Innovation guidance notes
Grade 10 Academic Leadership criteria / Grade 10 Academic Leadership guidance notes -->
&lt;ul>
&lt;li>Student Education&lt;/li>
&lt;li>Research &amp;amp; Innovation&lt;/li>
&lt;li>Academic Leadership&lt;/li>
&lt;/ul>
&lt;p>As someone focussed on research and innovation, I applied for promotion through the Research &amp;amp; Innovation pathway, the guidance notes of which can be found here: &lt;a href="https://hr.leeds.ac.uk/hr/download/downloads/id/547/guidance-academic_grade_10_research_and_innovation.pdf">Grade 10 Research &amp;amp; Innovation guidance notes&lt;/a>.
18 criteria are listed, with 9 in each of the categories of Research and Innovation part A (RIA1 to RIA9) and Research and Innovation part B (RIB1 to RIB9).
You have to provide evidence for all 9 of the RIA criteria and 3 of the RIB criteria, with a maximum word limit of 5000 words overall.
You also need to submit a publication list and a CV.
An important aspect of the promotion process for a professorship is endorsement from experts in the field and I am very grateful to people who know my work and who were willing to provide statements.&lt;/p>
&lt;p>The panel session itself was less stressful than I expected.
I had braced myself for a grilling, in between a PhD viva and a job interview, but it was more of a conversation.
The people on the panel asked very good questions about my application and my future plans, and the process generated ideas that I would like to take forward, including the broad aim of “providing data science to the masses” as one of the panel members put it.&lt;/p>
&lt;p>I share some of the portfolio that I’m proud of and which may be of use/interest to others below, starting with key publications and the reasons why they are important (this was a great opportunity to reflect on my favourite papers and the impact they have had, hence sharing here).&lt;/p>
&lt;/div>
&lt;div id="key-publications" class="section level1">
&lt;h1>Key publications&lt;/h1>
&lt;p>Following in the footsteps of my colleague &lt;a href="https://environment.leeds.ac.uk/transport/staff/971/dr-kate-pangbourne">Kate Pangbourne&lt;/a>, I provided a short description of each of 10 publications I could select for the submission, with the following intro (following the perhaps &lt;a href="https://www.reddit.com/r/academia/comments/1e3rjxe/why_paper_is_the_only_currency_in_academia/">problematic&lt;/a> ideas of ‘&lt;a href="https://en.wikipedia.org/wiki/Publish_or_perish">publish or perish&lt;/a>’ and that papers are the ‘&lt;a href="https://communities.springernature.com/posts/publication-a-universal-currency-in-academia">universal currency&lt;/a>’ of academia):&lt;/p>
&lt;blockquote>
&lt;p>I have more than 60 academic publications, including peer-reviewed papers in high-ranking journals, externally funded high-impact reports, and four books.
My work is highly cited, attracting 2,450 citations (1985 since 2019), according to Google Scholar, with a strong upward trend and a H-index of 27 (25 since 2019) and an i10 index of 50 (45 since 2019).
I have a strong record leading publications: I led all 10 of the publications below.&lt;/p>
&lt;/blockquote>
&lt;ol style="list-style-type: decimal">
&lt;li>&lt;strong>Lovelace, Robin,&lt;/strong> M Birkin, Joseph Talbot, and Malcolm Morgan. ‘Cycle Network Policy, Planning and Investment Transformed by the Propensity to Cycle Tool’. Research Excellence Framework. University of Leeds, 2023. &lt;a href="https://results2021.ref.ac.uk/impact/847d1191-7f25-46ba-a399-b481125edc8f?page=1" class="uri">https://results2021.ref.ac.uk/impact/847d1191-7f25-46ba-a399-b481125edc8f?page=1&lt;/a>.&lt;/li>
&lt;/ol>
&lt;p>I led this REF Impact Case Study, from its inception and framing through to the details of which quotes to include.
The case study documents the impact of work I have led on strategic cycle network planning, &lt;strong>making millions of pounds worth of public money invested more effectively as part of the government’s Cycling and Walking Investment Strategy, part of the Infrastructure Act&lt;/strong>.
It was a key component of the joint ITS and School of Geography submission and was rated as a &lt;strong>Four-star level of impact&lt;/strong>, meaning &lt;strong>world-leading in terms of originality, significance, and rigour&lt;/strong> (Lee Brown, leader of the submission, personal communication).&lt;/p>
&lt;ol start="2" style="list-style-type: decimal">
&lt;li>&lt;strong>Lovelace, Robin&lt;/strong>, Anna Goodman, Rachel Aldred, Nikolai Berkoff, Ali Abbas, and James Woodcock. ‘The Propensity to Cycle Tool: An Open Source Online System for Sustainable Transport Planning’. &lt;em>Journal of Transport and Land Use&lt;/em> 10, no. 1 (1 January 2017). &lt;a href="https://doi.org/10.5198/jtlu.2016.862" class="uri">https://doi.org/10.5198/jtlu.2016.862&lt;/a>. Cited by &lt;a href="https://scholar.google.com/scholar?oi=bibs&amp;amp;hl=en&amp;amp;cites=9827504135627854462">167&lt;/a>&lt;/li>
&lt;/ol>
&lt;p>In this paper I articulate the need for a new approach to Planning Support Systems (PSS), building on previous literature, and proceed to outline a new approach based on open access origin-destination data and new web technologies allowing more participation in the transport planning process.
&lt;strong>The paper has had a major impact on transport planning internationally&lt;/strong> and has been used to support investment in better evidence for active travel planning, including in follow-on funding for projects in New Zealand, Scotland, the Republic of Ireland, and Portugal.&lt;/p>
&lt;ol start="3" style="list-style-type: decimal">
&lt;li>&lt;strong>Lovelace, Robin&lt;/strong>, Jakub Nowosad, and Jannes Muenchow. &lt;em>Geocomputation with R&lt;/em>. CRC Press, 2019. Cited by &lt;a href="https://scholar.google.com/scholar?oi=bibs&amp;amp;hl=en&amp;amp;cites=153492739271359061">204&lt;/a>&lt;/li>
&lt;/ol>
&lt;p>&lt;em>Geocomputation with R&lt;/em> is a seminal contribution at the intersection of the disciplines of data science, geographic information science and, in the popular Transportation chapter, transport planning.
The book has been described as a “must-read if you’re into data analytics/science” in a review on &lt;a href="https://www.amazon.com/Geocomputation-Chapman-Hall-Robin-Lovelace/dp/1138304514/">Amazon&lt;/a> (where the book is rated 5 stars with 19 reviews), “Mandatory reading for my Geoinformatics for Planning course at School of Planning and Architecture, Delhi” by &lt;a href="https://x.com/dr_bala_s">Balamurugan Soundararaj&lt;/a>, and “comprehensive and readable” by Professor &lt;a href="https://mural.maynoothuniversity.ie/16343/1/2399808320945456.pdf">Chris Brunsdon&lt;/a>.
The book is part of 11 university &lt;a href="https://geocompx.org/guestbook">courses&lt;/a>, including the modules &lt;a href="https://espm-288.carlboettiger.info/">Reproducible and Collaborative Data Science&lt;/a>, led by Carl Boettiger, &lt;a href="https://classes.berkeley.edu/content/2018-spring-espm-288-001-lab-001">Berkeley&lt;/a> University of California, Analysing spatial data, led by Professor Roger Bivand, Norwegian School of Economics, and &lt;a href="https://crd230.github.io/">Spatial Methods in Community Research&lt;/a>, led by Professor &lt;a href="https://humanecology.ucdavis.edu/people/noli-brazil">Noli Brazil&lt;/a>, University of California.
The book has also formed the basis of income-generating knowledge exchange activities and teaching (notably as part of the Transport Data Science module) in the University of Leeds.&lt;/p>
&lt;ol start="4" style="list-style-type: decimal">
&lt;li>&lt;strong>Lovelace, Robin&lt;/strong>, Mark Birkin, Philip Cross, and Martin Clarke. ‘From Big Noise to Big Data: Toward the Verification of Large Data Sets for Understanding Regional Retail Flows’. &lt;em>Geographical Analysis&lt;/em> 48, no. 1 (1 January 2016): 59–81. &lt;a href="https://doi.org/10.1111/gean.12081" class="uri">https://doi.org/10.1111/gean.12081&lt;/a>. Cited by &lt;a href="https://scholar.google.com/scholar?oi=bibs&amp;amp;hl=en&amp;amp;cites=13061705304579688113">94&lt;/a>&lt;/li>
&lt;/ol>
&lt;p>In this paper I outline the importance of model/observation inter-comparisons for modern data science applied to mobility datasets, with a focus on origin-destination data.
The approach has played a key role in subsequent research.
For example, Professor Martin Trépanier and colleagues, in a &lt;a href="https://www.sciencedirect.com/science/article/pii/S0965856422001823">2022 paper&lt;/a> in the high-ranking journal Transportation Research Part A, cited the paper to explain their focus on dataset cross-validation when analysing large travel survey datasets.&lt;/p>
&lt;ol start="5" style="list-style-type: decimal">
&lt;li>&lt;strong>Lovelace, Robin&lt;/strong>, and Richard Ellison. ‘Stplanr: A Package for Transport Planning’. &lt;em>The R Journal&lt;/em> 10, no. 2 (2018): 7–23. &lt;a href="https://doi.org/10.32614/RJ-2018-053" class="uri">https://doi.org/10.32614/RJ-2018-053&lt;/a>. Cited by &lt;a href="https://scholar.google.com/scholar?oi=bibs&amp;amp;hl=en&amp;amp;cites=162679310257222%2034020,16279457157745320175,14714982768060377108,14083887259488646107">55&lt;/a>&lt;/li>
&lt;/ol>
&lt;p>This paper outlines the design and implementation of the &lt;strong>stplanr&lt;/strong> software, an R package which has been downloaded more than 153k times and used to support more than a dozen papers, which may not have been possible without the package.
The methods implemented in the package enabled the modelling of national transport network datasets and estimation of traffic volumes down to the street level in multiple high-impact projects.
An example of the international impacts of the research is its use to support a study of TB patients and accessibility to TB treatment initiation clinics, as outlined in a post in the rOpenSci open science &lt;a href="https://discuss.ropensci.org/t/using-stplanr-to-find-shortest-road-network%20-distance-to-a-tb-treatment-clinic-from-a-tb-patients-household/2621">discussion forum&lt;/a> and 2021 &lt;a href="https://doi.org/10.1017/S0950268821001862">paper&lt;/a> “Clinical, health systems and neighbourhood determinants of tuberculosis case fatality in urban Blantyre, Malawi”, published in the high-ranking (IF: 4.2) journal Epidemiology &amp;amp; Infection.&lt;/p>
&lt;ol start="6" style="list-style-type: decimal">
&lt;li>&lt;strong>Lovelace, Robin&lt;/strong>. ‘Open Source Tools for Geographic Analysis in Transport Planning’. &lt;em>Journal of Geographical Systems&lt;/em>, 16 January 2021. &lt;a href="https://doi.org/10.1007/s10109-020-00342-2" class="uri">https://doi.org/10.1007/s10109-020-00342-2&lt;/a>. Cited by &lt;a href="https://scholar.google.com/scholar?oi=bibs&amp;amp;hl=en&amp;amp;cites=2681179132382910407">61&lt;/a>&lt;/li>
&lt;/ol>
&lt;p>In this invited contribution I set out the ethical, intellectual and practical rationale for making transport modelling tools more open, reproducible and participatory.
The paper has been cited by numerous subsequent papers, including in a recent review in the high-ranking journal Computers Environment and Urban Systems that summarises the paper’s findings, stating that “the review by &lt;a href="https://www.sciencedirect.com/science/article/pii/S0198971522000692#bb0600">Lovelace (2021)&lt;/a> explores the current landscape of open source software and conclude that &lt;a href="https://www.sciencedirect.com/topics/computer-science/open-source-solution">open source solutions&lt;/a> can fulfill the professional needs of modern day transport planners” and echos these findings in the conclusions, supporting and amplifying the impact of the paper.&lt;/p>
&lt;ol start="7" style="list-style-type: decimal">
&lt;li>&lt;strong>Lovelace, Robin&lt;/strong>, John Parkin, and Tom Cohen. ‘Open Access Transport Models: A Leverage Point in Sustainable Transport Planning’. &lt;em>Transport Policy&lt;/em> 97 (1 October 2020): 47–54. &lt;a href="https://doi.org/10.1016/j.tranpol.2020.06.015" class="uri">https://doi.org/10.1016/j.tranpol.2020.06.015&lt;/a>. Cited by &lt;a href="https://scholar.google.com/scholar?oi=bibs&amp;amp;hl=en&amp;amp;cites=933458370495316292">40&lt;/a>&lt;/li>
&lt;/ol>
&lt;p>In this paper co-authored by John Parkin (Professor of Transport Engineering, University of West of England) and Tom Cohen (Senior Lecturer in Transport Planning and Management at the University of Westminster) I set-out to go beyond the concept of ‘open source’ in transport planning and articulate the concept of ‘open access transport models’, meaning tools that are not only open and conducive to reproducible research, but also accessible to the public.
The paper has had a substantial impact, being mentioned in discussion panels coordinated by eminent transport modelling professional Tom Van Vuren MBE and forming a basis of an opinion piece in the industry publication TransportXtra.&lt;/p>
&lt;ol start="8" style="list-style-type: decimal">
&lt;li>&lt;strong>Lovelace, Robin&lt;/strong>, Joseph Talbot, Malcolm Morgan, and Martin Lucas-Smith. ‘Methods to Prioritise Pop-up Active Transport Infrastructure’. &lt;em>Transport Findings&lt;/em>, 8 July 2020, 13421. &lt;a href="https://doi.org/10.32866/001c.13421" class="uri">https://doi.org/10.32866/001c.13421&lt;/a>. Cited by &lt;a href="https://scholar.google.com/scholar?oi=bibs&amp;amp;hl=en&amp;amp;cites=11425454407165065297">29&lt;/a>&lt;/li>
&lt;/ol>
&lt;p>This short paper demonstrates the cross-transferability and agility of the reproducible data science approach to transport planning advocated throughout my work.
It does so by applying the approach to the urgent need to generate new evidence to support the sudden shift in government transport policy during the period of physical distancing measures during the most critical year of the COVID-19 pandemic response, with much of the work done while health professionals were in crisis response mode in the spring of 2020.
The paper led to a DfT contract to develop a tool to support local authorities to rapidly develop new cycle lanes and low traffic neighbourhoods, as part of the first round of Emergency Active Travel Funding (EATF), which subsequently became the Active Travel Fund, rounds 2 to 4, which I have continued to work on in my Civil Service job for Active Travel England.&lt;/p>
&lt;ol start="9" style="list-style-type: decimal">
&lt;li>&lt;strong>Lovelace, Robin&lt;/strong>, Martijn Tennekes, and Dustin Carlino. ‘ClockBoard: A Zoning System for Urban Analysis’. &lt;em>Journal of Spatial Information Science&lt;/em>, no. 24 (20 June 2022): 63–85. &lt;a href="https://doi.org/10.5311/JOSIS.2022.24.172" class="uri">https://doi.org/10.5311/JOSIS.2022.24.172&lt;/a>. Cited by &lt;a href="https://scholar.google.com/scholar?oi=bibs&amp;amp;hl=en&amp;amp;cites=1274671120106281758">10&lt;/a>&lt;/li>
&lt;/ol>
&lt;p>This paper demonstrates my ability not only to use established methods but also to create new methods and contribute fundamental new ideas and algorithms that can be used in a wide range of fields.
Although the paper was written for transport planning applications (we used it to support the high-impact ActDev project), it is relevant in the fields of Urban Analytics (contributing to research-led teaching in the Transport Data Science module, which is part of the Urban Data Science and Analytics MSc programme of which the module is a part), Development Planning and Urban Geography.
Although a recent publication, it has been cited in numerous follow-on papers and was quoted at length in a &lt;a href="https://www.tandfonline.com/doi/full/10.1080/1523908X.2022.2098096">paper&lt;/a> in the journal Journal of Environmental Policy &amp;amp; Planning (Impact Factor 3.2), highlighting the importance and interdisciplinary cross-transferability new methods for zone generation outlined in the paper.
The paper is also a good example of my ability to collaborate across national and disciplinary lines, with co-authors Dustin Carlino (an ex Google American software engineer currently working at the Alan Turing Institute) and Martijn Tennekes (a senior civil servant in the Dutch statistical agency) providing vital input into the implementation in open source software for others to benefit from the methods.&lt;/p>
&lt;ol start="10" style="list-style-type: decimal">
&lt;li>&lt;strong>Lovelace, Robin&lt;/strong>, Roger Beecham, Eva Heinen, Eugeni Vidal Tortosa, Yuanxuan Yang, Chris Slade, and Antonia Roberts. ‘Is the London Cycle Hire Scheme Becoming More Inclusive? An Evaluation of the Shifting Spatial Distribution of Uptake Based on 70 Million Trips’. &lt;em>Transportation Research Part A: Policy and Practice&lt;/em> 140 (1 October 2020): 1–15. &lt;a href="https://doi.org/10.1016/j.tra.2020.07.017" class="uri">https://doi.org/10.1016/j.tra.2020.07.017&lt;/a>. Cited by &lt;a href="https://scholar.google.com/scholar?oi=bibs&amp;amp;hl=en&amp;amp;cites=11593492506738494942">20&lt;/a>&lt;/li>
&lt;/ol>
&lt;p>I include this paper because it demonstrates the power of new data science techniques to generate evidence for transport planning and address pressing policy questions.
Building on previous findings and controversies, the paper sets out to explore the extent to which bike share schemes can be used by less privileged groups, with reference to a large dataset from Transport for London.
The findings, made possible by new techniques which I have helped to develop, provide an important contribution to the debate and clearly support the view that investment in bike share schemes, and investment in active travel more broadly, &lt;strong>can support social equity objectives&lt;/strong>.
The paper is also a good example of my ability to bring together a wide range of people including practitioners and multi-disciplinary academic research teams to deliver high-impact research, with co-authors from the bike share industry (Smoove), academia and the third sector (the shared mobility not-for-profit Co-Mo).&lt;/p>
&lt;/div>
&lt;div id="portfolio" class="section level1">
&lt;h1>Portfolio&lt;/h1>
&lt;p>The portfolio was long and detailed.
Some of the key bits from it are below:&lt;/p>
&lt;blockquote>
&lt;p>My input into the overall strategic direction of transport planning and modelling disciplines is exemplified by two recent articles in transport practitioner-focused magazines.
I was interviewed for the Chartered Institution of Highways &amp;amp; Transportation (&lt;em>CIHT&lt;/em>) on new methods in Transport Planning for their &lt;a href="https://www.ciht.org.uk/members-area/transportation-professional">Transportation Professional&lt;/a> magazine, leading to an article in their magazine.
As outlined in RIA9 I was also interviewed in the practitioner-focused magazine &lt;a href="https://www.transportxtra.com/publications/local-transport-today/news/75942/open-your-heart-in-transport-modelling-">TransportXtra&lt;/a> in May 2024.&lt;/p>
&lt;/blockquote>
&lt;p>In terms of aligning with the University of Leeds’ strategies, I wrote:&lt;/p>
&lt;blockquote>
&lt;p>My work has a strong ethical direction that aligns well with the University of Leeds’ strategies, especially its climate action strategy.
As outlined in the &lt;a href="https://spotlight.leeds.ac.uk/climate-plan/">Climate Plan&lt;/a>, “we shall increasingly reorient our research and teaching away from the fossil fuel sector”.
A question that is not asked (or answered) is “what will we orient &lt;em>towards&lt;/em>, in place of the fossil fuel sector and associated energy intensive sectors?” My research agenda can help answer this question, with a solutions-focused approach that has tangible real-world impacts and potential for much greater future impacts, especially if I am supported to develop my team and apply for international funding bids.&lt;/p>
&lt;/blockquote>
&lt;p>Regarding ‘translational’ activity I wrote:&lt;/p>
&lt;blockquote>
&lt;p>Most of my research has been &lt;strong>funded by industry, governments, and transnational organisations&lt;/strong>, highlighting the high social, policy, and economic value of my work.
National transport planning bodies including the &lt;strong>Department for Transport (DfT), Transport Scotland (TS)&lt;/strong> and &lt;strong>Transport Infrastructure Ireland (TII&lt;/strong>) have all funded tools which are now used in production by &lt;strong>50k+ people&lt;/strong> each year …
as described in a successful &lt;a href="https://results2021.ref.ac.uk/impact/847d1191-7f25-46ba-a399-b481125edc8f?page=1">REF Impact Case Study&lt;/a> that I led for ITS in collaboration with staff in the School of Geography.&lt;/p>
&lt;/blockquote>
&lt;p>Regarding teaching, I referred to the &lt;a href="https://github.com/ITSLeeds/TDS">Transport Data Science&lt;/a> course that I coordinate, writing:&lt;/p>
&lt;blockquote>
&lt;p>I have a sustained record of accomplishment leading outstanding research-led and innovative teaching, as illustrated by my ongoing leadership of the Transport Data Science (TRAN5340M) module from 2019 to present.&lt;/p>
&lt;/blockquote>
&lt;p>I also highlighted my international research projects and links, with reference to a recent keynote speech that I delivered at the Mobile Tartu conference where I gave a talk on &lt;a href="https://future-proof.robinlovelace.net/">Future-Proof Transport Planning&lt;/a> (photo from that keynote shown above).
International research has been a growing focus of my work, as highlighted in the quote from ITS’s head of school on my promotion:&lt;/p>
&lt;blockquote>
&lt;p>After completing his &lt;a href="https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fetheses.whiterose.ac.uk%2F5027%2F&amp;amp;data=05%7C02%7CR.Lovelace%40leeds.ac.uk%7Caf5756397059492debbd08dcaafce034%7Cbdeaeda8c81d45ce863e5232a535b7cb%7C0%7C0%7C638573250273459862%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&amp;amp;sdata=%2FTPTAzSnu%2F%2FoDlEvD2phlELqzTgMEueCjK6kWgrYXQQ%3D&amp;amp;reserved=0" title="Original URL: http://etheses.whiterose.ac.uk/5027/. Click or tap if you trust this link.">PhD&lt;/a> in transport and energy use, Robin joined the University of Leeds in 2013 working on new methods for adding value to large geographic datasets and then ITS in 2016 as a University Academic Fellow in Transport and Big Data.
He instigated and led the development of the Propensity to Cycle Tool (publicly available at &lt;a href="https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fresults2021.ref.ac.uk%2Fimpact%2F847d1191-7f25-46ba-a399-b481125edc8f%3Fpage%3D1&amp;amp;data=05%7C02%7CR.Lovelace%40leeds.ac.uk%7Caf5756397059492debbd08dcaafce034%7Cbdeaeda8c81d45ce863e5232a535b7cb%7C0%7C0%7C638573250273465840%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&amp;amp;sdata=mUgQWew1%2BEDFUiISwNZnQ3epXC%2Fzc4zLVyfMXPB1mJM%3D&amp;amp;reserved=0" title="Original URL: https://results2021.ref.ac.uk/impact/847d1191-7f25-46ba-a399-b481125edc8f?page=1. Click or tap if you trust this link.">www.pct.bike&lt;/a>), which has transformed strategic cycle network planning in England was the subject of a REF &lt;a href="https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fresults2021.ref.ac.uk%2Fimpact%2F847d1191-7f25-46ba-a399-b481125edc8f%3Fpage%3D1&amp;amp;data=05%7C02%7CR.Lovelace%40leeds.ac.uk%7Caf5756397059492debbd08dcaafce034%7Cbdeaeda8c81d45ce863e5232a535b7cb%7C0%7C0%7C638573250273471689%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&amp;amp;sdata=qQnsdNenUPCA3JYUq6uESkWAZ28qXImekN818%2BXL%2BxU%3D&amp;amp;reserved=0" title="Original URL: https://results2021.ref.ac.uk/impact/847d1191-7f25-46ba-a399-b481125edc8f?page=1. Click or tap if you trust this link.">Impact Case Study&lt;/a>.
Robin’s work has led to open tools for more evidence-based decision-making overseas, including in the Republic of Ireland (with results publicly available at &lt;a href="https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcruse.bike%2F&amp;amp;data=05%7C02%7CR.Lovelace%40leeds.ac.uk%7Caf5756397059492debbd08dcaafce034%7Cbdeaeda8c81d45ce863e5232a535b7cb%7C0%7C0%7C638573250273477479%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&amp;amp;sdata=ssfXb4d6YIzrdSDDIAsq8dBJZ9UtyfokTNcipCk4xEE%3D&amp;amp;reserved=0" title="Original URL: https://cruse.bike/. Click or tap if you trust this link.">CRUSE.bike&lt;/a>), the Greater Lisbon area (with results hosted on the website of the regional planning body at &lt;a href="https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbiclar.tmlmobilidade.pt%2Findex%2F&amp;amp;data=05%7C02%7CR.Lovelace%40leeds.ac.uk%7Caf5756397059492debbd08dcaafce034%7Cbdeaeda8c81d45ce863e5232a535b7cb%7C0%7C0%7C638573250273483752%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&amp;amp;sdata=xDbcCg78VGK%2BAklPlCviCOApZB9PtAPRvoTHJUtVISg%3D&amp;amp;reserved=0" title="Original URL: https://biclar.tmlmobilidade.pt/index/. Click or tap if you trust this link.">tmlmobilidade.pt&lt;/a>) and in an ongoing project funded by Transport Scotland (resulting in an open access web application hosted at &lt;a href="https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.npt.scot%2F&amp;amp;data=05%7C02%7CR.Lovelace%40leeds.ac.uk%7Caf5756397059492debbd08dcaafce034%7Cbdeaeda8c81d45ce863e5232a535b7cb%7C0%7C0%7C638573250273490835%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&amp;amp;sdata=MBYHC5yJlaSeko9qvjeJz%2Bu8a0GlhvsRXQB2C7vRxaM%3D&amp;amp;reserved=0" title="Original URL: https://www.npt.scot/. Click or tap if you trust this link.">www.npt.scot&lt;/a>).&lt;/p>
&lt;/blockquote>
&lt;!-- ![](images/paste-2.png) -->
&lt;/div>
&lt;div id="reflections-on-incentives-inspiration-and-future-plans" class="section level1">
&lt;h1>Reflections on incentives, inspiration and future plans&lt;/h1>
&lt;p>An &lt;a href="https://www.theguardian.com/higher-education-network/2017/sep/29/work-academic-professional-hybrid-role-say-goodbye-career-progression">article in the Guardian&lt;/a> titled “Work in an academic-professional hybrid role? Say goodbye to career progression” argues that it’s hard to progress if you undertake both professional and academic roles.
Although the article is talking about taking on dual roles within the same institution, it applies to academics like me who have taken a step outside higher education.
I agree with the article’s take that academic career progression is generally rather narrowly focussed, and that there is “a need in universities for a band of staff who bridge the two much larger groups”.&lt;/p>
&lt;p>Unlike the author of the Guardian article, I have not found dual roles to be a barrier to progression, and this has been supported by the Research Excellence Framework (REF) process, a key feature of how UK research is evaluated.
Despite issues with the REF, it clearly does incentivise people who are focussed on delivering outputs that go beyond papers and citations, with a &lt;a href="https://blogs.lse.ac.uk/impactofsocialsciences/2024/04/08/what-is-the-value-of-four-star-ref-outputs-and-impact-case-studies/">blog post by Jon Collett at the London School of Economics&lt;/a> showing that top case study submissions such as the one outlined above can lead to substantial rewards.
REF also provides a chance for people to talk about how their work has be used in the real world during the promotion process, which is a good thing (my biggest issue with the process is that it’s so time consuming for academics submitting them and feels a bit like ‘marking your own homework’, could REF shift to a process in which an independent body not affiliated with any university plays a greater role, I wonder).
I’m not sure what promotion criteria are like in other universities, but I do think that having pathways for academics interested in “translational” research, or research that has a direct impact on policy and practice, is important.&lt;/p>
&lt;p>However, like &lt;a href="https://scholar.google.com/scholar?hl=en&amp;amp;as_sdt=0%2C5&amp;amp;q=challenges+%22two+jobs%22+career+%22work-life+balance%22&amp;amp;btnG=">many others&lt;/a>, I have found having 2 jobs to be a challenge at times, while also being highly rewarding.
It’s clearly a good thing when academics get out of their comfort zones and step into the ‘real world’, whether that’s in government, industry, or the third sector.
However, it seems that there are disincentives to doing so: most jobs have a ‘baseline level’ of work that needs to be done, and if you take on a second job, you have to do two lots of baseline work.&lt;/p>
&lt;p>One issue with academic reward systems, I think, is that they can tend to promote people who are confident and who ‘shout loud’ rather than the quiet, thoughtful types who might be doing the most important work.
I was surprised at the extent to which it’s up to the promotion candidate (me in this case but because anyone can in theory be promoted at any time it can mean everyone) to ask about or (less honourably) even lobby for promotion.
In fact, it was only the encouragement of colleagues and friends that led me to apply for promotion in the first place.
So my message to people who know they are doing great work, but who are not sure if they should apply for promotion, is to go for it, you’re worth it!&lt;/p>
&lt;p>This suggests that programmes like the UKRI policy fellowship scheme, which I benefited from and which led to my job in Active Travel England, are a good thing.
It also suggests that employers should be flexible and should maybe even incentivise staff to take on secondments and other roles outside their main job.
In many ways academia is the dream career path and, more than other careers, it can be seen as more of a vocation than a ‘normal’ job.
There are of course downsides but these are hugely offset by the upsides.
So I’m very happy to be moving back to being a full time academic next year and look forward to taking my work in higher education to the next level in 2025!&lt;/p>
&lt;p>All careers have their pros and cons and I think academia is unique in the level of flexibility and autonomy it offers, especially when you get to the lofty heights of a professorship.
Each time I have had my doubts about the academic career path, I have been inspired by others who are using their positions to make a difference.
I am inspired by people like &lt;a href="https://www.uni-muenster.de/Geoinformatics/en/institute/staff/index.php/119/edzer_pebesma">Edzer Pebesma&lt;/a>, &lt;a href="https://ldi.upenn.edu/fellows/fellows-directory/megan-ryerson-phd/">Megan Ryerson&lt;/a>, &lt;a href="https://people.uwe.ac.uk/Person/JohnParkin">John Parkin&lt;/a>, &lt;a href="https://www.westminster.ac.uk/about-us/our-people/directory/aldred-rachel">Rachel Aldred&lt;/a>, &lt;a href="https://www.lshtm.ac.uk/aboutus/people/goodman.anna">Anna Goodman&lt;/a>, &lt;a href="https://experts.mcmaster.ca/display/paezha">Antonion Paez&lt;/a>, &lt;a href="https://en.wikipedia.org/wiki/Lake_Sagaris">Lake Sagaris&lt;/a>, &lt;a href="http://michael.szell.net/">Michael Szell&lt;/a>, &lt;a href="https://afidep.org/staff/mcewen-khundi/">McEwen Khundi&lt;/a>, &lt;a href="https://geoffboeing.com/">Geoff Boeing&lt;/a>, &lt;a href="https://www.liverpool.ac.uk/environmental-sciences/staff/alexander-singleton/">Alex Singleton&lt;/a>, and amazing colleagues and students at the University of Leeds, including &lt;a href="https://environment.leeds.ac.uk/transport/staff/958/professor-greg-marsden">Greg Marsden&lt;/a>, &lt;a href="https://environment.leeds.ac.uk/transport/staff/971/dr-kate-pangbourne">Kate Pangbourne&lt;/a>, &lt;a href="https://environment.leeds.ac.uk/transport/staff/980/dr-james-tate">James Tate&lt;/a>, and &lt;a href="https://environment.leeds.ac.uk/transport/staff/915/professor-jillian-anable">Jillian Anable&lt;/a>.
Thanks to you and everyone who using their academic positions and roles to support positive changes within and beyond academia in a variety of ways.
In turn, I hope that some of my work will inspire others.&lt;/p>
&lt;p>I’m also inspired by my amazing partner Katy, family and friends: home and happiness are foundations on which many good things can build.&lt;/p>
&lt;p>I’m still processing what it means to have reached the top of the academic career ladder (in terms of the UK grading system at least, there is a long way to go in terms of the work!), but am committed to continuing to learn from others, sharing (including through this blog and through the amazing open source software community), and focussing on projects that are likely to have a positive impact as I go.&lt;/p>
&lt;p>I do have more specific plans for high-impact projects, but will save that for another day.&lt;/p>
&lt;/div></description></item><item><title>Road User Video Evidence of Road Traffic Offences: Preliminary Analysis of Operation Snap Data and Suggestions for a Research Agenda</title><link>https://robinlovelace.net/old-site/publication/farrell-road-user-video-2024/</link><pubDate>Mon, 01 Jul 2024 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/farrell-road-user-video-2024/</guid><description/></item><item><title>Mobile Tartu 2024</title><link>https://robinlovelace.net/old-site/post/tartu2024/</link><pubDate>Sat, 15 Jun 2024 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/tartu2024/</guid><description>&lt;!-- Mobile Tartu Conference 2024
Accessibility
Mobile Tartu 2024 Conference Programme
Programme
We want to let you know that the event organisers may need to adjust the event program if circumstances require.
11 June PhD School Outside of Tartu
11.00-12.00 PhD School Opening and morning coffee
12.00-13.00 PhD School Lecture by Prof Kristjan Vassil (University of Tartu)
Sensors, data, and decisions: The next generation of predictive public services
13.00-14.00 Lunch
14.00-16.00 4 Parallel Workshops
16.00-16.30 Coffee break
16.30-17.15 Public Sector Lecture by Grigori Parfjonov (Tallinn Transport Department)
Transport Data as the Key to Social Engineering
17.15-18.00 Private Sector Lecture by Joonas Puura (Bolt)
Data-Driven Mobility: Improving Trip Experience with Location Data at Bolt
18.00-21.00 Dinner and Social Event
12 June PhD School &amp; Conference
9.00-9.30 Morning Coffee
9.30-12.00 PhD School Parallel Workshops
12.00-13.00 Lunch
13.00-15.00 PhD School Workshops
13.45-15.15 Tartu City Bike Tour
15.00-16.00 Conference Registration
16.00-16.30 Conference Opening
Age Poom (University of Tartu)
Kstina Noormets (University of Tartu, Director of Administration)
Jiri Tintera (Tartu City Government, City Architect)
16.30-17.30 Rein Ahas Lecture by Prof Jukka Krisp (University of Augsburg/University of Tartu)
Location Based Services – conceptual perspectives for mobility research, navigation, and wayfinding
Session Chair: Age Poom (University of Tartu)
17.30-18.00 Welcome Drinks and Snacks
18.00-18.40 Poster Session – Human Mobility Analysis for Advancing Just and Sustainable Futures
18.40-20.00 Paper Sessions – 1A &amp; 1B
Session 1A – Advancing the methodologies for population mobility studies and official statistics
Session chair: Olle Järv (University of Helsinki)
Erki Saluveer (Positium), Margus Tiru (Positium), Florabela Carausu (GOPA Worldwide Consultants), Kadri Arrak (Positium), Loredana Di Consiglio (Italian Statistical Institute – ISTAT), Matthias Offermans (Statistics Netherlands – CBS), Miguel Picornell (Nommon Solutions and Technologies), Ricardo Herranz (Nommon Solutions and Technologies), Tiziana Tuoto (Italian Statistical Institute – ISTAT), Villem Tonnison (Positium) –
A processing pipeline for European official statistics: towards standardisation of mobile network operator data processing
Anto Aasa (University of Tartu), Jürgen Öövel (University of Tartu) –
Beauty contest of activity spaces. Comparison of five different methods
Kamil Smolak (Wrocław University of Environmental and Life Sciences), Luca Papplardo (ISTI-CNR), Katarzyna Sila-Nowicka (The University of Auckland), Vanessa Brum-Bastos (University of Canterbury) –
Revisiting temporal scales of human mobility
Yeray Cara Santana (Complutense University of Madrid), Borja, Moya Gómez (Complutense University of Madrid), Juan Carlos (Complutense University of Madrid), García Palomares (Complutense University of Madrid) –
Spatial clustering strategies for analysing urban mobility dynamics
Session 1B – Urban travel environments and greenery in support of active mobility
Session chair: Tuuli Toivonen (University of Helsinki)
Elias Willberg (University of Helsinki), Robert Klein (University of Helsinki), Christoph Fink (University of Helsinki), Roope Heinonen (University of Helsinki), Tuuli Toivonen (University of Helsinki) –
Access to green travel in Europe – Comparison across 43 large cities
Maarten Hogeweij (Radboud University) –
Physiologically vulnerable pedestrians’ exposure to heat stress in four cities in the Netherlands
J Rafael Verduzco-Torres (University of Glasgow), Michael Sinclair (University of Glasgow) –
Exploring accessibility to urban green spaces: A novel approach using spatial interaction models and mobile app data
Age Poom (University of Tartu), Mairit Saar (University of Tartu), Kaarel Tigane (Estonian University of Life Sciences), Daiga Paršova (University of Tartu), Kairi Kreegipuu (University of Tartu), Kristian Pentus (University of Tartu), Andres Kuusik (University of Tartu) –
Does seasonality matter? Measuring pedestrian perception of seasonal greenery and soundscapes in walking environments
13 June : PhD School &amp; Conference
8.30-9.00 Morning coffee and registration
9.00-10.00 Keynote Speech by Prof Nico Van de Weghe (Ghent University)
Exploring Possibilities: generative AI in human mobility research
Session Chair: Erki Saluveer (Positium)
10.00-11.40 Paper Sessions – 2A &amp; 2B
Session 2A – Understanding active mobility through advanced tools and policy approaches
Session chair: Karl Samuelsson (University of Gävle)
Andres Sevtsuk (MIT), Abdulaziz Alhassan (MIT), Rounaq Basu (MIT), Liu Liu (MIT), Maryam Hosseini (MIT) –
Foot-traffic in New York: a model of pedestrian volumes on the city’s sidewalk network
Avital Angel (Technion-Israel Institute of Technology), Achituv Cohen (University of California), Trisalyn Nelson (University of California), Pnina Plaut (Technion-Israel Institute of Technology) –
Walking on sunshine: studying street-level walkability using mobile app data and machine learning techniques
Ayda Grisiute (ETH Zurich), Martin Raubal (ETH Zurich) –
Cognitive route planning: Leveraging graph-based methods and movement data to align perceived and objective environments in cycling routes
Jordi Grau (Universitat Politècnica de Catalunya/Fundació Eurecat), Aleix, Bassolas (Fundació Eurecat), Julian Vicens (Fundació Eurecat) –
Electric and mechanical bike usage dynamics in Barcelona’s bike-sharing system: a predictive maintenance perspective
Karl Saidla (University of Tartu), Elias Willberg (University of Helsinki), Bryan Vallejo ( Aalto University), Siiri Silm (University of Tartu), Age Poom (University of Tartu) –
Policy for bike share success in cities big and small: Helsinki, Finland, and Tartu, Estonia
Session 2B – Understanding population mobility flows for crisis management
Session chair: Siim Esko (Positium)
Ago Tominga (University of Tartu), Henrik Veenpere (Estonian Rescue Board), Siiri Silm (University of Tartu) –
What population statistics crisis managers actually need? Calculating indicators based on four years of mobile positioning data
Bilgecag Aydogdu (Utrecht University), Albert Ali Salah (Utrecht University), Subhi Gunes (Turkcell Technology) –
The role of social connections in crisis-driven migration and mobility behaviour
Rodgers Iradukunda (University of Liverpool), Francisci Rowe (University of Liverpool), Elisabetta Pietrostefani (University of Liverpool) –
Using smartphone GPS data to explore internal population displacement during the early months of the Russia-Ukraine conflict
Egor Kotov (Max Planck Institute for Demographic Research/Universitat Pompeu Fabra), Frederic Bartumeus (Centre d’Estudis Avançats de Blanes/Institució Catalana de Recerca i Estudis Avançats), John Palmer (Universitat Pompeu Fabra) –
Effects of human mobility on the spread of disease-transmitting mosquitoes in Spain: Insights from mobile phone data
11.40-13.00 Lunch
13.00-14.40 Paper Sessions – 3A &amp; 3B
Session 3A – Mobile big data in tourism and cross-border commuting research
Session chair: Ate Poorthuis (KU Leuven)
Olle Järv (University of Helsinki), Håvard W. Aagesen (University of Helsinki), Ate Poorthuis (KU Leuven) –
Understanding cross-border regions in Europe from the mobility of people: Insights from Big Data
Oleksandr Karasov (University of Helsinki), Olle Järv (University of Helsinki), Kamyar Hasanzadeh (University of Helsinki) –
Understanding temporal variations in activity spaces of cross-border commuters from social media in the Greater Region of Luxembourg
Tuomas Väisänen (University of Helsinki), Olle Järv (University of Helsinki), Michaela Söderholm (University of Helsinki) –
Is long-distance commuting dead in Europe after COVID-19? Insights from georeferenced social media data
Kamil Choromański (Warsaw University of Technology), Mariusz Ciesielski (Forest Research Institute), Karolina Taczanowska (University of Natural Resources and Life Sciences, Vienna) –
Spatial big data perspective on forest tourism in Poland based on floating car data
Janika Raun (University of Tartu/University of Helsinki), Olle Järv (University of Helsinki), Tatu Leppämäki (University of Helsinki), Tuuli Toivonen (University of Helsinki) –
Understanding changes of visitors in national parks from mobile data: the COVID-19 short- and long-term influence
Session 3B – Special NECTAR session: Transport information extraction from mobile big data
Session chair: Luc Wismans (University of Twente) &amp; Siiri Silm (University of Tartu)
Marina Toger (Uppsala University), Liel David (Weizmann Institute of Science), Eran Ben-Elia (Ben-Gurion University), Dan Vilenchik (Ben-Gurion University) –
Privacy-sensitive approach for sparse reconstruction of users’ points-of-interest and route trajectories from mobile phone data using a Hidden Markov Model
Zachary Strain-Fajth (Flowminder Foundation), Roland Hosner (Flowminder Foundation), Véronique Lefebvre (Flowminder Foundation) –
Using survey data to correct for representation biases in mobility indicators derived from mobile operator data to produce high-frequency estimates of population and internal mobility
Raquel Sánchez-Cauce (Nommon Solutions and Technologies), Oliva G. Cantú Ros (Nommon Solutions and Technologies), Pablo Ruiz (Nommon Solutions and Technologies), Javier Burrieza-Galán (Nommon Solutions and Technologies) –
Identification and characterisation of delivery trips from mobile network and logistic operator data
Gerard Franco Panades (Servei Català de Trànsit/CARNET Barcelona/Technical University of Catalonia), Lluís Jofre-Roca (CommSensLab-UPC), Laia Pagès Giralt (CARNET Barcelona), Oscar Llatje Hierro (Servei Català de Trànsit) –
Detecting road accidents through deep learning models trained on GPS speed data
Lennert Verhulst (Ghent University), Corneel Casier (Ghent University), Frank Witlox (Ghent University) –
Street closures, shared mobility and their potential travel behaviour effects: an agent-based simulation approach
14.40-16.00 PhD School Workshop Presentations
Session chair: Ago Tominga (University of Tartu)
16.00-16.30 Coffee break
16.30-17.15 Keynote Speech by Assoc Prof Anu Masso (Tallinn University of Technology)
Mobility Data Justice: Estonian Data Manifesto
Session Chair: Anto Aasa (University of Tartu)
17.15-18:00 Panel Discussion Advancing human mobility research with AI
Moderator: Anto Aasa (University of Tartu)
Nico Van de Weghe (Ghent University)
Anu Masso (Tallinn University of Technology)
Erki Saluveer (Positium)
19.00-22.00 Conference Dinner @ Kolm Tilli
14 June : PhD School &amp; Conference
8.30-10.00 Morning Coffee and Registration
9.00-10.00 PhD School Reflections (only for PhD School participants)
10.00-11.00 Keynote Speech by Dr Robin Lovelace (University of Leeds/Active Travel England)
Reproducible research and open tools for future-proof transport planning
Session Chair: Henrikki Tenkanen (Aalto University)
11.00-12.30 Paper Sessions 4A &amp; 4B
Session 4A –Accessibility to public transit and shared mobility
Session chair: Elias Willberg (University of Helsinki)
Ate Poorthuis (KU Leuven) –
A standardized dataset for comprehensive national analysis of public transportation accessibility in Belgium and the Netherlands
Eirik Melaa Skjelsvik (Norwegian University of Technology and Science), John Östh (OsloMET) –
The modifiable temporal unit problem in public transport equity evaluations
Martin Haamer (University of Tartu), Age Poom (University of Tartu), Anto Aasa (University of Tartu) –
Student movement flows between university campuses in Tartu based on individual timetables
Henrikki Tenkanen (Aalto University), Ngoc Chau (Aalto University), Subhrasankha Dey (Aalto University), Newsha Modjrian (Aalto University), César Marin Flores (Aalto University) –
Big data-driven scenario tools for estimating carbon-reduction potential of transport
Session 4B – Daily use of urban space: understanding mobility and segregation with mobile big data
Session chair: Marina Toger (Uppsala University)
Kerli Müürisepp (University of Helsinki), Matti Manninen (University of Helsinki), Venla Bernelius (Ministry of Education and Culture), Tiit Tammaru (University of Tartu), Tuuli Toivonen (University of Helsinki), Olle Järv (University of Helsinki) –
Spatial integration or isolation? Residential communities’ daily use of urban space in Helsinki based on mobile phone data
Siiri Silm (University of Tartu), Veronika Mooses (University of Tartu), Ago Tominga (University of Tartu) –
Ethnic exposure in activity places – a study with GPS and survey data
Karl Samuelsson (University of Gävle), Anders Brandt, Stephan Barthel (University of Gävle), Noah Linder (Royal Swedish Academy of Science), Nancy Joy Lim (University of Gävle), David Hallman (University of Gävle), Matteo Giusti (University of Surrey) –
Diverse experiences by active travel for carbon neutrality: Longitudinal study reveals a persistent discrepancy across residential contexts
Olena Dominika Holubowska (KU Leuven), Ate Poorthuis (KU Leuven) –
Spaces of diversity: The relation between amenities and mixing among residents with varied income and migration backgrounds in Auckland
12.30-14.00 Lunch
14.00-14.40 Session 5A – The spatial, digital, and temporal dimensions in mobility and urbanity
Session chair: Kerli Müürisepp (University of Helsinki)
Luc Wismans (University of Twente), Karst Geurs (University of Twente), Mehmet Baran Ulak (University of Twente), Sander van der Drift (DAT.Mobility) –
Proximity and digital connectivity measures and impact on social-spatial accessibility inequalities
Matthew Zook (University of Kentucky/University of Tartu) –
Un-fixing the City: The curious case of Burning Man
14.40-15.40 Panel Discussion Understanding accessibility and socio-spatial disparities with mobile big data
Moderator: Matthew Zook (University of Kentucky/University of Tartu)
Robin Lovelace (University of Leeds/Active Travel England)
Kerli Müürisepp (University of Helsinki)
Luc Wismans (University of Twente)
Kertu Vuks (Tartu City Government)
15.40-16.00 Conference Closing
17.30-21.00 Informal Post-Conference Social Event
Virtual presentations
Faraz Malik Awan (University of Glasgow) – Unveiling the potential issues with mobile phone app data usage for travel mode detection
To view third-party content, please accept cookies.
Charlotte van der Lijn (University of St Andrews) – Harnessing gaze tracking in virtual reality for enhanced mobility in urban design
To view third-party content, please accept cookies.
Varun Raturi (University of Glasgow) – Estimating OD matrices using mobile app data: A novel approach to address longitudinal mobile data issues
This research focuses on estimating Origin-Destination (OD) matrices using mobile app data. It introduces a novel method for weighting the data, facilitating longitudinal comparisons. This approach aims to enhance policy-making by providing more accurate and reliable insights using mobile app data. -->
&lt;p>Last week I attended the &lt;a href="https://mobiletartu.ut.ee" target="_blank" rel="noopener">Mobile Tartu conference&lt;/a> 2024.
It was the 9^th^ time that this 2-yearly conference has run, marking 16 years since the first Mobile Tartu in &lt;a href="https://mobiletartu2008.mobilitylab.ut.ee/" target="_blank" rel="noopener">2008&lt;/a>.
I&amp;rsquo;ve been to a lot of conferences in my time, but this one was exceptionally good, containing ingredients for a productive, professional, inclusive and fun event (take note anyone thinking of organising a conference or workshop, including my future self)!
I had a great time and learned loads during many of the sessions, and during the social and down-time in the city of Tartu.&lt;/p>
&lt;p>This write-up provides an overview of the event and links to some of the impressive research projects presented.
The conference took place over 4 days, 5 including the excursion day on Saturday.
(I mis most of &amp;lsquo;day 5&amp;rsquo; on the long journey home during which I wrote much of this blog post).
The location was &amp;mdash; you guessed it from the name &amp;mdash; the Estonian town of Tartu, which is how I (and I suspect many others working in the mobility/transport sector) first heard of it.&lt;/p>
&lt;p>In summery, I really enjoyed the conference!
I would highly recommend it to anyone working in the field of mobility and transport research.
It had the highest quality of research focussed on origin-destination data and the use of mobile phone data for transport research that I have ever seen.
I wonder: if there conference had a different name, e.g. the &amp;ldquo;Origin-destination and mobility data research conference&amp;rdquo;, would it attract more people?
Maybe, but the name should remain, Tartu is a fantastic place, and the strong links between the conference and the city are a big part of its appeal.&lt;/p>
&lt;h1 id="tuesday-11th-june">Tuesday 11th June&lt;/h1>
&lt;p>Tuesday was the first day of the 2-day &lt;a href="https://mobiletartu.ut.ee/phd-course/" target="_blank" rel="noopener">PhD School&lt;/a> that preceded and then joined the main conference.
Traditionally it takes place outside the main conference location and this year was no exception: a nature reserve just outside Tartu was the location chosen this year.
There were fun ice-breakers, including a decentralised quiz during which participants were tasked with finding at least one person who met each of a dozen criteria relating to topics including people&amp;rsquo;s favourite GUI-based GIS software (QGIS of course!), &amp;hellip; and Estonian puddings (the hardest criteria because it had to be a non-Estonian who had eaten &lt;em>and remembered the name of&lt;/em> said hard-to-pronounce pudding).&lt;/p>
&lt;p>Even more inclusive was how everyone introduced themselves.
We were asked to stand in a circle looking in and say our name, where we&amp;rsquo;re from and how many &amp;lsquo;Mobile Tartus&amp;rsquo; we had previously attended (number one for me, I was impressed to learn that there were people there who had all 9).
After some refreshments and general mingling it was time for the first keynote talk: Kristjan &amp;hellip; who had spent time on a placement with the Estonian government.
His talk was fascinating to me, as someone who had made the shift from academia to the public sector.
Instead of working on separate jobs &amp;mdash; as I did when I shifted from being on secondment to Active Travel England as part of the 10DS Fellowship to taking on a second job in early 2023 &amp;mdash; Kristjan seems to have gone all-in on the public sector job, and acheived a huge amount.
As far as I am aware, in Estonia (as in many other countries including Germany and perhaps all the nordic nations), being an academic &lt;em>means&lt;/em> being a civil servant, that is to say: like civil servants, academics in Estonia are employed by the government.&lt;/p>
&lt;p>I&amp;rsquo;m not sure about the distribution of pros and cons of this, but I imagine that it makes it easier for academics to take on government roles (has anyone done research into the extent to which government policies are evidence-based in countries in which academic staff in state universities &lt;em>are&lt;/em> civil servants, compared with countries in which they are not, I wonder).
The talk was fascinating, covering projects that had involved new and emerging datasets held by the Estonian government.&lt;/p>
&lt;p>I already knew that Estonia was an early adopter of &amp;lsquo;digital government&amp;rsquo; but didn&amp;rsquo;t realise the breadth and depth of digital government initiatives and policies it has in place (in fact &amp;lsquo;initiatives and policies&amp;rsquo; don&amp;rsquo;t really do justice to some of these things, digital government seems to have become so embedded that it&amp;rsquo;s simply &lt;em>how things are done&lt;/em>).
Digital government in Estonia includes (or perhaps more accurately is underpinned by) &lt;a href="https://x-road.global/" target="_blank" rel="noopener">X-Road&lt;/a>, an &lt;a href="https://github.com/nordic-institute/X-Road" target="_blank" rel="noopener">open source&lt;/a> system for secure, decentralised management of multiple government datasets that serves hundreds of thousands of queries every year, saving thousands of person-days worth of work.
The system allows different parts of government to inter-connect, helping with the process of what the Department for Transport&amp;rsquo;s Chief Scientific Advisor calls de-siloisation.
I took some notes during the talk, one of which was the following:&lt;/p>
&lt;blockquote>
&lt;p>If you never scale, you&amp;rsquo;ll never have an impact on policy: as Kristjan said it&amp;rsquo;s not enough to put the concept out, write the paper and move on: you need a prototype.&lt;/p>
&lt;/blockquote>
&lt;p>After the talk (which had many other examples of digital government and its clear benefits), we split into four groups for the PhD workshop sessions:&lt;/p>
&lt;ul>
&lt;li>A team working on datasets representing refugee movements&lt;/li>
&lt;li>A group working on Mobility Hubs&lt;/li>
&lt;li>A team working on data from Helsinki provided by Hennriki Tenkannen, who led the session&lt;/li>
&lt;/ul>
&lt;p>Despite not being a PhD student and therefore not having signed-up to a session, I decided to attend Hennriki&amp;rsquo;s session, wanting to brush-up on my Python skills and to check-out some open access transport-related datasets from Finland.&lt;/p>
&lt;p>The final part of day 1 was a social which involved optionally going into a sauna and (even more optionally) taking a dip in the river.
Tired from all the activity of the first day we headed to Tartu where the rest of the conference would take place.&lt;/p>
&lt;h1 id="wednesday-12th-june">Wednesday 12th June&lt;/h1>
&lt;p>The second day involved a continuation of the PhD workshops, plus the opening of main Mobile Conference for all participants.
There was plenty of time to work on the topics and other things: I decided to work on a related dataset and the nascent &lt;a href="https://github.com/Robinlovelace/spanishoddata" target="_blank" rel="noopener">{spanishoddata}&lt;/a> package during some of this time, thanks to an overdue meeting with &lt;a href="https://www.ekotov.pro/" target="_blank" rel="noopener">Egor Kotov&lt;/a> from the Max Planck Institute for Demographic Research and Universitat Pompeu Fabra.&lt;/p>
&lt;p>&lt;em>Update from January 2025: the package is now published on CRAN, and the source code is hosted on GitHub at &lt;a href="https://github.com/rOpenSpain/spanishoddata" target="_blank" rel="noopener">github.com/rOpenSpain/spanishoddata&lt;/a>.&lt;/em>&lt;/p>
&lt;h1 id="thursday-13th-june">Thursday 13th June&lt;/h1>
&lt;p>The first full day of the conference involved keynote talks by Nico Van de Weghe from Ghent University and Anu Masso, interspersed with regular talks submitted by participants.&lt;/p>
&lt;p>Nico&amp;rsquo;s talk was on the topic of &amp;ldquo;Exploring Possibilities: generative AI in human mobility research&amp;rdquo;, and can be seen in the video below:&lt;/p>
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/rFjyxX2pHz8?si=BnGgsE_9bBgHRnXO" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen>&lt;/iframe>
&lt;p>Anu&amp;rsquo;s talk was on the topic of &amp;ldquo;Mobility Data Justice: Estonian Data Manifesto&amp;rdquo;, and can be seen in the video below:&lt;/p>
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/9u7bFE_4N6Q?si=NpYgM62ABybi7mrD" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen>&lt;/iframe>
&lt;h1 id="friday-14th-june">Friday 14th June&lt;/h1>
&lt;p>This was the final day of the academic part of the conference and a big one for me, as it was the day of my talk.
As shown in the video below, my talk was titled &amp;ldquo;Reproducible research and open tools for future-proof transport planning&amp;rdquo;.
See more about the talk &lt;a href="https://www.robinlovelace.net/talk/reproducible-research-and-open-tools-for-future-proof-transport-planning/" target="_blank" rel="noopener">here&lt;/a> and see the open source code at &lt;a href="https://future-proof.robinlovelace.net/" target="_blank" rel="noopener">futureproof.robinlovelace.net&lt;/a>.&lt;/p>
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/BMYF3PybMiU?si=3U7YmRwHBrdqp3qx" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen>&lt;/iframe>
&lt;p>As with the previous day, there were two paper sessions, one in the morning and one in the afternoon.
The topics were&lt;/p>
&lt;ul>
&lt;li>Morning session
&lt;ul>
&lt;li>Session 4A: Accessibility to public transit and shared mobility&lt;/li>
&lt;li>Session 4B: Daily use of urban space: understanding mobility and segregation with mobile big data&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Afternoon session
&lt;ul>
&lt;li>Session 5A: The spatial, digital, and temporal dimensions in mobility and urbanity&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>The panel discussion, which I had the honour of being involved in, was on the topic of &amp;ldquo;Understanding accessibility and socio-spatial disparities with mobile big data&amp;rdquo;, and highlighted the importance of open data and reproducible research to ensure that the benefits of new data sources are shared widely and equitably.
It was refreshing to have the involvement of people not only in academia but also from the public sector and industry, including Kertu Vuks from the Tartu City Government, in the session.&lt;/p>
&lt;h1 id="conclusion">Conclusion&lt;/h1>
&lt;p>Mobile Tartu 2024 was a fantastic conference, one of the most enjoyable and productive I have ever attended.
It was an honour to present and I thank the organisers for the opportunity.&lt;/p>
&lt;p>I look forward to the next Mobile Tartu conference in 2026, and hope to see many of the same faces there.&lt;/p></description></item><item><title>Reproducible research and open tools for future-proof transport planning</title><link>https://robinlovelace.net/old-site/talk/reproducible-research-and-open-tools-for-future-proof-transport-planning/</link><pubDate>Wed, 12 Jun 2024 11:00:00 +0200</pubDate><guid>https://robinlovelace.net/old-site/talk/reproducible-research-and-open-tools-for-future-proof-transport-planning/</guid><description/></item><item><title>Spatial Interaction Modelling: A Manifesto</title><link>https://robinlovelace.net/old-site/publication/rowe-spatial-2024/</link><pubDate>Fri, 03 May 2024 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/rowe-spatial-2024/</guid><description/></item><item><title>CRUSE to safe cycling in Ireland: an open source methodology to support active travel</title><link>https://robinlovelace.net/old-site/talk/cruse-to-safe-cycling-in-ireland-an-open-source-methodology-to-support-active-travel/</link><pubDate>Wed, 17 Apr 2024 18:30:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/cruse-to-safe-cycling-in-ireland-an-open-source-methodology-to-support-active-travel/</guid><description>&lt;p>In this talk I present the outputs from the Cycle Route Uptake and Scenario Estimation (CRUSE) Tool for Ireland, a web application that enables planners, engineers, and other stakeholders to make more evidence-based decisions.
See the the website at &lt;a href="https://cruse.bike/" target="_blank" rel="noopener">cruse.bike&lt;/a>.&lt;/p>
&lt;p>Time of the session: 5:45 PM - 6:45 PM on Wednesday, April 17, 2024&lt;/p>
&lt;p>See &lt;a href="https://confpartners.eventsair.com/QuickEventWebsitePortal/tra-2024/conference-programme/Agenda/AgendaItemDetail?id=bad08628-45e1-badd-42b8-3a0f9efdcccd" target="_blank" rel="noopener">the confpartners website&lt;/a> for details.&lt;/p>
&lt;!-- # Documentation: https://wowchemy.com/docs/managing-content/
# Header image
# Home
# Programme
# Technical 1.1.10 Safety of Cycling
# Tracks
# Technical &amp; Poster Sessions
# Wednesday, April 17, 2024
# 5:45 PM - 6:45 PM
# Hall 2A (Shelbourne Hall)
# Details
# Theme: Safe &amp; Inclusive Transport
# Speaker
# Prof. Luis de Picado Santos
# Full Professor
# IST, Universidade de Lisboa
# Characterization of accidents with cyclists in Lisbon: Study on the Built Environment Factors.
# 5:45 PM - 6:00 PM
# Mrs Maria Pohle
# Researcher
# Fraunhofer IVI
# Safe Route Algorithm for Vulnerable Road Users
# 6:00 PM - 6:15 PM
# Dr Yannick Cornet
# Senior Researcher for Sustainable Mobility Systems
# University Of Žilina
# Oxford roundabout and the art of safety: resistance to cycling infrastructure intervention
# 6:15 PM - 6:30 PM
# Dr Robin Lovelace
# Associate Professor of Transport Data Science
# University Of Leeds
# CRUSE to safe cycling in Ireland: an open source methodology to support active travel
# 6:30 PM - 6:45 PM -->
&lt;p>Additional speakers:&lt;/p>
&lt;ul>
&lt;li>Prof. Luis de Picado Santos, Full Professor, IST, Universidade de Lisboa, Characterization of accidents with cyclists in Lisbon: Study on the Built Environment Factors.&lt;/li>
&lt;li>Mrs Maria Pohle, Researcher, Fraunhofer IVI, Safe Route Algorithm for Vulnerable Road Users&lt;/li>
&lt;li>Dr Yannick Cornet, Senior Researcher for Sustainable Mobility Systems, University Of Žilina, Oxford roundabout and the art of safety: resistance to cycling infrastructure intervention&lt;/li>
&lt;/ul></description></item><item><title>Reproducible Methods for Network Simplification for Data Visualisation and Transport Planning</title><link>https://robinlovelace.net/old-site/publication/lovelace-reproducible-2024/</link><pubDate>Thu, 11 Apr 2024 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-reproducible-2024/</guid><description/></item><item><title>Build It but Will They Come? Exploring the Impact of Introducing Contraflow Cycling on Cycling Volumes with Crowd-Sourced Data</title><link>https://robinlovelace.net/old-site/publication/tait-build-2024/</link><pubDate>Fri, 01 Mar 2024 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/tait-build-2024/</guid><description/></item><item><title>Reflections on 2023</title><link>https://robinlovelace.net/old-site/post/new-year-reflections/</link><pubDate>Sun, 31 Dec 2023 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/new-year-reflections/</guid><description>
&lt;p>Like last year’s reflections post, I’m going to keep this one short and use it as a chance to reflect on what I’ve been up to over the last 12 months, what I’ve been working on, research I’ve contributed to, and hopes for next year.&lt;/p>
&lt;div id="research" class="section level1">
&lt;h1>Research&lt;/h1>
&lt;p>It was a productive year for my research outputs, in which I was co-author on the following research outputs:&lt;/p>
&lt;ul>
&lt;li>&lt;p>&lt;a href="https://www.robinlovelace.net/publication/lovelace-ref-2023/">&lt;em>Cycle network policy, planning and investment transformed by the Propensity to Cycle Tool&lt;/em>&lt;/a>, not an academic paper but a case study about the pathways from research to impact, as part of the UK’s Research Excellence Framework (REF).
The work was assessed as being a &lt;em>4*&lt;/em> &lt;em>REF Impact Case Study&lt;/em> according to the amazing team at the University of Leeds who supported me to condense 5+ years of work into a single report &lt;span class="citation">(&lt;a href="#ref-lovelace2023">Lovelace et al. 2023&lt;/a>)&lt;/span>.&lt;/p>&lt;/li>
&lt;li>&lt;p>&lt;a href="https://www.robinlovelace.net/publication/mahfouz-road-2023/">&lt;em>A road segment prioritization approach for cycling infrastructure&lt;/em>&lt;/a>, a paper led by my PhD student Hussein Mahfouz, that explores methods for prioritising investment in active travel networks that take into account equity and cost effectiveness &lt;span class="citation">(&lt;a href="#ref-mahfouz2023">Mahfouz, Lovelace, and Arcaute 2023&lt;/a>)&lt;/span>.
It took a LONG and occasionally frustrating amount of time to get through the peer review process but I’m really happy that this is now published in a top journal (JTG).&lt;/p>&lt;/li>
&lt;li>&lt;p>&lt;em>Contraflows and cycling safety: Evidence from 22 years of data involving 508 one-way streets&lt;/em> is a paper led by my former PhD student Caroline Tait &lt;span class="citation">(&lt;a href="#ref-tait2023">Tait et al. 2023&lt;/a>)&lt;/span>.
It is, to the best of our knowledge, the most detailed data-driven assessment of the safety of contraflow cycling interventions which is highly policy relevant: it challenges the unfounded assumption that contraflow cycleways should not be approved on safety grounds, especially in places like London where there are existing cycling communities and high potential.&lt;/p>&lt;/li>
&lt;li>&lt;p>&lt;em>Where to invest in cycle parking: A portfolio management approach to spatial transport planning&lt;/em> was the result of an Master’s dissertation project at ITS, it’s a solid method for prioritising in cycle parking that I hope to see implemented soon &lt;span class="citation">(&lt;a href="#ref-ito2023">Ito, Morgan, and Lovelace 2023&lt;/a>)&lt;/span>.&lt;/p>&lt;/li>
&lt;li>&lt;p>&lt;em>Road lighting and cycling: A review of the academic literature and policy guidelines&lt;/em> is the first review into the research on street lighting and cycling led by my colleague Eugeni &lt;span class="citation">(&lt;a href="#ref-vidal-tortosa2023">Vidal-Tortosa and Lovelace 2023&lt;/a>)&lt;/span>.&lt;/p>&lt;/li>
&lt;li>&lt;p>&lt;em>Packaging code for reproducible research in the public sector&lt;/em> is not actually published yet, but I’m very proud of this collaboration between me, Federico Botta from the University of Exeter, Arthur Turrell of the Data Science Campus, and Laura Gilbert from the data science team in No. 10 (10DS) &lt;span class="citation">(&lt;a href="#ref-botta">Botta et al., n.d.&lt;/a>)&lt;/span>&lt;/p>&lt;/li>
&lt;/ul>
&lt;/div>
&lt;div id="second-job" class="section level1">
&lt;h1>Second job&lt;/h1>
&lt;p>2023 was an exhilarating year work-wise, as I took on a new role as a civil servant, in addition to my main job as an associate professor in transport data science at the University of Leeds.
The new part time role is with Active Travel England, the government agency tasked with creating a step change in walking and cycling nationwide.
I had a broad remit but my main aim during the first part was to build the data and digital team, which I’m happy to say, job done.
We started 2023 with only 1 person with a data and digital remit (me) and end it with a small but effective team of 7.&lt;/p>
&lt;p>There were many proud moments over the last 12 months in Active Travel England, one of the greatest being the launch of the collaboration between Active Travel England and the Alan Turing Institute, the UK’s national institute for data science and AI.
Building on my links with the ATI as a Turing Fellow, and my previous working with Dustin Carlino and others on the prototype &lt;a href="https://actdev.cyipt.bike/">ActDev&lt;/a> tool, we secured funding for a 2 year project for the ATI to develop the Active Travel Infrastructure Platform (ATIP).&lt;/p>
&lt;p>From the &lt;a href="https://www.gov.uk/government/news/alan-turing-institute-partnership-brings-data-expertise-to-nationwide-walking-and-cycling-schemes">Active Travel England press release&lt;/a>:&lt;/p>
&lt;blockquote>
&lt;p>This [collaboration] will enable the development of new functionality in the Active Travel Infrastructure Platform (ATIP), which helps councils to map out proposed schemes and see the impact they could have locally.&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>These new tools will be paired with existing data sources such as OpenStreetMap, to create innovative solutions that will help build the evidence needed to meet national government’s objectives on active travel, including for 50% of short trips in urban areas to be made by walking, wheeling and cycling by 2030.
The investment will demonstrate how new software engineering and data science techniques can support evidence-based planning and support Active Travel England’s mission.&lt;/p>
&lt;/blockquote>
&lt;p>I played a role in securing the funding, writing the grant funding agreement, submitting it (with lots of support from ATE colleagues) and getting people in the ATI and ATE onboard.
The most credit goes to Dustin and everyone involved, it’s still a work in progress, but the first version of the ATIP is now live and being used by local authorities across the country to plan walking and cycling schemes.&lt;/p>
&lt;p>See the open source code underlying the functionality plus links to a live web app at &lt;a href="https://github.com/acteng/atip">github.com/acteng/atip&lt;/a>.&lt;/p>
&lt;p>Like the Propensity to Cycle Tool (which I got to demo to the then Secretary of State for transport in 2017), the ATIP project is highly conducive to collaborative planning and live demos.
&lt;!-- As shown below, we got a chance to demo the tool to the government minister with the active travel brief, Jesse Norman (credit to Danny Williams, CEO of Active Travel England, for the photo): -->
We got a chance to show off the tool during a &lt;a href="https://www.linkedin.com/embed/feed/update/urn:li:share:7041103074261626881">live demo with the government minister responsible for active travel&lt;/a>, Jesse Norman (now &lt;a href="https://www.gov.uk/government/ministers/parliamentary-under-secretary-of-state--236">Guy Opperman&lt;/a> since November 2023).&lt;/p>
&lt;!-- ![](images/paste-3.png) -->
&lt;!-- ![](images/paste-2.png) -->
&lt;!-- &lt;iframe src="https://www.linkedin.com/embed/feed/update/urn:li:share:7041103074261626881" height="376" width="504" frameborder="0" allowfullscreen title="Embedded post">
&lt;/iframe> -->
&lt;/div>
&lt;div id="home-at-last" class="section level1">
&lt;h1>Home at last&lt;/h1>
&lt;p>It was a more relaxing end to the year than 2022 which, as outlined in the previous year’s reflections, was largely spent unpacking.
I’m happy to say that we’re now settled into our new home in the Chapeltown Cohousing project which provides an amazing base for our life in Leeds.
It has a shared garden and the cars are parked outside, meaning plenty of space for Kit, now aged 2, to run around without worries about road traffic danger.&lt;/p>
&lt;p>&lt;img src="images/paste-1.png" />&lt;/p>
&lt;p>My wife Katy and I are also now the proud owners of an e-bike, an early Christmas present which is a low carbon and (thanks to the cycle to work scheme) cost effective way of getting around, allowing us to combine biking to work with the nursery run.&lt;/p>
&lt;/div>
&lt;div id="hopes-and-dreams-for-2024" class="section level1">
&lt;h1>Hopes and dreams for 2024&lt;/h1>
&lt;p>In 2024 I plan to focus more on my academic research but will retain a role in ATE to support on data science and digital innovation.
My dream is spend more time with my son Kit and on the work side to build a team developing cutting edge and internationally applicable research and tools for sustainable transport planning.
Now settled into the new home and into my new roles, it’s all doable, just requires hard work, focus, and good work-life balance.&lt;/p>
&lt;/div>
&lt;div id="references" class="section level1 unnumbered">
&lt;h1>References&lt;/h1>
&lt;div id="refs" class="references csl-bib-body hanging-indent">
&lt;div id="ref-botta" class="csl-entry">
Botta, Federico, Robin Lovelace, Laura Gilbert, and Arthur Turrell. n.d. &lt;span>“Packaging Code for Reproducible Research in the Public Sector.”&lt;/span> &lt;a href="https://doi.org/10.48550/arXiv.2305.16205">https://doi.org/10.48550/arXiv.2305.16205&lt;/a>.
&lt;/div>
&lt;div id="ref-ito2023" class="csl-entry">
Ito, Yuhei, Malcolm Morgan, and Robin Lovelace. 2023. &lt;span>“Where to Invest in Cycle Parking: A Portfolio Management Approach to Spatial Transport Planning.”&lt;/span> &lt;em>Environment and Planning B: Urban Analytics and City Science&lt;/em> 50 (6): 1438–54. &lt;a href="https://doi.org/10.1177/23998083221138575">https://doi.org/10.1177/23998083221138575&lt;/a>.
&lt;/div>
&lt;div id="ref-lovelace2023" class="csl-entry">
Lovelace, Robin, M Birkin, Joseph Talbot, and Malcolm Morgan. 2023. &lt;span>“Cycle Network Policy, Planning and Investment Transformed by the Propensity to Cycle Tool.”&lt;/span> &lt;a href="https://results2021.ref.ac.uk/impact/847d1191-7f25-46ba-a399-b481125edc8f?page=1">https://results2021.ref.ac.uk/impact/847d1191-7f25-46ba-a399-b481125edc8f?page=1&lt;/a>.
&lt;/div>
&lt;div id="ref-mahfouz2023" class="csl-entry">
Mahfouz, Hussein, Robin Lovelace, and Elsa Arcaute. 2023. &lt;span>“A Road Segment Prioritization Approach for Cycling Infrastructure.”&lt;/span> &lt;em>Journal of Transport Geography&lt;/em> 113 (December): 103715. &lt;a href="https://doi.org/10.1016/j.jtrangeo.2023.103715">https://doi.org/10.1016/j.jtrangeo.2023.103715&lt;/a>.
&lt;/div>
&lt;div id="ref-tait2023" class="csl-entry">
Tait, Caroline, Roger Beecham, Robin Lovelace, and Stuart Barber. 2023. &lt;span>“Contraflows and Cycling Safety: Evidence from 22 Years of Data Involving 508 One-Way Streets.”&lt;/span> &lt;em>Accident Analysis &amp;amp; Prevention&lt;/em> 179 (January): 106895. &lt;a href="https://doi.org/10.1016/j.aap.2022.106895">https://doi.org/10.1016/j.aap.2022.106895&lt;/a>.
&lt;/div>
&lt;div id="ref-vidal-tortosa2023" class="csl-entry">
Vidal-Tortosa, Eugeni, and Robin Lovelace. 2023. &lt;span>“Road Lighting and Cycling: A Review of the Academic Literature and Policy Guidelines.”&lt;/span> &lt;em>Journal of Cycling and Micromobility Research&lt;/em>, December, 100008. &lt;a href="https://doi.org/10.1016/j.jcmr.2023.100008">https://doi.org/10.1016/j.jcmr.2023.100008&lt;/a>.
&lt;/div>
&lt;/div>
&lt;/div></description></item><item><title>Road Lighting and Cycling: A Review of the Academic Literature and Policy Guidelines</title><link>https://robinlovelace.net/old-site/publication/vidal-tortosa-road-2023/</link><pubDate>Sat, 09 Dec 2023 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/vidal-tortosa-road-2023/</guid><description/></item><item><title>A Road Segment Prioritization Approach for Cycling Infrastructure</title><link>https://robinlovelace.net/old-site/publication/mahfouz-road-2023/</link><pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/mahfouz-road-2023/</guid><description/></item><item><title>Data Science for Active Travel Planning: Streets, schemes and networks</title><link>https://robinlovelace.net/old-site/talk/data-science-for-active-travel-planning-streets-schemes-and-networks/</link><pubDate>Tue, 17 Oct 2023 11:00:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/data-science-for-active-travel-planning-streets-schemes-and-networks/</guid><description>&lt;p>This is the main annual event of the National Health Service&amp;rsquo;s data science community.
See details at &lt;a href="https://nhsrcommunity.com/events/nhs-r-community-conference-2023-ticket-for-in-person-attendance-on-tuesday-17th-october-2023/" target="_blank" rel="noopener">nhsrcommunity.com&lt;/a>.&lt;/p>
&lt;p>Related slides by Dustin Carlino from the Alan Turing Institute can be found &lt;a href="https://docs.google.com/presentation/d/1qS6xS-11g3j3ioRJszvom-tGdyEr_Y1SGFrej-1DR04/" target="_blank" rel="noopener">online&lt;/a>.&lt;/p></description></item><item><title>Keynote: Geocomputation, reproducible research and open tools to inform the transition away from fossil fuels</title><link>https://robinlovelace.net/old-site/talk/keynote-geocomputation-reproducible-research-and-open-tools-to-inform-the-transition-away-from-fossil-fuels/</link><pubDate>Mon, 04 Sep 2023 09:00:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/keynote-geocomputation-reproducible-research-and-open-tools-to-inform-the-transition-away-from-fossil-fuels/</guid><description>&lt;p>The Economics of Low-Carbon Markets workshop, 4-5 September in Oldenburg (Germany), marks 10 years since the event was first held.
The presentation is part of &amp;ldquo;Policy Session&amp;rdquo; on open compuational tools such as the Propensity to Cycle Tool that have informed policy.&lt;/p>
&lt;p>See more at the project homepage: &lt;a href="https://sites.google.com/usp.br/lcmworkshop/home" target="_blank" rel="noopener">https://sites.google.com/usp.br/lcmworkshop/home&lt;/a>&lt;/p></description></item><item><title>Tidy geographic data with sf, dplyr, ggplot2, geos and friends</title><link>https://robinlovelace.net/old-site/talk/tidy-geographic-data-with-sf-dplyr-ggplot2-geos-and-friends/</link><pubDate>Sun, 27 Aug 2023 17:00:00 +0200</pubDate><guid>https://robinlovelace.net/old-site/talk/tidy-geographic-data-with-sf-dplyr-ggplot2-geos-and-friends/</guid><description>&lt;p>This workshop explores recent development in R&amp;rsquo;s spatial data analysis ecosystem and exciting new developments in the field.&lt;/p>
&lt;p>I deliver a 2 part session on &amp;lsquo;Tidy Geographic Data&amp;rsquo;, and a session on handling large OpenStreetMap datasets with R, &lt;code>osmium&lt;/code> and other open source command-line tools.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/old-site/talk/tidy-geographic-data-with-sf-dplyr-ggplot2-geos-and-friends/images/paste-1_hub10bc38ac8831b32429a09829fac3be5_181045_748af91569c5e9f51d185a0201289a7a.webp 400w,
/old-site/talk/tidy-geographic-data-with-sf-dplyr-ggplot2-geos-and-friends/images/paste-1_hub10bc38ac8831b32429a09829fac3be5_181045_8b73ac238e7e059953ac04bf04323fc4.webp 760w,
/old-site/talk/tidy-geographic-data-with-sf-dplyr-ggplot2-geos-and-friends/images/paste-1_hub10bc38ac8831b32429a09829fac3be5_181045_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://robinlovelace.net/old-site/old-site/talk/tidy-geographic-data-with-sf-dplyr-ggplot2-geos-and-friends/images/paste-1_hub10bc38ac8831b32429a09829fac3be5_181045_748af91569c5e9f51d185a0201289a7a.webp"
width="760"
height="352"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>As shown in the course &lt;a href="https://pretalx.earthmonitor.org/opengeohub-summer-school-2023/schedule/" target="_blank" rel="noopener">schedule&lt;/a> I will deliver the following sessions:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://pretalx.earthmonitor.org/opengeohub-summer-school-2023/talk/7JN3FV/" target="_blank" rel="noopener">Tidy geographic data with sf, dplyr, ggplot2, geos and friends&lt;/a>
&lt;ul>
&lt;li>2023-08-28, 11:00&amp;ndash;12:30, Room 21 (Sala 21)\&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="https://pretalx.earthmonitor.org/opengeohub-summer-school-2023/talk/SRMZVJ" target="_blank" rel="noopener">Processing large OpenStreetMap datasets for geocomputation&lt;/a>
&lt;ul>
&lt;li>2023-09-01, 09:00&amp;ndash;10:30, Room 18 (Sala 18)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/old-site/talk/tidy-geographic-data-with-sf-dplyr-ggplot2-geos-and-friends/images/paste-2_hu07d3ac1bfb38bffc59f949e7b34916b8_239648_730457ad7b8e567a294b2af344930f67.webp 400w,
/old-site/talk/tidy-geographic-data-with-sf-dplyr-ggplot2-geos-and-friends/images/paste-2_hu07d3ac1bfb38bffc59f949e7b34916b8_239648_96a43e6198ecad10b143b7000f94aeb9.webp 760w,
/old-site/talk/tidy-geographic-data-with-sf-dplyr-ggplot2-geos-and-friends/images/paste-2_hu07d3ac1bfb38bffc59f949e7b34916b8_239648_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://robinlovelace.net/old-site/old-site/talk/tidy-geographic-data-with-sf-dplyr-ggplot2-geos-and-friends/images/paste-2_hu07d3ac1bfb38bffc59f949e7b34916b8_239648_730457ad7b8e567a294b2af344930f67.webp"
width="760"
height="668"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p></description></item><item><title>Where to Invest in Cycle Parking: A Portfolio Management Approach to Spatial Transport Planning</title><link>https://robinlovelace.net/old-site/publication/ito-where-2023/</link><pubDate>Sat, 01 Jul 2023 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/ito-where-2023/</guid><description/></item><item><title>The Active Travel Infrastructure Platform (ATIP)​</title><link>https://robinlovelace.net/old-site/talk/the-active-travel-infrastructure-platform-atip/</link><pubDate>Wed, 24 May 2023 10:45:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/the-active-travel-infrastructure-platform-atip/</guid><description>&lt;h1 id="abstract">Abstract&lt;/h1>
&lt;p>ATIP is an open source web app initially developed in early 2023 to enable local transport
planners to document, store and share geographic data on planned interventions. As of May
2023 ATIP provides an intuitive interface to quickly sketch the location of a wide range of
interventions including:&lt;/p>
&lt;ul>
&lt;li>Linear infrastructure, including new routes, pavement widening and road diets projects&lt;/li>
&lt;li>Crossings, including new pelican, zebra and other types of crossings&lt;/li>
&lt;li>Area-wide traffic management schemes, including modal filters and boundaries&lt;/li>
&lt;/ul>
&lt;p>Users can also add describe their planned schemes with free test or ATE&amp;rsquo;s taxonomy (in
progress). ATIP is designed for ease-of-use. It makes drawing lines and polygons snapped to
existing streets and paths easy with &amp;lsquo;route snapper&amp;rsquo; functionality, a world first for polygons.
The talk will outline the thinking behind ATIP, how it&amp;rsquo;s been used in ATE to collect, for the first
time, detailed geographic data on schemes, and the roadmap towards ATIP becoming a one
stop shop for active travel infrastructure nationwide. ATIP. Finally, the talk will cover the
technology powering ATIP, including Svelte, MapLibre GL, Rust, WebAssembly, and
OpenStreetMap and how to harness these tools for other projects.&lt;/p></description></item><item><title>Setting up a new computer with Ubuntu to run open source software for research and Geocomputation</title><link>https://robinlovelace.net/old-site/post/setting-up-ubuntu-geocomputation/</link><pubDate>Tue, 11 Apr 2023 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/setting-up-ubuntu-geocomputation/</guid><description>
&lt;p>I recently got a new laptop. Being a long time Ubuntu user and fan, decided to get set-up with the user-friendly and long-established &lt;a href="https://ubuntu.com/">Ubuntu&lt;/a>.
This post is about how to get set-up with new software on Ubuntu. The main message: installing and setting-up software from the command line can save time and save your future self hours the next time you get a new computer.
It is rather niche with a very specific target audience: people who have recently installed Ubuntu on their computer, who are looking to get a new computer and wondering what options are out there, and people who already have Ubuntu and want to get more software installed.
After you have finished your set-up may look a bit like this.&lt;/p>
&lt;p>&lt;img src="https://github.com/Robinlovelace/install-geocomp-ubuntu/raw/master/vscode-qgis-editing.png" />&lt;/p>
&lt;p>If you want to jump to the code without reading my ramblings on open source software, and if you approve of Linus Torvald’s &lt;a href="https://www.goodreads.com/quotes/437173-talk-is-cheap-show-me-the-code">quip&lt;/a> “talk is cheap, show me the code”, then feel free to skip to to the code and ignore my ramblings here ; ) &lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu" class="uri">https://github.com/Robinlovelace/install-geocomp-ubuntu&lt;/a>&lt;/p>
&lt;p>That repo was set-up around 7 years ago, inspired by a post on &lt;a href="https://medium.com/@ramiroaznar/how-to-install-the-most-common-open-source-gis-applications-on-ubuntu-dbe9d612347b">installing commonly needed GIS software on Ubuntu&lt;/a> (see the first commit &lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu/commit/8227412d85011584fb39662b07254ae5e2604607">here&lt;/a>).
I decided to use my new laptop setup needs as an excuse to update the repo for using Ubuntu for research in the 2020s.&lt;/p>
&lt;div id="why-ubuntu" class="section level1">
&lt;h1>Why Ubuntu?&lt;/h1>
&lt;p>This article is about installing software on Ubuntu, not the operating system itself.
However, it’s worth mentioning a few things about Ubuntu before diving into the software set-up that I use. There are many factors that should go into the decision of which operating system to use, although most people (except software developers) never even have the opportunity to make that decision as they are handed Windows on every computer they use (except when they use online services, most of which run on Linux systems set-up by developers running Linux, a notable example of companies &lt;strong>not&lt;/strong> drinking their own champagne/&lt;a href="https://en.wikipedia.org/wiki/Eating_your_own_dog_food">dogfooding&lt;/a>). That is not the topic of this blog post but worth stating the reasoning behind using Linux: from economic, educational, security and good vibes perspectives it’s a win, win, win, win. Include the user-friendliness and stability of Ubuntu and it’s a win x 5 situation!&lt;/p>
&lt;p>If you don’t already use Linux and are curious about Ubuntu, I recommend checking out one of the great blogs on ‘dual booting’ linux on computers that currently have Windows&lt;/p>
&lt;p>In fact, because it was from UK based Linux hardware specialists Entroware, it already had Ubuntu installed. The laptop in question: an Entroware &lt;a href="https://www.entroware.com/store/proteus">Proteus&lt;/a> 15”, which has great spec at a reasonable price. It’s also a looker as shown in the photo.&lt;/p>
&lt;p>&lt;img src="featured.jpg" width="30%" style="display: block; margin: auto;" />&lt;/p>
&lt;p>I may write a review of the Entroware Proteus at some point. For now, suffice to say that it’s one of the few off-the-shelf options for people wanting to buy a decent new laptop &lt;em>without&lt;/em> having to pay for a clunky, resource-intensive operating system that suffers from &lt;a href="https://medium.com/codex/5-reasons-why-linux-is-more-secure-than-windows-1d036c3d3324">various security vulnerabilities&lt;/a> that Linux avoids.&lt;/p>
&lt;/div>
&lt;div id="install-key-packages" class="section level1">
&lt;h1>Install key packages&lt;/h1>
&lt;p>After you have installed Ubuntu or bought a laptop that has it preinstalled, it’s time to get things set-up!
The packages that are ‘key’ will vary from person to person.
I’m confident that the list I have below will be useful to many people.
If you like making maps, reproducible research, and using future-proof tools for data science, programming and geocomputation, I’m confident many will be useful.
The guide below covers the following:&lt;/p>
&lt;ul>
&lt;li>GitHub’s CLI tool for command-line collaboration and code sharing&lt;/li>
&lt;li>&lt;strong>R&lt;/strong> with access to pre-compiled packages, a powerhouse for statistical computing&lt;/li>
&lt;li>R packages for working with spatial data&lt;/li>
&lt;li>&lt;strong>RStudio&lt;/strong>, a space-aged editor for &lt;strong>R&lt;/strong>&lt;/li>
&lt;li>VS Code with extensions for R, Python, C/C++, Rust, Docker, and more&lt;/li>
&lt;li>Docker, which gives ultimate power and flexibility to install and run software&lt;/li>
&lt;/ul>
&lt;p>I’ve also created content for adding more amazing software, find those on the GitHub repo I set up to encourage contributions and to make the content more future proof:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#qgis">QGIS&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#rust">Rust&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#getting-started-with-tools-for-geocomputation">Getting started with tools for
geocomputation&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#other-tools-for-boosting-productivity-and-developer-experience">Other tools for boosting productivity and developer
experience&lt;/a>
&lt;ul>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#rust-command-line-utilities">Rust command-line utilities&lt;/a>
&lt;ul>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#ripgrep">ripgrep&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#fd">fd&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#sd">sd&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#exa">exa&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#dust">dust&lt;/a>&lt;/li>
&lt;/ul>&lt;/li>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#copyq">CopyQ&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#appimage-launcher">AppImage Launcher&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#logseq">LogSeq&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#zotero">Zotero&lt;/a>
&lt;ul>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#make-zotero-available-to-the-launcher">Make Zotero available to the
launcher&lt;/a>&lt;/li>
&lt;/ul>&lt;/li>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#ddterm">ddterm&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#signal">Signal&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#flameshot">Flameshot&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#chrome">Chrome&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#edge">Edge&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#kmcaster">KmCaster&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#syncthing">Syncthing&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#discord">Discord&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu#slack">Slack&lt;/a>&lt;/li>
&lt;/ul>&lt;/li>
&lt;/ul>
&lt;p>So let’s dive in!&lt;/p>
&lt;p>Fire up a terminal, e.g. with &lt;code>Ctl-Alt-T&lt;/code> after booting Ubuntu, then enter the following.&lt;/p>
&lt;div id="githubs-gh-cli" class="section level2">
&lt;h2>GitHub’s gh CLI&lt;/h2>
&lt;p>GitHub has developed a command line interface (CLI) tool for enabling fast and intuitive interaction with the world’s premier code hosting platform.
It’s a good place to start because it’s small, self-contained, and can be used to clone code repos like this one.
Install it with the following cryptic commands from the project’s &lt;a href="https://github.com/cli/cli/blob/trunk/docs/install_linux.md">GitHub page&lt;/a>:&lt;/p>
&lt;pre class="bash">&lt;code>type -p curl &amp;gt;/dev/null || (sudo apt update &amp;amp;&amp;amp; sudo apt install curl -y)
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \
&amp;amp;&amp;amp; sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \
&amp;amp;&amp;amp; echo &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main&amp;quot; | sudo tee /etc/apt/sources.list.d/github-cli.list &amp;gt; /dev/null \
&amp;amp;&amp;amp; sudo apt update \
&amp;amp;&amp;amp; sudo apt install gh -y&lt;/code>&lt;/pre>
&lt;p>Test to see if it works as follows:&lt;/p>
&lt;pre class="bash">&lt;code># Log-in to GitHub from the command line
gh auth login
gh repo clone Robinlovelace/install-geocomp-ubuntu
cd install-geocomp-ubuntu
less README.md&lt;/code>&lt;/pre>
&lt;div id="setting-up-git" class="section level3">
&lt;h3>Setting up Git&lt;/h3>
&lt;p>Setup git with the following commands&lt;/p>
&lt;pre class="bash">&lt;code>git config --global user.email &amp;quot;test@tilia.org.uk&amp;quot;
git config --global user.name &amp;quot;trachelium&amp;quot;&lt;/code>&lt;/pre>
&lt;/div>
&lt;/div>
&lt;div id="r-and-rstudio" class="section level2">
&lt;h2>R and RStudio&lt;/h2>
&lt;p>As Hadley Wickham, Chief Scientist at RStudio, rightly says about RStudio products, a great thing about R and RStudio them is that they ‘just work’:&lt;/p>
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/fl5LP6QOjM0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen>
&lt;/iframe>
&lt;p>I have become a huge fan of VS Code and installing it plus some amazing extensions is covered in the next section.
VS Code is increasingly good with decent support for visualisations and, as the screenshot below shows, even now marks-up markdown outputs from Quarto documents.
However, if you want to do standard data science things and create reproducible documents, R+RStudio is hard to beat, especially if you’re just starting out with data science.
Install them with the following commands:&lt;/p>
&lt;pre class="bash">&lt;code>sudo apt update
sudo apt upgrade
sudo apt install -y --no-install-recommends software-properties-common dirmngr
# Add the keys
wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
# add the R 4.0 repo from CRAN -- adjust &amp;#39;focal&amp;#39; to &amp;#39;groovy&amp;#39; or &amp;#39;bionic&amp;#39; as needed
sudo add-apt-repository &amp;quot;deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/&amp;quot;
# You&amp;#39;ll be asked to choose your geographical area
sudo apt install -y r-base r-base-core r-recommended r-base-dev
# Install PPA with pre-compiled packages
sudo add-apt-repository ppa:c2d4u.team/c2d4u4.0+&lt;/code>&lt;/pre>
&lt;div id="rapid-install-of-r-packages" class="section level3">
&lt;h3>Rapid install of R packages&lt;/h3>
&lt;p>A difference between R packages on Windows and Ubuntu is that by default Windows always installs binary versions of packages, meaning no compilation time.
To speed-up installation of R packages you can add an Ubuntu repo that will allow you to install pre-compiled packages from the system command line.
Although there are projects like &lt;a href="https://github.com/eddelbuettel/r2u">r2u&lt;/a> that give you binary packages with &lt;code>install.packages()&lt;/code> I prefer the control of using the system command line for binaries and the R console for installing packages that want to be compiled, to avoid issues like this: &lt;a href="https://github.com/rocker-org/rocker-versioned2/issues/631" class="uri">https://github.com/rocker-org/rocker-versioned2/issues/631&lt;/a>&lt;/p>
&lt;p>Get a load of great R packages with the following commands:&lt;/p>
&lt;pre class="bash">&lt;code># My own selection among 5000...
sudo apt install -y r-cran-rgl r-cran-rjags r-cran-snow r-cran-ggplot2 r-cran-igraph r-cran-lme4 r-cran-rjava r-cran-devtools r-cran-roxygen2 r-cran-rjava
sudo apt install r-cran-tidyverse
sudo apt install r-cran-sf r-cran-tmap r-cran-osmextract r-cran-mapview
# System deps for cartography
sudo apt install -y libgdal-dev libproj-dev libgeos-dev libudunits2-dev libv8-dev libnode-dev libcairo2-dev libnetcdf-dev
sudo apt install -y libglu1-mesa-dev freeglut3-dev mesa-common-dev
# Extra packages for image manipulation
sudo apt install -y libmagick++-dev libjq-dev libv8-dev libprotobuf-dev protobuf-compiler libsodium-dev imagemagick libgit2-dev
# rspatial
sudo apt install r-cran-sf r-cran-terra r-cran-mapedit r-cran-tmap r-cran-mapdeck r-cran-shinyjs
Rscript -e &amp;#39;install.packages(&amp;quot;languageserver&amp;quot;)&amp;#39;&lt;/code>&lt;/pre>
&lt;p>RStudio: &lt;a href="https://www.entroware.com/store/proteus" class="uri">https://www.entroware.com/store/proteus&lt;/a>&lt;/p>
&lt;pre class="bash">&lt;code>wget https://download1.rstudio.org/electron/jammy/amd64/rstudio-2023.03.0-386-amd64.deb
sudo dpkg -i rstudio*
rm -v rstudio*&lt;/code>&lt;/pre>
&lt;p>After installing RStudio you can open it by pressing the ‘Windows button’ and they typing RStudio.
You should also be able to open it with the following command in the terminal:&lt;/p>
&lt;pre class="bash">&lt;code>rstudio&lt;/code>&lt;/pre>
&lt;p>After opening RStudio you can open the folder containing these instructions, or any folder, with the following command typed into the R console.&lt;/p>
&lt;pre class="r">&lt;code>rstudioapi::openProject(&amp;quot;~/Download/install-geocomp-ubuntu/&amp;quot;)&lt;/code>&lt;/pre>
&lt;p>Also in RStudio you can commit and push changes to this or any repo as follows, starting by opening a terminal by clicking on the Terminal button or by typing the shortcut: &lt;code>Alt+Shift+M&lt;/code>.
You can also execute lines of code from the source editor in RStudio in the terminal by typing &lt;code>Ctrl+Alt+Enter&lt;/code>, which will send the current line of code to the terminal.&lt;/p>
&lt;pre class="bash">&lt;code>git status
git commit -am &amp;#39;Update instructions with info on using RStudio&amp;#39;&lt;/code>&lt;/pre>
&lt;/div>
&lt;/div>
&lt;div id="vs-code" class="section level2">
&lt;h2>VS Code&lt;/h2>
&lt;p>VS Code is a versatile and future-proof IDE.
It is very, very popular, with the likes of Lex Fridman using it.
You can install it with the following commands.&lt;/p>
&lt;pre class="bash">&lt;code>wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor &amp;gt; packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
rm packages.microsoft.gpg
sudo add-apt-repository &amp;quot;deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main&amp;quot;
sudo apt update
sudo apt-get install code
code --install-extension ms-vscode-remote.remote-containers&lt;/code>&lt;/pre>
&lt;p>After it’s installed you may want to check out an intro video like this one: &lt;a href="https://www.youtube.com/embed/yjeHLSrhPao" class="uri">https://www.youtube.com/embed/yjeHLSrhPao&lt;/a>&lt;/p>
&lt;p>If you have any issues getting VS Code installed you may also want to check out this video that explains each step:&lt;/p>
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/N_Ve4iAzxq8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen>
&lt;/iframe>
&lt;div id="executing-bash-commands-in-vs-code" class="section level3">
&lt;h3>Executing bash commands in VS Code&lt;/h3>
&lt;p>A great feature of VS Code is that you can execute bash commands in the integrated terminal.
Open the integrated terminal by typing the shortcut: &lt;code>Ctrl+J&lt;/code>.
Open a new terminal in VS code by typing the shortcut: &lt;code>Ctrl+backtick&lt;/code>(`).&lt;/p>
&lt;p>Executing code is made even easier by the Quarto extension for VS Code, which can be installed as follows from bash:&lt;/p>
&lt;pre class="bash">&lt;code>code --install-extension quarto.quarto&lt;/code>&lt;/pre>
&lt;p>After that extension has been installed you should be able to execute code in the integrated terminal by typing &lt;code>Ctrl+Enter&lt;/code> in the source editor, as shown in the following screenshot:&lt;/p>
&lt;p>&lt;img src="run-cells.png" />&lt;/p>
&lt;/div>
&lt;div id="installing-key-vs-code-extensions" class="section level3">
&lt;h3>Installing key VS Code extensions&lt;/h3>
&lt;pre class="bash">&lt;code>code --install-extension reditorsupport.r
code --install-extension github.copilot&lt;/code>&lt;/pre>
&lt;/div>
&lt;div id="creating-documents-with-quarto" class="section level3">
&lt;h3>Creating documents with Quarto&lt;/h3>
&lt;p>Install the Quarto command line tool:&lt;/p>
&lt;pre class="bash">&lt;code>wget https://github.com/quarto-dev/quarto-cli/releases/download/v1.3.313/quarto-1.3.313-linux-amd64.deb -O /tmp/quarto.deb
sudo dpkg -i /tmp/quarto.deb&lt;/code>&lt;/pre>
&lt;p>Install the Quarto R package:&lt;/p>
&lt;pre class="bash">&lt;code>Rscript -e &amp;quot;remotes::install_github(&amp;#39;quarto-dev/quarto-r&amp;#39;)&amp;quot;&lt;/code>&lt;/pre>
&lt;p>VS Code has a nice feature that enables you to develop inside a ‘devcontainer’.
Devcontainers rely on Docker, which can be installed as follows:&lt;/p>
&lt;/div>
&lt;/div>
&lt;div id="docker" class="section level2">
&lt;h2>Docker&lt;/h2>
&lt;p>Docker is a system platform that allows you to run applications in isolated environments called containers.
Containers are similar to virtual machines, but they are more lightweight and efficient.&lt;/p>
&lt;p>Docker allows you to run applications in a sandboxed environment, which is useful for reproducibility and security.
In essence: run anything, anywhere.&lt;/p>
&lt;p>Following instructions from &lt;a href="https://docs.docker.com/engine/install/ubuntu/" class="uri">https://docs.docker.com/engine/install/ubuntu/&lt;/a>, first install the dependencies:&lt;/p>
&lt;pre class="bash">&lt;code>sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release&lt;/code>&lt;/pre>
&lt;p>Then follow these commands:&lt;/p>
&lt;pre class="bash">&lt;code>sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# Use the following command to set up the repository:
echo \
&amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable&amp;quot; | sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null
# Install Docker Engine
# Update the apt package index, and install the latest version of Docker Engine, containerd, and Docker Compose, or go to the next step to install a specific version:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin&lt;/code>&lt;/pre>
&lt;div id="post-installation-steps-for-docker" class="section level3">
&lt;h3>Post installation steps for Docker&lt;/h3>
&lt;p>The following steps enable you to run docker without &lt;code>sudo&lt;/code>.
As outlined at &lt;a href="https://docs.docker.com/engine/install/linux-postinstall/" class="uri">https://docs.docker.com/engine/install/linux-postinstall/&lt;/a> this does have security implications so it may be unwise to run these commands on important production servers or critical infrastructure.
For a personal laptop that does not contain sensitive information the risks are low.&lt;/p>
&lt;pre class="bash">&lt;code>sudo groupadd docker
# Add your user to the docker group:
sudo usermod -aG docker $USER
# Log out and log back in so that your group membership is re-evaluated.
# If you’re running Linux in a virtual machine, it may be necessary to restart the virtual machine for changes to take effect.
# You can also run the following command to activate the changes to groups:
newgrp docker
# Verify that you can run docker commands without sudo.
docker run hello-world
# If you initially ran Docker CLI commands using sudo before adding your user to the docker group, you may see the following error:
# WARNING: Error loading config file: /home/user/.docker/config.json -
# stat /home/user/.docker/config.json: permission denied
# This error indicates that the permission settings for the ~/.docker/ directory are incorrect, due to having used the sudo command earlier.
# To fix this problem, either remove the ~/.docker/ directory (it’s recreated automatically, but any custom settings are lost), or change its ownership and permissions using the following commands:
sudo chown &amp;quot;$USER&amp;quot;:&amp;quot;$USER&amp;quot; /home/&amp;quot;$USER&amp;quot;/.docker -R
sudo chmod g+rwx &amp;quot;$HOME/.docker&amp;quot; -R&lt;/code>&lt;/pre>
&lt;/div>
&lt;div id="running-devcontainer-with-vs-code" class="section level3">
&lt;h3>Running devcontainer with VS code&lt;/h3>
&lt;p>To check your &lt;code>code&lt;/code> and &lt;code>docker&lt;/code> installations worked you can try to reproduce Geocomputation with Python:&lt;/p>
&lt;pre class="bash">&lt;code>gh repo clone geocompx/geocompy
code geocompy&lt;/code>&lt;/pre>
&lt;p>If you installed the &lt;code>remote-containers&lt;/code> extension successfully, you should see a button with “Reopen in Container” in the bottom right of VS Code.&lt;/p>
&lt;p>Click that button and you’ll see the devcontainer launch.
If it works, you can try reproducing the entirety of the book from the command line with the following inside VS Code (you can launch the terminal by pressing Ctrl+J`):&lt;/p>
&lt;pre class="bash">&lt;code>quarto preview&lt;/code>&lt;/pre>
&lt;p>If you see something like this, congratulations, you can develop almost anything in reproducible and easy-to-use devcontainers!&lt;/p>
&lt;p>&lt;img src="vscode-devcontainer.png" />&lt;/p>
&lt;p>Syncthing is a great way to synchronize laptops, phones and other devices. I use it for syncing photos onto my laptop and into family photo albums, as shown below.&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;div id="summary" class="section level1">
&lt;h1>Summary&lt;/h1>
&lt;p>This blog post outlined my experiences getting set-up with a new Ubuntu installation and provided reproducible instructions for people who want to follow some of my steps.
An important feature of open source software is choice.#
There isn’t just one way to do things.
That can be frustrating and daunting: so many decisions to make!&lt;/p>
&lt;p>However, the act of &lt;em>making decisions&lt;/em> is important.
Choosing the set-up that works for you, rather than just following others, is highly recommended.
So I encourage you to NOT follow all these instructions verbatim.
Do your own research.
Try things out, uninstalling things that don’t work for you, and keeping things that do.
I outline some of the thinking around software choice &lt;a href="https://www.robinlovelace.net/software/#recommended-software">here&lt;/a> and plan to update that after the dust has settled around my updated set-up documented in this blog post and associated &lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu">repo.&lt;/a>&lt;/p>
&lt;p>Ultimately, technology is about increasing what you can do.
So the key thing is what you &lt;em>do&lt;/em> with the technology.
A decent computer with some of the open source tools outlined above is a powerful technology indeed.
There are many other tools to install now and many other tools will be developed in the future.
Chances are high that at least some of these tools, not covered here, will be of use to you.&lt;/p>
&lt;p>Another thing about open source communities is their emphasis on sharing and learning, which is what inspired me to document the steps I took and share them with the world.
Feel free fork my repo, tell me about &lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu/issues">issues&lt;/a> and suggest changes via Pull Requests or in the comments below.&lt;/p>
&lt;p>One thing that I’m not sure of: how best to get a good Python environment up-and-running?
For the &lt;a href="https://py.geocompx.org/">Geocomputation with Python&lt;/a> book project I have found that &lt;a href="https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html">micromamba&lt;/a> works great, but that’s in Docker and I’m not sure of the best way to set-up my default Python instance on Ubuntu.
Any suggestions welcome.&lt;/p>
&lt;p>Thanks to everyone for building the amazing software installed in the course of this blog post and to everyone who has helped me with instructions, blog posts, answers on Q&amp;amp;A sites and more.
To see a slightly more complete list, see the source code underlying this block post here: &lt;a href="https://github.com/Robinlovelace/install-geocomp-ubuntu" class="uri">https://github.com/Robinlovelace/install-geocomp-ubuntu&lt;/a>&lt;/p>
&lt;/div></description></item><item><title>Open source software and open data in transport research, planning and modelling</title><link>https://robinlovelace.net/old-site/talk/open-source-software-and-open-data-in-transport-research-planning-and-modelling/</link><pubDate>Thu, 26 Jan 2023 11:00:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/open-source-software-and-open-data-in-transport-research-planning-and-modelling/</guid><description>&lt;h1 id="abstract">Abstract&lt;/h1>
&lt;p>This talk will discuss the impacts of making transport models, and the
data and tools for decision-making in participatory democracies using
open source, accessible, and transparent methods. It will build on
recent research into the rapid growth of &lt;a href="https://doi.org/10.1007/s10109-020-00342-2" target="_blank" rel="noopener">open source software&lt;/a> and &lt;a href="http://www.sciencedirect.com/science/article/pii/S0967070X19302781" target="_blank" rel="noopener">open access and participatory transport models&lt;/a>that go beyond technologies developed in the 20th Century, using cutting-edge and community-built software to better meet the needs of the 21st.  A/B Street (&lt;a href="https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabstreet.org%2F&amp;amp;data=05%7C01%7CR.Lovelace%40leeds.ac.uk%7C674bac2463314ae98d8008daf94d9423%7Cbdeaeda8c81d45ce863e5232a535b7cb%7C1%7C0%7C638096408853052543%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;amp;sdata=tDiCbyiysgPT%2FUd5pjL65rSxpcsvsbI58C4U1Hkvo4U%3D&amp;amp;reserved=0" target="_blank" rel="noopener">abstreet.org&lt;/a>)
is an open-source multi-modal traffic simulator designed for the
general public to explore low-cost approaches for reducing motor vehicle
use. Starting from OpenStreetMap data and a variety of travel demand
sources, people using A/B Street can modify roads (like transforming
street parking into bike- and bus-only lanes) and intersections (traffic
signal timing). Using built-in elevation data, visualizations about
individual trips and aggregate groups, and measurements of impact on
travel time and risk exposure, interested citizens can present their
idea to a city council for consideration. There are also
non-simulation-based tools for analyzing 15-minute neighbourhood
accessibility and designing low-traffic neighbourhoods. This talk will
first briefly introduce the project and some of the technical aspects.&lt;/p></description></item><item><title>Contraflows and Cycling Safety: Evidence from 22~Years of Data Involving 508 One-Way Streets</title><link>https://robinlovelace.net/old-site/publication/tait-contraflows-2023/</link><pubDate>Sun, 01 Jan 2023 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/tait-contraflows-2023/</guid><description/></item><item><title>Cycle Network Policy, Planning and Investment Transformed by the Propensity to Cycle Tool</title><link>https://robinlovelace.net/old-site/publication/lovelace-cycle-2023/</link><pubDate>Sun, 01 Jan 2023 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-cycle-2023/</guid><description/></item><item><title>Innovation Center in Urban Public Policies–FGV Cidades</title><link>https://robinlovelace.net/old-site/publication/biderman-innovation-2023/</link><pubDate>Sun, 01 Jan 2023 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/biderman-innovation-2023/</guid><description/></item><item><title>Reflections on 2022</title><link>https://robinlovelace.net/old-site/post/2022-reflections/</link><pubDate>Fri, 30 Dec 2022 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/2022-reflections/</guid><description>
&lt;p>It’s been a whirlwind year.
It was my first full year being a dad, I moved house, and got a new job.
All this left precious little time for reflection during most of 2022, let alone a write of them.
This post rights that wrong!
It outlines some of the key things that have happened over the past 12 months in my world, celebrates the successes and, as tradition dictates, speculates on 2023.
More prosaically it provides a heads-up on what I’ve been up to.&lt;/p>
&lt;p>Like last &lt;a href="https://www.robinlovelace.net/post/2021-reflections/">years reflections&lt;/a> I’ll focus on professional/vocational/technical things that I think will be of most interest to people.
There are a few personal/family updates worth putting out there also.
On every level it’s been an amazing year.
Let’s dive in!&lt;/p>
&lt;div id="jittering" class="section level1">
&lt;h1>Jittering&lt;/h1>
&lt;p>Much of my work has involved processing origin-destination (OD) data.
OD data underlies the highest impact project I have worked on, the Propensity to Cycle Tool (hosted at &lt;a href="https://www.pct.bike/">pct.bike&lt;/a>) and follow-on projects&lt;span class="citation">&lt;sup>&lt;a href="#ref-lovelace_propensity_2017" role="doc-biblioref">1&lt;/a>&lt;/sup>&lt;/span> &lt;span class="citation">&lt;sup>&lt;a href="#ref-goodman_scenarios_2019" role="doc-biblioref">2&lt;/a>&lt;/sup>&lt;/span>&lt;span class="citation">&lt;sup>&lt;a href="#ref-lovelace_methods_2020" role="doc-biblioref">3&lt;/a>&lt;/sup>&lt;/span>. To re-cap, the PCT uses open access OD data representing trips between small administrative zones in England as the basis of a model that estimates cycling potential at zone, desire line, route and, most importantly, route network levels.
As outlined in the figure below&lt;/p>
&lt;ol class="example" style="list-style-type: decimal">
&lt;li>&lt;/li>
&lt;/ol>
&lt;/div>
&lt;div id="moving-house" class="section level1">
&lt;h1>Moving house&lt;/h1>
&lt;p>This last milestone of 2022 was in many ways the biggest.
A house is more than just a place sleep: it can be a foundation, a source of strength, a place to call home.
So it was a big moment for me and Katy when we got the keys to our new place, on 5th December.&lt;/p>
&lt;p>&lt;img src="https://robinlovelace.net/old-site/media/new-house-keys.jpg" />&lt;/p>
&lt;p>Getting the keys was just the start of the moving process though.
Thanks to Leeds City Council, and City Connect which is joining up Leeds’ patchy active travel network, we borrowed an electric cargo cycle, Raleigh’s &lt;a href="https://www.raleigh.co.uk/gb/en/pro-electric-cargo-trike/">Pro Electric Cargo Trike&lt;/a>.
With a 900 litre front carrier, this futuristic machine had the capacity to make our move a lot easier than if we had relied on a car alone.&lt;/p>
&lt;p>I’m grateful to CityConnect and encourage anyone needing to regularly shift moderate loads, up to around 100 kg, to do some research into the revolutionary potential of e-cargos to increase the efficiency and fun of moving stuff.
You can sign-up for a trial at &lt;a href="https://www.leeds.gov.uk/business-support-and-advice/trial-electric-vehicles-at-your-organisation/trial-an-electric-cargo-bike">leeds.gov.uk/evtrials&lt;/a>.&lt;/p>
&lt;/div>
&lt;div id="references" class="section level1 unnumbered">
&lt;h1>References&lt;/h1>
&lt;div id="refs" class="references csl-bib-body" line-spacing="2">
&lt;div id="ref-lovelace_propensity_2017" class="csl-entry">
&lt;div class="csl-left-margin">1. &lt;/div>&lt;div class="csl-right-inline">Lovelace, R. &lt;em>et al.&lt;/em> &lt;a href="https://doi.org/10.5198/jtlu.2016.862">The &lt;span>Propensity&lt;/span> to &lt;span>Cycle Tool&lt;/span>: &lt;span>An&lt;/span> open source online system for sustainable transport planning&lt;/a>. &lt;em>Journal of Transport and Land Use&lt;/em> &lt;strong>10&lt;/strong>, (2017).&lt;/div>
&lt;/div>
&lt;div id="ref-goodman_scenarios_2019" class="csl-entry">
&lt;div class="csl-left-margin">2. &lt;/div>&lt;div class="csl-right-inline">Goodman, A. &lt;em>et al.&lt;/em> &lt;a href="https://doi.org/10.1016/j.jth.2019.01.008">Scenarios of cycling to school in &lt;span>England&lt;/span>, and associated health and carbon impacts: &lt;span>Application&lt;/span> of the &lt;span>‘&lt;span>Propensity&lt;/span> to &lt;span>Cycle Tool&lt;/span>’&lt;/span>&lt;/a>. &lt;em>Journal of Transport &amp;amp; Health&lt;/em> &lt;strong>12&lt;/strong>, 263–278 (2019).&lt;/div>
&lt;/div>
&lt;div id="ref-lovelace_methods_2020" class="csl-entry">
&lt;div class="csl-left-margin">3. &lt;/div>&lt;div class="csl-right-inline">Lovelace, R., Talbot, J., Morgan, M. &amp;amp; Lucas-Smith, M. Methods to &lt;span class="nocase">Prioritise Pop-up Active Transport Infrastructure&lt;/span>. &lt;em>Transport Findings&lt;/em> 13421 (2020) doi:&lt;a href="https://doi.org/10.32866/001c.13421">10.32866/001c.13421&lt;/a>.&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div></description></item><item><title>Active Travel Oriented Development: Assessing the Suitability of Sites for New Homes</title><link>https://robinlovelace.net/old-site/publication/talbot-active-2022/</link><pubDate>Mon, 28 Nov 2022 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/talbot-active-2022/</guid><description/></item><item><title>Setting-up Mastodon: an appropriate social media platform for the 2020s 🐘</title><link>https://robinlovelace.net/old-site/post/mastodon/</link><pubDate>Sat, 05 Nov 2022 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/mastodon/</guid><description>
&lt;div id="TOC">
&lt;/div>
&lt;p>This post provides tips on setting-up a Mastodon account.
It’s mostly focussed on the tech but it deserves a brief intro on the wider context motivating this blog post.
It covers:&lt;/p>
&lt;ul>
&lt;li>Why Mastodon?&lt;/li>
&lt;li>Which Mastodon server to choose?&lt;/li>
&lt;li>Getting set-up&lt;/li>
&lt;li>Crossposting to Twitter with moa.party&lt;/li>
&lt;li>Thoughts on appropriate social media platforms for the 2020s&lt;/li>
&lt;/ul>
&lt;div id="introduction-why-mastodon" class="section level1">
&lt;h1>Introduction: why Mastodon&lt;/h1>
&lt;p>Twitter has been purchased by Elon Musk, a prominent &lt;a href="https://www.youtube.com/watch?v=DxREm3s1scA">technologist&lt;/a> and &lt;a href="https://www.marketwatch.com/story/elon-musk-is-just-another-car-salesman-2019-04-22">car salesperson&lt;/a> with &lt;a href="https://www.npr.org/2022/10/31/1132906782/elon-musk-twitter-pelosi-conspiracy">questionable judgement&lt;/a> when it comes to social media.
This, in combination with &lt;a href="https://www.theguardian.com/technology/2022/oct/28/twitter-takeover-fears-raised-over-disinformation-and-hate-speech">evidence&lt;/a> of rapid spread of disinformation and hatred centralised platforms, has triggered a period of rapid change for Twitter, to put it mildly.&lt;/p>
&lt;p>According to one user on the Twitter alternative Mastodon (the topic of this post):&lt;/p>
&lt;blockquote>
&lt;p>A collapse in ad revenues has been followed with an immediate 50% reduction in employee headcount.&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>&lt;a href="https://nitter.it/ShannonRSingh/status/1588591603622772736">Brace, Brace&lt;/a>!&lt;/p>
&lt;/blockquote>
&lt;p>Incidentally, for a taster, this is how the post looks on the platform (surprisingly similar to Twitter):&lt;/p>
&lt;iframe src="https://fosstodon.org/@rochelimit/109290440817278785/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400" allowfullscreen="allowfullscreen">
&lt;/iframe>
&lt;script src="https://fosstodon.org/embed.js" async="async">&lt;/script>
&lt;p>Even the founder of Twitter, Jack Dorsey, signalled his regret about the direction of travel of the platform that he pioneered:&lt;/p>
&lt;blockquote class="twitter-tweet">
&lt;p lang="en" dir="ltr">
&lt;p>Folks at Twitter past and present are strong and resilient.
They will always find a way no matter how difficult the moment.
I realize many are angry with me.
I own the responsibility for why everyone is in this situation: I grew the company size too quickly.
I apologize for that.&lt;/p>
&lt;/p>
&lt;p>— jack (&lt;span class="citation">(&lt;a href="#ref-jack" role="doc-biblioref">&lt;strong>jack?&lt;/strong>&lt;/a>)&lt;/span>) &lt;a href="https://twitter.com/jack/status/1588913276980633600?ref_src=twsrc%5Etfw">November 5, 2022&lt;/a>&lt;/p>
&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;p>These statements and associated events create two broad reasons to explore alternatives for people like me who like to share my views and engage in open and hopefully civil communications:&lt;/p>
&lt;ol style="list-style-type: decimal">
&lt;li>Many people do not want to be part of a platform that is becoming increasingly toxic.&lt;/li>
&lt;li>If the rate of change accelerates, some have suggested that the future of Twitter itself is at risk and it may be prudent to have some redundancy in your social media plans if so.&lt;/li>
&lt;/ol>
&lt;p>Regarding the second point, the changes outlined above have the potential to generate knock-on feedback loops, as highlighted by people on &lt;a href="https://twitter.com/search?q=%23twitterdown">Twitter&lt;/a> and elsewhere.
So where to go?&lt;/p>
&lt;p>There are lots of alternatives but Mastodon is mature, relatively well-known and similar to Twitter in many ways &lt;span class="citation">(&lt;a href="#ref-lacava2022" role="doc-biblioref">La Cava, Greco, and Tagarelli 2022&lt;/a>)&lt;/span>.
It has more than 30k stars on GitHub: much loved by users and developers alike.&lt;/p>
&lt;p>&lt;img src="https://img.shields.io/github/stars/mastodon/mastodon?style=social" alt="GitHub Repo stars"/>&lt;/p>
&lt;p>Furthermore, &lt;a href="https://twitter.com/search?q=%23Mastodon&amp;amp;src=typeahead_click">#Mastodon&lt;/a> is trending on Twitter itself, signalling a group dynamic element.
Many of the people I rate and follow on Twitter are already on Mastodon, including &lt;a href="https://fosstodon.org/@underdarkGIS">@underdarkGIS&lt;/a>, &lt;a href="https://fosstodon.org/@djnavarro">@djnavarro&lt;/a> and &lt;a href="https://toot.community/@UrbanDemog">@UrbanDemog&lt;/a>.&lt;/p>
&lt;p>Fun theory on this: Elon Musk is genuinely committed to creating a more open world.
But his approach to achieving it is not to “‘Open Source’ Twitter’s Algorithms” as stated in a &lt;a href="https://www.bloomberg.com/news/articles/2022-04-28/why-musk-wants-to-open-source-twitter-s-algorithms-quicktake?leadSource=uverify%20wall">Bloomberg article&lt;/a> earlier this year, but to deliberately sabotage proprietary platforms so that open source alternatives flourish.
That may seem far fetched but if it was Elon’s true aim he has been successful: Mastodon already has a strong developer community (Mastodon’s codebase has almost &lt;a href="https://github.com/mastodon/mastodon/graphs/contributors">700 contributors from around the world&lt;/a>) and could represent a short cut to ensuring that the dominant platforms people use are open source.&lt;/p>
&lt;p>As outlined in a &lt;a href="https://hub.fosstodon.org/elon-twitter-post-mortem/">post&lt;/a> by the people who run the fosstodon instance, sign-ups to the server are booming.&lt;/p>
&lt;p>&lt;img src="https://hub.fosstodon.org/assets/images/fosstodon-user-stats.webp" />&lt;/p>
&lt;p>So, assuming you want to join, let’s take a dive in!&lt;/p>
&lt;/div>
&lt;div id="which-mastodon-server-to-join" class="section level1">
&lt;h1>Which Mastodon server to join?&lt;/h1>
&lt;p>Short answer: it’s up to you.
Fosstodon.org seems like a good option to me.
The choice of Mastodon server is covered in a blog post by Danielle Navarro, who points out advantages of the more decentralised model compared with Twitter’s centralised model:&lt;/p>
&lt;blockquote>
&lt;p>First off, mastodon is not a single application: it’s a distributed network of servers that all talk to each other using a shared protocol.
If two servers talk to each other they are said to be “federated” with one another, and the network as a whole is referred to as the “fediverse”.&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>There are many different servers out there that are independently running mastodon: these are called mastodon instances.
You can sign up for an account at one or more of these servers.
The most popular instance is mastodon.social, but for reasons I’ll talk about in a moment this might not be the best choice for you!&lt;/p>
&lt;/blockquote>
&lt;p>That &lt;a href="https://blog.djnavarro.net/posts/2022-11-03_what-i-know-about-mastodon/">post&lt;/a> goes on to highlight a key benefit of the approach: it does not matter that much which your primary account is because you can still interact with federated instances.
You can choose from a range of servers, some of which are described later in the &lt;a href="https://blog.djnavarro.net/posts/2022-11-03_what-i-know-about-mastodon/#which-server-should-i-sign-up-on,">post&lt;/a> based on your interests.
Fosstodon.org is a reasonable choice for people interested in free and open source software and data science but there are many other good options, including:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://fosstodon.org/">fosstodon.org&lt;/a> one of the big ones with 30k+ users including my Geocomputation with R colleague &lt;a href="https://fosstodon.org/web/@nowosad">Jakub Nowosad&lt;/a> and &lt;a href="https://fosstodon.org/web/@underdarkGIS">Anita Graser&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://masto.pt">masto.pt&lt;/a>, a server for Portuguese communities with 3k+ users, home to &lt;a href="https://fosstodon.org/web/@rosa@masto.pt">Rosa Felix&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://mapstodon.space/about">mapstodon.space&lt;/a>, a new server for mapping, currently with just over 100 &lt;a href="https://mapstodon.space/explore">users&lt;/a> including &lt;a href="https://mapstodon.space/@alexsingleton">Alex Singleton&lt;/a>&lt;/li>
&lt;li>mastodon.online, home to many people including &lt;a href="https://fosstodon.org/web/@paezha@mastodon.online">Antonio Paez&lt;/a> and &lt;a href="https://fosstodon.org/web/@caitrobinson@mastodon.online">Cait Robinson&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://sciences.social">sciences.social&lt;/a>, home to &lt;a href="https://fosstodon.org/web/@barneyharris@sciences.social">Barney Harris&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://toot.community/">toot.community&lt;/a>, home of &lt;a href="https://toot.community/@UrbanDemog">Rafael Pereira&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://mastodon.green">mastodon.green&lt;/a>, home to &lt;a href="https://fosstodon.org/web/@dataknut@mastodon.green">Ben Anderson&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>A really cool thing about this list, other than the diversity, is that people can and do follow each other between those instances.
To see a list of the top instances at &lt;a href="https://instances.social/list/advanced#lang=&amp;amp;allowed=&amp;amp;prohibited=&amp;amp;min-users=20000&amp;amp;max-users=">instances.social&lt;/a>.&lt;/p>
&lt;/div>
&lt;div id="getting-set-up" class="section level1">
&lt;h1>Getting set-up&lt;/h1>
&lt;p>The sign-up process is fairly simple: choose a server from and click to sign up!
There are detailed instructions in many articles online, one of the best I have found is published by &lt;a href="https://www.pcmag.com/how-to/how-to-get-started-on-mastodon-and-leave-twitter-behind">PC Mag&lt;/a>.&lt;/p>
&lt;/div>
&lt;div id="crossposting-with-moa.party" class="section level1">
&lt;h1>Crossposting with moa.party&lt;/h1>
&lt;p>&lt;a href="https://en.wikipedia.org/wiki/Crossposting">Crossposting&lt;/a> is the process of automatically posting from one platform or account to one or more other platforms or accounts.
Although I like what I’ve seen of Mastodon so far, no online system can be guaranteed to see 100% uptime.
Indeed, the great people running fosstodon.org &lt;a href="https://hub.fosstodon.org/elon-twitter-post-mortem/">outlined&lt;/a> issues that they have faced already:&lt;/p>
&lt;blockquote>
&lt;p>This [surge of interest in alternatives to Twitter] effectively resulted in a sustained DDoS that lasted for around 36 hours.
As you can imagine, that was a lot of fun for myself and the team.&lt;/p>
&lt;/blockquote>
&lt;p>As shown in the screenshot below, I even experienced some temporary downtime shortly after joining (and getting lots of boosts):&lt;/p>
&lt;p>&lt;img src="https://user-images.githubusercontent.com/1825120/200144334-77132202-1c71-40ce-9a56-f2f1fb869a56.png" />&lt;/p>
&lt;p>In this context, redundancy is good.
Furthermore, while I may have the capacity to set-up a new social media account, I cannot guarantee that others will.
So, unlike the author of the PC Mag article on migrating, I plan to keep my Twitter account alive.
If you do, crossposting can be good for various reasons, in particular for accessibility: making work widely available to the public is one way to maximise the chances of your work having positive impact beyond your immediate sphere of influence.&lt;/p>
&lt;p>So how to crosspost?
Simple answer: enter &lt;a href="https://moa.party/">moa.party&lt;/a>.&lt;/p>
&lt;p>As shown in the screenshot below, you can choose the options that are appropriate for you.&lt;/p>
&lt;p>&lt;img src="https://user-images.githubusercontent.com/1825120/200141939-c6146a3c-2f2c-4932-80a7-8f6d1e0fe689.png" />&lt;/p>
&lt;p>After that it simply worked!
I ‘tooted’ from my Masterdon account and, after a minute or so, the same content appeared on Twitter.
Magic thanks to moa.party!&lt;/p>
&lt;p>I cannot guarantee that it will always work and I don’t know how scalable the service is.
But for now I’m stoked that not only have I set-up a new social media account — on a platform that is based on open source software and community values — but also have a way to get my work out to as many people as possible.
The two versions of the message below show that Masterdon toots are very similar to Twitter tweets, spot the difference!&lt;/p>
&lt;iframe src="https://fosstodon.org/@robinlovelace/109293378666394451/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400" allowfullscreen="allowfullscreen">
&lt;/iframe>
&lt;script src="https://fosstodon.org/embed.js" async="async">&lt;/script>
&lt;p>vs..&lt;/p>
&lt;blockquote class="twitter-tweet">
&lt;p lang="en" dir="ltr">
&lt;p>OK here goes, first attempt at ‘tooting’ from my new &lt;a href="https://twitter.com/hashtag/mastodon?src=hash&amp;amp;ref_src=twsrc%5Etfw">#mastodon&lt;/a> account 🐘 📢 Topic: georectifying &lt;a href="https://twitter.com/hashtag/CAD?src=hash&amp;amp;ref_src=twsrc%5Etfw">#CAD&lt;/a> drawing of housing development and geodigitizing &lt;a href="https://twitter.com/hashtag/osm?src=hash&amp;amp;ref_src=twsrc%5Etfw">#osm&lt;/a> data.
Appropriate topic for &lt;a href="https://twitter.com/hashtag/fosstodon?src=hash&amp;amp;ref_src=twsrc%5Etfw">#fosstodon&lt;/a>?
Hope so, more soon!
&lt;a href="https://t.co/fwnHJeY9Mj">pic.twitter.com/fwnHJeY9Mj&lt;/a>&lt;/p>
&lt;/p>
&lt;p>— Robin Lovelace (&lt;span class="citation">(&lt;a href="#ref-robinlovelace" role="doc-biblioref">&lt;strong>robinlovelace?&lt;/strong>&lt;/a>)&lt;/span>) &lt;a href="https://twitter.com/robinlovelace/status/1589010753633325062?ref_src=twsrc%5Etfw">November 5, 2022&lt;/a>&lt;/p>
&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;p>Even if Twitter does become the MySpace of the 2020s, it is unlikely to happen over night.
And the platform has many great people, despite some of the recent changes outlined above.
Let’s see what happens.
If nothing else, having alternatives like Mastodon allows you to choose to interact in the virtual spaces where you feel most at home.&lt;/p>
&lt;/div>
&lt;div id="appropriate-social-media-platforms-for-the-2020s" class="section level1">
&lt;h1>Appropriate social media platforms for the 2020s&lt;/h1>
&lt;p>That brings me to my final thoughts on the topic, which informed the title of this article.
What are the desirable attributes of social media platforms in the 2020s?
A bit like with software, people choosing social media platforms today are lucky simply because they can choose.
When MySpace, Facebook and other sites first launched they had ‘first mover’ advantage.
There are now many options.
I really liked (and still do like, on a good day) Twitter because, unlike Facebook or LinkedIn, it had (and still has) a publicly-accessible-by-default policy.
That encourages sharing, transparency and collaboration across borders and cultures.&lt;/p>
&lt;p>Unlike Twitter, however, many of the fastest groing social media platforms of the 2020s open source.
This discourages (but may not completely prevent) abuses by the owners of the platforms for financial incentives.
The excesses of large for-profit social media platforms are well documented in documentaries like &lt;a href="https://en.wikipedia.org/wiki/The_Social_Dilemma">The Social Dilemma&lt;/a>.
The fact that emerging social media platforms such as Mastodon are open source is not just important for transparency and data security: it encourages innovation and diversity.
This applies to open source software in general, encouraging participation in knowledge creation &lt;span class="citation">(&lt;a href="#ref-dhir_adoption_2017" role="doc-biblioref">Dhir and Dhir 2017&lt;/a>)&lt;/span>.&lt;/p>
&lt;p>When the underlying technology is open, people are encouraged to set-up their own instances, spreading the compute, moderation, and content creation work widely.
If you don’t like a particular space in this ‘fediverse’ world, you can simply move.
And migrating from one Mastodon server to another &lt;em>is easy&lt;/em>, as I have found, following in the &lt;a href="https://twitter.com/underdarkGIS/status/1588645497988091904">footsteps of Anita Graser&lt;/a>: I set-up a Mastodon instance at &lt;a href="https://mastodon.social/@robinlovelace" class="uri">https://mastodon.social/@robinlovelace&lt;/a> years ago out of interest.
That now redirects to my current Mastodon home &lt;a href="https://fosstodon.org/@robinlovelace">@robinlovelace@fosstodon.org&lt;/a>.&lt;/p>
&lt;p>In summary, there are good reasons for exploring alternatives to centralised for-profit social media platforms.
Mastodon is relatively easy to set-up and seems to enable 2-way crossposting with Twitter.
And social media platforms that are appropriate for the 2020s are:&lt;/p>
&lt;ul>
&lt;li>✅ Open source&lt;/li>
&lt;li>✅ Easy to migrate to and from different servers without lock-in&lt;/li>
&lt;li>✅ Fun to be a part of&lt;/li>
&lt;/ul>
&lt;p>Mastodon ticks all those boxes and I recommend checking it out.
I also recommend donating to the free and open social media platform of your choice.
I have just set-up a recurring donation to &lt;a href="https://hub.fosstodon.org/support/">fosstodon.org&lt;/a> via their &lt;a href="https://www.patreon.com/fosstodon">Patreon page&lt;/a>.
If that helps the ad free and seemingly good quality content to its users (while minimising downtime ; ), it’s money well spent for me.
I’m glad to have received the message below!&lt;/p>
&lt;p>&lt;img src="https://user-images.githubusercontent.com/1825120/200148636-9db04d94-3641-4914-961e-186e0089629c.png" />&lt;/p>
&lt;p>Like most people I am new to this space and am learning.
So any tips/corrections that people have, like the reply to my first toot below from &lt;a href="https://fosstodon.org/web/@rudolf/109293436746688975">&lt;code>@rudolf@fosstodon.org&lt;/code>&lt;/a> (thanks for the tip Rudolf!), are welcome on &lt;a href="https://fosstodon.org/web/@robinlovelace/109297069622120822">Mastodon&lt;/a>, &lt;a href="https://twitter.com/robinlovelace/status/1589243690224332801">Twitter&lt;/a>, comments below or anywhere.&lt;/p>
&lt;iframe src="https://fosstodon.org/@rudolf/109293436746688975/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400" allowfullscreen="allowfullscreen">
&lt;/iframe>
&lt;script src="https://fosstodon.org/embed.js" async="async">&lt;/script>
&lt;p>As all social media platform pioneers know, the most valuable thing you can contribute is good content, however.
I plan to post high quality content online, increasing the signal-to-noise ratio in online comms, countering disinformation, and building strong communities in the process.
I hope you will too.
Be the change!&lt;/p>
&lt;/div>
&lt;div id="references" class="section level1 unnumbered">
&lt;h1>References&lt;/h1>
&lt;div id="refs" class="references csl-bib-body hanging-indent">
&lt;div id="ref-dhir_adoption_2017" class="csl-entry">
Dhir, Swati, and Sanjay Dhir. 2017. &lt;span>“Adoption of Open-Source Software Versus Proprietary Software: &lt;span>An&lt;/span> Exploratory Study.”&lt;/span> &lt;em>Strategic Change&lt;/em> 26 (4): 363–71. &lt;a href="https://doi.org/10.1002/jsc.2137">https://doi.org/10.1002/jsc.2137&lt;/a>.
&lt;/div>
&lt;div id="ref-lacava2022" class="csl-entry">
La Cava, Lucio, Sergio Greco, and Andrea Tagarelli. 2022. &lt;span>“Information Consumption and Boundary Spanning in Decentralized Online Social Networks: The Case of Mastodon Users.”&lt;/span> &lt;em>Online Social Networks and Media&lt;/em> 30 (July): 100220. &lt;a href="https://doi.org/10.1016/j.osnem.2022.100220">https://doi.org/10.1016/j.osnem.2022.100220&lt;/a>.
&lt;/div>
&lt;/div>
&lt;/div></description></item><item><title>Keynote Speech: Safe routes to school: finding gaps in quiet networks to prioritise investment in active travel infrastructure</title><link>https://robinlovelace.net/old-site/talk/keynote-speech-safe-routes-to-school-finding-gaps-in-quiet-networks-to-prioritise-investment-in-active-travel-infrastructure/</link><pubDate>Thu, 03 Nov 2022 15:00:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/keynote-speech-safe-routes-to-school-finding-gaps-in-quiet-networks-to-prioritise-investment-in-active-travel-infrastructure/</guid><description/></item><item><title>Active Travel Mapathon</title><link>https://robinlovelace.net/old-site/talk/active-travel-mapathon/</link><pubDate>Mon, 31 Oct 2022 10:00:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/active-travel-mapathon/</guid><description>&lt;p>For the first time an active travel mapathon is being organised in Leeds!&lt;/p></description></item><item><title>Software</title><link>https://robinlovelace.net/old-site/software/</link><pubDate>Sun, 16 Oct 2022 11:28:13 +0100</pubDate><guid>https://robinlovelace.net/old-site/software/</guid><description>
&lt;div id="TOC">
&lt;ul>
&lt;li>&lt;a href="#software-development" id="toc-software-development">Software development&lt;/a>&lt;/li>
&lt;li>&lt;a href="#recommended-software" id="toc-recommended-software">Recommended software&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#operating-system-linux" id="toc-operating-system-linux">Operating system: Linux&lt;/a>&lt;/li>
&lt;li>&lt;a href="#interactive-development-environments" id="toc-interactive-development-environments">Interactive development environments&lt;/a>&lt;/li>
&lt;li>&lt;a href="#appimagelauncher" id="toc-appimagelauncher">AppImageLauncher&lt;/a>&lt;/li>
&lt;li>&lt;a href="#note-taking-and-task-management" id="toc-note-taking-and-task-management">Note taking and task management&lt;/a>&lt;/li>
&lt;li>&lt;a href="#file-sharing" id="toc-file-sharing">File sharing&lt;/a>&lt;/li>
&lt;/ul>&lt;/li>
&lt;/ul>
&lt;/div>
&lt;div id="software-development" class="section level1">
&lt;h1>Software development&lt;/h1>
&lt;p>I have developed and contributed to many software projects, with a focus on reproducible research, geocomputation, modelling and visualisation.
All of them support evidence based decision-making, especially in relation to sustainable transport.&lt;/p>
&lt;p>The links below provide more details on popular R packages I have developed (Andrea Gilardi now leads the {osmextract} package).&lt;/p>
&lt;table>
&lt;colgroup>
&lt;col width="33%" />
&lt;col width="33%" />
&lt;col width="33%" />
&lt;/colgroup>
&lt;thead>
&lt;tr class="header">
&lt;th align="right">&lt;a href="https://docs.ropensci.org/stplanr/">&lt;img src="https://docs.ropensci.org/stplanr/reference/figures/stplanr.png" />&lt;/a>&lt;/th>
&lt;th align="right">&lt;a href="https://docs.ropensci.org/stats19/">&lt;img src="https://raw.githubusercontent.com/ropensci/stats19/master/man/figures/logo.png" />&lt;/a>&lt;/th>
&lt;th align="right">&lt;a href="https://docs.ropensci.org/osmextract/">&lt;img src="https://user-images.githubusercontent.com/1825120/200123605-1349adbe-41a0-4fd0-a23e-99b62b4f75ae.png" />&lt;/a>&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;/tbody>
&lt;/table>
&lt;p>I have develop and contribute to a number of popular open source projects.
See my &lt;a href="https://github.com/robinlovelace/">GitHub profile&lt;/a> for details.&lt;/p>
&lt;/div>
&lt;div id="recommended-software" class="section level1">
&lt;h1>Recommended software&lt;/h1>
&lt;p>Scientific methods, and the truths they reveal, depend on transparency, collaboration and falsifiability.
Translated into the 21&lt;sup>st&lt;/sup> Century and field of data science, this means using software that is open source (and therefore transparent), accessible and community-led (and therefore collaborative), and conducive to reproducible research (and therefore falsifiable).&lt;/p>
&lt;p>Reproducible research based on open source software means that data scientists and researchers operating in the public domain gain trust not by relying on arguments of authority&lt;a href="#fn1" class="footnote-ref" id="fnref1">&lt;sup>1&lt;/sup>&lt;/a>
but by producing code that other people can run to verify their outputs.
Researchers who are unable to show their workings are less well-trusted, resulting in virtuous feedback loops through communities of practice that encourage sharing and collaboration.&lt;/p>
&lt;p>Software is not just a static ‘tool of the trade’.
It is lanuage — or rather multiple languages — in which society encodes its digital capabilities, rules, and aspirations.
Software if vital for humanity in the 21&lt;sup>st&lt;/sup> Century.
This realisation informs the software I use and develop.
I hope you will take a look at and maybe even install a few of the open source tools I recommend below.&lt;/p>
&lt;p>Most of the software projects listed on this page are free and open source.&lt;/p>
&lt;div id="operating-system-linux" class="section level2">
&lt;h2>Operating system: Linux&lt;/h2>
&lt;p>The operating system (OS) is the foundation on which all other programs that can (or cannot) run on your computer build.
Many open source software projects are &lt;em>platform agnostic&lt;/em>, meaning they work on all major operating systems.
However, having the most appropriate OS for your needs installed is important for getting work done: poor choice of OS can lead to hours wasted setting things up and delays on new software being accessible.&lt;/p>
&lt;p>Windows and Mac have a near &lt;a href="https://en.wikipedia.org/wiki/Duopoly">duopoly&lt;/a> over mainstream consumer laptop and desktop operating system markets.
However, Linux forms the basis of the operating systems of choice for most serious software developers and many data scientists.
I strongly recommend installing a Linux on at least one laptop or desktop that you have available if you have not done so already: it can be life changing.&lt;/p>
&lt;div id="ubuntu" class="section level3">
&lt;h3>Ubuntu&lt;/h3>
&lt;p>I use and recommend &lt;a href="https://ubuntu.com/">Ubuntu&lt;/a>, an operating system built on Linux with a focus on user friendliness and mainstream adoption.
Developed by the multinational company &lt;a href="https://en.wikipedia.org/wiki/Canonical_(company)">Canonical&lt;/a>, Ubuntu is a popular Linux distribution (‘&lt;a href="https://distrowatch.com/">distro&lt;/a>’), that you can install on most consumer desktops and laptops.&lt;/p>
&lt;p>I also recommend &lt;a href="https://itsfoss.com/best-linux-beginners/">itsfoss.com’s article on Linux distros for beginners&lt;/a> if you’re getting started in this space.&lt;/p>
&lt;/div>
&lt;/div>
&lt;div id="interactive-development-environments" class="section level2">
&lt;h2>Interactive development environments&lt;/h2>
&lt;div id="rstudio" class="section level3">
&lt;h3>RStudio&lt;/h3>
&lt;/div>
&lt;div id="vscode" class="section level3">
&lt;h3>VSCode&lt;/h3>
&lt;/div>
&lt;/div>
&lt;div id="appimagelauncher" class="section level2">
&lt;h2>AppImageLauncher&lt;/h2>
&lt;p>AppImage is a system for packaging applications that allows them to run, out of the box, on any Linux distro.
&lt;a href="https://github.com/TheAssassin/AppImageLauncher">AppImageLauncher&lt;/a> is a user friendly tool for managing AppImages.&lt;/p>
&lt;p>&lt;a href="https://github.com/TheAssassin/AppImageLauncher/wiki">Install&lt;/a> it with the following commands on &lt;a href="https://github.com/TheAssassin/AppImageLauncher/wiki/Install-on-Ubuntu-or-Debian">Ubuntu&lt;/a>:&lt;/p>
&lt;pre class="bash">&lt;code>sudo apt install software-properties-common
sudo add-apt-repository ppa:appimagelauncher-team/stable
sudo apt update
sudo apt install appimagelauncher&lt;/code>&lt;/pre>
&lt;/div>
&lt;div id="note-taking-and-task-management" class="section level2">
&lt;h2>Note taking and task management&lt;/h2>
&lt;div id="logseq" class="section level3">
&lt;h3>LogSeq&lt;/h3>
&lt;p>&lt;a href="https://logseq.com/">LogSeq&lt;/a> has seen explosive growth since it was first launched in 2020.
For me it has replaced about 3 other tools that I was using previously, functioning as:&lt;/p>
&lt;ul>
&lt;li>A todo list manager. Previously I was using TaskWarrior and TimeWarrior.&lt;/li>
&lt;li>A note taking app. I had tried a number of tools for this, including the excellent cross-platform &lt;a href="https://joplinapp.org/">Joplin&lt;/a>.&lt;/li>
&lt;li>A diary. Previously I was using various tools including RedNotebook.&lt;/li>
&lt;/ul>
&lt;p>Having all you notes and TODO items in one place is very handy, especially when you can sync your notes between computers using SyncThing.
Download the latest version of LogSeq in file format of your choice (I used the AppImage version) from &lt;a href="https://github.com/logseq/logseq/releases">github.com/logseq&lt;/a>.&lt;/p>
&lt;/div>
&lt;/div>
&lt;div id="file-sharing" class="section level2">
&lt;h2>File sharing&lt;/h2>
&lt;div id="syncthing" class="section level3">
&lt;h3>Syncthing&lt;/h3>
&lt;p>&lt;a href="https://apt.syncthing.net/">Syncthing&lt;/a> is a decentralised file sharing system that enables you to share folders between 2 or more devices.
It does this efficiently and with minimal hassle on many devices.
Its support for &lt;a href="https://play.google.com/store/apps/details?id=com.nutomic.syncthingandroid&amp;amp;hl=en_GB&amp;amp;gl=US">Android&lt;/a> on the Google Play Store makes it ideal for syncing things between laptop and mobile.&lt;/p>
&lt;p>&lt;a href="https://apt.syncthing.net/">Install it on Ubuntu/Debian&lt;/a> systems with the following commands:&lt;/p>
&lt;pre class="bash">&lt;code>sudo curl -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg
# Add the &amp;quot;stable&amp;quot; channel to your APT sources:
echo &amp;quot;deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable&amp;quot; | sudo tee /etc/apt/sources.list.d/syncthing.list
# Add the &amp;quot;candidate&amp;quot; channel to your APT sources:
echo &amp;quot;deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing candidate&amp;quot; | sudo tee /etc/apt/sources.list.d/syncthing.list
# Update and install syncthing:
sudo apt-get update
sudo apt-get install syncthing&lt;/code>&lt;/pre>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;div class="footnotes footnotes-end-of-document">
&lt;hr />
&lt;ol>
&lt;li id="fn1">&lt;p>
Ever heard someone say “trust me, I’m a data scientist”? If so, you can quickly check their credentials by looking at their history of publishing open and reproduicble scripts, and open source tools.&lt;a href="#fnref1" class="footnote-back">↩︎&lt;/a>&lt;/p>&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Open source software and open data in transport research, planning and modelling</title><link>https://robinlovelace.net/old-site/talk/open-source-software-and-open-data-in-transport-research-planning-and-modelling/</link><pubDate>Thu, 22 Sep 2022 11:00:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/open-source-software-and-open-data-in-transport-research-planning-and-modelling/</guid><description/></item><item><title>Jittering and routing options for converting origin-destination data into route networks</title><link>https://robinlovelace.net/old-site/talk/jittering-and-routing-options-for-converting-origin-destination-data-into-route-networks/</link><pubDate>Fri, 26 Aug 2022 08:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/jittering-and-routing-options-for-converting-origin-destination-data-into-route-networks/</guid><description/></item><item><title>OSM for Sustainable Transport Planning</title><link>https://robinlovelace.net/old-site/publication/timaite-osm-2022/</link><pubDate>Wed, 17 Aug 2022 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/timaite-osm-2022/</guid><description/></item><item><title>Keynote: Reproducible Geocomputation for Policy-Relevant Research</title><link>https://robinlovelace.net/old-site/talk/keynote-reproducible-geocomputation-for-policy-relevant-research/</link><pubDate>Wed, 13 Jul 2022 09:00:00 +0100</pubDate><guid>https://robinlovelace.net/old-site/talk/keynote-reproducible-geocomputation-for-policy-relevant-research/</guid><description/></item><item><title>Is Cycling Infrastructure in London Safe and Equitable? Evidence from the Cycling Infrastructure Database</title><link>https://robinlovelace.net/old-site/publication/tait-cycling-2022/</link><pubDate>Fri, 08 Jul 2022 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/tait-cycling-2022/</guid><description/></item><item><title>Exploring Jittering and Routing Options for Converting Origin-Destination Data into Route Networks: Towards Accurate Estimates of Movement at the Street Level</title><link>https://robinlovelace.net/old-site/publication/lovelace-exploring-2022/</link><pubDate>Mon, 27 Jun 2022 14:16:19 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-exploring-2022/</guid><description/></item><item><title>ClockBoard: A Zoning System for Urban Analysis</title><link>https://robinlovelace.net/old-site/publication/lovelace-clockboard-2022/</link><pubDate>Mon, 20 Jun 2022 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-clockboard-2022/</guid><description/></item><item><title>The power of open, interactive, dynamic and participatory data in transport planning</title><link>https://robinlovelace.net/old-site/talk/the-power-of-open-interactive-dynamic-and-participatory-data-in-transport-planning/</link><pubDate>Tue, 10 May 2022 10:20:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/the-power-of-open-interactive-dynamic-and-participatory-data-in-transport-planning/</guid><description>&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">Looking forward to presenting at the &lt;a href="https://twitter.com/SmartTransport_?ref_src=twsrc%5Etfw">@SmartTransport_&lt;/a> conference, 10th May. I&amp;#39;ll be talking about using data in new ways to improve decision-making around decarbonisation pathways and active travel. &lt;a href="https://t.co/afG7u2AlJv">pic.twitter.com/afG7u2AlJv&lt;/a>&lt;/p>&amp;mdash; Robin Lovelace (@robinlovelace) &lt;a href="https://twitter.com/robinlovelace/status/1507370793528971269?ref_src=twsrc%5Etfw">March 25, 2022&lt;/a>&lt;/blockquote> &lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script></description></item><item><title>Jittering: A Computationally Efficient Method for Generating Realistic Route Networks from Origin-Destination Data</title><link>https://robinlovelace.net/old-site/publication/lovelace-jittering-2022-b/</link><pubDate>Fri, 08 Apr 2022 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-jittering-2022-b/</guid><description/></item><item><title>Severe and Fatal Cycling Crash Injury in Britain: Time to Make Urban Cycling Safer</title><link>https://robinlovelace.net/old-site/publication/mason-jones-severe-2022/</link><pubDate>Fri, 01 Apr 2022 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/mason-jones-severe-2022/</guid><description/></item><item><title>Assessing Methods for Generating Route Networks from Origin-Destionation Data: Jittering, Routing, and Visualisation</title><link>https://robinlovelace.net/old-site/publication/lovelace-assessing-2022/</link><pubDate>Tue, 29 Mar 2022 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-assessing-2022/</guid><description/></item><item><title>Creating and Sharing Code for Reproducible Research and Scalable Impact</title><link>https://robinlovelace.net/old-site/talk/creating-and-sharing-code-for-reproducible-research-and-scalable-impact/</link><pubDate>Fri, 21 Jan 2022 10:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/creating-and-sharing-code-for-reproducible-research-and-scalable-impact/</guid><description/></item><item><title>A Framework for Inserting Visually Supported Inferences into Geographical Analysis Workflow: Application to Road Safety Research</title><link>https://robinlovelace.net/old-site/publication/beecham-framework-2022/</link><pubDate>Sat, 01 Jan 2022 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/beecham-framework-2022/</guid><description/></item><item><title>Multivariate Hierarchical Analysis of Car Crashes Data Considering a Spatial Network Lattice</title><link>https://robinlovelace.net/old-site/publication/gilardi-multivariate-2022-a/</link><pubDate>Sat, 01 Jan 2022 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/gilardi-multivariate-2022-a/</guid><description/></item><item><title>Reflections on 2021 🎇</title><link>https://robinlovelace.net/old-site/post/2021-reflections/</link><pubDate>Sat, 01 Jan 2022 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/2021-reflections/</guid><description>
&lt;script src="https://robinlovelace.net/old-site/post/2021-reflections/index_files/header-attrs/header-attrs.js">&lt;/script>
&lt;div id="TOC">
&lt;ul>
&lt;li>&lt;a href="#actdev">ActDev&lt;/a>&lt;/li>
&lt;li>&lt;a href="#first-solo-authored-paper">First solo authored paper&lt;/a>&lt;/li>
&lt;li>&lt;a href="#new-fellowship-placement-in-the-no.-10-data-science-team-10ds">New fellowship: placement in the No. 10 Data Science team (10DS)&lt;/a>&lt;/li>
&lt;li>&lt;a href="#software-development">Software development&lt;/a>&lt;/li>
&lt;li>&lt;a href="#geocomputation-with-r-second-edition">Geocomputation with R Second Edition&lt;/a>&lt;/li>
&lt;li>&lt;a href="#becoming-a-father">Becoming a father&lt;/a>&lt;/li>
&lt;li>&lt;a href="#just-look-up">Just look up ☄&lt;/a>&lt;/li>
&lt;li>&lt;a href="#references">References&lt;/a>&lt;/li>
&lt;/ul>
&lt;/div>
&lt;p>It’s been another crazy year for many people with lifestyles still disrupted by COVID, huge advances, setbacks and challenges faced collectively by people worldwide.&lt;/p>
&lt;p>It has been an amazing year for me and my family.
Before the hectic rush (and sometimes grind) of daily working life returns, I wanted to put together a few thoughts on things that happened in 2021 and hopes for 2022 and beyond.&lt;/p>
&lt;p>Long story short, it involved various academic and practical accomplishments plus the most rewarding event of my life so far, becoming a dad (skip to the end for more on that)!&lt;/p>
&lt;div id="actdev" class="section level2">
&lt;h2>ActDev&lt;/h2>
&lt;p>In the first few months of 2021 I led a project called ActDev, which involved research into the levels of transport sustainability associated with new housing developments.
The 4 month project resulted in a web application that is publicly available at &lt;a href="https://actdev.cyipt.bike/">cyipt.actdev.bike&lt;/a>.
Currently this is just a prototype of a larger tool that we hope to develop in 2022.
The research and thinking underlying the tool is outlined in a pre-print led by my colleague Joey Talbot&lt;span class="citation">&lt;sup>&lt;a href="#ref-talbot_active_2021" role="doc-biblioref">1&lt;/a>&lt;/sup>&lt;/span> and showcased in the promotional video shown below.&lt;/p>
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/nNYroA16JEQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen>
&lt;/iframe>
&lt;p>The project also involved working with Dustin Carlino and using &lt;a href="https://github.com/a-b-street/abstreet#ab-street">A/B Street&lt;/a> a traffic simulation tool that allows you to redesign streets and transport patterns to inform policies.
Building on the ‘zonebuilder paper’ co-authored by Dustin,&lt;span class="citation">&lt;sup>&lt;a href="#ref-lovelace_clockboard_2021" role="doc-biblioref">2&lt;/a>&lt;/sup>&lt;/span> which inspired the tweet below, I hope do more work with A/B Street in 2022.&lt;/p>
&lt;blockquote class="twitter-tweet">
&lt;p lang="en" dir="ltr">
Choices of zones + boundaries affect research findings + maps. Choose wisely! &lt;a href="https://t.co/ga8NZesPoX">pic.twitter.com/ga8NZesPoX&lt;/a>
&lt;/p>
— Robin Lovelace (&lt;span class="citation">&lt;sup>&lt;a href="#ref-robinlovelace" role="doc-biblioref">&lt;strong>robinlovelace?&lt;/strong>&lt;/a>&lt;/sup>&lt;/span>) &lt;a href="https://twitter.com/robinlovelace/status/1423555975110397953?ref_src=twsrc%5Etfw">August 6, 2021&lt;/a>
&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;/div>
&lt;div id="first-solo-authored-paper" class="section level2">
&lt;h2>First solo authored paper&lt;/h2>
&lt;p>Collaborating with others is one of the most rewarding parts of academic research.
I have published over two dozen papers with many people over the years, and 5 fully peer reviewed papers in 2021.
These include a paper on modelling the health impacts of active travel led by James Woodcock at the University of Cambridge,,&lt;span class="citation">&lt;sup>&lt;a href="#ref-woodcock_health_2021a" role="doc-biblioref">3&lt;/a>&lt;/sup>&lt;/span> and three papers led by Eugeni Vidal-Tortosa;&lt;span class="citation">&lt;sup>&lt;a href="#ref-vidaltortosa_infrastructure_2021" role="doc-biblioref">4&lt;/a>&lt;/sup>&lt;/span>;&lt;span class="citation">&lt;sup>&lt;a href="#ref-vidaltortosa_cycling_2021" role="doc-biblioref">5&lt;/a>&lt;/sup>&lt;/span>.&lt;span class="citation">&lt;sup>&lt;a href="#ref-vidaltortosa_socioeconomic_2021" role="doc-biblioref">6&lt;/a>&lt;/sup>&lt;/span>
As lead supervisor I was very happy to see Eugeni pass his viva in November (another 2021 milestone for me).
Additional papers from 2021, including pre-prints, can be seen on &lt;a href="https://www.robinlovelace.net/publication/">my website&lt;/a> and &lt;a href="https://scholar.google.com/citations?hl=en&amp;amp;user=xDJHVCAAAAAJ&amp;amp;view_op=list_works&amp;amp;alert_preview_top_rm=2&amp;amp;sortby=pubdate">here&lt;/a>.&lt;/p>
&lt;p>One of the most rewarding papers, however, was on that I authored solo.&lt;span class="citation">&lt;sup>&lt;a href="#ref-lovelace_open_2021" role="doc-biblioref">7&lt;/a>&lt;/sup>&lt;/span>
In it, I review 25 open source tools for geographic analysis in transport planning and discuss the future potential of open source software for guiding effective policy interventions.
The paper has received some attention online, as can be seen in the Tweet below, and not just from the academic research community: experienced transport modeller Tom Van Vuren, for example, picked-up on the paper and we hope to take the conversation about uptake of open and transparent software for transport modelling forward in 2022.&lt;/p>
&lt;blockquote class="twitter-tweet">
&lt;p lang="en" dir="ltr">
Stoked to announce that the new &lt;a href="https://twitter.com/hashtag/openaccess?src=hash&amp;amp;ref_src=twsrc%5Etfw">#openaccess&lt;/a> paper “Open source tools for geographic analysis in transport planning” has just been published 🎉&lt;br>&lt;br>Paper: &lt;a href="https://t.co/kZy2kkyjDy">https://t.co/kZy2kkyjDy&lt;/a>&lt;br>Code: &lt;a href="https://t.co/yOFtKbBbYc">https://t.co/yOFtKbBbYc&lt;/a>&lt;br>My first ever solo-authored paper! &lt;a href="https://t.co/3fHSbP0UTG">pic.twitter.com/3fHSbP0UTG&lt;/a>
&lt;/p>
— Robin Lovelace (&lt;span class="citation">&lt;sup>&lt;a href="#ref-robinlovelace" role="doc-biblioref">&lt;strong>robinlovelace?&lt;/strong>&lt;/a>&lt;/sup>&lt;/span>) &lt;a href="https://twitter.com/robinlovelace/status/1351477455203299328?ref_src=twsrc%5Etfw">January 19, 2021&lt;/a>
&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;p>I also hope to do more research that is policy relevant, leading to the next topic in my reflections on the year just gone by.&lt;/p>
&lt;/div>
&lt;div id="new-fellowship-placement-in-the-no.-10-data-science-team-10ds" class="section level2">
&lt;h2>New fellowship: placement in the No. 10 Data Science team (10DS)&lt;/h2>
&lt;p>An exciting new project started for me in 2021, as I was awarded an 18 month ‘10DS Fellowship’ to help central government make better use data science to support evidence-based decision-making.&lt;/p>
&lt;blockquote class="twitter-tweet">
&lt;p lang="en" dir="ltr">
Really excited about this: for the next ~18 months I will be working with the &lt;a href="https://twitter.com/10DowningStreet?ref_src=twsrc%5Etfw">&lt;span class="citation">&lt;sup>&lt;a href="#ref-10DowningStreet" role="doc-biblioref">&lt;strong>10DowningStreet?&lt;/strong>&lt;/a>&lt;/sup>&lt;/span>&lt;/a> Data Science team, &lt;a href="https://twitter.com/DataSciCampus?ref_src=twsrc%5Etfw">&lt;span class="citation">&lt;sup>&lt;a href="#ref-DataSciCampus" role="doc-biblioref">&lt;strong>DataSciCampus?&lt;/strong>&lt;/a>&lt;/sup>&lt;/span>&lt;/a>, &lt;a href="https://twitter.com/ESRC?ref_src=twsrc%5Etfw">&lt;span class="citation">&lt;sup>&lt;a href="#ref-ESRC" role="doc-biblioref">&lt;strong>ESRC?&lt;/strong>&lt;/a>&lt;/sup>&lt;/span>&lt;/a> and others on the new 10DS Fellowship. Looking forward to working with Federico, Alex and everyone on data science in government 🚀 &lt;a href="https://t.co/h7skJ0rbwA">https://t.co/h7skJ0rbwA&lt;/a>
&lt;/p>
— Robin Lovelace (&lt;span class="citation">&lt;sup>&lt;a href="#ref-robinlovelace" role="doc-biblioref">&lt;strong>robinlovelace?&lt;/strong>&lt;/a>&lt;/sup>&lt;/span>) &lt;a href="https://twitter.com/robinlovelace/status/1461294156626726914?ref_src=twsrc%5Etfw">November 18, 2021&lt;/a>
&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;p>The responses replying to that tweet from acquaintances working in related fields, plus emails from colleagues at the University of Leeds, provide a strong motivation to work hard to move things forward.
New methods and datasets have great potential to be harnessed to help tackle entrenched challenges in the 21&lt;sup>st&lt;/sup> century.
I hope my background and skills will enable me to make a positive difference.&lt;/p>
&lt;p>Watch this space for projects that I end up working on as part of this fellowship (that can be published after clearance from No. 10).
The placement phase of the fellowship starts in January, and it looks like there will be many exciting opportunities for high impact research.
I hope to document lessons learned from the experience in articles for the organisations supporting the fellowship: the ESRC, ADR UK, the Alan Turing Institute (where I was also awarded a fellowship in 2021) and the ONS’s Data Science Campus.&lt;/p>
&lt;/div>
&lt;div id="software-development" class="section level2">
&lt;h2>Software development&lt;/h2>
&lt;p>In addition to research published in academic papers, I have also worked hard on software development and teaching materials.
I was amazed and slightly humbled to hear that &lt;code>stplanr&lt;/code>, an R package I developed to support strategical cycle network planning in the UK, had been used in research into access to potentially life-saving TB clinics in Malawi.&lt;/p>
&lt;blockquote class="twitter-tweet">
&lt;p lang="en" dir="ltr">
When a tool first built for one purpose (cycle network planning in Europe) gets used for something totally different (calculating distance to tuberculosis clinics in Africa) 🚀&lt;br>&lt;br>Paper: &lt;a href="https://t.co/8gaRigYXVK">https://t.co/8gaRigYXVK&lt;/a>&lt;br>Package: &lt;a href="https://t.co/t8UC0JGjNg">https://t.co/t8UC0JGjNg&lt;/a>&lt;a href="https://twitter.com/hashtag/RStats?src=hash&amp;amp;ref_src=twsrc%5Etfw">#RStats&lt;/a> package {stplanr} in action! &lt;a href="https://t.co/JqBgv7CE9r">pic.twitter.com/JqBgv7CE9r&lt;/a>
&lt;/p>
— Robin Lovelace (&lt;span class="citation">&lt;sup>&lt;a href="#ref-robinlovelace" role="doc-biblioref">&lt;strong>robinlovelace?&lt;/strong>&lt;/a>&lt;/sup>&lt;/span>) &lt;a href="https://twitter.com/robinlovelace/status/1436253002525028362?ref_src=twsrc%5Etfw">September 10, 2021&lt;/a>
&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;p>What better motivation could there be for developing open source software for reproducible data analysis and policy interventions?&lt;/p>
&lt;/div>
&lt;div id="geocomputation-with-r-second-edition" class="section level2">
&lt;h2>Geocomputation with R Second Edition&lt;/h2>
&lt;p>Perhaps less exciting than starting new projects is ‘finishing’ existing ones.
In this case the project is the popular book Geocomputation with R which, alongside other open source teaching materials of the type published on &lt;a href="https://bookdown.org/">bookdown.org&lt;/a>, helps reduce financial barriers to accessing textbooks by providing teaching content that anyone can read.&lt;/p>
&lt;p>Jakub, Jannes and I have signed a contract to work on a second edition and we’ve made good progress, as shown below (one new year’s resolution: publish the 2nd edition!).&lt;/p>
&lt;blockquote class="twitter-tweet">
&lt;p lang="en" dir="ltr">
🏗️ Geocomputation with R update 🏗️ we've recently updated key parts of Chapter 7 on the key topic of coordinate reference systems (CRSs). Updated figure below, plus lots more in the chapter, shows importance of understanding them! &lt;a href="https://t.co/pffHqeF8YT">https://t.co/pffHqeF8YT&lt;/a> &lt;a href="https://twitter.com/hashtag/Rstats?src=hash&amp;amp;ref_src=twsrc%5Etfw">#Rstats&lt;/a> &lt;a href="https://twitter.com/hashtag/rspatial?src=hash&amp;amp;ref_src=twsrc%5Etfw">#rspatial&lt;/a> &lt;a href="https://t.co/DVgHU5lvn1">pic.twitter.com/DVgHU5lvn1&lt;/a>
&lt;/p>
— Robin Lovelace (&lt;span class="citation">&lt;sup>&lt;a href="#ref-robinlovelace" role="doc-biblioref">&lt;strong>robinlovelace?&lt;/strong>&lt;/a>&lt;/sup>&lt;/span>) &lt;a href="https://twitter.com/robinlovelace/status/1476620093601812482?ref_src=twsrc%5Etfw">December 30, 2021&lt;/a>
&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;/div>
&lt;div id="becoming-a-father" class="section level2">
&lt;h2>Becoming a father&lt;/h2>
&lt;p>The most important event in the year for me was becoming a dad.&lt;/p>
&lt;blockquote class="twitter-tweet">
&lt;p lang="en" dir="ltr">
Big personal news: &lt;a href="https://twitter.com/katylvlace?ref_src=twsrc%5Etfw">&lt;span class="citation">&lt;sup>&lt;a href="#ref-katylvlace" role="doc-biblioref">&lt;strong>katylvlace?&lt;/strong>&lt;/a>&lt;/sup>&lt;/span>&lt;/a> and I have had a baby, welcome to the world Kit 🎉 Focussed on nappies and supporting the family for the next while 💚💚💚 Parenthood is amazing, makes me more committed to research for a sustainable future 🌱 Looking forward to it all! &lt;a href="https://t.co/sJJZNZZV04">pic.twitter.com/sJJZNZZV04&lt;/a>
&lt;/p>
— Robin Lovelace (&lt;span class="citation">&lt;sup>&lt;a href="#ref-robinlovelace" role="doc-biblioref">&lt;strong>robinlovelace?&lt;/strong>&lt;/a>&lt;/sup>&lt;/span>) &lt;a href="https://twitter.com/robinlovelace/status/1448594909376696322?ref_src=twsrc%5Etfw">October 14, 2021&lt;/a>
&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;p>It has been a life-changing experience: being responsible for another (little and very cute) person has certainly shifted my perspective on the world, made me prioritise my time more carefully, and made it harder to plan.&lt;/p>
&lt;p>My wife Katy and I have worked closely as a team and, despite talk of the ‘&lt;a href="https://www.goodreads.com/en/book/show/54670274-baby-bomb">baby bomb&lt;/a>’ impacting our relationship, little Kit has brought us closer together ♥&lt;/p>
&lt;p>Despite inevitable challenges, it’s been the most rewarding thing we’ve done so far, and we’re only 3 months in!
Having a little one around encourages long-term thinking, and Kit has strengthened my commitment to research supporting a more sustainable world.&lt;/p>
&lt;/div>
&lt;div id="just-look-up" class="section level2">
&lt;h2>Just look up ☄&lt;/h2>
&lt;p>Having a baby around on New Year’s Eve, plus the fact that we start the new year in the midst of a pandemic, led to scaled-back plans to celebrate the arrival of 2022.
To celebrate, Katy and I watched Don’t Look Up, a sci-fi film satirising so-far sluggish policy responses to threats identified thanks to scientific research, such as climate change.&lt;/p>
&lt;p>Having heard great things about it from friends talking about it and seeing positive and provoking comments on social media, with the hashtag &lt;a href="https://twitter.com/hashtag/DontLookUp">#DontLookUp☄&lt;/a>, we decided to watch it as part of our NYE celebrations.
The film contains the humorous yet inspiring song below by Ariana Grande.&lt;/p>
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/wFeZ2EOc8KY?controls=0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen>
&lt;/iframe>
&lt;p>Never thought I would hear these lyrics in a catchy pop song in 2021:&lt;/p>
&lt;blockquote>
&lt;p>Get your head out of your ass, listen to the goddam qualified scientists&lt;/p>
&lt;/blockquote>
&lt;p>So I’m prepared for anything in the coming year.
Optimistic that with hard work, collective intelligence, empathy, and a desire to collaborate on solving tricky problems, the future can be bright.
Bring on 2022!&lt;/p>
&lt;/div>
&lt;div id="references" class="section level2 unnumbered">
&lt;h2>References&lt;/h2>
&lt;div id="refs" class="references csl-bib-body" line-spacing="2">
&lt;div id="ref-talbot_active_2021" class="csl-entry">
&lt;div class="csl-left-margin">1. &lt;/div>&lt;div class="csl-right-inline">Talbot, J. &lt;em>et al.&lt;/em> Active &lt;span>Travel Oriented Development&lt;/span>: &lt;span>Assessing&lt;/span> the suitability of sites for new homes. (2021) doi:&lt;a href="https://doi.org/10.31219/osf.io/7fuq5">10.31219/osf.io/7fuq5&lt;/a>.&lt;/div>
&lt;/div>
&lt;div id="ref-lovelace_clockboard_2021" class="csl-entry">
&lt;div class="csl-left-margin">2. &lt;/div>&lt;div class="csl-right-inline">Lovelace, R., Tennekes, M. &amp;amp; Carlino, D. &lt;span>ClockBoard&lt;/span>: A zoning system for urban analysis. (2021) doi:&lt;a href="https://doi.org/10.31219/osf.io/vncgw">10.31219/osf.io/vncgw&lt;/a>.&lt;/div>
&lt;/div>
&lt;div id="ref-woodcock_health_2021a" class="csl-entry">
&lt;div class="csl-left-margin">3. &lt;/div>&lt;div class="csl-right-inline">Woodcock, J., Aldred, R., Lovelace, R., Strain, T. &amp;amp; Goodman, A. Health, environmental and distributional impacts of cycling uptake: &lt;span>The&lt;/span> model underlying the &lt;span>Propensity&lt;/span> to &lt;span>Cycle&lt;/span> tool for &lt;span>England&lt;/span> and &lt;span>Wales&lt;/span>. &lt;em>Journal of Transport &amp;amp; Health&lt;/em> &lt;strong>22&lt;/strong>, 101066 (2021).&lt;/div>
&lt;/div>
&lt;div id="ref-vidaltortosa_infrastructure_2021" class="csl-entry">
&lt;div class="csl-left-margin">4. &lt;/div>&lt;div class="csl-right-inline">Vidal Tortosa, E., Lovelace, R., Heinen, E. &amp;amp; Mann, R. P. Infrastructure is not enough: Interactions between the environment, socioeconomic disadvantage and cycling participation in &lt;span>England&lt;/span>. &lt;em>Journal of Transport and Land Use&lt;/em> (2021) doi:&lt;a href="https://doi.org/10.5198/jtlu.2021.1781">10.5198/jtlu.2021.1781&lt;/a>.&lt;/div>
&lt;/div>
&lt;div id="ref-vidaltortosa_cycling_2021" class="csl-entry">
&lt;div class="csl-left-margin">5. &lt;/div>&lt;div class="csl-right-inline">Vidal Tortosa, E., Lovelace, R., Heinen, E. &amp;amp; Mann, R. P. Cycling behaviour and socioeconomic disadvantage: &lt;span>An&lt;/span> investigation based on the &lt;span>English National Travel Survey&lt;/span>. &lt;em>Transportation Research Part A: Policy and Practice&lt;/em> &lt;strong>152&lt;/strong>, 173–185 (2021).&lt;/div>
&lt;/div>
&lt;div id="ref-vidaltortosa_socioeconomic_2021" class="csl-entry">
&lt;div class="csl-left-margin">6. &lt;/div>&lt;div class="csl-right-inline">Vidal Tortosa, E., Lovelace, R., Heinen, E. &amp;amp; Mann, R. P. Socioeconomic inequalities in cycling safety: &lt;span>An&lt;/span> analysis of cycling injury risk by residential deprivation level in &lt;span>England&lt;/span>. &lt;em>Journal of Transport &amp;amp; Health&lt;/em> &lt;strong>23&lt;/strong>, 101291 (2021).&lt;/div>
&lt;/div>
&lt;div id="ref-lovelace_open_2021" class="csl-entry">
&lt;div class="csl-left-margin">7. &lt;/div>&lt;div class="csl-right-inline">Lovelace, R. Open source tools for geographic analysis in transport planning. &lt;em>Journal of Geographical Systems&lt;/em> (2021) doi:&lt;a href="https://doi.org/10.1007/s10109-020-00342-2">10.1007/s10109-020-00342-2&lt;/a>.&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div></description></item><item><title>Sykkelpotensial og bysykler En beregning av potensialet for økt hverdagssykling og evaluering av bysykkelordningene på Nord-Jæren, i Trondheim og i Bergen</title><link>https://robinlovelace.net/old-site/publication/pritchard-sykkelpotensial-2022/</link><pubDate>Sat, 01 Jan 2022 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/pritchard-sykkelpotensial-2022/</guid><description/></item><item><title>Propensity to Cycle Tool Advanced Training Workshop 2021</title><link>https://robinlovelace.net/old-site/talk/propensity-to-cycle-tool-advanced-training-workshop-2021/</link><pubDate>Thu, 09 Dec 2021 14:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/propensity-to-cycle-tool-advanced-training-workshop-2021/</guid><description>&lt;p>This event is hosted by Hopin, who handled the &lt;a href="https://hopin.com/events/propensity-to-cycle-tool-advanced-training-workshop-b97560b7-2a95-4642-aca0-2973d53f22b2/registration" target="_blank" rel="noopener">sign-up page&lt;/a>.
See &lt;a href="event.html">here&lt;/a> for details.&lt;/p></description></item><item><title>Evidence to Support Active Travel in the Planning System</title><link>https://robinlovelace.net/old-site/talk/evidence-to-support-active-travel-in-the-planning-system/</link><pubDate>Tue, 07 Dec 2021 13:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/evidence-to-support-active-travel-in-the-planning-system/</guid><description>&lt;p>This talk, details of which can be found on the &lt;a href="event.html">registration web page&lt;/a>, my colleague Joey Talbot and discuss our prototype &lt;a href="https://actdev.cyipt.bike/" target="_blank" rel="noopener">ActDev&lt;/a> tool.
Developed in collaboration with partners from &lt;a href="https://www.cyclestreets.net/" target="_blank" rel="noopener">CycleStreets.net&lt;/a>, &lt;a href="https://www.cyclestreets.org/sites/streetfocus/" target="_blank" rel="noopener">StreetFocus&lt;/a> (and associated organisation PlanIt), and &lt;a href="https://a-b-street.github.io/docs/" target="_blank" rel="noopener">A/B Street&lt;/a>, the project pushed the boundaries of what can be done with open data to generate an accessible and actionable evidence base on active travel potential and provision in and around proposed housing developments (and potentially other developments).&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://user-images.githubusercontent.com/1825120/110677777-75d36880-81cd-11eb-8c59-eb406066bc4a.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p></description></item><item><title>Open access events on data science in transport</title><link>https://robinlovelace.net/old-site/post/open-access-events/</link><pubDate>Fri, 03 Dec 2021 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/open-access-events/</guid><description>
&lt;script src="https://robinlovelace.net/old-site/post/open-access-events/index_files/header-attrs/header-attrs.js">&lt;/script>
&lt;p>This is a short post about a couple of events in which myself and colleagues will present on our work on building tools for evidence-based decision making and teaching data science skills for transport planning:&lt;/p>
&lt;ul>
&lt;li>Evidence to Support Active Travel in the Planning System, a talk hosted by the LSSI and with input from the Department for Transport, 13:00 to 14:00 on Tuesday 7th June 2021, sign up &lt;a href="https://www.eventbrite.co.uk/e/evidence-to-support-active-travel-in-the-planning-system-tickets-211640180477">here&lt;/a>&lt;/li>
&lt;li>Propensity to Cycle Tool Advanced Training Workshop, on 9th December 2021. Sign up &lt;a href="https://hopin.com/events/propensity-to-cycle-tool-advanced-training-workshop-b97560b7-2a95-4642-aca0-2973d53f22b2/registration">here&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>You can see more details at the event descriptions on this website, &lt;a href="https://www.robinlovelace.net/talk/propensity-to-cycle-tool-advanced-training-workshop-2021/">here&lt;/a> and &lt;a href="https://www.robinlovelace.net/talk/evidence-to-support-active-travel-in-the-planning-system/">here&lt;/a>.&lt;/p>
&lt;p>These events come at a time when I’m aiming to increase the policy relevance of my research in preparation for the placement phase of an 18 month fellowship in No. 10 that starts in January 2022.
The following links provide more details on the fellowship:&lt;/p>
&lt;ul>
&lt;li>Original article on the &lt;a href="https://www.adruk.org/news-publications/news-blogs/esrc-and-adr-uk-funded-research-fellows-to-work-with-no10-downing-street-487/">ADRUK website&lt;/a>&lt;/li>
&lt;li>Write up on the &lt;a href="https://www.turing.ac.uk/news/two-turing-fellows-awarded-first-no10-data-science-fellowships">turing.ac.uk&lt;/a> website supporting the Alan Turing Institute (ATI)&lt;/li>
&lt;li>Write up on the &lt;a href="https://www.leeds.ac.uk/main-index/news/article/4961/leeds-academic-awarded-first-10-downing-street-data-science-fellowship">University of Leeds website&lt;/a> where I outline some hopes and ideas for the fellowship&lt;/li>
&lt;/ul></description></item><item><title>Socioeconomic Inequalities in Cycling Safety: An Analysis of Cycling Injury Risk by Residential Deprivation Level in England</title><link>https://robinlovelace.net/old-site/publication/vidaltortosa-socioeconomic-2021/</link><pubDate>Wed, 01 Dec 2021 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/vidaltortosa-socioeconomic-2021/</guid><description/></item><item><title>Open source software for decaRbonisation</title><link>https://robinlovelace.net/old-site/talk/open-source-software-for-decarbonisation/</link><pubDate>Mon, 15 Nov 2021 17:30:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/open-source-software-for-decarbonisation/</guid><description/></item><item><title>Zonebuilders: cross-platform and language-agnostic tools for generating zoning systems for urban analysis and modelling</title><link>https://robinlovelace.net/old-site/talk/zonebuilders-cross-platform-and-language-agnostic-tools-for-generating-zoning-systems-for-urban-analysis-and-modelling/</link><pubDate>Fri, 01 Oct 2021 16:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/zonebuilders-cross-platform-and-language-agnostic-tools-for-generating-zoning-systems-for-urban-analysis-and-modelling/</guid><description/></item><item><title>Cycling Behaviour and Socioeconomic Disadvantage: An Investigation Based on the English National Travel Survey</title><link>https://robinlovelace.net/old-site/publication/vidaltortosa-cycling-2021/</link><pubDate>Fri, 01 Oct 2021 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/vidaltortosa-cycling-2021/</guid><description/></item><item><title>Open Source Tools for Geographic Analysis in Transport Planning</title><link>https://robinlovelace.net/old-site/publication/lovelace-open-2021/</link><pubDate>Fri, 01 Oct 2021 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-open-2021/</guid><description/></item><item><title>Health, Environmental and Distributional Impacts of Cycling Uptake: The Model Underlying the Propensity to Cycle Tool for England and Wales</title><link>https://robinlovelace.net/old-site/publication/woodcock-health-2021-a/</link><pubDate>Wed, 01 Sep 2021 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/woodcock-health-2021-a/</guid><description/></item><item><title>Invited talk: Reproducible research to inform policy</title><link>https://robinlovelace.net/old-site/talk/invited-talk-reproducible-research-to-inform-policy/</link><pubDate>Thu, 24 Jun 2021 16:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/invited-talk-reproducible-research-to-inform-policy/</guid><description/></item><item><title>Cycleways in East Leeds: a Photoblog</title><link>https://robinlovelace.net/old-site/post/cycleways-se-leeds/</link><pubDate>Sun, 11 Apr 2021 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/cycleways-se-leeds/</guid><description>
&lt;script src="https://robinlovelace.net/old-site/post/cycleways-se-leeds/index_files/header-attrs/header-attrs.js">&lt;/script>
&lt;p>Taking advantage of a sunny Sunday, a friend and I decided to check-out some recent active travel infrastructure developments in East Leeds.
We planned the route around two destinations and one well-established route:&lt;/p>
&lt;ul>
&lt;li>The &lt;a href="https://citu.co.uk/citu-places">Leeds Climate Innovation District&lt;/a>, a new sustainability-focussed housing development being built near central Leeds&lt;/li>
&lt;li>&lt;a href="https://en.wikipedia.org/wiki/Temple_Newsam">Temple Newsam&lt;/a>, a publicly accessible stately home and leisure grounds part-designed by prolific landscaper &lt;a href="https://en.wikipedia.org/wiki/Capability_Brown">Capability Brown&lt;/a> in the 1760s and now owned by &lt;a href="https://www.leeds.gov.uk/">Leeds City Council&lt;/a>&lt;/li>
&lt;li>The well-known &lt;a href="https://www.leeds.gov.uk/docs/Wyke%20Beck%20Way%20Cycle%20Route.pdf">Wyke Beck Way&lt;/a>, which runs North from Temple Newsam to Roundhay Park&lt;/li>
&lt;/ul>
&lt;p>An overview of the route is shown below:&lt;/p>
&lt;iframe src="map-leeds-routes.html" width="672" height="400px">
&lt;/iframe>
&lt;div id="leeds-climate-innovation-district" class="section level2">
&lt;h2>Leeds Climate Innovation District&lt;/h2>
&lt;p>Leeds Climate Innovation District (LCID) is a major development in Leeds, with 500+ dwellings either in the process of being built or already being lived in (at the time of writing in April 2021).
I cannot comment on the energy efficiency ratings of the buildings (although I have little doubt that they are well insulated) but in terms of its appearance and accessibility by walking and cycling it is ground-breaking.
It is located on the East of the River Aire and to the West of the A61, a major road that wouldn’t seem to provide a basis for sustainable and healthy living, as shown below.&lt;/p>
&lt;p>&lt;img src="https://i.imgur.com/gj6gv79.png" />&lt;!-- -->&lt;/p>
&lt;p>I had heard of LCID and passed by it during early stages of construction but only appreciated its scale and level and ambition today after seeing the site.
In the spring sunshine it was stunning, as shown in the photo below.&lt;/p>
&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/97888609@N02/51109825653/in/photostream/" title="IMG_20210411_115742">&lt;img src="https://live.staticflickr.com/65535/51109825653_2c6c205f2a_h.jpg" width="1600" height="1200" alt="IMG_20210411_115742">&lt;/a>
&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8">&lt;/script>
&lt;p>My more immediate interest in the project was due to work.
The LCID is one of the case study sites we used to highlight the potential for the planning system to support active travel in the &lt;a href="https://actdev.cyipt.bike/">ActDev project&lt;/a>.
As can be seen at &lt;a href="https://actdev.cyipt.bike/lcid/routenetwork,buildings/#12/53.78895/-1.52639">actdev.cyipt.bike/lcid/&lt;/a>, the site performs well from a sustainable transport perspective, as shown below.&lt;/p>
&lt;iframe src="https://actdev.cyipt.bike/lcid/routenetwork,buildings/#12/53.78895/-1.52639" width="672" height="400px">
&lt;/iframe>
&lt;p>The reasons why the site scores so high from a sustainable perspective perspective are simple:&lt;/p>
&lt;ul>
&lt;li>A high proportion of trips in the surrounding area are made by public transport&lt;/li>
&lt;li>Many key destinations are within walking and cycling distance&lt;/li>
&lt;/ul>
&lt;p>The data driven approach can hide important details on the ground that can help or hinder active travel.
I was happy to see that the site had good accessibility to the key walking and cycling route to the West of the river, as shown in the photos below.&lt;/p>
&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/97888609@N02/51109825878/in/photostream/" title="IMG_20210411_120628">&lt;img src="https://live.staticflickr.com/65535/51109825878_71fb66ff80_h.jpg" width="1600" height="1200" alt="IMG_20210411_120628">&lt;/a>
&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8">&lt;/script>
&lt;p>The walking and cycling provision on the LCID side of the river is good, with steps that are wide and a ramp for cycling, wheelchairs and pushchairs.
The ramp onto the bridge from the East side of the river has a shallow incline, although is unnecessarily maze-like (possibly this is to reduce cycling speeds to the benefit of other users which seems sensible given the wide range of people using the path).&lt;/p>
&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/97888609@N02/51109354607/in/photostream/" title="IMG_20210411_120828">&lt;img src="https://live.staticflickr.com/65535/51109354607_8778ee28be_h.jpg" width="1600" height="1200" alt="IMG_20210411_120828">&lt;/a>
&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8">&lt;/script>
&lt;/div>
&lt;div id="the-waterside-cycle-path-in-east-leeds" class="section level2">
&lt;h2>The waterside cycle path in East Leeds&lt;/h2>
&lt;p>From the LCID we proceeded southeast along waterside cycleway that follows the River Aire all the way out to &lt;a href="https://actdev.cyipt.bike/allerton-bywater/">Allerton Bywater, which is another new housing development that is part of the ActDev project&lt;/a>.
The route has recently been resurfaced, as described in an &lt;a href="https://www.sustrans.org.uk/our-blog/news/2020/may/upgraded-leeds-waterside-cycle-path-now-open-for-locals">article by Sustrans&lt;/a>.
Having used this cycleway for more almost a decade it is hard to put into words how much better it is after the upgrade, but I will try.
It is waaaaaaaaaaaay better.&lt;/p>
&lt;p>Before the upgrade the path was thin, bumpy and often muddy
Now it is wide, smooth and attractive.
The difference can be seen in the before/after photos below (credit: Sustrans).&lt;/p>
&lt;p>&lt;img src="https://www.sustrans.org.uk/media/6275/leeds-waterside-cycle-path-before-les-webb-on-the-cycle-route-before-please-credit-steve-tipton-2020-steve-tipton-all-rights-reserved.jpg?anchor=center&amp;mode=crop&amp;width=730&amp;height=410" width="49%" />&lt;img src="https://www.sustrans.org.uk/media/6290/leeds-waterside-cycle-path-eastside-after-shot-tpt-leeds-east-4-2020-steve-best.jpg?anchor=center&amp;mode=crop&amp;width=730&amp;height=410" width="49%" />&lt;/p>
&lt;p>The surface is as smooth as tarmac on a road (smoother than most roads in Leeds, which have many potholes due to constant erosion by motor traffic) but has a rustic feel.&lt;/p>
&lt;p>One issue with the route (that is already well &lt;a href="https://www.yorkshireeveningpost.co.uk/news/transport/alistair-brownlee-backs-campaign-new-crossing-skelton-grange-road-bridge-trans-pennine-trail-3134542">documented&lt;/a> and is the subject of a &lt;a href="http://www.leedscyclingcampaign.co.uk/skelton-grange-bridge">campaign by Leeds Cycling Campaign&lt;/a>) is that you are forced onto steps to go from Skelton Grange Road bridge onto a cycleway located between the River Aire on the East and the Aire and Calder Navigation canal to West, as shown below.&lt;/p>
&lt;p>&lt;img src="https://i.imgur.com/lzLCIT1.png" />&lt;!-- -->&lt;/p>
&lt;p>Aside from the steps, this section is also great to ride on and is part of the &lt;a href="https://www.openstreetmap.org/relation/10508149">Trans Pennine Trail from Leeds to Sheffield&lt;/a> 40 miles to the South.&lt;/p>
&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/97888609@N02/51109354637/in/photostream/" title="IMG_20210411_122039">&lt;img src="https://live.staticflickr.com/65535/51109354637_c95adf613c_h.jpg" width="1600" height="1200" alt="IMG_20210411_122039">&lt;/a>
&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8">&lt;/script>
&lt;/div>
&lt;div id="the-extra-service-station-and-temple-newsam" class="section level2">
&lt;h2>The Extra service station and Temple Newsam&lt;/h2>
&lt;p>The most surprising aspect of the ride was the new walking and cycling infrastructure provided in and around a new service station serving the M1 motorway of all things.
Despite its proximity to this huge highway, the site surrounding the &lt;a href="https://extraservices.co.uk/locations/leeds-skelton-lake/">Leeds Skelton Lake – M1 J45&lt;/a> services is outstandingly good for cycling and walking, with dedicated space inside the premises and a decent shared cycleway/pavement leading up to the M1, as shown below (note the petrol station, part of the Extra service station to the left).&lt;/p>
&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/97888609@N02/51109826033/in/photostream/" title="IMG_20210411_123340">&lt;img src="https://live.staticflickr.com/65535/51109826033_7b52e1b93a_h.jpg" width="1600" height="1200" alt="IMG_20210411_123340">&lt;/a>
&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8">&lt;/script>
&lt;p>Crossing the huge roads to cross the M1 was possible but not ideal: the cycle infrastructure directly next to the motorway decreased substantially in quality compared with the rest of the route.&lt;/p>
&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/97888609@N02/51110697010/in/photostream/" title="IMG_20210411_123642">&lt;img src="https://live.staticflickr.com/65535/51110697010_b785f276ed_h.jpg" width="1600" height="1200" alt="IMG_20210411_123642">&lt;/a>
&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8">&lt;/script>
&lt;p>In addition to work to improve links with the Skelton Grange Road Bridge I imagine that investment in the quality of infrastructure leading to Temple Newsam, shown in the map below, would be well spent.&lt;/p>
&lt;p>&lt;img src="https://i.imgur.com/Co5gyWH.png" />&lt;!-- -->&lt;/p>
&lt;/div>
&lt;div id="the-wyke-beck-way-and-leeds-cycle-superhighway-2" class="section level2">
&lt;h2>The Wyke Beck Way and Leeds Cycle Superhighway 2&lt;/h2>
&lt;p>The Wyke Beck Way is an off road route that goes from Temple Newsam all the way to Roundhay Park, the biggest park in Leeds.
We were briefly on this route leaving Temple Newsam and it was our plan to take this route from the Wykebeck Arms (shown below) back to North Leeds.&lt;/p>
&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/97888609@N02/51109354732/in/photostream/" title="IMG_20210411_130312">&lt;img src="https://live.staticflickr.com/65535/51109354732_8887f2a5b8_h.jpg" width="1600" height="1200" alt="IMG_20210411_130312">&lt;/a>
&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8">&lt;/script>
&lt;p>However, we decided to head East along the &lt;a href="https://www.openstreetmap.org/relation/9238338#map=13/53.8089/-1.4956">Leeds Cycle Superhighway 2&lt;/a>.
Less famous than the Leeds-Bradford ‘Superhighway 1’ this cycleway follows the A64 dual carriageway from Seacroft and Crossgates in the East to the city centre.
Despite being (I guess) the most expensive piece of cycle infrastructure per km (with dedicated cycleways in urban areas costing ~£1k/m which is still much cheaper than &lt;a href="https://www.bbc.co.uk/news/magazine-13924687">motorways that cost around 50 times more m&lt;/a>), this was also the most disappointing.
The superhighway had very few people walking and cycling on it compared with the busy yet not crowded river route.
It was not a particularly pleasant experience, as shown in the figure below, but was much better than cycling on the road would have been.&lt;/p>
&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/97888609@N02/51109826148/in/photostream/" title="IMG_20210411_130751">&lt;img src="https://live.staticflickr.com/65535/51109826148_b0655039cd_h.jpg" width="1600" height="1200" alt="IMG_20210411_130751">&lt;/a>
&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8">&lt;/script>
&lt;/div>
&lt;div id="where-next" class="section level2">
&lt;h2>Where next?&lt;/h2>
&lt;p>After following the superhighway for a mile or so we took right onto Harehills lane.
This was the longest on road section and I would not recommend it to inexperienced cyclists, certainly not the ‘8 and 80 year-olds’ and less able bodied people who we should be designing for.
Still, if you are confident on a bike, it is a great route: going down onto Roundhay you have a great view of this part of the city.&lt;/p>
&lt;p>In terms of where to next, I plan to try routes in different parts of the city to see how they have changed.
Overall I am really impressed at the changes I’ve seen in urban infrastructure described in this blog post.
I hope other changes have been equally good and that the momentum in a positive direction continues.&lt;/p>
&lt;/div>
&lt;div id="links" class="section level2">
&lt;h2>Links&lt;/h2>
&lt;ul>
&lt;li>The GPS trace associated with the route that you can download and follow with apps such as the free and open source &lt;a href="https://osmand.net/">OsmAnd&lt;/a> Android app: &lt;a href="https://www.openstreetmap.org/trace/3633523/" class="uri">https://www.openstreetmap.org/trace/3633523/&lt;/a>&lt;/li>
&lt;li>For more routes and information on provision for cycling in Leeds see here: &lt;a href="https://www.leeds.gov.uk/parking-roads-and-travel/connecting-leeds-and-transforming-travel/cycling/cycle-routes" class="uri">https://www.leeds.gov.uk/parking-roads-and-travel/connecting-leeds-and-transforming-travel/cycling/cycle-routes&lt;/a>&lt;/li>
&lt;li>To see a simulation of LCID in your web browser for the fun of it (motivating the visit) see here: &lt;a href="https://actdev.cyipt.bike/lcid/routenetwork,buildings/#" class="uri">https://actdev.cyipt.bike/lcid/routenetwork,buildings/#&lt;/a>&lt;/li>
&lt;li>To contribute to OpenStreetMap see &lt;a href="https://www.openstreetmap.org/fixthemap" class="uri">https://www.openstreetmap.org/fixthemap&lt;/a>&lt;/li>
&lt;/ul>
&lt;/div></description></item><item><title>Open Source Tools for Geographic and Transport Research</title><link>https://robinlovelace.net/old-site/talk/open-source-tools-for-geographic-and-transport-research/</link><pubDate>Thu, 25 Feb 2021 13:30:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/open-source-tools-for-geographic-and-transport-research/</guid><description/></item><item><title>Human compatible book review</title><link>https://robinlovelace.net/old-site/post/human-compatible-book-review/</link><pubDate>Mon, 22 Feb 2021 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/human-compatible-book-review/</guid><description>
&lt;script src="https://robinlovelace.net/old-site/post/human-compatible-book-review/index_files/header-attrs/header-attrs.js">&lt;/script>
&lt;div id="rating" class="section level2">
&lt;h2>Rating&lt;/h2>
&lt;p>Highly recommended, 5/5.&lt;/p>
&lt;/div>
&lt;div id="one-sentence-review" class="section level2">
&lt;h2>One sentence review&lt;/h2>
&lt;p>Outstanding and original description of artificial intelligence (AI) in the 21st Century, the problems it could pose, and a lucid proposal for ‘provably beneficial AI.’&lt;/p>
&lt;/div>
&lt;div id="review" class="section level2">
&lt;h2>Review&lt;/h2>
&lt;p>I recently completed the book &lt;a href="https://en.wikipedia.org/wiki/Human_Compatible">Human Compatible&lt;/a> by Professor of Computer Science at Berkeley, &lt;a href="https://en.wikipedia.org/wiki/Stuart_J._Russell">Stuart Russell&lt;/a> &lt;span class="citation">(&lt;a href="#ref-russell_human_2019" role="doc-biblioref">Russell 2019&lt;/a>)&lt;/span>.
The first book on the subject I have read, it greatly enhanced my understanding of a complex subject and made me feel compelled to write a brief review, for the benefit of myself (I’m still consolidating my understanding of the books key ideas and find that writing them down helps) and others.&lt;/p>
&lt;p>I first encountered Stuart Russell and his ideas in a podcast for The Guardian’s Science weekly in October 2019, which is still &lt;a href="https://www.theguardian.com/technology/audio/2019/oct/18/stuart-russell-on-why-now-is-the-time-to-start-thinking-about-superintelligent-ai-science-weekly-podcast">available and well worth a listen&lt;/a>.
As someone who has spent much time thinking about, using and to some extent developing technologies to support a small but influential area of human activity (Transport Planning), I am acutely aware of the potential for technologies to have really world impacts.
In my case, the technology is fairly narrow and, as far as I am aware, can only be used for the definitively benign activity of cycle network planning &lt;span class="citation">(&lt;a href="#ref-lovelace_propensity_2017" role="doc-biblioref">Lovelace et al. 2017&lt;/a>)&lt;/span>.&lt;/p>
&lt;p>But imagine you were developing a much more ambitious and generally applicable technology with the explicit objective of becoming more intelligent than humans in increasing range of areas: to develop general computer intelligence.
That is the starting point of Stuart’s book, the history of the academic field of AI and the astounding progress AI researchers have made in the last couple of years.&lt;/p>
&lt;p>Stuart delves into the issues that AI researchers have themselves been grappling with, starting with ‘father of AI’ Alan Turing:&lt;/p>
&lt;blockquote>
&lt;p>Even before the birth of AI in 1956, august intellectuals were harrumphing and saying that intelligent machines were impossible. Alan Turing devoted much of his seminal 1950 paper, “Computing Machinery and Intelligence,” to refuting these arguments. Ever since, the AI community has been fending off similar claims of impossibility.&lt;/p>
&lt;/blockquote>
&lt;p>The point is that the great Alan Turing and AI researchers since then have had to debunk simplistic arguments to the effect that ‘AI is impossible,’ from a range of perspectives.
Paradoxically, it seems that as AI researchers have actually got closer to achieving general intelligence their willingness to discuss the wider implications have reduced (or at least not increased as one would have expected).
Surprisingly, some AI researchers have even began to deny the possibility of succeeding in &lt;em>own area&lt;/em>.
This is despite rapid growth of the range of tasks at which machines outperform humans, from playing games such as Go to commercially valuable services such as (in some contexts) human language translation and medical diagnosis of diseases.&lt;/p>
&lt;p>A striking example of this denial is from &lt;a href="https://ai100.stanford.edu/">Stanford University’s prominent AI100 report&lt;/a>, which states simply that&lt;/p>
&lt;blockquote>
&lt;p>unlike in the movies, there is no race of superhuman robots on the horizon or probably even possible.&lt;/p>
&lt;/blockquote>
&lt;p>This is astonishing because of the context: much of the rest of the report is focussed on the impacts and benefits of AI, and progress made in the field.
Russell sees this statement as reflective of a wider problem: unwillingness to engage in possible negative consequences if AI systems get out of control:&lt;/p>
&lt;blockquote>
&lt;p>To my knowledge, this is the first time that serious AI researchers have publicly espoused the view that human-level or superhuman AI is impossible—and this in the middle of a period of extremely rapid progress in AI research, when barrier after barrier is being breached. It’s as if a group of leading cancer biologists announced that they had been fooling us all along: they’ve always known that there will never be a cure for cancer.&lt;/p>
&lt;/blockquote>
&lt;p>Prof Russell uses the book as an opportunity to call for more open-minded debate &lt;em>among the AI community&lt;/em> of which he is a part and in wider society.
Of course the future is uncertain, meaning we should explore a range of possible futures and act to minimise the probability of highly undesirable outcomes.
In various scenarios of the future sketched out concisely (and somehow entertainingly) in the book, superintelligent AI leads to the demise of humanity.&lt;/p>
&lt;p>This outcome is thankfully not guaranteed but if it at least &lt;em>may be possible&lt;/em> surely it is worthy of consideration?
Another common objection to debate of or research into AI risks is that the threat is far in the future so we don’t need to worry.
Russell uses the metaphor of asteroid collision to debunk this argument:&lt;/p>
&lt;blockquote>
&lt;p>For example, if we were to detect a large asteroid on course to collide with Earth in 2069, would we say it’s too soon to worry? Quite the opposite! There would be a worldwide emergency project to develop the means to counter the threat. We wouldn’t wait until 2068 to start working on a solution, because we can’t say in advance how much time is needed. Indeed, NASA’s Planetary Defense project is already working on possible solutions&lt;/p>
&lt;/blockquote>
&lt;p>The good news is that there are solutions, the subject of Chapter 7 on &lt;em>AI: A different approach&lt;/em> in which Russell sets out principles for beneficial AI:&lt;/p>
&lt;blockquote>
&lt;p>[beneficial machines are those] whose actions can be expected to achieve our objectives rather than their objectives. … The resulting approach should lead eventually to machines that present no threat to us, no matter how intelligent they are.&lt;/p>
&lt;/blockquote>
&lt;p>The approach is based on three broad principles:&lt;/p>
&lt;blockquote>
&lt;ol style="list-style-type: decimal">
&lt;li>The machine’s only objective is to maximize the realization of human preferences.&lt;/li>
&lt;/ol>
&lt;/blockquote>
&lt;blockquote>
&lt;ol start="2" style="list-style-type: decimal">
&lt;li>The machine is initially uncertain about what those preferences are.&lt;/li>
&lt;/ol>
&lt;/blockquote>
&lt;blockquote>
&lt;ol start="3" style="list-style-type: decimal">
&lt;li>The ultimate source of information about human preferences is human behavior.&lt;/li>
&lt;/ol>
&lt;/blockquote>
&lt;p>More good news: recent progress in AI research and processing uncertainty help make these things possible.
The result of implementing these principles could be machines that regularly check-in to find out if what they &lt;em>think&lt;/em> is wanted is &lt;em>actually&lt;/em> what the human wants.&lt;/p>
&lt;p>To me, the approach also has another advantage
it leads to humility.
Even the most intelligent people change what they want from time-to-time, and it makes sense to imbue machines with this humility. Instead of telling machines “do this at any expense,” it makes sense to say something more like “try to do this, but precede with caution and check in if you have any doubts.”
The resulting two-way human-machine communication could lead to more evidence-based and informed decisions.&lt;/p>
&lt;p>Judging by the &lt;a href="https://www.amazon.co.uk/Human-Compatible-AI-Problem-Control/dp/0241335205#customerReviews">169 reviews of the book on Amazon UK&lt;/a>, many of them glowing, at the time of writing, it seems that people are taking notice of Russell’s ideas.
A Brit in the USA, Russell, he has an audience over the Atlantic also (although perhaps not quite as large or vocal an audience, with 164 reviews on the American &lt;a href="https://www.amazon.com/Human-Compatible-AI-Problem-Control/dp/0241335205#customerReviews">amazon.com&lt;/a>).
As an informed data scientist who has seen the benefits of digital technology I am open to the possibility that there could be unintended consequences of my work.&lt;/p>
&lt;p>I sincerely hope that AI researchers are equally open to critique:
even if Russell’s principles get implemented to the letter, there are still risks ranging from rogue researchers to superintelligent AIs persuading us to unleash it from our control.
But if debate/research/investment follows the lines suggests in Stuart Russell’s lucid and entertaining &lt;em>Human compatible&lt;/em>, the probability of catastrophic AI malfunction will decrease, raising the hope of using our ever more sophisticated technologies to free us rather than enslave us.&lt;/p>
&lt;blockquote>
&lt;p>If we succeed in creating provably beneficial AI systems, we would eliminate the risk that we might lose control over superintelligent machines. Humanity could proceed with their development and reap the almost unimaginable benefits that would flow from the ability to wield far greater intelligence in advancing our civilization. We would be released from millennia of servitude as agricultural, industrial, and clerical robots and we would be free to make the best of life’s potential.&lt;/p>
&lt;/blockquote>
&lt;/div>
&lt;div id="references" class="section level2 unnumbered">
&lt;h2>References&lt;/h2>
&lt;div id="refs" class="references csl-bib-body hanging-indent">
&lt;div id="ref-lovelace_propensity_2017" class="csl-entry">
Lovelace, Robin, Anna Goodman, Rachel Aldred, Nikolai Berkoff, Ali Abbas, and James Woodcock. 2017. &lt;span>“The &lt;span>Propensity&lt;/span> to &lt;span>Cycle Tool&lt;/span>: &lt;span>An&lt;/span> Open Source Online System for Sustainable Transport Planning.”&lt;/span> &lt;em>Journal of Transport and Land Use&lt;/em> 10 (1). &lt;a href="https://doi.org/10.5198/jtlu.2016.862">https://doi.org/10.5198/jtlu.2016.862&lt;/a>.
&lt;/div>
&lt;div id="ref-russell_human_2019" class="csl-entry">
Russell, Stuart. 2019. &lt;em>Human &lt;span>Compatible&lt;/span>: &lt;span>AI&lt;/span> and the &lt;span>Problem&lt;/span> of &lt;span>Control&lt;/span>&lt;/em>. 1st edition. &lt;span>London; New York&lt;/span>: &lt;span>Allen Lane&lt;/span>.
&lt;/div>
&lt;/div>
&lt;/div></description></item><item><title>Open Access Transport Models</title><link>https://robinlovelace.net/old-site/talk/open-access-transport-models/</link><pubDate>Tue, 16 Feb 2021 15:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/open-access-transport-models/</guid><description/></item><item><title>Open Access Transport Models: from collaborative code to citizen science</title><link>https://robinlovelace.net/old-site/talk/open-access-transport-models-from-collaborative-code-to-citizen-science/</link><pubDate>Thu, 21 Jan 2021 20:30:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/open-access-transport-models-from-collaborative-code-to-citizen-science/</guid><description/></item><item><title>Open Science In Transportation Workshop</title><link>https://robinlovelace.net/old-site/post/open-science-in-transportation-workshop/</link><pubDate>Thu, 21 Jan 2021 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/open-science-in-transportation-workshop/</guid><description>
&lt;script src="https://robinlovelace.net/old-site/post/open-science-in-transportation-workshop/index_files/header-attrs/header-attrs.js">&lt;/script>
&lt;p>Today I am presenting at the &lt;a href="http://www.trb.org/AnnualMeeting/AnnualMeeting.aspx">Transport Research Board’s 2021 Annual&lt;/a> meeting, aka &lt;a href="https://twitter.com/search?q=%23TRB2021">#TRB2021&lt;/a>.
I say ‘presenting’ but in fact, the talk was a pre-record - see the video below!&lt;/p>
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/mpqNW9ePVtw" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen>
&lt;/iframe>
&lt;p>Information on the talk can be found &lt;a href="https://www.robinlovelace.net/talk/open-access-transport-models-from-collaborative-code-to-citizen-science/">here&lt;/a>.&lt;/p>
&lt;p>It’s based on a recently published paper on ‘open access models’ which are both based on open source code and, vitally, are available for use by the public without needing specialist training &lt;span class="citation">(&lt;a href="#ref-lovelace_open_2020" role="doc-biblioref">Lovelace, Parkin, and Cohen 2020&lt;/a>)&lt;/span>.&lt;/p>
&lt;p>It also links to a just-published paper in which I review a range of open source transport planning tools &lt;span class="citation">(&lt;a href="#ref-lovelace_open_2021" role="doc-biblioref">Lovelace 2021&lt;/a>)&lt;/span>.&lt;/p>
&lt;p>See the interactive slides &lt;a href="https://www.robinlovelace.net/presentations/2021-01-21-open-source-transport-tools.html">here&lt;/a>.&lt;/p>
&lt;p>And &lt;a href="https://www.robinlovelace.net/talk/open-access-transport-models-from-collaborative-code-to-citizen-science/">here&lt;/a> for a link to the code, video and more!&lt;/p>
&lt;div id="references" class="section level1 unnumbered">
&lt;h1>References&lt;/h1>
&lt;div id="refs" class="references csl-bib-body hanging-indent">
&lt;div id="ref-lovelace_open_2021" class="csl-entry">
Lovelace, Robin. 2021. &lt;span>“Open Source Tools for Geographic Analysis in Transport Planning.”&lt;/span> &lt;em>Journal of Geographical Systems&lt;/em>, January. &lt;a href="https://doi.org/10.1007/s10109-020-00342-2">https://doi.org/10.1007/s10109-020-00342-2&lt;/a>.
&lt;/div>
&lt;div id="ref-lovelace_open_2020" class="csl-entry">
Lovelace, Robin, John Parkin, and Tom Cohen. 2020. &lt;span>“Open Access Transport Models: &lt;span>A&lt;/span> Leverage Point in Sustainable Transport Planning.”&lt;/span> &lt;em>Transport Policy&lt;/em> 97 (October): 47–54. &lt;a href="https://doi.org/10.1016/j.tranpol.2020.06.015">https://doi.org/10.1016/j.tranpol.2020.06.015&lt;/a>.
&lt;/div>
&lt;/div>
&lt;/div></description></item><item><title>SaferActive</title><link>https://robinlovelace.net/old-site/project/saferactive/</link><pubDate>Sat, 02 Jan 2021 13:06:42 +0000</pubDate><guid>https://robinlovelace.net/old-site/project/saferactive/</guid><description>&lt;p>Department for Transport funded project to support interventions that make the roads safer and get more people walking and cycling. See the website at &lt;a href="https://www.saferactive.org/" target="_blank" rel="noopener">https://www.saferactive.org/&lt;/a> for details.&lt;/p></description></item><item><title>Active Travel Oriented Development: Assessing the Suitability of Sites for New Homes</title><link>https://robinlovelace.net/old-site/publication/talbot-active-2021-a/</link><pubDate>Fri, 01 Jan 2021 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/talbot-active-2021-a/</guid><description/></item><item><title>Infrastructure Is Not Enough: Interactions between the Environment, Socioeconomic Disadvantage and Cycling Participation in England</title><link>https://robinlovelace.net/old-site/publication/vidaltortosa-infrastructure-2021/</link><pubDate>Fri, 01 Jan 2021 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/vidaltortosa-infrastructure-2021/</guid><description/></item><item><title>Reflections on 2020 and ideas for 2021</title><link>https://robinlovelace.net/old-site/post/new-year-new-site-new-world/</link><pubDate>Wed, 30 Dec 2020 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/new-year-new-site-new-world/</guid><description>
&lt;script src="https://robinlovelace.net/old-site/post/new-year-new-site-new-world/index_files/header-attrs/header-attrs.js">&lt;/script>
&lt;p>2020 has been a crazy year all-round with US elections, Brexit negotiations reaching their conclusions and of course the global pandemic that has swept across countries and disrupted lives worldwide.&lt;/p>
&lt;p>Looking back over the year a huge amount has changed and I wanted to take the opportunity of the new year to share some thoughts, providing an opportunity to post on my updated website ✨.&lt;/p>
&lt;div id="acton" class="section level2">
&lt;h2>ACTON&lt;/h2>
&lt;p>A project that I’ve not talked about much online, because it’s still a work in process, is &lt;a href="https://cyipt.github.io/acton/">ACTON&lt;/a>.
The idea is to make data and actionable evidence available to the public, developers and other stakeholders about the level of active travel provision in and around new and planned development sites.
The four main kinds of data used in the project are shown below.&lt;/p>
&lt;p>&lt;img src="https://cyipt.github.io/acton/reference/figures/README-workflow-1.png" />&lt;/p>
&lt;p>Although it started before the pandemic, with the end-of-project meeting happening on Friday 13 March, it is highly relevant in 2021.
The increased emphasis on health and active travel that has been seen during the pandemic, and the publication of the government’s Planning for the Future White Paper in August 2020 has led to a follow-on project (see final section of this post).&lt;/p>
&lt;/div>
&lt;div id="online-teaching" class="section level2">
&lt;h2>Online teaching&lt;/h2>
&lt;p>I was lucky enough to work from home meaning that I could plough on with my research and teaching in ITS.
In fact, my first fully online-only taught lecture, part of the Transport Data Science module, was delivered on the 17&lt;sup>th&lt;/sup> March, as communicated in the Tweet below.&lt;/p>
&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">Milestone passed in my academic career, first online-only delivery of lecture &lt;a href="https://twitter.com/ITSLeeds?ref_src=twsrc%5Etfw">@ITSLeeds&lt;/a>, seems to have worked, live code demo with &lt;a href="https://twitter.com/hashtag/rstats?src=hash&amp;amp;ref_src=twsrc%5Etfw">#rstats&lt;/a>/&lt;a href="https://twitter.com/rstudio?ref_src=twsrc%5Etfw">@rstudio&lt;/a>, recording, chat + all🎉&lt;br>&lt;br>Thanks students for &amp;#39;attending&amp;#39; + remote participation, we&amp;#39;ll get through this together.&lt;a href="https://twitter.com/hashtag/coronavirus?src=hash&amp;amp;ref_src=twsrc%5Etfw">#coronavirus&lt;/a> &lt;a href="https://t.co/wlAUxmZj5r">pic.twitter.com/wlAUxmZj5r&lt;/a>&lt;/p>&amp;mdash; Robin Lovelace (@robinlovelace) &lt;a href="https://twitter.com/robinlovelace/status/1239930988416897033?ref_src=twsrc%5Etfw">March 17, 2020&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;p>That was on 17 March, just one day after the Prime Minister advised against “non-essential” travel and in-person social interaction on &lt;a href="https://en.wikipedia.org/wiki/Timeline_of_the_COVID-19_pandemic_in_the_United_Kingdom_(January%E2%80%93June_2020)#March_2020">March 16th&lt;/a>.
It was not until three days later, on 20 March, that cafes, pubs and restaurants were closed.
Despite comments to the contrary, it was not until 23 March that the UK entered full lockdown, according to the fact checking site &lt;a href="https://fullfact.org/health/coronavirus-lockdown-hancock-claim/">fullfact.org&lt;/a>.&lt;/p>
&lt;/div>
&lt;div id="software-development" class="section level2">
&lt;h2>Software development&lt;/h2>
&lt;p>I continued to write lots of code to support my research, ‘citizen science’ and evidence-based decision-making in general.
The &lt;a href="">&lt;code>osmextract&lt;/code>&lt;/a> package developed in collaboration with &lt;a href="https://en.unimib.it/andrea-gilardi">Andrea Gilardi&lt;/a> was submitted for peer review to rOpenSci; the &lt;a href="https://itsleeds.github.io/slopes/">&lt;code>slopes&lt;/code>&lt;/a> package was developed in collaboration &lt;a href="http://rosafelix.bike/">Rosa Félix&lt;/a>; and I contributed to the development of &lt;a href="https://luukvdmeer.github.io/sfnetworks/">&lt;code>sfnetworks&lt;/code>&lt;/a>.
Aim of 2021: help get each of these packages onto the Comprehensive R Archive Network (&lt;a href="https://cran.rstudio.com/">CRAN&lt;/a>) and out there to support evidence-based decision-making.&lt;/p>
&lt;p>Finally, I submitted the &lt;a href="https://itsleeds.github.io/od/">&lt;code>od&lt;/code> package&lt;/a> which provides fast functions for working with origin-destination data, key to evidence-based transport planning decisions and prioritisation at the regional level in many cities, was published on &lt;a href="https://cran.rstudio.com/web/packages/od/index.html">CRAN&lt;/a>.
Working on that, perhaps in collaboration with Martijn Tennekes’s work on OD data visualisation, is an enticing programming task for the new year.&lt;/p>
&lt;div class="figure">&lt;span id="fig:slopes">&lt;/span>
&lt;img src="https://itsleeds.github.io/slopes/reference/figures/README-plot_slope-1.png" alt="Output from the in-development slopes pacakge, showing the gradient across a route in Lisbon, Portugal." />
&lt;p class="caption">
Figure 1: Output from the in-development slopes pacakge, showing the gradient across a route in Lisbon, Portugal.
&lt;/p>
&lt;/div>
&lt;p>Beyond developing software, I also wrote about software, finishing-up a paper with John Parkin and Tom Cohen that had long-gestation period &lt;span class="citation">(&lt;a href="#ref-lovelace_open_2020" role="doc-biblioref">Lovelace, Parkin, and Cohen 2020&lt;/a>)&lt;/span>.&lt;/p>
&lt;/div>
&lt;div id="international-collaborations" class="section level2">
&lt;h2>International collaborations&lt;/h2>
&lt;p>A surprising discovery for me was that the pandemic seemed to make international collaborations easier.
With airports at a standstill, contributing to a welcome drop in &lt;a href="https://www.carbonbrief.org/guest-post-calculating-the-true-climate-impact-of-aviation-emissions">high-altitude greenhouse gas emissions&lt;/a>, flying was out of the question.
However, with lectures being conducted remotely in most countries anyway, the ‘barrier to entry’ for remote lectures and even collaborative research dropped.
I found myself in the amazing situation of ‘visiting’ multiple countries via Zoom, Skype and Teams conversations from the confort of my bedroom some days and, despite the limitations of video calls compared with in-person links, found it enlightening.
As shown below, I even dusted down my rusty Spanish and delivered a lecture for &lt;a href="https://www.cedeus.cl/en/about-us/researchers/i-lake-sagaris/">Lake Sagaris&lt;/a> in Santiago, Chile.&lt;/p>
&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">Just gave a lecture in Spanish with &lt;a href="https://twitter.com/LakeSagaris?ref_src=twsrc%5Etfw">@LakeSagaris&lt;/a>, from &lt;a href="https://twitter.com/hashtag/Leeds?src=hash&amp;amp;ref_src=twsrc%5Etfw">#Leeds&lt;/a> 🇬🇧 to &lt;a href="https://twitter.com/hashtag/Santiago?src=hash&amp;amp;ref_src=twsrc%5Etfw">#Santiago&lt;/a> 🇨🇱 🌎🌍🌏🚀&lt;br>&lt;br>Slides/diapositivas: &lt;a href="https://t.co/DcRoYgqwn8">https://t.co/DcRoYgqwn8&lt;/a>&lt;br>&lt;br>Code/codigo: &lt;a href="https://t.co/0p6UQCvhiR">https://t.co/0p6UQCvhiR&lt;/a>&lt;br>&lt;br>Video: watch this space/mira este espacio! &lt;a href="https://t.co/P2Ph9Ug2CL">pic.twitter.com/P2Ph9Ug2CL&lt;/a>&lt;/p>&amp;mdash; Robin Lovelace (@robinlovelace) &lt;a href="https://twitter.com/robinlovelace/status/1260295157217480704?ref_src=twsrc%5Etfw">May 12, 2020&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;/div>
&lt;div id="low-traffic-neighbourhoods" class="section level2">
&lt;h2>Low traffic neighbourhoods&lt;/h2>
&lt;p>From a sustainable transport perspective 2020 was the year of the Low Traffic Neighbourhood (LTN) and ‘popup’ infrastructure.
In summer 2020 I was commissioned by the UK Department for Transport and the charity Sustrans to develop the Rapid Cycleway Prioritisation Tool.
The results can be found on the cyipt.bike website, with discussion of context in an article published in The Conversation and an academic paper on the subject &lt;span class="citation">(&lt;a href="#ref-lovelace_methods_2020" role="doc-biblioref">Lovelace et al. 2020&lt;/a>)&lt;/span>.&lt;/p>
&lt;p>The methods described in that generated evidence that has helped to inform bids to the Active Travel Fund, supporting the prioritisation of numerous interventions nationwide.
Notably, LTNs have proliferated and academic researchers have been quick to explore the associated changes to travel behaviour: it seems they can lead to cost effective reductions in car dependency and increased walking and cycling &lt;span class="citation">(&lt;a href="#ref-aldred_low_2020a" role="doc-biblioref">Aldred and Goodman 2020&lt;/a>)&lt;/span>.
In my city of Leeds, Active Travel Neighbourhoods (as the council calls them based on the fact that it’s about increasing healthy kinds of traffic) are being trialled in a handful of locations including, coincidentally, on the street outside my house.&lt;/p>
&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">2 weeks in and loving our quieter street in Chapeltown &lt;a href="https://twitter.com/hashtag/Leeds?src=hash&amp;amp;ref_src=twsrc%5Etfw">#Leeds&lt;/a>. Lots of people moaning about &amp;#39;more pollution&amp;#39; and &amp;#39;slows ambulances&amp;#39; but that&amp;#39;s just not true. Myths on &lt;a href="https://twitter.com/hashtag/LTNS?src=hash&amp;amp;ref_src=twsrc%5Etfw">#LTNS&lt;/a> debunked, spread the word: &lt;a href="https://t.co/FM031qg9aa">https://t.co/FM031qg9aa&lt;/a> &lt;a href="https://t.co/7CSUBKEQrr">pic.twitter.com/7CSUBKEQrr&lt;/a>&lt;/p>&amp;mdash; Robin Lovelace (@robinlovelace) &lt;a href="https://twitter.com/robinlovelace/status/1333352487064104961?ref_src=twsrc%5Etfw">November 30, 2020&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;/div>
&lt;div id="thoughts-on-2021" class="section level2">
&lt;h2>Thoughts on 2021&lt;/h2>
&lt;p>The aim of this blog post, apart from restarting my intermittent free-form writing (finally the Christmas holidays have provided time to think!), was to provide a space to look back on 2020, put it in context, and hopefully make sense of the substantial shifts that are taking place during and in-the-wake-of the coronavirus pandemic.
It has in many ways been a terrible year, with millions of people unable to see loved ones, vital health care systems and the heroic people working in them pushed to limit, and untold suffering inflicted by the virus itself.&lt;/p>
&lt;p>As many people have said, crises often create new opportunities.
That is not to belittle the staggering costs of the pandemic.
As participants at a &lt;a href="https://www.weforum.org/agenda/2020/11/whats-the-biggest-opportunity-for-change-after-the-pandemic/">World Economic Forum virtual summit&lt;/a> testified, opportunities for “positive change in the post-pandemic world” include:&lt;/p>
&lt;ul>
&lt;li>&lt;p>localisation of economic activity (and potentially, associated environmental costs)&lt;/p>&lt;/li>
&lt;li>&lt;p>stronger political prioritisation of, and funding for, public health care&lt;/p>&lt;/li>
&lt;li>&lt;p>a chance for people to rediscover natural places and communities on their doorstep, and&lt;/p>&lt;/li>
&lt;li>&lt;p>better regulation of criminal and life-threatening activities, from human trafficking to regressive &lt;a href="https://oecd-development-matters.org/2020/06/09/how-covid-19-could-help-eliminate-fossil-fuel-subsidies/">fossil fuel subsidies&lt;/a>&lt;/p>&lt;/li>
&lt;/ul>
&lt;p>Considering these trends, in parallel with the rollout of new vaccines, makes me optimistic for the new year and leads me to consider my priorities for 2021.
There are many important decisions that need to be made, not least in the field of transport, where my work could come in handy to support evidence-based (rather than knee-jerk or wishful-thinking based) policies.
Specifically I aim to:&lt;/p>
&lt;ul>
&lt;li>Collaborate on the recently funded &lt;a href="https://github.com/cyipt/actdev">ActDev&lt;/a> project, the successor to ACTON (watch this space for a national evidence base to support consideration of active travel earlier in the planning process)&lt;/li>
&lt;li>Support the publication of free and open source software for reproducible analysis of geographic, and particularly geographic transport, datasets to support effective decision-making around active travel and planning for &lt;a href="https://www.theccc.org.uk/2020/12/09/building-back-better-raising-the-uks-climate-ambitions-for-2035-will-put-net-zero-within-reach-and-change-the-uk-for-the-better/">zero-carbon transport systems&lt;/a>&lt;/li>
&lt;li>Consolidate, communicate and support existing projects such as the PCT to help them have maximum positive impact&lt;/li>
&lt;li>Stay open to new ideas and collaborative opportunities&lt;/li>
&lt;/ul>
&lt;p>On that final note, I think there are many opportunities for new research projects around the transport changes in response to COVID-19.
It seems clear that people have adapted to working from home long-term, according to the figure below.
The data displayed supports the conclusions of a recent paper on the topic &lt;span class="citation">(&lt;a href="#ref-barrero_why_2020" role="doc-biblioref">Barrero, Bloom, and Davis 2020&lt;/a>)&lt;/span>.&lt;/p>
&lt;div class="figure">&lt;span id="fig:wfh">&lt;/span>
&lt;img src="https://saferactive.github.io/trafficalmr/articles/wfh-trends-2020-12.png" alt="Proportion of adults, Great Britain, 14 May to 6 December 2020, who worked from home exclusively has hovered around 30%, a huge increase compared with the 5% who worked from home in 2019. Source: [ONS](https://www.ons.gov.uk/peoplepopulationandcommunity/healthandsocialcare/conditionsanddiseases/bulletins/coronavirustheukeconomyandsocietyfasterindicators/10december2020)." />
&lt;p class="caption">
Figure 2: Proportion of adults, Great Britain, 14 May to 6 December 2020, who worked from home exclusively has hovered around 30%, a huge increase compared with the 5% who worked from home in 2019. Source: &lt;a href="https://www.ons.gov.uk/peoplepopulationandcommunity/healthandsocialcare/conditionsanddiseases/bulletins/coronavirustheukeconomyandsocietyfasterindicators/10december2020">ONS&lt;/a>.
&lt;/p>
&lt;/div>
&lt;p>Just looking at the graph below from the &lt;a href="https://saferactive.github.io/trafficalmr/articles/report3.html">SaferActive project&lt;/a> (the first time DfT data has been visualised in this way, to the best of my knowledge) suggests that transport systems could go in many directions in 2021.
Will there be a return to the ‘cycling boom’ of spring/summer 2020? Or gridlock as people continue to shun public transport and flock to cars? Or will travel patterns go in a different direction entirely?
The answers remains to be seen and to a large extent will depend on policies that are made in the post-pandemic world.
The research opportunities and potential implications are huge but I will save that for another day.&lt;/p>
&lt;div class="figure">&lt;span id="fig:covid">&lt;/span>
&lt;img src="https://robinlovelace.net/old-site/post/new-year-new-site-new-world/index_files/figure-html/covid-1.png" alt="Travel by different modes of transport relative to pre-pandemic (early March) levels. Dark lines represent 30 day rolling averages. Source: [DfT](https://www.gov.uk/government/statistics/transport-use-during-the-coronavirus-covid-19-pandemic)" width="100%" />
&lt;p class="caption">
Figure 3: Travel by different modes of transport relative to pre-pandemic (early March) levels. Dark lines represent 30 day rolling averages. Source: &lt;a href="https://www.gov.uk/government/statistics/transport-use-during-the-coronavirus-covid-19-pandemic">DfT&lt;/a>
&lt;/p>
&lt;/div>
&lt;p>For now the only thing left to say is thans for reading and happy New Year 🎇🎇🎇&lt;/p>
&lt;/div>
&lt;div id="references" class="section level2 unnumbered">
&lt;h2>References&lt;/h2>
&lt;div id="refs" class="references csl-bib-body hanging-indent">
&lt;div id="ref-aldred_low_2020a" class="csl-entry">
Aldred, Rachel, and Anna Goodman. 2020. &lt;span>“Low &lt;span>Traffic Neighbourhoods&lt;/span>, &lt;span>Car Use&lt;/span>, and &lt;span>Active Travel&lt;/span>: &lt;span>Evidence&lt;/span> from the &lt;span>People&lt;/span> and &lt;span>Places Survey&lt;/span> of &lt;span>Outer London Active Travel Interventions&lt;/span>.”&lt;/span> &lt;em>Findings&lt;/em>, September, 17128. &lt;a href="https://doi.org/10.32866/001c.17128">https://doi.org/10.32866/001c.17128&lt;/a>.
&lt;/div>
&lt;div id="ref-barrero_why_2020" class="csl-entry">
Barrero, Jose Maria, Nicholas Bloom, and Steven J. Davis. 2020. &lt;span>“Why &lt;span>Working From Home Will Stick&lt;/span>.”&lt;/span> SSRN Scholarly Paper ID 3741644. &lt;span>Rochester, NY&lt;/span>: &lt;span>Social Science Research Network&lt;/span>. &lt;a href="https://doi.org/10.2139/ssrn.3741644">https://doi.org/10.2139/ssrn.3741644&lt;/a>.
&lt;/div>
&lt;div id="ref-lovelace_open_2020" class="csl-entry">
Lovelace, Robin, John Parkin, and Tom Cohen. 2020. &lt;span>“Open Access Transport Models: &lt;span>A&lt;/span> Leverage Point in Sustainable Transport Planning.”&lt;/span> &lt;em>Transport Policy&lt;/em> 97 (October): 47–54. &lt;a href="https://doi.org/10.1016/j.tranpol.2020.06.015">https://doi.org/10.1016/j.tranpol.2020.06.015&lt;/a>.
&lt;/div>
&lt;div id="ref-lovelace_methods_2020" class="csl-entry">
Lovelace, Robin, Joseph Talbot, Malcolm Morgan, and Martin Lucas-Smith. 2020. &lt;span>“Methods to &lt;span>Prioritise Pop&lt;/span>-up &lt;span>Active Transport Infrastructure&lt;/span>.”&lt;/span> &lt;em>Transport Findings&lt;/em>, July, 13421. &lt;a href="https://doi.org/10.32866/001c.13421">https://doi.org/10.32866/001c.13421&lt;/a>.
&lt;/div>
&lt;/div>
&lt;/div></description></item><item><title>Different People, Different Incentives? Examining the Public Acceptance of Smartphone-Based Persuasive Strategies for Sustainable Travel Using Psychographic Segmentation</title><link>https://robinlovelace.net/old-site/publication/reis-different-2020/</link><pubDate>Sun, 15 Nov 2020 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/reis-different-2020/</guid><description/></item><item><title>Is the London Cycle Hire Scheme Becoming More Inclusive? An Evaluation of the Shifting Spatial Distribution of Uptake Based on 70 Million Trips</title><link>https://robinlovelace.net/old-site/publication/lovelace-london-2020/</link><pubDate>Thu, 01 Oct 2020 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-london-2020/</guid><description/></item><item><title>Open Access Transport Models: A Leverage Point in Sustainable Transport Planning</title><link>https://robinlovelace.net/old-site/publication/lovelace-open-2020/</link><pubDate>Thu, 01 Oct 2020 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-open-2020/</guid><description/></item><item><title>Methods to Prioritise Pop-up Active Transport Infrastructure</title><link>https://robinlovelace.net/old-site/publication/lovelace-methods-2020/</link><pubDate>Wed, 08 Jul 2020 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-methods-2020/</guid><description/></item><item><title>Travel Flow Aggregation: Nationally Scalable Methods for Interactive and Online Visualisation of Transport Behaviour at the Road Network Level</title><link>https://robinlovelace.net/old-site/publication/morgan-travel-2020/</link><pubDate>Wed, 01 Jul 2020 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/morgan-travel-2020/</guid><description/></item><item><title>Street Networks in R</title><link>https://robinlovelace.net/old-site/publication/gilardi-street-2020/</link><pubDate>Fri, 29 May 2020 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/gilardi-street-2020/</guid><description/></item><item><title>Evidence to prioritise pop-up cycleways</title><link>https://robinlovelace.net/old-site/post/evidence-to-prioritise-pop-up-cycleways/</link><pubDate>Tue, 26 May 2020 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/evidence-to-prioritise-pop-up-cycleways/</guid><description>&lt;p>I gave a talk today at the &lt;a href="https://twitter.com/hashtag/ideaswithbeers" target="_blank" rel="noopener">&amp;lsquo;Ideas with Beers&amp;rsquo;&lt;/a> seminar series, hosted each Tuesday for the past several months by &lt;a href="https://twitter.com/bricycle" target="_blank" rel="noopener">Brian Deegan&lt;/a>, an experienced transport infrastructure engineer and Principal Design Engineer at &lt;a href="http://www.urbanmovement.co.uk/" target="_blank" rel="noopener">Urban Movement&lt;/a>.&lt;/p>
&lt;p>The seminar series started as a physical weekly pub meeting between Brian and anyone who wanted to share ideas, over a beer of course, in a local pub.
Now that pubs are closed, it has moved on-line opening-it-up to a more diverse audience of speakers and attendees, and allowing the talks to be recorded to benefit everyone.
&lt;a href="https://twitter.com/hashtag/ideaswithbeers" target="_blank" rel="noopener">Ideas with beers&lt;/a> creates space somewhere between infrastructure design, active travel advocacy and research, realms which rarely meet.
It does a great job of not taking itself too seriously, reminding me of the original meaning of symposium, a place where people would enjoy a social drink and discuss ideas.&lt;/p>
&lt;p>My presentation was on the topic of pop-up cycleways, which have emerged as a growing response to reduced traffic and increased need for space for walking and cycling due to physical distancing measures to stop the spread of COVID-19.
Recent months have also seen a renewed focus on public health.
With obesity and air quality linked to vulnerability to respiritory disease, many local, city and national governments are rethinking their approach to transport policy.
An illustration of this rethink is new Statutory Guidance from the UK&amp;rsquo;s Department for Transport on reallocating road space.&lt;/p>
&lt;p>Motivated by these developments I talked about how we could generate an evidence base to support investment in new cycleways based on a combination of cycling potential and places where there may be &amp;lsquo;spare space&amp;rsquo; for walking and cycling.
Preliminary work on this can be seen in this &lt;a href="https://osf.io/7wjb6/" target="_blank" rel="noopener">pre-print paper&lt;/a>.
Slides from the talk, which contain links to web pages I presented, can be found below.
Thanks to Brian and everyone involved in making this happen!&lt;/p>
&lt;ul>
&lt;li>See the slides and all the links full-screen here: &lt;a href="https://www.robinlovelace.net/presentations/2020-05-26-beers-ideas.html" target="_blank" rel="noopener">https://www.robinlovelace.net/presentations/2020-05-26-beers-ideas.html&lt;/a>&lt;/li>
&lt;/ul>
&lt;iframe src="https://www.robinlovelace.net/presentations/2020-05-26-beers-ideas.html#1" width="100%" height="400px" data-external="1">&lt;/iframe></description></item><item><title>Road Lighting Density and Brightness Linked with Increased Cycling Rates After-Dark</title><link>https://robinlovelace.net/old-site/publication/uttley-road-2020/</link><pubDate>Fri, 15 May 2020 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/uttley-road-2020/</guid><description/></item><item><title>Association of Prevalence of Active Transport to Work and Incidence of Myocardial Infarction: A Nationwide Ecological Study</title><link>https://robinlovelace.net/old-site/publication/munyombwe-association-2020/</link><pubDate>Fri, 01 May 2020 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/munyombwe-association-2020/</guid><description/></item><item><title>Seminar for the online Why R conference</title><link>https://robinlovelace.net/old-site/talk/why-r-2020/</link><pubDate>Thu, 23 Apr 2020 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/why-r-2020/</guid><description>&lt;p>I was invited to co-present on the topic of &lt;em>Recent changes in R spatial&lt;/em> at the Why R conference which, like many other events, has moved on-line.&lt;/p>
&lt;ul>
&lt;li>Event link: &lt;a href="https://www.meetup.com/Spotkania-Entuzjastow-R-Warsaw-R-Users-Group-Meetup/events/269807574/" target="_blank" rel="noopener">meetup.com&lt;/a>&lt;/li>
&lt;li>Video link: &lt;a href="https://www.youtube.com/watch?v=Va0STgco7-4" target="_blank" rel="noopener">YouTube&lt;/a>&lt;/li>
&lt;li>Source code: &lt;a href="https://github.com/Nowosad/whyr_webinar004" target="_blank" rel="noopener">github.com/Nowosad/whyr_webinar004&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>And on social media&lt;/p>
&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">New &lt;a href="https://twitter.com/Docker?ref_src=twsrc%5Etfw">@Docker&lt;/a> images for reproducible geographic data analysis seem to be working 🎉 &lt;br>&lt;br>Just ran all &lt;a href="https://twitter.com/hashtag/geocompr?src=hash&amp;amp;ref_src=twsrc%5Etfw">#geocompr&lt;/a> code with &lt;a href="https://twitter.com/hashtag/RStats?src=hash&amp;amp;ref_src=twsrc%5Etfw">#RStats&lt;/a> 4.0.0, and you can to (feedback on this welcome) 🚀 &lt;br>&lt;br>Details: &lt;a href="https://t.co/vfFGWm92h0">https://t.co/vfFGWm92h0&lt;/a>&lt;br>&lt;br>Talk + demo: Thursday with &lt;a href="https://twitter.com/jakub_nowosad?ref_src=twsrc%5Etfw">@jakub_nowosad&lt;/a>: &lt;a href="https://t.co/Z45RE27JqJ">https://t.co/Z45RE27JqJ&lt;/a> &lt;a href="https://t.co/6SfJp1L1T1">pic.twitter.com/6SfJp1L1T1&lt;/a>&lt;/p>&amp;mdash; Robin Lovelace (@robinlovelace) &lt;a href="https://twitter.com/robinlovelace/status/1251922315274838018?ref_src=twsrc%5Etfw">April 19, 2020&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">This Thursday, &lt;a href="https://twitter.com/robinlovelace?ref_src=twsrc%5Etfw">@robinlovelace&lt;/a> and I will give a talk about the recent changes in R spatial and how to be ready for them. The link for the webinar has changed to &lt;a href="https://t.co/e6dTM5yADn">https://t.co/e6dTM5yADn&lt;/a>. &lt;a href="https://twitter.com/hashtag/geocompr?src=hash&amp;amp;ref_src=twsrc%5Etfw">#geocompr&lt;/a> &lt;a href="https://twitter.com/hashtag/rstats?src=hash&amp;amp;ref_src=twsrc%5Etfw">#rstats&lt;/a> &lt;a href="https://twitter.com/hashtag/rspatial?src=hash&amp;amp;ref_src=twsrc%5Etfw">#rspatial&lt;/a> &lt;a href="https://t.co/8InUq1GF0i">pic.twitter.com/8InUq1GF0i&lt;/a>&lt;/p>&amp;mdash; Jakub Nowosad (@jakub_nowosad) &lt;a href="https://twitter.com/jakub_nowosad/status/1251872204012302337?ref_src=twsrc%5Etfw">April 19, 2020&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script></description></item><item><title>Invited seminar at the University of Pennsylvania</title><link>https://robinlovelace.net/old-site/talk/pennsylvania-2020/</link><pubDate>Mon, 06 Apr 2020 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/pennsylvania-2020/</guid><description>&lt;p>In place of a planned &lt;a href="https://penniur.upenn.edu/events/musamasterclass-featuring-tyler-morgan-wall-3d-mapping-dataviz-in-r" target="_blank" rel="noopener">MUSA Masterclass&lt;/a> talk in person, a remote lecture was scheduled via the wonders of new &lt;a href="https://twitter.com/robinlovelace/status/1239930988416897033" target="_blank" rel="noopener">digital technologies&lt;/a>, on transport data science.&lt;/p>
&lt;p>Although not as in-depth as the MUSA Masterclass talk, which has been postponed until April 2021 due to the Covid-19 Pandemic, this talk will give a high-level overview of some of the topics that I will talk about, based on a case study from Leeds, UK, the home of the Institute for Transport Studies.&lt;/p>
&lt;p>Context: the ‘MUSA Masterclass’ is a series of seminars commissioned by the Penn
Institute for Urban Research (&lt;a href="https://penniur.upenn.edu/" target="_blank" rel="noopener">Penn IUR&lt;/a>) of
the University of &lt;a href="https://www.upenn.edu" target="_blank" rel="noopener">Pennsylvania&lt;/a>.&lt;/p>
&lt;ul>
&lt;li>Slides: &lt;a href="https://www.robinlovelace.net/presentations/2020-04-06-pennsylvania-tds-regional-street.html" target="_blank" rel="noopener">Transport Data Science: from regional to street levels&lt;/a>&lt;/li>
&lt;li>Video link: &lt;a href="https://zoom.us/rec/play/vpZ_dOir_DI3G4eXuQSDBfUtW428eqOs1idL8_BczhvmUndQOlLwZeBGMee7lvtR2pEHjJpPcFJUlqbf?continueMode=true" target="_blank" rel="noopener">Zoom&lt;/a>&lt;/li>
&lt;li>Source code: &lt;a href="https://github.com/Robinlovelace/presentations/blob/master/2020-04-06-pennsylvania-tds-regional-street.Rmd" target="_blank" rel="noopener">github.com/robinlovelace/presentations&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>It’s great being able to link-up over such huge distances with minimal effort, the new technologies like Zoom are impressive.
In the hope that this is of use to others, I put links out to the slides and talk out on social media, as shown in the tweets below.
Enjoy!&lt;/p>
&lt;blockquote class="twitter-tweet">
&lt;p lang="en" dir="ltr">
Yesterday I delivered a remote lecture for the &lt;a href="https://twitter.com/PennMUSA?ref_src=twsrc%5Etfw">(**PennMUSA?**)&lt;/a> program.&lt;br>&lt;br>I've made the slides open access, and reproducible, for anyone interested in learning about transport data science: &lt;a href="https://t.co/6O7Q9Z2ad3">https://t.co/6O7Q9Z2ad3&lt;/a>&lt;br>&lt;br>Video/audio: watch this space! &lt;a href="https://t.co/0adLI2EQGA">pic.twitter.com/0adLI2EQGA&lt;/a>
&lt;/p>
— Robin Lovelace ((**robinlovelace?**)) &lt;a href="https://twitter.com/robinlovelace/status/1247466231759876102?ref_src=twsrc%5Etfw">April 7, 2020&lt;/a>
&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">As promised, here&amp;#39;s the video from the talk I presented remotely, from &lt;a href="https://twitter.com/ITSLeeds?ref_src=twsrc%5Etfw">@ITSLeeds&lt;/a> to &lt;a href="https://twitter.com/PennMUSA?ref_src=twsrc%5Etfw">@PennMUSA&lt;/a>. No &lt;a href="https://twitter.com/hashtag/MusaMasterclass?src=hash&amp;amp;ref_src=twsrc%5Etfw">#MusaMasterclass&lt;/a>, back stronger next year 🚀&lt;br>&lt;br>Video link: &lt;a href="https://t.co/3YU8fSrWiF">https://t.co/3YU8fSrWiF&lt;/a>&lt;br>Write-up: &lt;a href="https://t.co/0tij0t5R7C">https://t.co/0tij0t5R7C&lt;/a>&lt;br>&lt;br>Thanks all for making this happen. &lt;a href="https://t.co/nRw6pYLPog">pic.twitter.com/nRw6pYLPog&lt;/a>&lt;/p>&amp;mdash; Robin Lovelace (@robinlovelace) &lt;a href="https://twitter.com/robinlovelace/status/1247821386279792645?ref_src=twsrc%5Etfw">April 8, 2020&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script></description></item><item><title>Installing spatial R packages on Ubuntu</title><link>https://robinlovelace.net/old-site/post/installing-spatial-r-packages-on-ubuntu/</link><pubDate>Mon, 30 Mar 2020 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/installing-spatial-r-packages-on-ubuntu/</guid><description>&lt;p>Having recently acquired a new laptop, an &lt;a href="https://www.entroware.com/store/laptops/proteus" target="_blank" rel="noopener">Entroware Proteus&lt;/a> (shown below), I had to remind myself how to set-it-up for my needs.
This includes the usual things like document editing, web browsing and email.
But as much of my work involves developing and using R for geographic research it had to have R installed.&lt;/p>
&lt;div class="figure">
&lt;img src="https://www.entroware.com/store/image/cache/catalog/entroware/products/laptops/el07r3/proteus-el07r3-front-open-400x500.jpg" alt="The Etroware Proteus, my new Linux laptop" />
&lt;p class="caption">&lt;span id="fig:unnamed-chunk-1">&lt;/span>Figure 1: The Etroware Proteus, my new Linux laptop&lt;/p>
&lt;/div>
&lt;p>I documented the process of upgrading Ubuntu, adding the appropriate software repositories and installing packages in a recent blogpost on the website &lt;a href="https://geocompr.github.io/" target="_blank" rel="noopener">geocompr.github.io&lt;/a>, the website supporting our open source book &lt;a href="https://geocompr.robinlovelace.net/" target="_blank" rel="noopener">Geocomputation with R&lt;/a>.&lt;/p>
&lt;p>If you use Ubuntu, or are thinking of switching to Ubuntu (a sensible choice for someone looking for a user-friendly and stable mostly open source operating system), check-out the details here: &lt;a href="https://geocompr.github.io/post/2020/installing-r-spatial-ubuntu/" target="_blank" rel="noopener">https://geocompr.github.io/post/2020/installing-r-spatial-ubuntu/&lt;/a>&lt;/p>
&lt;p>Enjoy!&lt;/p></description></item><item><title>Open Access, Open Source and Cloud Computing: A Glimpse into the Future of GIS</title><link>https://robinlovelace.net/old-site/publication/pettit-open-2020/</link><pubDate>Tue, 18 Feb 2020 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/pettit-open-2020/</guid><description/></item><item><title>Reproducible Road Safety Research with R</title><link>https://robinlovelace.net/old-site/publication/lovelace-reproducible-2020/</link><pubDate>Wed, 01 Jan 2020 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-reproducible-2020/</guid><description/></item><item><title>OpenTripPlanner for R</title><link>https://robinlovelace.net/old-site/publication/morgan-opentripplanner-2019/</link><pubDate>Mon, 02 Dec 2019 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/morgan-opentripplanner-2019/</guid><description/></item><item><title>CASA summer school on geographic data</title><link>https://robinlovelace.net/old-site/post/casa-summer-school-on-geographic-data/</link><pubDate>Wed, 28 Aug 2019 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/casa-summer-school-on-geographic-data/</guid><description>&lt;p>Last week I presented at UCL’s summer school which, by all accounts, was a very successful event in which many people learned many new skills.
The presentation format was a refreshing changes from the PowerPoint slides you’re often asked to prepare.
Instead, each presenter was asked to create a reproducible RMarkdown document to present.
The source code was shared with the students, who were encouraged to test the code.&lt;/p>
&lt;p>The source code of my RMarkdown document can be found here, on the website support the Geocomputation with R book: &lt;a href="https://github.com/geocompr/geocompr.github.io/blob/source/content/post/2019/crs-projections-transformations.Rmd" target="_blank" rel="noopener">https://github.com/geocompr/geocompr.github.io/blob/source/content/post/2019/crs-projections-transformations.Rmd&lt;/a>&lt;/p>
&lt;p>To see the article itself, head here: &lt;a href="https://geocompr.github.io/post/2019/crs-projections-transformations/" target="_blank" rel="noopener">https://geocompr.github.io/post/2019/crs-projections-transformations/&lt;/a>&lt;/p>
&lt;p>A very summary of the content is shown below.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">blogdown&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">shortcode_html&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;tweet&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s">&amp;#34;1166628966410719232&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">Too long didn&amp;#39;t read (TLDR) summary of CRSs.&lt;br>&lt;br>Additional resources:&lt;br>&lt;br>Blog post: &lt;a href="https://t.co/k3FDKqxp3E">https://t.co/k3FDKqxp3E&lt;/a>&lt;br>Chapter in upcoming book by @edzerpebesma: &lt;a href="https://t.co/D919MPwMam">https://t.co/D919MPwMam&lt;/a>&lt;br>Chapter in &lt;a href="https://twitter.com/hashtag/geocompr?src=hash&amp;amp;ref_src=twsrc%5Etfw">#geocompr&lt;/a> book: &lt;a href="https://t.co/pffHqeF8YT">https://t.co/pffHqeF8YT&lt;/a> &lt;a href="https://t.co/Slu1jT88ok">pic.twitter.com/Slu1jT88ok&lt;/a>&lt;/p>&amp;mdash; Robin Lovelace (@robinlovelace) &lt;a href="https://twitter.com/robinlovelace/status/1166628966410719232?ref_src=twsrc%5Etfw">August 28, 2019&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;p>For more on the CASA summer school itself, see here.&lt;/p>
&lt;p>In summary, great event and look forward to more partipatory workshops, the next one upcoming being the OpenGeoHub summer school: &lt;a href="https://opengeohub.org/summer_school_2019" target="_blank" rel="noopener">https://opengeohub.org/summer_school_2019&lt;/a>&lt;/p></description></item><item><title>Six great things about UseR! 2019</title><link>https://robinlovelace.net/old-site/post/user2019/</link><pubDate>Sat, 13 Jul 2019 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/user2019/</guid><description>&lt;p>UseR! is the highest profile and, I believe, most popular annual meeting for R enthusiasts, known affectionately as ‘UseRs’ for the purposes of the event.
For those who have been living under a stone for the past decade ;) R is an open source statistical programming language that has seen explosive growth since ‘data science’ became a buzzword.
Although I’ve been using R for around a decade, and heavily for around five years, &lt;a href="http://user2019.r-project.org/" target="_blank" rel="noopener">UseR! 2019&lt;/a> was the first UseR! I attended.
I went with some preconceptions: I thought it would be like previous R events that I had attended, including the European R Users Meeting (ERUM) and SatRdays, but bigger.
That was true, but it was bigger and better, exceeding my expectations in many ways.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://user2019.r-project.org/static/img/useR2019.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>Despite only seeing part of it (I missed the tutorials on the Tuesday and the latter part of the final day on Friday), I learned many things from it.
Inspired by the ‘useR aftRglow’, I wrote some of these down on the train journey back home.
The result is this article.&lt;/p>
&lt;p>The &lt;a href="http://user2019.r-project.org/organization/" target="_blank" rel="noopener">organising committee of User! 2019&lt;/a> (hats off to you for an amazing event) has lessons for anyone thinking of putting on a successful event for research, software development, or anything aiming to encourage a friendly symposium vibe.
Here are the top six things that made User! 2019 great from my perspective.&lt;/p>
&lt;h1 id="1-diverse-formats">1. Diverse formats&lt;/h1>
&lt;p>Sometimes going to events, and especially academic conferences (mentioning no names &lt;code>*cough*&lt;/code> take note organisers of &lt;a href="https://annualmeeting.aag.org/" target="_blank" rel="noopener">AAAG&lt;/a>/&lt;a href="https://www.rgs.org/research/annual-international-conference/" target="_blank" rel="noopener">RGS-IBG&lt;/a> and other events with many presentation sessions), can feel undergoing &lt;a href="https://www.bbc.co.uk/news/technology-35038429" target="_blank" rel="noopener">death by PowerPoint&lt;/a>.
A very slow, boring death.&lt;/p>
&lt;p>UseR! was different.
Aside from the fact that many of presenters wouldn’t &lt;em>be seen dead&lt;/em> in front of PowerPoint slides, preferring instead more reproducible and flexible formats enabled by packages such as &lt;a href="https://slides.yihui.name/xaringan/" target="_blank" rel="noopener">&lt;code>xaringan&lt;/code>&lt;/a> and &lt;code>ioslides&lt;/code>, the diversity of formats and quality of the talks kept me on my toes in every session I attended.&lt;/p>
&lt;p>The organisers had clearly given some thought to tackle this issue.
Instead of having only a couple of talk types (e.g. 15 minute presentation, 1 hour keynote) a range of formats were supported, including:&lt;/p>
&lt;ul>
&lt;li>Morning/afternoon tutorials, which took place on the Tuesday, allowing people to learn in depth about new methods/packages/approaches.&lt;/li>
&lt;li>A ‘tidyverse development’ day, which apparently involved physically taking issues and working on them in parallel, with a gong struck for every Pull Request accepted (this makes me wonder if the same technique can be used in other software ecosystems).&lt;/li>
&lt;li>Poster sessions, perhaps not an innovative thing in its own right, but at UseR! the poster showing session was preceded by Lightning Talks of ~1 minute each, so participants could identify which posters they would most like to visit.&lt;/li>
&lt;li>Lightning talk sessions, where participants had 5 minutes to convey the core message of their research.
These sessions were organised in themes and I chaired ‘Applications and Methods’ session, which contained some fascinating work.&lt;/li>
&lt;/ul>
&lt;p>There were still plenty of standard presentation sessions, but even in those sessions, the diversity kept things engaging.
Colin Gillespie went into stand-up comedy mode to deliver a vital message: that simple changes can improve the security of computer systems using R.
&lt;a href="https://en.wikipedia.org/wiki/Mine_%C3%87etinkaya-Rundel" target="_blank" rel="noopener">Mine Çetinkaya-Rundel&lt;/a> used the metaphor of cooking to highlight the importance of digital learning environments for effective classrooms: would you rather cook in a unfinished kitchen or a complete one?
Use of a stable, in browser interface, as shown in the &lt;a href="https://twitter.com/minebocek/status/1148904275550121984" target="_blank" rel="noopener">Data Science in a Box&lt;/a> project, can overcome the barrier of software installation to research, with clear implications for organisations: get a working instance of RStudio Server.&lt;/p>
&lt;p>Even the Keynotes were diverse, as can be seen from the &lt;a href="http://user2019.r-project.org/program/" target="_blank" rel="noopener">UseR website&lt;/a>.
There wasn’t just one central ‘keynote speaker’ at the event but 6, half of whom were women, and with representatives from commercial, academic and &lt;a href="http://user2019.r-project.org/program/#julien" target="_blank" rel="noopener">non-profit&lt;/a> organsiations.
The diversity of topics they covered was also impressive.
They ranged from Bettina Grün’s highly technical yet accessible keynote on new models and packages for clustering data to Joe Cheng’s talk on &lt;a href="https://github.com/rstudio/shinymeta" target="_blank" rel="noopener">shinymeta&lt;/a>.
It was roller coaster ride to the publication of this just open-sourced package, which enables shiny apps to generate scripts underlying the dynamic results.
This could enable step change in the level of reproducibility of interactive web applications (vested interest: I’m the lead developer of the large shiny application, the &lt;a href="http://www.pct.bike/" target="_blank" rel="noopener">Propensity to Cycle Tool&lt;/a> that would benefit from being more reproducible).&lt;/p>
&lt;p>All of the keynote speeches are available on YouTube, as disseminated in the Tweet below:&lt;/p>
&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">All the keynote lectures were available live on &lt;a href="https://twitter.com/RConsortium?ref_src=twsrc%5Etfw">@RConsortium&lt;/a> &lt;a href="https://twitter.com/hashtag/YouTube?src=hash&amp;amp;ref_src=twsrc%5Etfw">#YouTube&lt;/a> channel here:&lt;a href="https://t.co/otDzmY2UND">https://t.co/otDzmY2UND&lt;/a>&lt;br>Very soon, you&amp;#39;ll find the edited version (with video). keep posted!&lt;a href="https://twitter.com/hashtag/rstats?src=hash&amp;amp;ref_src=twsrc%5Etfw">#rstats&lt;/a> &lt;a href="https://twitter.com/hashtag/useR2019?src=hash&amp;amp;ref_src=twsrc%5Etfw">#useR2019&lt;/a> &lt;a href="https://t.co/q6FsqsDI61">pic.twitter.com/q6FsqsDI61&lt;/a>&lt;/p>&amp;mdash; useR! 2019 (@UseR2019_Conf) &lt;a href="https://twitter.com/UseR2019_Conf/status/1150115187430760448?ref_src=twsrc%5Etfw">July 13, 2019&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;h1 id="2-worldwide-dissemination">2. Worldwide dissemination&lt;/h1>
&lt;p>Not everyone has the time, energy or money to go to UseR!.
Some ‘&lt;a href="https://www.theguardian.com/travel/2019/may/22/could-you-give-up-flying-meet-the-no-plane-pioneers" target="_blank" rel="noopener">no fly pioneers&lt;/a>’ have given up flying to support global efforts to tackle the climate crisis.
I was very impressed to see acknowledgement of the conference’s climate impacts, with a form used to help calculate its carbon impact.&lt;/p>
&lt;p>Whatever the reason, it is certain that the contents of UseR! will be of great interest to many more people than the ~2000 people who attended in person.
By recording and (eventually) releasing the videos of the talk, a much larger audience, into the millions, can be reached, as highlighted on the &lt;a href="http://user2019.r-project.org/" target="_blank" rel="noopener">website&lt;/a>:&lt;/p>
&lt;blockquote>
&lt;p>All talks will be recorded and all keynote sessions will be live streamed. Everything will be made available on &lt;a href="https://www.youtube.com/channel/UC_R5smHVXRYGhZYDJsnXTwg" target="_blank">R Consortium YouTube channel&lt;/a>. Thanks to R Consortium for supporting that initiative.&lt;/p>
&lt;/blockquote>
&lt;p>Also, UseRs are excellent communicators, as can be seen from a quick glance at the buzzing &lt;a href="https://twitter.com/hashtag/user2019?lang=en-gb" target="_blank" rel="noopener">#UseR2019 hashtag&lt;/a>, three of which are shown below.&lt;/p>
&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">Dear everyone at &lt;a href="https://twitter.com/hashtag/useR2019?src=hash&amp;amp;ref_src=twsrc%5Etfw">#useR2019&lt;/a>,&lt;br>We thank you very much for your R-enthusiasm 😃.&lt;br>We hope that you as much fun as we had😋.&lt;br>See you in Saint-Louis next year for &lt;a href="https://twitter.com/hashtag/useR2020?src=hash&amp;amp;ref_src=twsrc%5Etfw">#useR2020&lt;/a>! 🇫🇷🔜🇺🇸&lt;br>On vous aime !&lt;/p>&amp;mdash; useR! 2019 (@UseR2019_Conf) &lt;a href="https://twitter.com/UseR2019_Conf/status/1149790615963615232?ref_src=twsrc%5Etfw">July 12, 2019&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;blockquote class="twitter-tweet">&lt;p lang="en" dir="ltr">vroom &lt;a href="https://twitter.com/hashtag/rstats?src=hash&amp;amp;ref_src=twsrc%5Etfw">#rstats&lt;/a> 📦, because life is too short to read slow! 🏎️💨&lt;br>&lt;br>slides 📽️ from my &lt;a href="https://twitter.com/hashtag/useR2019?src=hash&amp;amp;ref_src=twsrc%5Etfw">#useR2019&lt;/a> talk available at &lt;a href="https://t.co/3h6b2m7lQO">https://t.co/3h6b2m7lQO&lt;/a>&lt;/p>&amp;mdash; Jim Hester (@jimhester_) &lt;a href="https://twitter.com/jimhester_/status/1149651592884285441?ref_src=twsrc%5Etfw">July 12, 2019&lt;/a>&lt;/blockquote>
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8">&lt;/script>
&lt;p>The increasing proportion of content now available online, nearing 100% notwithstanding socials, raises the prospect of making future conferences more environmentally sustainable by encouraging remote participation.
This could model the 2019 &lt;a href="https://stay-grounded.org/conference/" target="_blank" rel="noopener">Stay Grounded conference in Barcelona&lt;/a>, which was a “flight free conference”.
I discussed the idea of having a single host location with Martin Maechler on the train journey home.
This could involve the local organisers and people living nearby attending in person, and then allowing others to attend remotely via live streaming, perhaps in national ‘conference hubs’.&lt;/p>
&lt;h1 id="3-relaxed-atmosphere">3. Relaxed atmosphere&lt;/h1>
&lt;p>Another great thing about UseR! 2019 was less objective but equally important: the social atmosphere.
The most reason why it had such a good vibe, I guess, was the attendees: in my experience R users, and people involved in the open source community in general, tend to friendly, humble and team-orientated.
Of course, this is how conferences should be.
Many are, but I couldn’t help notice a contrast between the humility of the ‘big names’ in the R community and the sense of self importance that some high profile academics have in some disciplines.&lt;/p>
&lt;p>UseRs seem to have a great sense of humour and don’t take themselves too seriously, which contributed to a friendly, inviting and non-hierarchical atmosphere.
This friendliness is self organising, but is also built into the constitution of UseR! in its &lt;a href="http://user2019.r-project.org/coc/" target="_blank" rel="noopener">Code of Conduct&lt;/a>.
Take note future conference organisers: it’s easy to add a CoC and +s of doing so could be great.&lt;/p>
&lt;p>The final reason for the relaxed atmosphere I noticed was more objective: all the equipment worked well, session chairs were well briefed on what they needed to and when, there were floating mics to allow clear questions from the audience, and the rooms were large enough such that at no point did I feel crammed into a session.
Furthermore, the arrangement and audio system of the rooms made it feel easy to change session, in case there were two talks in parallel sessions you really wanted to see.
Again, hats off to the organisers: it was VERY well organised.&lt;/p>
&lt;h1 id="4-the-host-city-of-toulouse">4. The host city of Toulouse&lt;/h1>
&lt;p>I liked the host city but, due to recent University of Leeds regulations blocking AirBnB, I had to change accommodation plans at late notice.
This involved a ~3km trek out to the West of the city.
Instead of spending 2 hours each day walking there and back, I decided to hire a bike.
To my surprise, the system just worked: I typed in some details in the nearest bike hire station I could find and had my own wheels for the week (which looked like those in the photo below).
All for the bargain price of €5 for the week!&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://images.ladepeche.fr/api/v1/images/view/5c34e8ca8fe56f09063e1f8f/large/image.jpg" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;!-- -->&lt;/p>
&lt;!-- &lt;blockquote class="instagram-media" data-instgrm-captioned data-instgrm-permalink="https://www.instagram.com/p/BtvyxGfIf9L/" data-instgrm-version="12" style=" background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:540px; min-width:326px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);">&lt;div style="padding:16px;"> &lt;a href="https://www.instagram.com/p/BtvyxGfIf9L/" style=" background:#FFFFFF; line-height:0; padding:0 0; text-align:center; text-decoration:none; width:100%;" target="_blank"> &lt;div style=" display: flex; flex-direction: row; align-items: center;"> &lt;div style="background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 40px; margin-right: 14px; width: 40px;">&lt;/div> &lt;div style="display: flex; flex-direction: column; flex-grow: 1; justify-content: center;"> &lt;div style=" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 100px;">&lt;/div> &lt;div style=" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 60px;">&lt;/div>&lt;/div>&lt;/div>&lt;div style="padding: 19% 0;">&lt;/div> &lt;div style="display:block; height:50px; margin:0 auto 12px; width:50px;">&lt;svg width="50px" height="50px" viewBox="0 0 60 60" version="1.1" xmlns="https://www.w3.org/2000/svg" xmlns:xlink="https://www.w3.org/1999/xlink">&lt;g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">&lt;g transform="translate(-511.000000, -20.000000)" fill="#000000">&lt;g>&lt;path d="M556.869,30.41 C554.814,30.41 553.148,32.076 553.148,34.131 C553.148,36.186 554.814,37.852 556.869,37.852 C558.924,37.852 560.59,36.186 560.59,34.131 C560.59,32.076 558.924,30.41 556.869,30.41 M541,60.657 C535.114,60.657 530.342,55.887 530.342,50 C530.342,44.114 535.114,39.342 541,39.342 C546.887,39.342 551.658,44.114 551.658,50 C551.658,55.887 546.887,60.657 541,60.657 M541,33.886 C532.1,33.886 524.886,41.1 524.886,50 C524.886,58.899 532.1,66.113 541,66.113 C549.9,66.113 557.115,58.899 557.115,50 C557.115,41.1 549.9,33.886 541,33.886 M565.378,62.101 C565.244,65.022 564.756,66.606 564.346,67.663 C563.803,69.06 563.154,70.057 562.106,71.106 C561.058,72.155 560.06,72.803 558.662,73.347 C557.607,73.757 556.021,74.244 553.102,74.378 C549.944,74.521 548.997,74.552 541,74.552 C533.003,74.552 532.056,74.521 528.898,74.378 C525.979,74.244 524.393,73.757 523.338,73.347 C521.94,72.803 520.942,72.155 519.894,71.106 C518.846,70.057 518.197,69.06 517.654,67.663 C517.244,66.606 516.755,65.022 516.623,62.101 C516.479,58.943 516.448,57.996 516.448,50 C516.448,42.003 516.479,41.056 516.623,37.899 C516.755,34.978 517.244,33.391 517.654,32.338 C518.197,30.938 518.846,29.942 519.894,28.894 C520.942,27.846 521.94,27.196 523.338,26.654 C524.393,26.244 525.979,25.756 528.898,25.623 C532.057,25.479 533.004,25.448 541,25.448 C548.997,25.448 549.943,25.479 553.102,25.623 C556.021,25.756 557.607,26.244 558.662,26.654 C560.06,27.196 561.058,27.846 562.106,28.894 C563.154,29.942 563.803,30.938 564.346,32.338 C564.756,33.391 565.244,34.978 565.378,37.899 C565.522,41.056 565.552,42.003 565.552,50 C565.552,57.996 565.522,58.943 565.378,62.101 M570.82,37.631 C570.674,34.438 570.167,32.258 569.425,30.349 C568.659,28.377 567.633,26.702 565.965,25.035 C564.297,23.368 562.623,22.342 560.652,21.575 C558.743,20.834 556.562,20.326 553.369,20.18 C550.169,20.033 549.148,20 541,20 C532.853,20 531.831,20.033 528.631,20.18 C525.438,20.326 523.257,20.834 521.349,21.575 C519.376,22.342 517.703,23.368 516.035,25.035 C514.368,26.702 513.342,28.377 512.574,30.349 C511.834,32.258 511.326,34.438 511.181,37.631 C511.035,40.831 511,41.851 511,50 C511,58.147 511.035,59.17 511.181,62.369 C511.326,65.562 511.834,67.743 512.574,69.651 C513.342,71.625 514.368,73.296 516.035,74.965 C517.703,76.634 519.376,77.658 521.349,78.425 C523.257,79.167 525.438,79.673 528.631,79.82 C531.831,79.965 532.853,80.001 541,80.001 C549.148,80.001 550.169,79.965 553.369,79.82 C556.562,79.673 558.743,79.167 560.652,78.425 C562.623,77.658 564.297,76.634 565.965,74.965 C567.633,73.296 568.659,71.625 569.425,69.651 C570.167,67.743 570.674,65.562 570.82,62.369 C570.966,59.17 571,58.147 571,50 C571,41.851 570.966,40.831 570.82,37.631">&lt;/path>&lt;/g>&lt;/g>&lt;/g>&lt;/svg>&lt;/div>&lt;div style="padding-top: 8px;"> &lt;div style=" color:#3897f0; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:550; line-height:18px;"> View this post on Instagram&lt;/div>&lt;/div>&lt;div style="padding: 12.5% 0;">&lt;/div> &lt;div style="display: flex; flex-direction: row; margin-bottom: 14px; align-items: center;">&lt;div> &lt;div style="background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(0px) translateY(7px);">&lt;/div> &lt;div style="background-color: #F4F4F4; height: 12.5px; transform: rotate(-45deg) translateX(3px) translateY(1px); width: 12.5px; flex-grow: 0; margin-right: 14px; margin-left: 2px;">&lt;/div> &lt;div style="background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(9px) translateY(-18px);">&lt;/div>&lt;/div>&lt;div style="margin-left: 8px;"> &lt;div style=" background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 20px; width: 20px;">&lt;/div> &lt;div style=" width: 0; height: 0; border-top: 2px solid transparent; border-left: 6px solid #f4f4f4; border-bottom: 2px solid transparent; transform: translateX(16px) translateY(-4px) rotate(30deg)">&lt;/div>&lt;/div>&lt;div style="margin-left: auto;"> &lt;div style=" width: 0px; border-top: 8px solid #F4F4F4; border-right: 8px solid transparent; transform: translateY(16px);">&lt;/div> &lt;div style=" background-color: #F4F4F4; flex-grow: 0; height: 12px; width: 16px; transform: translateY(-4px);">&lt;/div> &lt;div style=" width: 0; height: 0; border-top: 8px solid #F4F4F4; border-left: 8px solid transparent; transform: translateY(-4px) translateX(8px);">&lt;/div>&lt;/div>&lt;/div>&lt;/a> &lt;p style=" margin:8px 0 0 0; padding:0 4px;"> &lt;a href="https://www.instagram.com/p/BtvyxGfIf9L/" style=" color:#000; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none; word-wrap:break-word;" target="_blank">Commencez la semaine avec VélÔToulouse pour faciliter vos trajets ! 😎 🚲 #velotoulouse #toulousemaville #bikelife #toulouse Belle semaine à tous ☀️ Thank you @viktoriia_naumi for your picture 🙂&lt;/a>&lt;/p> &lt;p style=" color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;">A post shared by &lt;a href="https://www.instagram.com/velotoulouse31000/" style=" color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px;" target="_blank"> VélÔToulouse Officiel&lt;/a> (@velotoulouse31000) on &lt;time style=" font-family:Arial,sans-serif; font-size:14px; line-height:17px;" datetime="2019-02-11T15:36:54+00:00">Feb 11, 2019 at 7:36am PST&lt;/time>&lt;/p>&lt;/div>&lt;/blockquote> &lt;script async src="//www.instagram.com/embed.js">&lt;/script> -->
&lt;p>I managed to find time to go running on two of the mornings, making me realise how car-dominated Toulouse, like many other cities, is.
The car dominated nature of the city is shown in the images below, which show my running route that dodged giant roads, and a photo of one of the main roads, which was not particularly friendly to people walking and cycling to say the least!&lt;/p>
&lt;p>&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/97888609@N02/48247285282/in/photostream/" title="Screenshot_2019-07-10-06-53-00-088_net.osmand.plus">&lt;img src="https://live.staticflickr.com/65535/48247285282_21b35c313b_c.jpg" width="400" height="800" alt="Screenshot_2019-07-10-06-53-00-088_net.osmand.plus">&lt;/a>&lt;/p>
&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8">&lt;/script>
&lt;p>&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/97888609@N02/48247197386/in/photostream/" title="IMG_20190710_063516">&lt;img src="https://live.staticflickr.com/65535/48247197386_391eb748b5_c.jpg" width="800" height="600" alt="IMG_20190710_063516">&lt;/a>&lt;/p>
&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8">&lt;/script>
&lt;p>Despite the car traffic, the cycleways in Toulouse were great.
I recommend anyone visiting a city for a few days to get a bike, a great way to see the city close up, and get from A to B efficiently, avoiding traffic congestion and with the freedom to get off the beaten (road) track.
For fun, I recorded some of my routes in Toulouse and uploaded them to OSM, the free and open access community made global mapping database (which I fully endorse over Google Maps ;), allowing reproducible code to show my everyday trip to the conference and back (not evaluated).&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">download.file&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;https://www.openstreetmap.org/trace/3046619/data&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s">&amp;#34;track1.gpx&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">sf&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">st_layers&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;track1.gpx&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">track&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sf&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">read_sf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;track1.gpx&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">layer&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;tracks&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">mapview&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">mapview&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">track&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Doing this route each day was a great way to clear my head and prepare for my talk on Wednesday morning.&lt;/p>
&lt;h1 id="5-user-2019-socials">5. UseR! 2019 socials&lt;/h1>
&lt;p>I’ve often heard that the most valuable parts of conferences take place outside the formal sessions and there were ample opportunities for this to happen at UseR! 2019, with plentiful coffee breaks (and plentiful coffee!) and a range of fringe events and social events on a spectrum from the official Gala Dinner to spontaneous social trips to explore the night life in Toulouse.
The Gala Dinner was frankly amazing: it’s not everyday that you get to explore and inter nation space station and listen to Flamenco music in the same evening (the photos and video below prove it is possible)!&lt;/p>
&lt;p>&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/97888609@N02/48256753957/in/photostream/" title="PANO_20190710_203925.jpg">&lt;img src="https://live.staticflickr.com/65535/48256753957_e76846ea55_c.jpg" width="800" height="356" alt="PANO_20190710_203925.jpg">&lt;/a>&lt;/p>
&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8">&lt;/script>
&lt;p>&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/97888609@N02/48256682626/in/album-72157709543796761/" title="IMG_20190710_201757">&lt;img src="https://live.staticflickr.com/65535/48256682626_35e1995fdb_c.jpg" width="800" height="600" alt="IMG_20190710_201757">&lt;/a>&lt;/p>
&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8">&lt;/script>
&lt;p>&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/97888609@N02/48256686546/in/photostream/" title="VID_20190710_202540">&lt;img src="https://live.staticflickr.com/31337/48256686546_9048fc1278_h.jpg" width="1600" height="900" alt="VID_20190710_202540">&lt;/a>&lt;/p>
&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8">&lt;/script>
&lt;h1 id="6-meeting-collaborators-and-online-acquaintances">6. Meeting collaborators and online acquaintances&lt;/h1>
&lt;p>The event was a great opportunity to catch up with R collaborators.
Jakub Nowosad and I did some important thinking on our &lt;a href="https://geocompr.robinlovelace.net/" target="_blank" rel="noopener">&lt;em>Geocomputation with R&lt;/em>&lt;/a> open source book (&lt;a href="https://geocompr.github.io/user_19/presentation/#1" target="_blank" rel="noopener">see the slides from Jakub’s talk here&lt;/a>), and a photo taken just before the talk below.&lt;/p>
&lt;p>&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/97888609@N02/48272563561/" title="IMG_20190712_110533">&lt;img src="https://live.staticflickr.com/65535/48272563561_d2e9a5654b_c.jpg" width="800" height="600" alt="IMG_20190712_110533">&lt;/a>&lt;/p>
&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8">&lt;/script>
&lt;p>I finally managed to persuade Colin Gillespie that we need to update our open source book &lt;a href="https://csgillespie.github.io/efficientR/" target="_blank" rel="noopener">&lt;em>Efficient R Programming&lt;/em>&lt;/a>.
Watch this space…&lt;/p>
&lt;p>I met many people whose work I’ve seen online but never had the pleasure of meeting in person, including Timothée Giraud (author of &lt;a href="https://github.com/rCarto/osrm" target="_blank" rel="noopener">osrm&lt;/a> and many other excellent geo* packages), Enrico Spinielli (who is pushing the boundaries of 3d trajectory analysis in R with packages such as &lt;a href="https://github.com/euctrl-pru/trrrj" target="_blank" rel="noopener">trjjj&lt;/a>) and Angela Li (who is pushing &lt;a href="https://twitter.com/hashtag/rspatial" target="_blank" rel="noopener">#rspatial&lt;/a> to new levels on the other side of the Atlantic).&lt;/p>
&lt;p>And of course there was much serendipity.
I had the honour of meeting many of my R heroes, who were all fun and friendly, demonstrating that it is possible to be high flying while humble.
On the train back I sat next R Core Team member Martin Meachler, and learned about the messages emitted every time packages such as &lt;code>stplanr&lt;/code>, which depend on packages that use &lt;code>R.oo&lt;/code>, are loaded:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">library&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">stplanr&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>We got on so well we decided to walk through part of Paris where we both had to change trains as shown below:&lt;/p>
&lt;p>&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/97888609@N02/48272643002/in/photostream/" title="IMG_20190712_171219">&lt;img src="https://live.staticflickr.com/65535/48272643002_bda5773a2a_c.jpg" width="800" height="600" alt="IMG_20190712_171219">&lt;/a>&lt;/p>
&lt;script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8">&lt;/script>
&lt;h1 id="my-talk">My talk&lt;/h1>
&lt;p>My talk was part of a session entitled ‘Movement &amp;amp; transport’, that contained the following talks:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Session&lt;/th>
&lt;th style="text-align:left">Speaker&lt;/th>
&lt;th style="text-align:left">Title&lt;/th>
&lt;th style="text-align:left">link&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">Movement &amp;amp; transport&lt;/td>
&lt;td style="text-align:left">Rocio Joo&lt;/td>
&lt;td style="text-align:left">Navigating through the R packages for movement&lt;/td>
&lt;td style="text-align:left">&lt;a href="http://www.user2019.fr/static/pres/t258615.pdf" target="_blank" rel="noopener">http://www.user2019.fr/static/pres/t258615.pdf&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Movement &amp;amp; transport&lt;/td>
&lt;td style="text-align:left">Mohammad Mehdi Moradi&lt;/td>
&lt;td style="text-align:left">Classes, methods and data analysis for trajectories&lt;/td>
&lt;td style="text-align:left">&lt;a href="http://www.user2019.fr/static/pres/t251784.pdf" target="_blank" rel="noopener">http://www.user2019.fr/static/pres/t251784.pdf&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Movement &amp;amp; transport&lt;/td>
&lt;td style="text-align:left">Christine Thomas-Agnan&lt;/td>
&lt;td style="text-align:left">Modelling spatial flows with R&lt;/td>
&lt;td style="text-align:left">&lt;a href="http://www.user2019.fr/static/pres/t256726.pdf" target="_blank" rel="noopener">http://www.user2019.fr/static/pres/t256726.pdf&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Movement &amp;amp; transport&lt;/td>
&lt;td style="text-align:left">Robin Lovelace&lt;/td>
&lt;td style="text-align:left">R for Transport Planning&lt;/td>
&lt;td style="text-align:left">&lt;a href="https://www.robinlovelace.net/presentations/user2019-r-for-transport-planning.html" target="_blank" rel="noopener">https://www.robinlovelace.net/presentations/user2019-r-for-transport-planning.html&lt;/a>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>I won’t go into the details of my talk because you can see the &lt;a href="https://www.robinlovelace.net/presentations/user2019-r-for-transport-planning.html#1" target="_blank" rel="noopener">slides for yourself at the URL&lt;/a>.
However, it raised many questions and makes me wonder if it’s worth creating an ‘r-transport’ type organisation.
Another question, that I didn’t get to answer, is where should reproducible transport questions go, now that my attempts to create a ‘Transport Planning’ StackExchange site seemed to have failed, as shown in the slide below : ( Any ideas on that, welcome : )&lt;/p>
&lt;iframe src="https://www.robinlovelace.net/presentations/user2019-r-for-transport-planning.html#28" width="672" height="400px" data-external="1">
&lt;/iframe>
&lt;h1 id="conclusion">Conclusion&lt;/h1>
&lt;!-- The only negative part of the conference for me was that it felt too short. -->
&lt;!-- That's partly my own fault for attend fewer conference but give them 100%, rather than attending many and feeling pressed for time. -->
&lt;!-- "Quality over quantity" should be guiding principle of conference attendance I've decided. -->
&lt;p>Overall, UseR! 2019 was a fun, enlightening and inspiring event, and I hope to attend future UseRs, in person or remotely.
I wish more conferences were like this.
This small write up is designed as a reminder to my future self, and anyone else reading, to remember how good conferences &lt;em>can be&lt;/em>.
The example set by this outstanding conference provides some pointers in that direction.&lt;/p></description></item><item><title>Keynote talk on geocomputation, SatRdays Newcastle</title><link>https://robinlovelace.net/old-site/talk/satrday-keynote/</link><pubDate>Sat, 06 Apr 2019 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/satrday-keynote/</guid><description>&lt;h2 id="keynote-talk-at-satrdays-newcastlehttpsnewcastle2019satrdaysorgportfolio">Keynote talk at &lt;a href="https://newcastle2019.satrdays.org/#portfolio" target="_blank" rel="noopener">SatRdays Newcastle&lt;/a>&lt;/h2>
&lt;h3 id="geocomputation-with-r-reproducible-geo-workflows-from-getting-data-to-making-maps">Geocomputation with R: Reproducible Geo* workflows, from getting data to making maps&lt;/h3>
&lt;p>This talk will introduce &lt;a href="https://geocompr.robinlovelace.net/" target="_blank" rel="noopener">&lt;em>Geocomputation with R&lt;/em>&lt;/a>, a new book on R for geographic data.
It will demonstrate how far R has evolved as an environment for geographic data analysis and visualisation, and provide a taster of what is in the book and, more importantly, what is possible when &amp;lsquo;data science&amp;rsquo; and &amp;lsquo;GIS&amp;rsquo; meet.
With new packages such as &lt;strong>sf&lt;/strong>, geographic data analysis has become more accessible.
The talk will show how geographic analysis can bring local examples to life.&lt;/p>
&lt;h3 id="r-packages">R packages:&lt;/h3>
&lt;ul>
&lt;li>&lt;a href="https://github.com/r-spatial/sf" target="_blank" rel="noopener">sf&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://ropensci.github.io/stplanr/" target="_blank" rel="noopener">stplanr&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Scenarios of Cycling to School in England, and Associated Health and Carbon Impacts: Application of the ‘Propensity to Cycle Tool’</title><link>https://robinlovelace.net/old-site/publication/goodman-scenarios-2019/</link><pubDate>Fri, 01 Mar 2019 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/goodman-scenarios-2019/</guid><description/></item><item><title>stplanr paper published</title><link>https://robinlovelace.net/old-site/post/sustainable-transport-planning-with-r-stplanr-paper-published/</link><pubDate>Mon, 25 Feb 2019 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/sustainable-transport-planning-with-r-stplanr-paper-published/</guid><description>&lt;p>I am very happy to announce that the paper &lt;em>stplanr: A package for transport planning&lt;/em> has been published in The R Journal (Lovelace and Ellison 2018) 🎉.&lt;/p>
&lt;p>This is the result of around 3 years of work:
it took us (co-author &lt;a href="https://business.sydney.edu.au/staff/richard.ellison" target="_blank" rel="noopener">Richard Ellison&lt;/a> and me) over a year to get round to writing the paper after the &lt;strong>stplanr&lt;/strong> package was first released on &lt;a href="https://cran.r-project.org/package=stplanr" target="_blank" rel="noopener">CRAN&lt;/a> in November 2015 (see its &lt;a href="https://cran.r-project.org/src/contrib/Archive/stplanr/" target="_blank" rel="noopener">archive on CRAN&lt;/a> for details); it wasn’t until March 2017 that the paper was formally submitted.&lt;/p>
&lt;p>After that, it was in the review process for almost 2 years, before finally being published last week.&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>
Confusingly, the paper has an official publication date of 2018, despite the second volume of The R Journal in 2018 actually being finished in 2019!
See the &lt;a href="https://journal.r-project.org/archive/2018-1/" target="_blank" rel="noopener">current issue&lt;/a> of The R Journal for all papers in this second 2018 volume.
There are some interesting papers in there, not least an explanation of methods for visualising point density by Evangelista and Beskow (2018), and an explanation of &lt;em>another&lt;/em> pipe (Mount and Zumel 2018).&lt;/p>
&lt;p>Instead of going into the details of what the paper says (see the nicely formatted &lt;a href="https://journal.r-project.org/archive/2018/RJ-2018-053/RJ-2018-053.pdf" target="_blank" rel="noopener">pdf&lt;/a> for that), I’d like to finish this post by saying a big THANK YOU to the editorial team behind The R Journal for such a high standard (better than many expensive journals I might add, The R Journal is volunteer-run to the best of my knowledge), especially Roger Bivand and John Verzani.&lt;/p>
&lt;p>Plans are afoot to build on the moment behind &lt;strong>stplanr&lt;/strong>, which originated as a place to store code that I was using to develop the Propensity to Cycle Tool (PCT, hosted at &lt;a href="http://www.pct.bike/" target="_blank" rel="noopener">www.pct.bike&lt;/a>) (Lovelace et al. 2017) and make additional, overdue improvements to the package.
For more on that, please head-over to the issue tracker (input welcome) or take a read of the &lt;a href="https://journal.r-project.org/archive/2018/RJ-2018-053/RJ-2018-053.pdf#page=14" target="_blank" rel="noopener">final section&lt;/a> of the just-publised paper.&lt;/p>
&lt;h2 id="references">References&lt;/h2>
&lt;div id="refs" class="references csl-bib-body hanging-indent">
&lt;div id="ref-evangelista_geospatial_2018" class="csl-entry">
&lt;p>Evangelista, Paul F., and David Beskow. 2018. “Geospatial Point Density.” &lt;em>The R Journal&lt;/em>.&lt;/p>
&lt;/div>
&lt;div id="ref-lovelace_stplanr_2018" class="csl-entry">
&lt;p>Lovelace, Robin, and Richard Ellison. 2018. “Stplanr: A Package for Transport Planning.” &lt;em>The R Journal&lt;/em> 10 (2): 7–23. &lt;a href="https://doi.org/10.32614/RJ-2018-053" target="_blank" rel="noopener">https://doi.org/10.32614/RJ-2018-053&lt;/a>.&lt;/p>
&lt;/div>
&lt;div id="ref-lovelace_propensity_2017" class="csl-entry">
&lt;p>Lovelace, Robin, Anna Goodman, Rachel Aldred, Nikolai Berkoff, Ali Abbas, and James Woodcock. 2017. “The Propensity to Cycle Tool: An Open Source Online System for Sustainable Transport Planning.” &lt;em>Journal of Transport and Land Use&lt;/em> 10 (1). &lt;a href="https://doi.org/10.5198/jtlu.2016.862" target="_blank" rel="noopener">https://doi.org/10.5198/jtlu.2016.862&lt;/a>.&lt;/p>
&lt;/div>
&lt;div id="ref-mount_dotpipe_2018" class="csl-entry">
&lt;p>Mount, John, and Nina Zumel. 2018. “Dot-Pipe: An S3 Extensible Pipe for R.” &lt;em>The R Journal&lt;/em> 10 (2): 309–16.&lt;/p>
&lt;/div>
&lt;/div>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>I should say, that it was not the fault of The R Journal’s editorial team that it took so long to publish the paper:
I asked for it to be put on hold while I completed the mammoth task of re-writing dozens of functions to support sf (see the pull request in which the &lt;a href="https://github.com/ropensci/stplanr/pull/198" target="_blank" rel="noopener">&lt;code>sfr&lt;/code>&lt;/a> branch was merged into &lt;code>master&lt;/code> for the grizzly details).&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Aggregating lines, part II</title><link>https://robinlovelace.net/old-site/post/aggregating-lines-part-ii/</link><pubDate>Thu, 14 Feb 2019 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/aggregating-lines-part-ii/</guid><description>&lt;p>The &lt;a href="https://www.robinlovelace.net/2018/10/27/aggregating-lines/" target="_blank" rel="noopener">previous post&lt;/a> demonstrated a new method to aggregate overlapping lines.
It showed how to combine 2 lines that have an area of overlap.
More excitingly, it led to the creation of a new function in &lt;strong>stplanr&lt;/strong>, &lt;code>overline_sf()&lt;/code>, that lives in the development version of the package.
The purpose of this post is to provide an update on the status of the work to refactor the &lt;code>overline()&lt;/code> function, in a human friendly alternative to discussion in the relevant GitHub issue: &lt;a href="https://github.com/ropensci/stplanr/issues/273" target="_blank" rel="noopener">https://github.com/ropensci/stplanr/issues/273&lt;/a>&lt;/p>
&lt;h2 id="set-up">Set-up&lt;/h2>
&lt;p>To re-cap, these are the package versions we&amp;rsquo;ll be using in this post (run this line to get the development version of stplanr if you want to reproduce the results):&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">remotes&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">install_github&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;ropensci/stplanr&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">ref&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;refactor-overline&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The library is loaded and the input data from the previous post was loaded as follows:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">library&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">stplanr&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">routes_fast_sf&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">value&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="m">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">sl&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">routes_fast_sf[2&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="m">3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">sl&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">value&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">c&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="m">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="m">5&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">overline_sf2&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">function&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">attrib&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">attrib&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;value&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">attrib1&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">paste0&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">attrib&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s">&amp;#34;.1&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">sl_intersection&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sf&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">st_intersection&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl[1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">attrib]&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sl[2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">attrib]&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">sl_intersection[[attrib]]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sl_intersection[[attrib]]&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">sl_intersection[[attrib1]]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">sl_intersection[[attrib1]]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="kc">NULL&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">sl_seg&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sf&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">st_difference&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl[attrib]&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sf&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">st_geometry&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl_intersection&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">rnet&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">rbind&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl_intersection&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sl_seg&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">return&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">rnet&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This was used as the basis of a demonstration of how overline works, demonstrated in the following code chunk and resulting plot:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">rnet&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">overline_sf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s">&amp;#34;value&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">rnet[&lt;/span>&lt;span class="s">&amp;#34;value&amp;#34;&lt;/span>&lt;span class="n">]&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">lwd&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">rnet&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">value&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl[&lt;/span>&lt;span class="s">&amp;#34;value&amp;#34;&lt;/span>&lt;span class="n">]&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">lwd&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sl&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">value&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">col&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sf&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">sf.colors&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="m">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">alpha&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="m">0.5&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="dealing-with-many-lines">Dealing with many lines&lt;/h2>
&lt;p>The above method worked with 2 lines but how can it be used to process many lines?
Clearly the same function could be implemented on another line, but it would need to work from the 3 lines of the newly created &lt;code>rnet&lt;/code> object rather than the original 2 routes.
Let&amp;rsquo;s introduce a 3^rd^ route into the equation, that does not intersect with this newly created &lt;strong>rnet&lt;/strong> object:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">sl3&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">routes_fast_sf[4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">rnet&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">overline_sf2&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">rnet&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sl&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">rnet&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">geometry&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">lwd&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">rnet&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">value&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">col&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;red&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">add&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="kc">TRUE&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>In this case the method of adding to rnet is simple: just add the entirety of the line to the &lt;code>rnet&lt;/code> object:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">attrib&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;value&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">rnet3&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">rbind&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">rnet&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sl3[attrib]&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">rnet3&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">geometry&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">lwd&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">rnet3&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">value&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This works fine.
In fact it works better than the original &lt;code>overline&lt;/code> function because it does not add the value of the existing thickest line in the previous figure onto the new line, a problem associated with &lt;code>overline.sp()&lt;/code> that is illustrated in the following code chunk and resulting figure:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">sl1_3&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">as&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">routes_fast_sf[2&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="m">4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">]&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s">&amp;#34;Spatial&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">rnet3_sp&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">overline&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl1_3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">attrib&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;value&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">rnet3_sp&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">lwd&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">rnet3_sp&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">value&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>A question that arises from the previous example is this: what if the next line intersects with the route network?
It is no longer possible to simply add together two values.
This can be illustrated by introducing 2 more lines:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">sl4_5&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">routes_fast_sf[5&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="m">6&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">rnet3&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">geometry&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">lwd&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">rnet3&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">value&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl4_5&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">geometry&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">col&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;red&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">add&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="kc">TRUE&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Both the new lines intersect with the newest part of the route network.
This means that we cannot simply &lt;code>rbind()&lt;/code> them to it as we did for &lt;code>sl3&lt;/code>.
They need to be dealt with separately.&lt;/p>
&lt;p>Before we deal with them, it&amp;rsquo;s worth taking some time to consider what we mean by &amp;lsquo;intersect&amp;rsquo;.
Intersection is actuall a specific type of geometric relation between 2 sets of features.
We can see the type of relation by using the function &lt;code>st_relate()&lt;/code>:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">relations&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sf&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">st_relate&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl4_5&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">rnet3&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">relations&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">unique&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nf">as.vector&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">relations&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This shows us something important: although 2 elements (1 and 4) of &lt;code>rnet&lt;/code> relate &lt;em>in some way&lt;/em> to the new lines, only the 4^th^ feature has a linear, overlapping relation with it.
That relation is &lt;code>1F1F00102&lt;/code> which, as far as I can tell, is not a &lt;a href="https://en.wikipedia.org/wiki/DE-9IM#Spatial_predicates" target="_blank" rel="noopener">named spatial predicate&lt;/a> (&lt;code>FF1F00102&lt;/code> means &amp;lsquo;intersects and touches&amp;rsquo; but does not have a linear overlap).
This relation is what we need to decide whether or not to simply bind a new feature to the growing &lt;code>rnet&lt;/code>, whether we need to break it up (or at least part of it) into smaller lines before doing so (it also raises the wider question of which order should we do things).&lt;/p>
&lt;p>In the simple case of &lt;em>whether&lt;/em> to simply bind the next line (4) onto &lt;code>rnet3&lt;/code> the answer is simple now we know the string code associated with linear overlaps.
First we&amp;rsquo;ll test it on the previous example of &lt;code>sl3&lt;/code> and the original &lt;code>rnet&lt;/code> composed of 3 features:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">relate_rnet_3&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sf&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">st_relate&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">rnet&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sl3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">pattern&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;1F1F00102&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">relate_rnet_3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">any&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nf">lengths&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">relate_rnet_3&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The &lt;code>FALSE&lt;/code> meant there was no linear overlaps. So we simply used &lt;code>rbind()&lt;/code>.
When we ask the same question of &lt;code>rnet3&lt;/code> and &lt;code>sl4&lt;/code>, however, the answer is &lt;code>TRUE&lt;/code>:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">sl4&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sl4_5[1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">relate_rnet_4&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sf&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">st_relate&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">rnet3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sl4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">pattern&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;1F1F00102&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">relate_rnet_4&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">any&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nf">lengths&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">relate_rnet_4&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>How to proceed? We need to avoid &lt;code>rnet&lt;/code> objects containing any overlapping lines.
Because &lt;code>sl4&lt;/code> overlaps with part of &lt;code>rnet3&lt;/code> we will need to remove the overlapping line, run the &lt;code>overline_sf2()&lt;/code> function, and then re-combine the result with the pre-existing route network object.
We can split-up the &lt;code>rnet3&lt;/code> object into overlapping and non-overlapping features as follows:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">sel_overlaps&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">lengths&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">relate_rnet_4&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">&amp;gt;&lt;/span> &lt;span class="m">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">rnet_overlaps&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">rnet3[sel_overlaps&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">rnet3_tmp&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">rnet3[&lt;/span>&lt;span class="o">!&lt;/span>&lt;span class="n">sel_overlaps&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>We can check that there is only one overlapping feature as follows:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">nrow&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">rnet_overlaps&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>And we can proceed to join the two features together using our new function:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">rnet_overlaps4&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">overline_sf2&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nf">rbind&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">rnet_overlaps&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sl4[attrib]&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Adding this back to the &lt;code>rnet3&lt;/code> object results in an larger &lt;code>rnet&lt;/code> object incorporating all the &lt;code>value&lt;/code> and &lt;code>geometry&lt;/code> column data we have so far:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">rnet&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">rbind&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">rnet3_tmp&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">rnet_overlaps4&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">rnet&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">geometry&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">lwd&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">rnet&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">value&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The information provided so far informed the creation of the following function:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">stplanr&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">overline_sf&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This function made use of the slightly simpler individual route-joining function, and associated helper functions:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">stplanr&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">overline_sf2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">stplanr&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">overlaps&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">stplanr&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">to_linestring&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Aside from being clunky, this approach has the additional flaw of not working.
It works fine for lines 2 to 6 in &lt;code>routes_fast_sf&lt;/code>, as illustrated below.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">r6&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">routes_fast_sf[2&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="m">6&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">rnet6&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">overline_sf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">r6&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">attrib&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;value&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">rnet6&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>A problem arises when we try to run the same command on the same data, but with one more line added.
That will be the topic of the next post on aggregating lines to form route networks, which will also introduce a new function &lt;code>overline2()&lt;/code>, developed by my colleague &lt;a href="https://environment.leeds.ac.uk/transport/staff/964/dr-malcolm-morgan" target="_blank" rel="noopener">Malcolm Morgan&lt;/a>.&lt;/p>
&lt;h2 id="another-benchmark">Another benchmark&lt;/h2>
&lt;p>To provide a taster of the new function, let&amp;rsquo;s see it in action in a benchmark on this latest route network consisting of the five lines illustrated in the previous plot.
Again, we use &lt;code>bench::mark()&lt;/code> to benchmark each approach:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">bench&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">mark&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">check&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="kc">FALSE&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">overline&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">stplanr&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">overline&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">r6&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s">&amp;#34;value&amp;#34;&lt;/span>&lt;span class="p">),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">overline_sf&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">stplanr&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">overline_sf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">r6&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s">&amp;#34;value&amp;#34;&lt;/span>&lt;span class="p">),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">overline2&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">stplanr&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">overline2&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">r6&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s">&amp;#34;value&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Again the results are not Earth-shattering and should be taken with a large pinch of salt: performance should not be evaluated against these relatively tiny datasets, but against the scale of datasets that the functions were designed to handle: city scale route networks involving thousands of overlapping lines.
The same principle is used in the benchmarking section of the &lt;a href="https://h2oai.github.io/db-benchmark/" target="_blank" rel="noopener">h2oai website&lt;/a>: focus on benchmarks that apply to the datasets you will actually be using.
In this case, my hypothesis is that the geometric functions &lt;code>overline()&lt;/code> and &lt;code>overline_sf()&lt;/code> will perform disproportionately badly as the size of the input dataset grows (to be tested).
Still, it is interesting to note that the new &lt;code>overline2()&lt;/code> function uses way more memory than the other functions.
More next time!&lt;/p></description></item><item><title>Assessing the Potential for Uptake of Cycling to School: A Case Study of England</title><link>https://robinlovelace.net/old-site/publication/goodman-assessing-2019/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/goodman-assessing-2019/</guid><description/></item><item><title>Characterising Climate Change Discourse on Social Media during Extreme Weather Events</title><link>https://robinlovelace.net/old-site/publication/roxburgh-characterising-2019/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/roxburgh-characterising-2019/</guid><description/></item><item><title>Geocomputation with R</title><link>https://robinlovelace.net/old-site/publication/lovelace-geocomputation-2019/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-geocomputation-2019/</guid><description/></item><item><title>Stats19 A Package for Working with Open Road Crash Data</title><link>https://robinlovelace.net/old-site/publication/lovelace-stats-19-2019/</link><pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-stats-19-2019/</guid><description/></item><item><title>Geocomputation with R: Empower yourself with geo data</title><link>https://robinlovelace.net/old-site/talk/nurd-keynote/</link><pubDate>Wed, 31 Oct 2018 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/nurd-keynote/</guid><description>&lt;h3 id="keynote-lecture-for-the--northwest-universities-r-dayhttpstwittercomhashtagnwurdaysrchash-manchester">Keynote lecture for the &lt;a href="https://twitter.com/hashtag/NWURday?src=hash" target="_blank" rel="noopener"> Northwest Universities R Day&lt;/a>, Manchester&lt;/h3>
&lt;p>In this, titled &lt;em>Geocomputation with R: Empower yourself with free software and geo&lt;code>*&lt;/code> data&lt;/em>, I provide an overview of the evolving landscape for working with geographic data using open source, command-line driven software.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.robinlovelace.net/presentations/nurd.html#1" target="_blank" rel="noopener">Slides&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.robinlovelace.net/presentations/nurd.ogg" target="_blank" rel="noopener">Audio&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Aggregating lines, Part I</title><link>https://robinlovelace.net/old-site/post/aggregating-lines/</link><pubDate>Sat, 27 Oct 2018 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/aggregating-lines/</guid><description>&lt;h2 id="introduction">Introduction&lt;/h2>
&lt;p>It’s been a busy 12 months but with the &lt;a href="https://geocompr.robinlovelace.net/" target="_blank" rel="noopener">Geocomputation with R&lt;/a> book nearing completion&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>
I’ve finally found some time to update my blog and do a bit of thinking, about the tangled topic of line aggregation.&lt;/p>
&lt;h2 id="why-aggregate-lines">Why aggregate lines?&lt;/h2>
&lt;p>The transport ‘flow’ on any particular segment of the transport networks is the aggregate (sum) of trips that pass through it (Hollander 2016).
Finding the flow across a transport network based on input data composed of individual routes, is therefore an aggregation problem.
It requires a more complex solution than that provided by the &lt;code>aggregate()&lt;/code> function in the base R (R Core Team 2018) package &lt;strong>stats&lt;/strong>, however, because the geometry of the output &lt;code>LINESTRING&lt;/code>s will be fundamentally different than the input &lt;code>LINESTRINGS&lt;/code> of the routes: a route network is composed of many small way segments, but a route is a single long &lt;code>LINESTRING&lt;/code>.&lt;/p>
&lt;h2 id="aggregating-lines-with-overline-mki">Aggregating lines with overline() MKI&lt;/h2>
&lt;p>Creating such a route network, with aggregated values per segment, is the problem that the &lt;a href="https://ropensci.github.io/stplanr/reference/overline.html" target="_blank" rel="noopener">&lt;code>overline()&lt;/code>&lt;/a> function in the R package &lt;a href="https://github.com/ropensci/stplanr" target="_blank" rel="noopener">&lt;strong>stplanr&lt;/strong>&lt;/a> was designed to solve (see a 3.5 yr-old question on &lt;a href="https://gis.stackexchange.com/questions/139681/overlaying-lines-and-aggregating-their-values-for-overlapping-segments" target="_blank" rel="noopener">gis.stackexchange.com&lt;/a> for more context).&lt;/p>
&lt;p>The function works well and is the basis of the Route Network layer (MSOA) in the Propensity to Cycle Tool (&lt;a href="http://www.pct.bike/" target="_blank" rel="noopener">PCT&lt;/a>).
In fact it was developed precisely for this purpose, as illustrated in the image below, which shows a common visualization/analysis problem encountered by transport researchers when working with multiple routes: overlapping routes are not easy to identify from non-overlapping routes:
notice the red lines in the centre of Leeds in the image look the same as the red lines on the outskirts, despite representing much more movement.&lt;/p>
&lt;p>To overcome the problem &lt;code>overline()&lt;/code> was born (credit to Barry Rowlingson who wrote the foundations of the function), and it works (on a tiny dataset of 2 lines) as follows:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">library&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">stplanr&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">sl_sp&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">routes_fast[2&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="m">3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">sl_sp&lt;/span>&lt;span class="o">@&lt;/span>&lt;span class="n">data&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">data.frame&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">value&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">c&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="m">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="m">5&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl_sp&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">lwd&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="m">9&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">col&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;yellow&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">rnet_sp&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">overline&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl_sp&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">attr&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;value&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">rnet_sp&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">add&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="kc">TRUE&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">lwd&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">rnet_sp&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">value&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The utility of such a function is illustrated in the figure below, which shows the original route network layer of the PCT in action over a similar area of Leeds:&lt;/p>
&lt;p>This works great and the resulting network is used for strategic network planning: you can download route network data in the ‘Region data’ tab of the PCT (Lovelace et al. 2017). The route network data for Leeds can, for example, be downloaded as a &lt;code>.geojson&lt;/code> file from &lt;a href="https://github.com/npct/pct-outputs-regional-notR/raw/master/commute/msoa/west-yorkshire/rnet.geojson" target="_blank" rel="noopener">here&lt;/a>.&lt;/p>
&lt;p>But there are some issues: the function works on the older &lt;code>SpatialLinesDataFrame&lt;/code> class defined in the &lt;strong>sp&lt;/strong> package (Pebesma 2018).
This data class has been superseded by the simpler &lt;code>sf&lt;/code> class in the &lt;a href="https://github.com/r-spatial/sf" target="_blank" rel="noopener">&lt;strong>sf&lt;/strong>&lt;/a> package, which is faster than &lt;strong>sp&lt;/strong> for &lt;a href="https://github.com/ATFutures/geobench" target="_blank" rel="noopener">some&lt;/a> (if not many) operations.
Another issue with &lt;code>overline()&lt;/code> is that in some cases when 2 lines meet, the resulting aggregated line can be longer than it should be.
So there are performance and functionality issues to address.
Rather than solve them all here, this post sets-out the issue using reproducible code and suggests next steps for a new &lt;code>overline()&lt;/code> function (or perhaps just an updated &lt;code>overline.sf()&lt;/code> function which currently just wraps &lt;code>overline.sp()&lt;/code>).&lt;/p>
&lt;h2 id="aggregating-lines-with-sf">Aggregating lines with sf&lt;/h2>
&lt;p>Rather that starting from scratch and writing a geographic algorithm from the ground-up, we will start by exploring solutions provided by existing packages, notably &lt;strong>sf&lt;/strong>, which provides an interface to the &lt;code>GEOS&lt;/code> library.&lt;/p>
&lt;p>Let’s start simple, with just 2 lines, which have an associated amount of flow (with illustrative values of 2 and 5 in this case):&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">library&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">stplanr&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">sl&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">routes_fast_sf[2&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="m">3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">sl&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">value&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">c&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="m">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="m">5&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>These lines clearly have a decent amount of overlap, which can be extracted using the function &lt;code>st_intersection()&lt;/code>:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">sl_intersection&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sf&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">st_intersection&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl[1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">]&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sl[2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">]&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">geometry&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">lwd&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="m">9&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">col&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sf&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">sf.colors&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="m">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">alpha&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="m">0.5&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl_intersection&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">add&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="kc">TRUE&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Furthermore, we can find the aggregated value associated with this new segment as follows:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">sl_intersection&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">value&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">sum&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl_intersection&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">value&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sl_intersection&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">value.1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>We still do not have a full route network composed of 3 non-overlapping lines, however:
the original lines need to be ‘clipped’ so that they do not overlap with &lt;code>sl_intersection&lt;/code>.
This can be done as follows:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">sl_seg1&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sf&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">st_difference&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl[1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">]&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sl_intersection&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">sl_seg2&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sf&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">st_difference&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl[2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">]&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sl_intersection&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">geometry&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">lwd&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="m">9&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">col&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sf&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">sf.colors&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="m">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">alpha&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="m">0.5&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl_seg1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">add&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="kc">TRUE&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl_seg2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">add&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="kc">TRUE&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>We now have all the geographic components needed for a route network.
The only remaining task is to combine them, using &lt;code>rbind&lt;/code>, right?
Not quite: the following command fails:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">rnet&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">rbind&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl_seg1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sl_seg2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sl_intersection&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Lesson: we need to be more careful in isolating the value to aggregate.
We will therefore run the previous stages again, but with &lt;code>attrib&lt;/code> set to the attribute we would like to aggregate over (&lt;code>value&lt;/code> in this case):&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">attrib&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;value&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">attrib1&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">paste0&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">attrib&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s">&amp;#34;.1&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">sl_intersection&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sf&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">st_intersection&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl[1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">attrib]&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sl[2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">attrib]&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">sl_intersection[[attrib]]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sl_intersection[[attrib]]&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">sl_intersection[[attrib1]]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">sl_intersection[[attrib1]]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="kc">NULL&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>That leaves us with a ‘clean’ object that only has a value (7) for the attribute column name we want (&lt;code>value&lt;/code>).&lt;/p>
&lt;p>On this basis we can proceed to create the other segments, keeping only the column we’re interested in. To save time and typing, we’ll create both segments in a single command:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">sl_seg&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sf&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">st_difference&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl[attrib]&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sf&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">st_geometry&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl_intersection&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">rnet&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">rbind&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl_intersection&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sl_seg&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>It worked! Now we’re in a position to plot the resulting route network, with ‘width’ proportional to the flow along each segment:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">rnet&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">lwd&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">rnet&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">value&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="a-benchmark">A benchmark&lt;/h2>
&lt;p>To test that the method is fast, or is at least not slower than the original &lt;code>overline()&lt;/code> function, at least for this task, we’ll package-up the method in a new function:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">overline_sf2&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">function&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">attrib&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">attrib&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;value&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">attrib1&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">paste0&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">attrib&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s">&amp;#34;.1&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">sl_intersection&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sf&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">st_intersection&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl[1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">attrib]&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sl[2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">attrib]&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">sl_intersection[[attrib]]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sl_intersection[[attrib]]&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">sl_intersection[[attrib1]]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">sl_intersection[[attrib1]]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="kc">NULL&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">sl_seg&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sf&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">st_difference&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl[attrib]&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sf&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">st_geometry&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl_intersection&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">rnet&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">rbind&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl_intersection&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sl_seg&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">return&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">rnet&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>If you are new to scripts/algorithms/functions, it may be worth taking a look at the new &lt;a href="https://geocompr.robinlovelace.net/algorithms.html" target="_blank" rel="noopener">Algorithms&lt;/a> chapter in our near-complete book that teaches a range of geographic methods that use R (Lovelace, Nowosad, and Muenchow 2019).
Now the method has been put in a function, we can compare its performance with the per-existing &lt;code>overline()&lt;/code> function for comparison:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">bench&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">mark&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">check&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="bp">F&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">overline.sp&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">overline&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl_sp&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">attrib&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;value&amp;#34;&lt;/span>&lt;span class="p">),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">overline.sf&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">overline&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">attrib&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;value&amp;#34;&lt;/span>&lt;span class="p">),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">overline_sf2&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">overline_sf2&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sl&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">attrib&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;value&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The results are not Earth-shattering: the new function seems to be around the same speed as the original, if a little faster.
This is great news, but remember: the new function only works on 2 lines so is much simpler.
More work needed!&lt;/p>
&lt;h2 id="next-steps">Next steps&lt;/h2>
&lt;p>The next step is to generalist this method so it works for many (potentially thousands) of lines in a way that scales, something that should help on the visualization side, a topic that attracts much interest (see for example this &lt;a href="https://gis.stackexchange.com/questions/778/representation-of-network-flows" target="_blank" rel="noopener">gis.stackexchange post&lt;/a> on the subject and, more broadly, a recent &lt;a href="https://nowosad.github.io/post/maps-distortion/" target="_blank" rel="noopener">article&lt;/a> showing how to make animated maps by Jakub Nowosad).
There is also work to do on performance but, as Donald Knuth said (Knuth 1974):&lt;/p>
&lt;blockquote>
&lt;p>premature optimization is the root of all evil (or at least most of it) in programming&lt;/p>
&lt;/blockquote>
&lt;p>So a more complete &lt;code>overline.sf()&lt;/code> function is needed.
That will (hopefully) be the topic of the next blog post.&lt;/p>
&lt;h2 id="references">References&lt;/h2>
&lt;div id="refs" class="references csl-bib-body hanging-indent">
&lt;div id="ref-hollander_transport_2016" class="csl-entry">
&lt;p>Hollander, Yaron. 2016. &lt;em>Transport Modelling for a Complete Beginner&lt;/em>. CTthink!&lt;/p>
&lt;/div>
&lt;div id="ref-knuth_computer_1974" class="csl-entry">
&lt;p>Knuth, Donald E. 1974. “Computer Programming As an Art.” &lt;em>Commun. ACM&lt;/em> 17 (12): 667–73. &lt;a href="https://doi.org/10.1145/361604.361612" target="_blank" rel="noopener">https://doi.org/10.1145/361604.361612&lt;/a>.&lt;/p>
&lt;/div>
&lt;div id="ref-lovelace_propensity_2017" class="csl-entry">
&lt;p>Lovelace, Robin, Anna Goodman, Rachel Aldred, Nikolai Berkoff, Ali Abbas, and James Woodcock. 2017. “The Propensity to Cycle Tool: An Open Source Online System for Sustainable Transport Planning.” &lt;em>Journal of Transport and Land Use&lt;/em> 10 (1). &lt;a href="https://doi.org/10.5198/jtlu.2016.862" target="_blank" rel="noopener">https://doi.org/10.5198/jtlu.2016.862&lt;/a>.&lt;/p>
&lt;/div>
&lt;div id="ref-lovelace_geocomputation_2019" class="csl-entry">
&lt;p>Lovelace, Robin, Jakub Nowosad, and Jannes Muenchow. 2019. &lt;em>Geocomputation with R&lt;/em>. CRC Press.&lt;/p>
&lt;/div>
&lt;div id="ref-pebesma_simple_2018" class="csl-entry">
&lt;p>Pebesma, Edzer. 2018. “Simple Features for R: Standardized Support for Spatial Vector Data.” &lt;em>The R Journal&lt;/em>.&lt;/p>
&lt;/div>
&lt;div id="ref-rcoreteam_language_2018" class="csl-entry">
&lt;p>R Core Team. 2018. &lt;em>R: A Language and Environment for Statistical Computing&lt;/em>. Vienna, Austria: R Foundation for Statistical Computing.&lt;/p>
&lt;/div>
&lt;/div>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>Any input on that still welcome - see the &lt;a href="https://geocompr.robinlovelace.net/index.html#how-to-contribute" target="_blank" rel="noopener">contributing&lt;/a> section for more.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Invited lecture: ICTs para la (ciclo)inclusión</title><link>https://robinlovelace.net/old-site/talk/icts-inclusion/</link><pubDate>Fri, 05 Oct 2018 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/icts-inclusion/</guid><description>&lt;h2 id="invited-lecture-in-chile-at-the-seminario-del-transporte-a-la-movilidad-y-accesibilidadhttpsmfacebookcomlabcambiarnosrefid17-in-spanish">Invited lecture in Chile at the &lt;a href="https://m.facebook.com/LabCambiarnos/?refid=17" target="_blank" rel="noopener">Seminario del Transporte a la Movilidad y Accesibilidad&lt;/a> (in Spanish)&lt;/h2>
&lt;ul>
&lt;li>Title: ICTs para la (ciclo)inclusión&lt;/li>
&lt;li>&lt;a href="pedalea.html#1">Slides (in Spanish)&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Severance, parallels and integration</title><link>https://robinlovelace.net/old-site/talk/cycling-and-society-plenary/</link><pubDate>Thu, 06 Sep 2018 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/cycling-and-society-plenary/</guid><description>&lt;h2 id="plenary-lecture-at-the-cycling--society-conferencehttpwwwcyclingandsocietyorg2018programme-bristol">Plenary lecture at the &lt;a href="http://www.cyclingandsociety.org/2018programme/" target="_blank" rel="noopener">Cycling &amp;amp; Society conference&lt;/a>, Bristol&lt;/h2>
&lt;p>Talk on methods for estimating severance in active transport networks.&lt;/p>
&lt;ul>
&lt;li>Slides: &lt;a href="https://www.robinlovelace.net/presentations/cs-infra.html#1" target="_blank" rel="noopener">Severance, parallels and integration&lt;/a>&lt;/li>
&lt;li>Audio from the talk is available &lt;a href="https://www.robinlovelace.net/presentations/cs-infra.ogg" target="_blank" rel="noopener">here&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Fuel Price Differentials and Car Ownership: A Spatial Analysis of Diesel Cars in Northern Ireland</title><link>https://robinlovelace.net/old-site/publication/morton-fuel-2018-a/</link><pubDate>Wed, 01 Aug 2018 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/morton-fuel-2018-a/</guid><description/></item><item><title>Development of the Impacts of Cycling Tool (ICT): A Modelling Study and Web Tool for Evaluating Health and Environmental Impacts of Cycling Uptake</title><link>https://robinlovelace.net/old-site/publication/woodcock-development-2018/</link><pubDate>Tue, 31 Jul 2018 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/woodcock-development-2018/</guid><description/></item><item><title>Invited seminar: can geographic data save the world?</title><link>https://robinlovelace.net/old-site/talk/geocompr-jena/</link><pubDate>Wed, 11 Apr 2018 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/geocompr-jena/</guid><description>&lt;p>This was the finale of a week of research collaboration and teaching at the Friedrich-Schiller-Universität Jena &lt;a href="https://www.geographie.uni-jena.de/" target="_blank" rel="noopener">Institut für Geographie&lt;/a>.
During the study visit I also worked on &lt;em>Geocomputation with R&lt;/em> with fellow co-author &lt;a href="https://www.geographie.uni-jena.de/en/Chairs/GIScience/Team/M%C3%BCnchow.html" target="_blank" rel="noopener">Jannes Muenchow&lt;/a> and wrote a tutorial on route network analysis in R that can be found at &lt;a href="https://github.com/Robinlovelace/geocomp-tranport-workshop" target="_blank" rel="noopener">https://github.com/Robinlovelace/geocomp-tranport-workshop&lt;/a>&lt;/p>
&lt;ul>
&lt;li>Slides: &lt;a href="https://bookdown.org/robinlovelace/geographic-data-talk/geographic-data-talk.html#1" target="_blank" rel="noopener">Can Geographic Data Save the World?&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Stplanr: A Package for Transport Planning</title><link>https://robinlovelace.net/old-site/publication/lovelace-stplanr-2018/</link><pubDate>Mon, 01 Jan 2018 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-stplanr-2018/</guid><description/></item><item><title>Barriers to Investing in Cycling: Stakeholder Views from England</title><link>https://robinlovelace.net/old-site/publication/aldred-barriers-2017/</link><pubDate>Wed, 01 Nov 2017 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/aldred-barriers-2017/</guid><description/></item><item><title>Exploring the Effect of Local Transport Policies on the Adoption of Low Emission Vehicles: Evidence from the London Congestion Charge and Hybrid Electric Vehicles</title><link>https://robinlovelace.net/old-site/publication/morton-exploring-2017/</link><pubDate>Wed, 01 Nov 2017 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/morton-exploring-2017/</guid><description/></item><item><title>Public Transport and School Location Impacts on Educational Inequalities: Insights from São Paulo</title><link>https://robinlovelace.net/old-site/publication/moreno-monroy-public-2017/</link><pubDate>Fri, 15 Sep 2017 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/moreno-monroy-public-2017/</guid><description/></item><item><title>Osmdata</title><link>https://robinlovelace.net/old-site/publication/padgham-osmdata-2017/</link><pubDate>Thu, 01 Jun 2017 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/padgham-osmdata-2017/</guid><description/></item><item><title>Can Geographic Data Save the World?</title><link>https://robinlovelace.net/old-site/post/2017-05-02-can-geographic-data-save-the-world/</link><pubDate>Tue, 02 May 2017 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/2017-05-02-can-geographic-data-save-the-world/</guid><description>&lt;p>I presented yesterday on the use of geographic data in policy in a flamboyantly named talk: Can geographic data save the world (slides available from &lt;a href="https://rpubs.com/RobinLovelace/272796" target="_blank" rel="noopener">rpubs.com/Robinlovelace&lt;/a>). The purpose of this post is to share the slides, &lt;a href="https://www.dropbox.com/s/5x3baro4hrpj57g/gdsl.wav?dl=0" target="_blank" rel="noopener">audio&lt;/a> and some of the ideas resulting from the talk, for the benefit of people interested in the topic but unable to attend.&lt;/p>
&lt;p>The venue influenced the title. The University of Liverpool’s Geographic Data Science Laboratory (&lt;a href="https://geographicdatascience.com/" target="_blank" rel="noopener">GDSL&lt;/a>) is a research powerhouse churning out papers close in the field.&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/p>
&lt;h2 id="what-is-geographic-data-science">What is Geographic Data Science&lt;/h2>
&lt;p>The talk started with an introduction that defined terms, in which I set-out what I thought made GDS different from its older brother GIS:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Attribute&lt;/th>
&lt;th style="text-align:left">GIS&lt;/th>
&lt;th style="text-align:left">GDS&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">Home disciplines&lt;/td>
&lt;td style="text-align:left">Geography&lt;/td>
&lt;td style="text-align:left">Geography, Computing, Statistics&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Software focus&lt;/td>
&lt;td style="text-align:left">Graphic User Interface&lt;/td>
&lt;td style="text-align:left">Code&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Reproduciblility&lt;/td>
&lt;td style="text-align:left">Minimal&lt;/td>
&lt;td style="text-align:left">Maximal&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>&lt;span id="tab:unnamed-chunk-2">&lt;/span>Table 1: Comparison between Geographic Information Systems (GIS) and Geographic Data Science (GDS) research.&lt;/p>
&lt;p>This was an important distinction to make in the context of having policy impact: by being open and transparent (and therefore using code rather than a non-reproducible Graphical User Interface) geographical research maximises its chances of altering decisions.&lt;/p>
&lt;p>Why?&lt;/p>
&lt;p>Simple: because if more people can see the data and, crucially, reproduce the results, more people will trust your research and be influenced by it.&lt;/p>
&lt;p>The importance of clear methods enabled by scripted, reproducible analysis workflow, is even greater in the age of Big Data, which myself and colleagues have defined broadly as “unconventional datasets that are difficult to analyze
using established methods” (i.e. those that cannot easily be solved with established products such as Microsoft Excel and ESRI’s ArcMAP) (Lovelace et al. 2016).&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>&lt;/p>
&lt;h2 id="case-study-the-propensity-to-cycle-tool">Case study: the Propensity to Cycle Tool&lt;/h2>
&lt;p>The Propensity to Cycle Tool (PCT) is a good case study highlighting the potential policy impacts of geographical research.&lt;/p>
&lt;p>Partly inspired by Singleton (2014) (which was written by a founding member of the GDSL), the PCT provides an open source evidence base highlighting where cycling has the greatest potential to grow. Crucially, the PCT is publicly accessible, meaning that not only transport planning professionals but also members of the public can use it.&lt;/p>
&lt;p>If you are interested in the cycling potential at the local level in England, or if you are interested in the visualisation of geographic information at multiple levels (area, desire line, route and route network levels in this case), please take a look at the video and have a play at &lt;a href="http://www.pct.bike/" target="_blank" rel="noopener">www.pct.bike&lt;/a>.&lt;/p>
&lt;p>Key to the tools’ potential for policy impact is its wide ranging scenarios of change which included Government Target to double cycling by 2025 and a more ambitious Go Dutch scenario in which we cycle as much as the Dutch to, accounting for geographical differences in trip distances and hilliness. The difference between the two scenarios is substantial, as illustrated by the figure below.&lt;/p>
&lt;div class="figure">
&lt;img src="https://github.com/npct/pct/raw/master/flow-model/leeds-rnet-gov-go.png" alt="The Route Network layer illustrating the shifting spatial distribution of cycling flows in Leeds under Government Target (top) and Go Dutch (bottom) scenarios." />
&lt;p class="caption">
&lt;span id="fig:unnamed-chunk-3">&lt;/span>Figure 1: The Route Network layer illustrating the shifting spatial distribution of cycling flows in Leeds under Government Target (top) and Go Dutch (bottom) scenarios.
&lt;/p>
&lt;/div>
&lt;p>For a detailed account of the methods (or geographic data science if you like) underlying information on the Propensity to Cycle Tool, I recommend checking out a paper on the subject by myself and other members of the team published in the &lt;a href="https://www.jtlu.org/index.php/jtlu/article/view/862" target="_blank" rel="noopener">Journal of Transport and Land Use&lt;/a> (Lovelace et al. 2017).&lt;/p>
&lt;h2 id="a-reproducible-example">A reproducible example&lt;/h2>
&lt;p>Actions can speak louder than words or, as Linus Torvalds &lt;a href="https://lkml.org/lkml/2000/8/25/132" target="_blank" rel="noopener">said&lt;/a>:&lt;sup id="fnref:3">&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref">3&lt;/a>&lt;/sup>&lt;/p>
&lt;blockquote>
&lt;p>Talk is cheap. Show me the code.&lt;/p>
&lt;/blockquote>
&lt;p>On that basis, to show what I meant by reproducibility and ‘data carpentry’ (Gillespie and Lovelace 2016) (a concept mentioned in the slides not discussed in audio for lack of time) I provided some some example code that illustrated the kinds of techniques underlying the PCT.&lt;/p>
&lt;p>First download and visualise some transport data (from the Isle of Wight as, the smallest region in the PCT):&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">u_pct&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;https://github.com/npct/pct-data/raw/master/isle-of-wight/l.Rds&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">if&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="o">!&lt;/span>&lt;span class="nf">file.exists&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;l.Rds&amp;#34;&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">download.file&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">u_pct&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s">&amp;#34;l.Rds&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">l&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">readRDS&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;l.Rds&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">library&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sp&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">l&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;pre>&lt;code>## Warning in CPL_crs_from_input(x): GDAL Message 1: +init=epsg:XXXX syntax is
## deprecated. It might return a CRS with a non-EPSG compliant axis order.
&lt;/code>&lt;/pre>
&lt;img src="https://robinlovelace.net/old-site/post/2017-05-02-can-geographic-data-save-the-world_files/figure-html/unnamed-chunk-4-1.png" width="672" />
&lt;p>Now that we have an idea of the commute patterns in the area, and the nature of ‘OD’ data (converted to geographical desire lines with the &lt;strong>&lt;a href="https://github.com/ropensci/stplanr" target="_blank" rel="noopener">stplanr&lt;/a>&lt;/strong> package), we can do some analysis.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">sel_walk&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">l&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">foot&lt;/span> &lt;span class="o">&amp;gt;&lt;/span> &lt;span class="m">9&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">l_walk&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">l[sel_walk&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="n">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">l&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">l_walk&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">add&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="bp">T&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">col&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;red&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">lwd&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="m">3&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;img src="https://robinlovelace.net/old-site/post/2017-05-02-can-geographic-data-save-the-world_files/figure-html/unnamed-chunk-5-1.png" width="672" />
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">library&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">dplyr&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># for next slide...&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The above code subsets all the lines that have 10 or more people walking to work in the 2011 census and plots the results (as you’d expect the shorter trips are more commonly walked). It works, but could be interpretted as a little clunky. Enter &lt;a href="https://github.com/tidyverse/dplyr" target="_blank" rel="noopener">&lt;strong>dplyr&lt;/strong>&lt;/a>, a package for data science (&lt;strong>grolemund_r_2016?&lt;/strong>):&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">l_walk1&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">l&lt;/span> &lt;span class="o">%&amp;gt;%&lt;/span> &lt;span class="nf">filter&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">All&lt;/span> &lt;span class="o">&amp;gt;&lt;/span> &lt;span class="m">10&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># fails&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Doh! That code nice ‘clean’ (well certainly consistent) code does not work because &lt;code>Spatial&lt;/code> objects are not compatible with the pipe operator &lt;code>%&amp;gt;%&lt;/code> syntax.&lt;/p>
&lt;p>Enter the &lt;a href="https://github.com/edzer/sfr" target="_blank" rel="noopener">&lt;strong>sf&lt;/strong>&lt;/a> package, which represents a step change in how R handles spatial data. First let’s convert that &lt;code>l&lt;/code> object into a ‘simple feature’ object:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">library&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sf&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;pre>&lt;code>## Linking to GEOS 3.12.1, GDAL 3.8.4, PROJ 9.3.1; sf_use_s2() is TRUE
&lt;/code>&lt;/pre>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">l_sf&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">st_as_sf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">l&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">class&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">l_sf&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;pre>&lt;code>## [1] &amp;quot;sf&amp;quot; &amp;quot;data.frame&amp;quot;
&lt;/code>&lt;/pre>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">l_sf[6&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="m">15&lt;/span>&lt;span class="n">]&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;pre>&lt;code>## Warning: plotting the first 9 out of 10 attributes; use max.plot = 10 to plot
## all
&lt;/code>&lt;/pre>
&lt;img src="https://robinlovelace.net/old-site/post/2017-05-02-can-geographic-data-save-the-world_files/figure-html/unnamed-chunk-7-1.png" width="672" />
&lt;p>Other than plotting multiples, one for each variable, objects of class &lt;code>sf&lt;/code> behave much like objects of class &lt;code>Spatial&lt;/code>, except they are also fully fledged data frames. This is what allows them to be subsetted with &lt;strong>dplyr&lt;/strong>’s &lt;code>%&amp;gt;%&lt;/code> operator (reproducing the square bracket subsetting above):&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">l_walk2&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">l_sf&lt;/span> &lt;span class="o">%&amp;gt;%&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">filter&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">foot&lt;/span> &lt;span class="o">&amp;gt;&lt;/span> &lt;span class="m">9&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">l_sf[6]&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">l_walk2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">add&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="bp">T&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">lwd&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="m">3&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;pre>&lt;code>## Warning in plot.sf(l_walk2, add = T, lwd = 3): ignoring all but the first
## attribute
&lt;/code>&lt;/pre>
&lt;img src="https://robinlovelace.net/old-site/post/2017-05-02-can-geographic-data-save-the-world_files/figure-html/unnamed-chunk-8-1.png" width="672" />
&lt;p>A more advanced example involves the following: take all trips in the study area less than 1km and find those in which driving a car is more common than walking (areas that could have a major car dependency issue, the policy-relevant part):&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">l_sf&lt;/span>&lt;span class="o">$&lt;/span>&lt;span class="n">distsf&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">as.numeric&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nf">st_length&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">l_sf&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">l_drive_short&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">l_sf&lt;/span> &lt;span class="o">%&amp;gt;%&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">filter&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">distsf&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="m">1000&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">%&amp;gt;%&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">filter&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">car_driver&lt;/span> &lt;span class="o">&amp;gt;&lt;/span> &lt;span class="n">foot&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">library&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">tmap&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">tmap_mode&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;view&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">qtm&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">l_drive_short&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="discussion">Discussion&lt;/h2>
&lt;p>I was happy to find the talk was attended by a range of people, appropriate for a seminar about getting researchers down from the ivory towers.&lt;/p>
&lt;p>Someone from local government asked me if the above analysis to find short desire lines, along which more people drive than walk, could be applied in Liverpool (yes - the above code is a good starting point for working out how!).&lt;/p>
&lt;p>I was also asked how the PCT methodology could engage with established methods in transport planning. This is something that myself and others on the PCT team have discussed and it’s certainly given me a reason to revisit how best to do that (I don’t have a clear solution at the moment).&lt;/p>
&lt;h2 id="conclusion">Conclusion&lt;/h2>
&lt;p>Geographical research clearly can have policy impacts. Calling this ‘saving the world’ may seem like hyperbole, but it in my experience it can help communicate the message that publicly-funded academics usually work in the public interest, for the ‘greater good’.&lt;/p>
&lt;p>Clearly the amount and direction of the policy impacts of your work will vary depending on a range of factors, many of which will be outside your sphere of influence. However, if you are a (geographical) ‘data scientist’, it seems that ensuring that the ‘science’ in your title is taken seriously can greatly improve your policy impact.&lt;/p>
&lt;p>Thus reproducibility and free publication of data and results should not be seen as a bureaucratic burden. It can help you save the world.&lt;/p>
&lt;h2 id="references">References&lt;/h2>
&lt;div id="refs" class="references csl-bib-body hanging-indent">
&lt;div id="ref-arribas-bel_accidental_2014" class="csl-entry">
&lt;p>Arribas-Bel, Daniel. 2014. “Accidental, Open and Everywhere: Emerging Data Sources for the Understanding of Cities.” &lt;em>Applied Geography&lt;/em> 49: 45–53.&lt;/p>
&lt;/div>
&lt;div id="ref-gillespie_efficient_2016" class="csl-entry">
&lt;p>Gillespie, Colin, and Robin Lovelace. 2016. &lt;em>Efficient R Programming: A Practical Guide to Smarter Programming&lt;/em>. O’Reilly Media.&lt;/p>
&lt;/div>
&lt;div id="ref-lovelace_big_2016" class="csl-entry">
&lt;p>Lovelace, Robin, Mark Birkin, Philip Cross, and Martin Clarke. 2016. “From Big Noise to Big Data: Toward the Verification of Large Data Sets for Understanding Regional Retail Flows.” &lt;em>Geographical Analysis&lt;/em> 48 (1): 59–81. &lt;a href="https://doi.org/10.1111/gean.12081" target="_blank" rel="noopener">https://doi.org/10.1111/gean.12081&lt;/a>.&lt;/p>
&lt;/div>
&lt;div id="ref-lovelace_propensity_2017" class="csl-entry">
&lt;p>Lovelace, Robin, Anna Goodman, Rachel Aldred, Nikolai Berkoff, Ali Abbas, and James Woodcock. 2017. “The Propensity to Cycle Tool: An Open Source Online System for Sustainable Transport Planning.” &lt;em>Journal of Transport and Land Use&lt;/em> 10 (1). &lt;a href="https://doi.org/10.5198/jtlu.2016.862" target="_blank" rel="noopener">https://doi.org/10.5198/jtlu.2016.862&lt;/a>.&lt;/p>
&lt;/div>
&lt;div id="ref-singleton_gis_2014" class="csl-entry">
&lt;p>Singleton, Alex. 2014. “A GIS Approach to Modelling CO2 Emissions Associated with the Pupil-School Commute.” &lt;em>International Journal of Geographical Information Science&lt;/em> 28 (2): 256–73. &lt;a href="https://doi.org/10.1080/13658816.2013.832765" target="_blank" rel="noopener">https://doi.org/10.1080/13658816.2013.832765&lt;/a>.&lt;/p>
&lt;/div>
&lt;/div>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>The name of the discipline, broadly be defined geographic data analysis, modelling and visualisation, is an interesting topic in its own right. The preferred term to describe this body of work shifts over time, and depending on who you ask.
Over the years it has been referred to as Geographic Information Systems (GIS, which sounds rather old school nowadays), the more academic-sounding Geographic Information Science (GISc), the concise term of Geocomputation and the more recently coined term of Geographic Data Science (GDS).&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>See Arribas-Bel (2014) for an alternative geographical take on Big Data.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:3">
&lt;p>If I’m waxing lyrical about reproducibility and code I should practice what I preach. The source code of this article can be found at &lt;a href="https://github.com/rbind/robinlovelace/blob/master/content/post/2017-05-02-can-geographic-data-save-the-world.Rmd" target="_blank" rel="noopener">github.com/rbind/robinlovelace&lt;/a>.&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Seminar: invited talk at Geographic Data Science lab</title><link>https://robinlovelace.net/old-site/talk/gds-seminar/</link><pubDate>Tue, 02 May 2017 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/gds-seminar/</guid><description>&lt;p>Talk at the Geographic Data Science (&lt;a href="https://www.liverpool.ac.uk/geographic-data-science/" target="_blank" rel="noopener">GDS&lt;/a>) Lab in Liverpool.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.robinlovelace.net/presentations/can-gds-save-world.html#1" target="_blank" rel="noopener">Slides&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Switching to blogdown</title><link>https://robinlovelace.net/old-site/post/2017-04-30-switching-to-blogdown/</link><pubDate>Sun, 30 Apr 2017 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/2017-04-30-switching-to-blogdown/</guid><description>&lt;p>I&amp;rsquo;ve finally got a new blog post, to test that my new set-up is working, using the wonderful new &lt;a href="https://bookdown.org/yihui/blogdown/" target="_blank" rel="noopener">blogdown&lt;/a> package.&lt;/p>
&lt;p>Here&amp;rsquo;s a test plot, to show how it allows R code to be embedded:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="m">1&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="m">9&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;img src="https://robinlovelace.net/old-site/post/2017-04-30-switching-to-blogdown_files/figure-html/unnamed-chunk-1-1.png" width="672" />
&lt;p>Now that I have a quick-fire and fun way of getting new content onto the web I expect to be blogging lots more.&lt;/p>
&lt;p>Watch this space!&lt;/p></description></item><item><title>David Boyce and Huw Williams, Forecasting Urban Travel: Past, Present and Future</title><link>https://robinlovelace.net/old-site/publication/lovelace-david-2017/</link><pubDate>Sun, 01 Jan 2017 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-david-2017/</guid><description/></item><item><title>Population Synthesis with Quasirandom Integer Sampling</title><link>https://robinlovelace.net/old-site/publication/smith-population-2017/</link><pubDate>Sun, 01 Jan 2017 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/smith-population-2017/</guid><description/></item><item><title>The Propensity to Cycle Tool: An Open Source Online System for Sustainable Transport Planning</title><link>https://robinlovelace.net/old-site/publication/lovelace-propensity-2017/</link><pubDate>Sun, 01 Jan 2017 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-propensity-2017/</guid><description/></item><item><title>CycleStreets.net in the Propensity to Cycle Tool</title><link>https://robinlovelace.net/old-site/post/2016-12-21-cyclestreets-pct/</link><pubDate>Wed, 21 Dec 2016 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/2016-12-21-cyclestreets-pct/</guid><description>&lt;p>After 2 years in the making, the &lt;a href="https://www.jtlu.org/index.php/jtlu/article/view/862/824" target="_blank" rel="noopener">paper&lt;/a> describing the Propensity to Cycle Tool (PCT), and the thinking behind it, has finally been published (Lovelace et al. 2016). The PCT is an online tool for helping to decide where to prioritise cycling policies such as new cycle paths.&lt;/p>
&lt;p>The PCT would not have been possible without CycleStreets.net, so as well as describing the PCT and it&amp;rsquo;s use of their routing services, this article serves as a big Thank You from PCT to CycleStreets.net.&lt;/p>
&lt;h2 id="what-is-the-propensity-to-cycle-tool">What is the Propensity to Cycle Tool?&lt;/h2>
&lt;p>For those new to the PCT, it&amp;rsquo;s an online tool for helping to decide where to prioritise cycling policies such as new cycle paths. It lives at &lt;a href="http://www.pct.bike" target="_blank" rel="noopener">http://www.pct.bike&lt;/a> - check it out!&lt;/p>
&lt;p>The context of its development is explained in the accompanying video on that page. This article reports how the tool itself works and how it uses data from CycleStreets.net.&lt;/p>
&lt;p>The PCT is best understood by using it to explore current cycling levels, at regional, area, desire line, route and route network levels. We will take a look at how the PCT works at each of these levels, after a brief look at the scenario results at the regional level (the senarios are described in more detail in the &lt;a href="https://www.jtlu.org/index.php/jtlu/article/view/862/824" target="_blank" rel="noopener">paper&lt;/a>).&lt;/p>
&lt;p>Under the 2011 Census scenario, the PCT represents levels of cycling to work based on the Census. This is a reasonable proxy for levels of utility cycling overall. We used origin-destination (OD) data from the Census as the basis of the PCT as this is best publicly available dataset on English travel patterns. The input data is described in the &lt;a href="https://www.jtlu.org/index.php/jtlu/article/view/862" target="_blank" rel="noopener">paper&lt;/a> and can be freely downloaded from the official &lt;a href="http://wicid.ukdataservice.ac.uk/" target="_blank" rel="noopener">http://wicid.ukdataservice.ac.uk/&lt;/a> website.&lt;/p>
&lt;h3 id="the-regional-picture-and-scenarios">The regional picture and scenarios&lt;/h3>
&lt;p>The first thing the user sees on the front page is a map of England, broken into 44 regions:&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://github.com/npct/pct/blob/master/figures/regions1.png?raw=true" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>We used deliberately large regions because successful cycling plans should be strategic and joined up, covering both large areas and large spans of time. This discourages the stop-start investment plans that have typified funding for active travel.&lt;/p>
&lt;p>By hovering over different regions, the user can see what the current level of cycling to work is. We can discover that West Yorkshire has a low current level of cycling to work, 1.3% in the 2011 census, and that Cambridgeshire has a relatively high (but low by Dutch standards) level of cycling of 9.7%.&lt;/p>
&lt;p>An exciting feature of the PCT is its ability to allow the user to imagine &amp;lsquo;cycling futures&amp;rsquo;. This can be seen on the front page map by clicking on the different scenarios (set to Census 2011 by default). We can see, for example, that under the Government Target to double cycling levels by 2025, West Yorkshire&amp;rsquo;s level would rise to 3.3% (more than a doubling) whereas Cambridgeshire would see cycling levels grow to 13.7% (a larger rise in absolute terms):&lt;/p>
&lt;p>&lt;img src="https://github.com/npct/pct/blob/master/figures/regions2.png?raw=true" title="plot of chunk unnamed-chunk-2" alt="plot of chunk unnamed-chunk-2" width="50%" />&lt;img src="https://github.com/npct/pct/blob/master/figures/regions3.png?raw=true" title="plot of chunk unnamed-chunk-2" alt="plot of chunk unnamed-chunk-2" width="50%" />&lt;/p>
&lt;p>Under the Go Dutch scenarios, these regions would see 23.1 and 13.5% of people cycling to work, respectively. This represents a huge leveling-out of cycling levels across the country, but still highlights the fact that some regions have higher cycling potentials than others, due to average trip distances and levels of hilliness.&lt;/p>
&lt;h2 id="cycling-levels-at-the-area-level">Cycling levels at the area level&lt;/h2>
&lt;p>To launch the PCT for a region, click on it. Try clicking on West Yorkshire. You should be presented with the following image, which shows the area-based level of cycling to work from the 2011 Census. (When using the PCT, it is worth remembering that the visualisations work for every scenario.)&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://github.com/npct/pct/blob/master/figures/west-yorkshire-front.png?raw=true" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>This shows that West Yorkshire has very low levels of cycling to work, hovering around 1% to 2% in most places. This suggests strongly that the region has low levels of utility cycling overall (despite the successes of the region&amp;rsquo;s sport cyclists). There is a cluster of zones with a higher level of cycling to the north of Leeds city centre (around Headingly) but even there the percentage of people cycling as their main mode of travel to work does not exceed 5%.&lt;/p>
&lt;h2 id="cycling-potential-at-the-desire-line-level">Cycling potential at the desire line level&lt;/h2>
&lt;p>This is all useful information, especially when we look at how the cycling potential could shift in the future. However, it provides little information about where current and future cyclists actually go. This is where the desire line level can be useful. This can be selected by clicking on the Straight Lines option from the Cycling Flows dropdown menu. The results (zoomed in for Leeds) are shown in the figures below (see Figure 3 in the paper).&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://github.com/npct/pct/blob/master/flow-model/od-data-leeds.png?raw=true" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://github.com/npct/pct/blob/master/figures/leeds-desire-godutch.png?raw=true" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>What the above figures show is that as the level of cycling increases in a city, the spatial distribution of cycling can be expected to change. Under current conditions (be they related to socio-demographics or infrastructure or other factors), cycling in Leeds is dominated by the travel corridor to the north of the city centre. Yet there are clearly many short trips taking place from the south into the centre, as illustrated by the high cycling potential south of the city under the Go Dutch scenario.&lt;/p>
&lt;h2 id="allocating-cycling-potential-to-the-route-network">Allocating cycling potential to the route network&lt;/h2>
&lt;p>This is where CycleStreets.net comes into play.&lt;/p>
&lt;p>We know how many people go from A to B by cycling from Census data. But we have very little idea of how they are likely to travel. This is where the routing algorithm of CycleStreets.net comes in handy. We used their &lt;a href="https://www.cyclestreets.net/api/apply/" target="_blank" rel="noopener">routing API&lt;/a> to estimate the &amp;lsquo;fastest&amp;rsquo; route for all short (well, up to 20 km in Euclidean distance) desire lines in England.&lt;/p>
&lt;p>Not only does CycleStreets.net allow us to find all the fastest routes, a good indication of where new infrastructure should be built as people (especially women and elderly) have a strong preference for cycling along the most direct routes.&lt;/p>
&lt;p>The results of all this routing work is illustrated in the future below, which shows the fastest and quietest routes associated with the top cycled routes in Leeds.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://github.com/npct/pct/blob/master/flow-model/od-data-fast-quiet.png?raw=true" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>Interestingly, the big fat line up to the north-west is Otley Road, well-known to have very high level of cycling. This also shows up in Strava data as having high current levels of cycling:&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://github.com/npct/pct/blob/master/figures/pct-vs-strava-for-leeds.png?raw=true" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>This is not formal validation but it is a good sign that the PCT and other data sources line-up for the current level of cycling. The big question is whether the PCT&amp;rsquo;s estimates of cycling levels under various cycling futures, including Go Dutch.&lt;/p>
&lt;p>Here is not the place to answer such a question. Only the passage of time, and commitment from people (perhaps informed by models such as the PCT) to sustainable travel will help answer that one.&lt;/p>
&lt;p>There is much more to say about the use of CycleStreets.net in the PCT but it gets rather technical very quickly.
Suffice to say at this stage that it involved writing lots of code in R, a language for statistical programming, and that this has now resulted in the publication of &lt;strong>stplanr&lt;/strong>, &lt;a href="https://github.com/ropensci/stplanr" target="_blank" rel="noopener">an R package for sustainable transport&lt;/a>.
(For more on how to
&lt;a href="https://cran.r-project.org/" target="_blank" rel="noopener">install R&lt;/a> and (for bells and whistles) RStudio, which this blog post was written in, please see the relevant sections of the book &lt;a href="https://csgillespie.github.io/efficientR/set-up.html#installing-r" target="_blank" rel="noopener">Efficent R Programming&lt;/a> (Gillespie and Lovelace, 2016).)
With R installed, &lt;strong>stplanr&lt;/strong> can be installed with:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">install.packages&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;stplanr&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>With this package installed, you can start using the CycleStreets.net routing algorithm with the following function:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">library&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">stplanr&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">route&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">route_cyclestreet&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">from&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;Leeds&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">to&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;Cambridge&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>which results in spatial data, which can be visualised as follows:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">library&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">leaflet&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">leaflet&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="o">%&amp;gt;%&lt;/span> &lt;span class="nf">addTiles&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="o">%&amp;gt;%&lt;/span> &lt;span class="nf">addPolylines&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">data&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">route&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div> &lt;iframe src="http://robinlovelace.net/leeds-cam-map.html">&lt;/iframe>
&lt;p>There is much more I could say about the technical side of things but at the request of the editors I will leave it there for now. For more info please see the &lt;a href="https://github.com/ropensci/stplanr/blob/master/vignettes/stplanr-paper.Rmd" target="_blank" rel="noopener">&lt;strong>stplanr&lt;/strong> vignette&lt;/a>.&lt;/p>
&lt;p>I plan to follow this overview article up with a more technical blog post in the New Year. Watch this space!&lt;/p>
&lt;h2 id="reference">Reference&lt;/h2>
&lt;p>Lovelace, R., Goodman, A., Aldred, R., Berkoff, N., Abbas, A., &amp;amp; Woodcock, J. (2016). The Propensity to Cycle Tool: An open source online system for sustainable transport planning. Journal Of Transport And Land Use, 0. doi:http://dx.doi.org/10.5198/jtlu.2016.862&lt;/p></description></item><item><title>Geostat2016 Albacete: a write-up</title><link>https://robinlovelace.net/old-site/post/2016-09-28-geostat-2016/</link><pubDate>Wed, 28 Sep 2016 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/2016-09-28-geostat-2016/</guid><description>&lt;p>Last week I went to &lt;a href="http://geostat-course.org/2016" target="_blank" rel="noopener">GEOSTAT 2016&lt;/a>. Given the amount of fun had at &lt;a href="http://robinlovelace.net/r/2015/08/31/geostat-writeup.html" target="_blank" rel="noopener">GEOSTAT 2015&lt;/a>, expectations were high. The local organisers did not disappoint, with a week of lectures, workshops, spatial data competitions and of course lots of Geostatistics. It would be unwise to try to systematically document such a diverse range of activities, and the &lt;a href="http://geostat-course.org/node" target="_blank" rel="noopener">GEOSTAT website&lt;/a> provides much further info. Instead this &amp;lsquo;miniwriteup&amp;rsquo; is designed to summarise some of my memories from the event, and encourage you to get involved for GEOSTAT 2017.&lt;/p>
&lt;p>To put things in context, the first session was a brief overview of the history of GEOSTAT. This is the 12&lt;sup>th&lt;/sup> GEOSTAT summer school. In some ways GEOSTAT can be seen as a physical manifestation of the lively &lt;a href="https://stat.ethz.ch/mailman/listinfo/r-sig-geo" target="_blank" rel="noopener">R-SIG-GEO email list&lt;/a>. That may not sound very exciting. But there is a strong community spirit at the event and, unlike other academic conferences, the focus is on practical learning rather than transmitting research findings or theories. And the event was so much more than that.&lt;/p>
&lt;p>There were 5 action packed days covering many topics within the broad field of Geostatistics. What follows is an overview of each that I went to (there were 2 streams), with links to the source material. It is hoped that this will be of use to people who were not present in person.&lt;/p>
&lt;h2 id="day-1">Day 1&lt;/h2>
&lt;p>After an introduction to the course and spatial data by Tom Hengl, Roger Bivand delivered a technical and applied webinar on &lt;a href="http://geostat-course.org/system/files/geostat_talk16.pdf" target="_blank" rel="noopener">bridges between R and other GIS software&lt;/a>. With a focus on GRASS, we learned how R could be used as a &amp;lsquo;front end&amp;rsquo; to other programs. An example using the famous &amp;lsquo;Cholera pump&amp;rsquo; data mapped by &lt;a href="https://en.wikipedia.org/wiki/John_Snow" target="_blank" rel="noopener">John Snow&lt;/a> was used to demonstrate the potential benefits of &amp;lsquo;bridging&amp;rsquo; to other software. The data can be downloaded and partially plotted in R as follows:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">u&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;http://geostat-course.org/system/files/data_0.zip&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">download.file&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">u&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s">&amp;#34;data_0.zip&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">unzip&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;data_0.zip&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">old&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">setwd&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;~/repos/geostat2016-rl/&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">library&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">raster&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;pre>&lt;code>## Loading required package: sp
&lt;/code>&lt;/pre>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">bbo&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">shapefile&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;data/bbo.shp&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">buildings&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">shapefile&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;data/buildings.shp&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">deaths&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">shapefile&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;data/deaths.shp&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">b_pump&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">shapefile&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;data/b_pump.shp&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">nb_pump&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">shapefile&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;data/nb_pump.shp&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">buildings&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://github.com/npct/pct/raw/master/figures/unnamed-chunk-3-1.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">setwd&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">old&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>In the afternoon Robert Hijmans gave a high level overview of software for spatial data analysis, with a discussion of the &lt;a href="http://www.diva-gis.org/" target="_blank" rel="noopener">Diva GIS&lt;/a> software he developed and why he now uses R for most of his geospatial analysis.&lt;/p>
&lt;p>The talk touched on the &lt;a href="https://cran.r-project.org/web/packages/gdistance/" target="_blank" rel="noopener">&lt;strong>gdistance&lt;/strong>&lt;/a> package, and many others. Robert showcased the power of R for understanding major civilisational problems such as the impacts of climate change on agriculture. His animated global maps of agricultural productivity and precipitation showed how R can scale to tackle large datasets, up to the global level involving spatial and temporal data simultaneously.&lt;/p>
&lt;p>There were a few political asides. Robert mentioned how agrotech giant Monsanto paid almost &lt;a href="https://www.fastcoexist.com/3019387/why-monsanto-just-spent-1-billion-to-buy-a-climate-data-company" target="_blank" rel="noopener">$1 billion&lt;/a> for a weather prediction company. He detoured deftly through a discussion of &amp;lsquo;big data&amp;rsquo;, making the observation that often ensembles of models can provide better predictions than any single model working on its own, with political analogies about the importance of democracy.&lt;/p>
&lt;p>More examples included health and estimates of dietary deficiencies at high levels of geographic resolution. A paper showing fish and fruit consumption across Rwanda illustrated how map making in R, used intelligently, can save lives.&lt;/p>
&lt;p>It was revealing to learn how Robert got into R. While he was working at the &lt;a href="http://irri.org/" target="_blank" rel="noopener">International Rice Research Institute&lt;/a>. &amp;ldquo;It forces you to write scripts.&amp;rdquo; This is good for ensuring reproducibility, a critical component of scientific research. It encourages you to focus on and understand the data primarily, rather than visualising it. On the other hand, R is not always the fastest way to do things, although &amp;ldquo;people often worry too much about this&amp;rdquo;. Your time is more important than your computers, so setting an analysis running is fine. Plus there are ways to make things run faster, as mentioned in a book that I&amp;rsquo;m working on, &lt;a href="https://csgillespie.github.io/efficientR/" target="_blank" rel="noopener">Efficient R Programming&lt;/a>.&lt;/p>
&lt;blockquote>
&lt;p>R is great if you use it every data, but if you only use it less than once a week it becomes difficult.&lt;/p>
&lt;/blockquote>
&lt;p>If you just want a one-off spatial analysis data program, Robert recommended QGIS. After a brief overview of spatial data in R, Robert moved on to talk about the &lt;a href="https://cran.r-project.org/web/packages/raster/index.html" target="_blank" rel="noopener">&lt;strong>raster&lt;/strong>&lt;/a> package, which he developed. This package was developed to overcome some of the limitations with &lt;strong>sp&lt;/strong>, the foundational package for spatial data in R.&lt;/p>
&lt;!-- This led on to discussion of C++ code, which Robert is increasingly developing in to extend **raster**. Here is a brief benchmark to show how much faster C++ code can be: -->
&lt;!-- ```{r} -->
&lt;!-- sumR = function(x){ -->
&lt;!-- b = NULL -->
&lt;!-- for(i in 1:length(x)){ -->
&lt;!-- b = b + a[i] -->
&lt;!-- } -->
&lt;!-- } -->
&lt;!-- ``` -->
&lt;!-- ```{r, engine='cpp', eval=FALSE} -->
&lt;!-- library(Rcpp) -->
&lt;!-- cppFunction(code = -->
&lt;!-- "// [[Rcpp::export]] -->
&lt;!-- double cumulater(std::vector&lt;doubl>d) { -->
&lt;!-- int n = x.size(); -->
&lt;!-- double result = 0; -->
&lt;!-- for (int i=0;i &lt; n; i++) { -->
&lt;!-- result = result + d[i]; -->
&lt;!-- } -->
&lt;!-- double r = cumulater(v) -->
&lt;!-- }return r;") -->
&lt;!-- ``` -->
&lt;!-- According to Robert, once you can write R functions, "writing C++ functions is relatively easy". While I'm not quite convinced, based on the number of characters needed to write a simple sum code, he certainly convinced me of the merits of developing new spatial functions in this low level language, because of its speed and the fact that it's the main development language of GDAL. -->
&lt;p>A final resource that Robert promoted was &lt;a href="http://www.rspatial.org/" target="_blank" rel="noopener">RSpatial.org&lt;/a>, a free online resource for teaching R as a command line GIS.&lt;/p>
&lt;p>Edzer Pebesmer delivered the final session of the first day, on &lt;strong>Free and Open Source Software (FOSS) for Geoinformatics and Geosciences&lt;/strong>. After the highly technical final C++ examples from the previous talk, I was expecting a high level overview of the landscape. Instead Edzer went straight in to talk about source code, the raw material that defines all software. The fundamental feature of open source software is that its source code is free, and will remain free.&lt;/p>
&lt;!-- An example of this is Apple, the most profitable computer company on Earth, used parts of the BSD kernel in its proprietary operating system. -->
&lt;!-- Another feature of open source software is that it must have a license. It has a legal meaning, the details of which vary from licence to license. By deciding a license, you can choose whether you use a more *restrictive* license (which prevents people from using the software in software that is solved) or a more *permisive* license. R's 'backend' is licensed -->
&lt;!-- GPL is used for R's. ESRI is now using R as a back-end in commercial software. Its lawers have explored the legal implications of this and concluded that it is not breaking the law by doing so. -->
&lt;!-- GitHub is an online system for developing open source software. It is free to use, but some of the best things in GitHub are not open source. Edzer says that the advantages of using their service, in terms of community engagement and ease of use and accessibility, currently outweigh any potential future disbenefits of GitHub not being completely open source. -->
&lt;!-- Another example is open source software for geosciences. Researchers may want to make their software open for anyone to use, while remaining protected from exploitation from large companies like oil com -->
&lt;h2 id="day-2">Day 2&lt;/h2>
&lt;p>The second day of the course was divided in two: stream A focussed on environmental modelling and stream B compositional data. I attended the environmental modelling course taught by Robert Hijmans. The course was based on his teaching material at &lt;a href="http://rspatial.org/spatial/index.html" target="_blank" rel="noopener">rspatial.org&lt;/a> and can be found &lt;a href="http://gfc.ucdavis.edu/events/albacete/day2.html" target="_blank" rel="noopener">online&lt;/a>.&lt;/p>
&lt;p>We started off by looking at the fundamental data structures underlying spatial data in R. Why? It&amp;rsquo;s useful to be able to create simple example datasets from scratch, to understand them.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">library&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">sp&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">x&lt;/span> &lt;span class="o">&amp;lt;-&lt;/span> &lt;span class="nf">c&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="m">4&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="m">7&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="m">3&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="m">8&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">y&lt;/span> &lt;span class="o">&amp;lt;-&lt;/span> &lt;span class="nf">c&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="m">9&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="m">6&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="m">12&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="m">11&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">xy&lt;/span> &lt;span class="o">&amp;lt;-&lt;/span> &lt;span class="nf">data.frame&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">y&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">SpatialPoints&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">xy&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;pre>&lt;code>## class : SpatialPoints
## features : 4
## extent : 3, 8, 6, 12 (xmin, xmax, ymin, ymax)
## coord. ref. : NA
&lt;/code>&lt;/pre>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">d&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">data.frame&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">v1&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="m">1&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="m">4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">v2&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="kc">LETTERS&lt;/span>&lt;span class="n">[1&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="m">4&lt;/span>&lt;span class="n">]&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">spd&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">SpatialPointsDataFrame&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">coords&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">xy&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">data&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">d&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">spd&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://github.com/npct/pct/raw/master/figures/unnamed-chunk-6-1.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>The basic functions of the &lt;strong>raster&lt;/strong> package are similar.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">library&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">raster&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">r&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">raster&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">nc&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="m">10&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">nr&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="m">10&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">values&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">r&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="m">1&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="nf">ncell&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">r&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">r&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://github.com/npct/pct/raw/master/figures/unnamed-chunk-7-1.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">as.matrix&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">r&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;pre>&lt;code>## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
## [1,] 1 2 3 4 5 6 7 8 9 10
## [2,] 11 12 13 14 15 16 17 18 19 20
## [3,] 21 22 23 24 25 26 27 28 29 30
## [4,] 31 32 33 34 35 36 37 38 39 40
## [5,] 41 42 43 44 45 46 47 48 49 50
## [6,] 51 52 53 54 55 56 57 58 59 60
## [7,] 61 62 63 64 65 66 67 68 69 70
## [8,] 71 72 73 74 75 76 77 78 79 80
## [9,] 81 82 83 84 85 86 87 88 89 90
## [10,] 91 92 93 94 95 96 97 98 99 100
&lt;/code>&lt;/pre>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">q&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">sqrt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">r&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">q&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://github.com/npct/pct/raw/master/figures/unnamed-chunk-7-2.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">x&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">q&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">r&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">s&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">stack&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">r&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">q&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">x&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">ss&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">s&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="n">r&lt;/span> &lt;span class="c1"># r is recycled so each layer is multiplied by r&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="m">1&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="m">3&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="m">2&lt;/span> &lt;span class="c1"># here 2 is recycled&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;pre>&lt;code>## [1] 2 4 6
&lt;/code>&lt;/pre>
&lt;p>Raster also provides simple yet powerful functions for manipulating and analysing raster data, including &lt;code>crop()&lt;/code>, &lt;code>merge()&lt;/code> for manipulation and &lt;code>predict()&lt;/code>, &lt;code>focal()&lt;/code> and &lt;code>distance()&lt;/code>. &lt;code>predict()&lt;/code> is particularly interesting as it allows raster values to be estimated using any of R&amp;rsquo;s powerful statistical methods.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">library&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">dismo&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">g&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">gmap&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Albacete, Spain&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">scale&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="bp">T&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">lonlat&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="bp">T&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;pre>&lt;code>## Loading required namespace: XML
&lt;/code>&lt;/pre>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">g&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">interpolate&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="bp">T&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://github.com/npct/pct/raw/master/figures/unnamed-chunk-9-1.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://github.com/npct/pct/raw/master/figures/unnamed-chunk-9-2.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="n">dismo&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="nf">geocode&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Universidad Castilla la Mancha&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;pre>&lt;code>## originalPlace
## 1 Universidad Castilla la Mancha
## interpretedPlace longitude
## 1 Paseo Universidad, 13005 Ciudad Real, Cdad. Real, Spain -3.921711
## latitude xmin xmax ymin ymax uncertainty
## 1 38.99035 -3.922007 -3.919309 38.98919 38.99189 131
&lt;/code>&lt;/pre>
&lt;!-- Supervised learning is the process of allowing a computer to estimate predictor variables based on explanatory variables. -->
&lt;!-- There are 2 main things to consider when model fitting: the functional form to use and the explanatory variables X. -->
&lt;!-- We worked through a practical on spatial interpolation from [rspatial.org](http://rspatial.org/analysis/rst/4-interpolation.html): -->
&lt;!-- ```{r} -->
&lt;!-- dir.create("data") -->
&lt;!-- download.file("http://rspatial.org/analysis/data/precipitation.csv", "data/precipitation.csv") -->
&lt;!-- d = read.csv("data/precipitation.csv") -->
&lt;!-- d$prec &lt;- rowSums(d[, c(6:17)]) -->
&lt;!-- plot(sort(d$prec), ylab='Annual precipitation (mm)', las=1, xlab='Stations') -->
&lt;!-- library(sp) -->
&lt;!-- dsp &lt;- SpatialPoints(d[,4:3], proj4string=CRS("+proj=longlat +datum=NAD83")) -->
&lt;!-- dsp &lt;- SpatialPointsDataFrame(dsp, d) -->
&lt;!-- download.file("http://rspatial.org/analysis/data/counties.rds", "data/counties.rds") -->
&lt;!-- CA &lt;- readRDS("data/counties.rds") -->
&lt;!-- # define groups for mapping -->
&lt;!-- cuts &lt;- c(0,200,300,500,1000,3000) -->
&lt;!-- # set up a palette of interpolated colors -->
&lt;!-- blues &lt;- colorRampPalette(c('yellow', 'orange', 'blue', 'dark blue')) -->
&lt;!-- pols &lt;- list("sp.polygons", CA, fill = "lightgray") -->
&lt;!-- spplot(dsp, 'prec', cuts=cuts, col.regions=blues(5), sp.layout=pols, pch=20, cex=2) -->
&lt;!-- TA &lt;- CRS("+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +datum=NAD83 +units=m +ellps=GRS80 +towgs84=0,0,0") -->
&lt;!-- library(rgdal) -->
&lt;!-- dta &lt;- spTransform(dsp, TA) -->
&lt;!-- cata &lt;- spTransform(CA, TA) -->
&lt;!-- ``` -->
&lt;!-- Now the modelling work can begin. -->
&lt;!-- ```{r} -->
&lt;!-- # First create a function to calculate the error: -->
&lt;!-- RMSE &lt;- function(observed, predicted) { -->
&lt;!-- sqrt(mean((predicted - observed)^2, na.rm=TRUE)) -->
&lt;!-- } -->
&lt;!-- null &lt;- RMSE(mean(dsp$prec), dsp$prec) -->
&lt;!-- null -->
&lt;!-- library(dismo) -->
&lt;!-- v &lt;- voronoi(dta) -->
&lt;!-- ## Loading required namespace: deldir -->
&lt;!-- plot(dsp) -->
&lt;!-- plot(v) -->
&lt;!-- points(dta, col = "red") -->
&lt;!-- ca = aggregate(cata) -->
&lt;!-- plot(ca) -->
&lt;!-- vca = intersect(v, ca) -->
&lt;!-- plot(vca) -->
&lt;!-- vca2 = rgeos::gIntersection(v, ca, byid = T) -->
&lt;!-- names(vca2) -->
&lt;!-- plot(vca2) # not the same! -->
&lt;!-- plot(vca) -->
&lt;!-- names(vca) -->
&lt;!-- ``` -->
&lt;!-- Testing a first model -->
&lt;!-- ```{r} -->
&lt;!-- kf = kfold(dta@data) -->
&lt;!-- rmse = NULL -->
&lt;!-- for(k in 1:length(unique(kf))){ -->
&lt;!-- test = dta[kf == k,] -->
&lt;!-- train = dta[kf != k,] -->
&lt;!-- v = voronoi(train) -->
&lt;!-- p = extract(v, test) -->
&lt;!-- rmse[k] = RMSE(observed = test$prec, predicted = p$prec) -->
&lt;!-- } -->
&lt;!-- rmse -->
&lt;!-- ``` -->
&lt;h2 id="day-3">Day 3&lt;/h2>
&lt;p>The third day started with a live R demo by Edzer Pebesmer on &lt;a href="https://edzer.github.io/UseR2016/" target="_blank" rel="noopener">space-time data&lt;/a>. Refreshingly for a conference primarily on spatial data, it started with an in-depth discussion of time. While base R natively supports temporal units (knowing the difference between days and seconds, for example) it does not know the difference between metres and miles.&lt;/p>
&lt;p>This led to the creation of the &lt;strong>units&lt;/strong> library, an taster of which is shown below:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">install.packages&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;units&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-r" data-lang="r">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">library&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">units&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">m&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">with&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">ud_units&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">m&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">s&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">with&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">ud_units&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">s&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">km&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">with&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">ud_units&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">km&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">h&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">with&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">ud_units&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">h&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">x&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="m">1&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="m">3&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="n">m&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">s&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The rest of the day was spent analysing a range of spatio-temporal datasets using &lt;strong>spacetime&lt;/strong>, &lt;strong>trajectories&lt;/strong> and &lt;strong>rgl&lt;/strong> for interactive 3d spacetime plots.&lt;/p>
&lt;p>In the parallel session there were sessions on &lt;a href="http://geostat-course.org/node/1328" target="_blank" rel="noopener">CARTO&lt;/a> and the &lt;a href="http://geostat-course.org/node/1329" target="_blank" rel="noopener">R gvSIG bridge&lt;/a>.&lt;/p>
&lt;h2 id="day-4">Day 4&lt;/h2>
&lt;p>Day 4 was a highlight for me as I&amp;rsquo;ve wanted to learn how to use the &lt;strong>INLA&lt;/strong> package for ages. It was explained lucidly by Marta Blangiardo and Michela Cameletti, who have written an excellent book on the subject, which has a &lt;a href="https://sites.google.com/a/r-inla.org/stbook/" target="_blank" rel="noopener">website that I recommend checking out&lt;/a>. Their materials can be found here: &lt;a href="http://geostat-course.org/node/1330" target="_blank" rel="noopener">http://geostat-course.org/node/1330&lt;/a> .&lt;/p>
&lt;p>In parallel to this there was a session on &lt;a href="http://geostat-course.org/node/1326" target="_blank" rel="noopener">Spatial and Spatiotemporal point process analysis in R&lt;/a> data in R by Virgilio Gomez Rubio and one on automated &lt;a href="http://geostat-course.org/node/1323" target="_blank" rel="noopener">spatial prediction and visualisation&lt;/a> by Tom Hengl.&lt;/p>
&lt;h2 id="day-5">Day 5&lt;/h2>
&lt;p>After all that intense geospatial analysis and programming activity, and a night out in Albacete for some participants, we were relieved to learn that this final day of learning was more relaxed. Furthermore, by tradition, it was largely participant-led. I gave a talk on &lt;a href="https://csgillespie.github.io/efficientR/" target="_blank" rel="noopener">Efficient R Programming&lt;/a>, a book I&amp;rsquo;ve written in collaboration with Colin Gillespie; Teresa Rojos gave a fascinating talk about her research into the spatial distribution of cancer rates in Peru; and S.J. Norder gave us the low-down on the Biogeography of islands with R.&lt;/p>
&lt;p>One of the most exciting sessions was the revelation of the results of the spatial prediction game. Interestingly, a team using a relatively simple approach with &lt;a href="https://cran.r-project.org/web/packages/randomForestSRC/index.html" target="_blank" rel="noopener">&lt;strong>randomForestSRC&lt;/strong>&lt;/a> (and &lt;a href="https://github.com/ehrlinger/ggRandomForests" target="_blank" rel="noopener">&lt;strong>ggRandomForests&lt;/strong>&lt;/a> for visualisation) one against others who had spent hours training complex multi-level models.&lt;/p>
&lt;h2 id="summary">Summary&lt;/h2>
&lt;p>Overall it was an amazing event and inspiring to spend time with so many researchers using open geospatial software for tackling &lt;a href="https://t.co/UqMyCnXOsG" target="_blank" rel="noopener">pressing real world issues&lt;/a>. Furthermore, it was great fun. I strongly recommend people dipping their toes in the &lt;a href="https://cran.r-project.org/web/views/Spatial.html" target="_blank" rel="noopener">sea of spatial capabilities&lt;/a> provided by R check out the &lt;a href="http://geostat-course.org/node" target="_blank" rel="noopener">GEOSTAT website&lt;/a>, not least for the excellent &lt;a href="http://archive.org/search.php?query=GEOSTAT" target="_blank" rel="noopener">video resources to be found there&lt;/a>.&lt;/p>
&lt;p>I look forward to hearing plans for future GEOSTATs and recommend the event, and associated materials, to researchers interested in using free geospatial software for the greater good.&lt;/p></description></item><item><title>A Path Toward the Use of Trail Users’ Tweets to Assess Effectiveness of the Environmental Stewardship Scheme: An Exploratory Analysis of the Pennine Way National Trail</title><link>https://robinlovelace.net/old-site/publication/wilson-path-2016/</link><pubDate>Tue, 02 Aug 2016 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/wilson-path-2016/</guid><description/></item><item><title>Keynote: Cycling and transport policy</title><link>https://robinlovelace.net/old-site/talk/hackney-keynote/</link><pubDate>Fri, 10 Jun 2016 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/hackney-keynote/</guid><description>&lt;p>Invited keynote lecture titled &lt;em>Cycling and transport policy: embedding active travel in every stage of the planning process&lt;/em>, at the &lt;a href="https://hackney.gov.uk/cycling-conference" target="_blank" rel="noopener">Hackney Cycling Conference&lt;/a>&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://rpubs.com/RobinLovelace/188175" target="_blank" rel="noopener">Slides&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Cycling Promotion Schemes and Long-Term Behavioural Change: A Case Study from the University of Sheffield</title><link>https://robinlovelace.net/old-site/publication/uttley-cycling-2016/</link><pubDate>Fri, 01 Jan 2016 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/uttley-cycling-2016/</guid><description/></item><item><title>Efficient R Programming: A Practical Guide to Smarter Programming</title><link>https://robinlovelace.net/old-site/publication/gillespie-efficient-2016/</link><pubDate>Fri, 01 Jan 2016 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/gillespie-efficient-2016/</guid><description/></item><item><title>From Big Noise to Big Data: Toward the Verification of Large Data Sets for Understanding Regional Retail Flows</title><link>https://robinlovelace.net/old-site/publication/lovelace-big-2016/</link><pubDate>Fri, 01 Jan 2016 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-big-2016/</guid><description/></item><item><title>Mapping out the Future of Cycling</title><link>https://robinlovelace.net/old-site/publication/lovelace-mapping-2016/</link><pubDate>Fri, 01 Jan 2016 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-mapping-2016/</guid><description/></item><item><title>Spatial Microsimulation with R</title><link>https://robinlovelace.net/old-site/publication/lovelace-spatial-2016/</link><pubDate>Fri, 01 Jan 2016 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-spatial-2016/</guid><description/></item><item><title>Who, Where, When: The Demographic and Geographic Distribution of Bicycle Crashes in West Yorkshire</title><link>https://robinlovelace.net/old-site/publication/lovelace-who-2016/</link><pubDate>Fri, 01 Jan 2016 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-who-2016/</guid><description/></item><item><title>Evaluating the Performance of Iterative Proportional Fitting for Spatial Microsimulation: New Tests for an Established Technique</title><link>https://robinlovelace.net/old-site/publication/lovelace-evaluating-2015/</link><pubDate>Sun, 01 Mar 2015 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-evaluating-2015/</guid><description/></item><item><title>R vs QGIS for sustainable transport planning</title><link>https://robinlovelace.net/old-site/post/2015-04-20-r-vs-qgis-for-transport/</link><pubDate>Tue, 20 Jan 2015 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/2015-04-20-r-vs-qgis-for-transport/</guid><description>&lt;p>The 23rd iteration of the GIS Research UK conference
(&lt;a href="https://github.com/Robinlovelace/stplanr" target="_blank" rel="noopener">#GISRUK&lt;/a>)
conference was the largest ever. 250 researchers,
industry representatives and academics attended from the
vibrant geospatial research communities in the
UK, Europe and beyond. GISRUK has become a centrepoint for discussion
of new methods, software and applications in the field. I
was on the &lt;a href="http://leeds.gisruk.org/contact.html" target="_blank" rel="noopener">organising committee&lt;/a>,
reviewed some excellent papers for the event
(a full list of these is
&lt;a href="http://leeds.gisruk.org/programme.html" target="_blank" rel="noopener">available for download here&lt;/a>) and
attended some truly ground-breaking talks.
This experience has shown that the geospatial community
in the UK is strong,
especially with regards to growth in open access
data and open source software in the field.&lt;/p>
&lt;p>&lt;a href="https://www.flickr.com/photos/97888609@N02/17025120518" title="img_2814 by Robin Lovelace, on Flickr">&lt;img src="https://farm6.staticflickr.com/5450/17025120518_ebfba47bff_s.jpg" width="75" height="75" alt="img_2814">&lt;/a>&lt;/p>
&lt;p>This article is about one part of GISRUK and insights gleaned from it
about R, QGIS and other tools for sustainable transport planning.
&lt;a href="https://github.com/Robinlovelace/GIS4TA" target="_blank" rel="noopener">GIS for Transport Applications&lt;/a>
(&lt;a href="https://twitter.com/hashtag/gis4ta?src=hash" target="_blank" rel="noopener">#GIS4TA for short&lt;/a>) was a practical day-long workshop
that preceded the main event.
I organised the workshop and (with help from
&lt;a href="http://www.geog.leeds.ac.uk/people/e.odiari" target="_blank" rel="noopener">Eusebio Odiari&lt;/a>,
&lt;a href="https://tgrg.wordpress.com/" target="_blank" rel="noopener">The Transport Geography Research Group&lt;/a>
and the
&lt;a href="http://www.rgs.org/HomePage.htm" target="_blank" rel="noopener">Royal Geographical Society&lt;/a>)
it seems to have been a great success. More than 30
people attended, including a decent portion
from transport consultancies such as
&lt;a href="http://www.itpworld.net/index.html" target="_blank" rel="noopener">Integrated Transport Planning Ltd&lt;/a>
&lt;a href="http://www.trpconsult.com/" target="_blank" rel="noopener">TRP Consulting&lt;/a> and the
&lt;a href="http://www.era.europa.eu/Pages/Home.aspx" target="_blank" rel="noopener">European Railway Association (ERA)&lt;/a>.
Specifically, it is about the use of R
and QGIS tools for transport planning and the potential for their
adoption in academic, public and private-sector transport planning.
The focus of the workshop was deliberately on open source software
and sustainable transport because these are growth
areas in the field that are essential for
democratic
and healthy
transport systems compatible with the
science of climate change (&lt;a href="http://www.opentraffic.net/en/">&lt;span class="citation">Tamminga, 2012&lt;/span>&lt;/a>).
A recent report, for example, suggests we need to almost completely
transition away from fossil fuels by 2050
(&lt;a href="http://dx.doi.org/10.1038/nature14016" target="_blank" rel="noopener">McGlade et al., 2015&lt;/a>).
New datasets and methods for analysing and modelling them can
help get us there in the recalcitrant transport sector
(&lt;a href="http://dx.doi.org/10.1016/j.jtrangeo.2014.07.010" target="_blank" rel="noopener">Gossling, 2014&lt;/a>).&lt;/p>
&lt;h1 id="r-for-transport-applications">R for transport applications&lt;/h1>
&lt;p>The workshop kicked-off with a short
talk on &amp;lsquo;R and QGIS for transport applications&amp;rsquo;,
which laid out some of the motivations for running the
workshop outlined above. Other than a few
&amp;rsquo;early adopters&amp;rsquo;, the transport modelling community
is generally conservative, based largely on mature
proprietary products such as
&lt;a href="http://www.saturnsoftware.co.uk/7.html" target="_blank" rel="noopener">SATURN&lt;/a>
and
&lt;a href="http://vision-traffic.ptvgroup.com/en-us/products/ptv-vissim/" target="_blank" rel="noopener">Vissim&lt;/a>.&lt;/p>
&lt;p>The slides from this talk are available here:&lt;/p>
&lt;script async class="speakerdeck-embed" data-id="91fce9cf5c36405b8969c6b6954c4fe6" data-ratio="1.41436464088398" src="//speakerdeck.com/assets/embed.js">&lt;/script>
&lt;p>&lt;strong>Tutorial: &lt;a href="https://github.com/Robinlovelace/GIS4TA/releases/download/0.1/intro-r-qgis-4ta.pdf" target="_blank" rel="noopener">Introduction to R and QGIS for transport applications&lt;/a>&lt;/strong>&lt;/p>
&lt;h1 id="routing-with-r">Routing with R&lt;/h1>
&lt;p>The second talk was by Nick Bearman, who provided an overview of
routing in R, as well as an excellent
&lt;a href="https://github.com/nickbearman/transport-workshop/blob/master/transport-workshop.pdf" target="_blank" rel="noopener">practical tutorial&lt;/a>.&lt;/p>
&lt;p>The practical demonstrated 2 ways of routing in R:&lt;/p>
&lt;ol>
&lt;li>Using &lt;strong>ggmap&lt;/strong>. The following code was used to navigate to the event!&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">from &amp;lt;- &amp;#39;Leeds station, New Station Street, Leeds LS1 5DL, United Kingdom&amp;#39;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">to &amp;lt;- &amp;#39;LS2 9JT&amp;#39;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">route_df &amp;lt;- route(from, to, structure = &amp;#39;route&amp;#39;, mode = &amp;#39;walking&amp;#39;)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">qmap(&amp;#39;Merrion Centre&amp;#39;, zoom = 15) +
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> geom_path(
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> aes(x = lon, y = lat), colour = &amp;#39;red&amp;#39;, size = 1.5,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> data = route_df, lineend = &amp;#39;round&amp;#39;)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://github.com/Robinlovelace/robinlovelace.github.io/raw/master/_posts/writeup_files/figure-html/unnamed-chunk-2-1.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;ol start="2">
&lt;li>The &lt;a href="https://github.com/Robinlovelace/stplanr" target="_blank" rel="noopener">package I created, &lt;strong>stplanr&lt;/strong>&lt;/a>,
to get routes optimised for cyclists (see &lt;a href="https://github.com/nickbearman/transport-workshop/blob/master/transport-workshop.Rmd" target="_blank" rel="noopener">transport-workshop.Rmd&lt;/a> for a working version):&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">rquiet &amp;lt;- gLines2CyclePath(l = rlines, plan = &amp;#34;quietest&amp;#34;)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">plot(rquiet[1,]) # route from Leeds station to Leeds University (North - South)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">plot(rquiet[2,]) # route from Leeds to Manchester!
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://github.com/Robinlovelace/robinlovelace.github.io/raw/master/_posts/writeup_files/figure-html/unnamed-chunk-4-1.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>&lt;strong>Tutorial: &lt;a href="https://github.com/nickbearman/transport-workshop/blob/master/transport-workshop.pdf" target="_blank" rel="noopener">Route analysis using R&lt;/a>&lt;/strong>&lt;/p>
&lt;h1 id="large-gps-datasets-with-postgis">Large gps datasets with PostGIS&lt;/h1>
&lt;p>The most technical session involved using R to query huge datasets storing
GPS data containing 100,000+ rows. Amazingly, Richard and Adrian Ellison
set up a remotely accessible database instance &lt;strong>from their laptop&lt;/strong> which
participants queried via
&lt;a href="http://cran.r-project.org/web/packages/RPostgreSQL/index.html" target="_blank" rel="noopener">&lt;strong>RPostgreSQL&lt;/strong>&lt;/a>.
Their session information can be seen here:&lt;/p>
&lt;p>&lt;a href="https://github.com/richardellison/GIS4TA_GPS" target="_blank" rel="noopener">&lt;strong>github.com/richardellison/GIS4TA_GPS&lt;/strong>&lt;/a>&lt;/p>
&lt;h1 id="a-hackathon">A hackathon&lt;/h1>
&lt;p>Finally there was a miniature hackathon organised by Godwin Yeboah.
Participants made progress in better understanding the travel
patterns of cyclists using real data. The hackathon notes can be found here:&lt;/p>
&lt;p>&lt;a href="https://github.com/spatialscientist/GIS4TA2015" target="_blank" rel="noopener">github.com/spatialscientist/GIS4TA2015&lt;/a>&lt;/p>
&lt;h1 id="summary">Summary&lt;/h1>
&lt;p>GIS is a field of knowledge that has a huge amount to offer transport
planners and researchers, especially regarding new and open source
software tools that can effectively generate, process and analyse
transport-related data. R is well-suited to fill this research gap and
has a wide range of tools to help. Packages such as &lt;strong>ggmap&lt;/strong>
(Kahle and Wickham 2013),
&lt;strong>RPostgreSQL&lt;/strong>
and the new &lt;a href="https://github.com/Robinlovelace/stplanr" target="_blank" rel="noopener">&lt;strong>stplanr&lt;/strong>&lt;/a>
have great potential to help plan the transport systems of the future.
QGIS is also increasingly attractive for transport applications, with
it inbuilt support for
&lt;a href="http://planet.qgis.org/planet/tag/pgrouting/" target="_blank" rel="noopener">PGRouting&lt;/a>,
&lt;a href="http://plugins.qgis.org/plugins/FlowMapper/" target="_blank" rel="noopener">flow analysis&lt;/a>
and a friendly user interface that many will be used to.&lt;/p>
&lt;p>Photos taken during the hackathon are testament to its role as a forum
for not only learning but also debate about the future of GIS in transport.
These can be seen here:&lt;/p>
&lt;p>&lt;a href="https://www.flickr.com/photos/97888609@N02/sets/72157652012715766" target="_blank" rel="noopener">flickr.com/photos/97888609@N02/sets/72157652012715766&lt;/a>&lt;/p>
&lt;p>Hearing feedback from users new to R using it to solve transport problems
provided an insight into how it compares to traditional tools. The removal
of &amp;lsquo;glass ceilings&amp;rsquo; imposed by restrictive licenses or the need to buy
&amp;lsquo;add-on&amp;rsquo; features was one comment, but that applies equally to QGIS and
other &lt;a href="http://foss4g.org/" target="_blank" rel="noopener">FOSS4G&lt;/a>
offerings. The steep learning curve of R seems to still
be an issue compared with QGIS, although this is becoming less of an issue
with the evolution of RStudio as an GUI for R. In conclusion, both R and
QGIS are coming of age as tools in the transport planner&amp;rsquo;s &amp;lsquo;war cabinet&amp;rsquo;.
The latest evidence unequivocally shows the impact of transport decisions
on obesity, environmental degradation and quality of life. So it is time,
surely, to harness this new open source software to &amp;lsquo;save the world&amp;rsquo;!&lt;/p>
&lt;h1 id="acknowledgements">Acknowledgements&lt;/h1>
&lt;p>Thanks to the Consumer Data Research Centre and the Royal Geographical
society for subsidising the event. Thanks to all the participants and
especially the demonstrators Godwin, Nick, Adrian and Richard for making it
happen.&lt;/p>
&lt;h1 id="references">References&lt;/h1>
&lt;p>Gössling, Stefan, and Scott Cohen. 2014. “Why sustainable transport policies will fail: EU climate policy in the light of transport taboos.” Journal of Transport Geography 39 (July). Elsevier Ltd: 197–207. doi:10.1016/j.jtrangeo.2014.07.010.&lt;/p>
&lt;p>Kahle, D, and Hadley Wickham. 2013. “ggmap: Spatial Visualization with ggplot2.” The R Journal 5: 144–61. &lt;a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.375.8693&amp;amp;rep=rep1&amp;amp;type=pdf" target="_blank" rel="noopener">citeseerx.ist.psu.edu&lt;/a>.&lt;/p>
&lt;p>McGlade, Christophe, and Paul Ekins. 2015. “The geographical distribution of fossil fuels unused when limiting global warming to 2 °C.” Nature 517 (7533). Nature Publishing Group: 187–90. doi:10.1038/nature14016.&lt;/p>
&lt;p>Tamminga, Guus, Marc Miska, Edgar Santos, Hans van Lint, Arturo Nakasone, Helmut Prendinger, and Serge Hoogendoorn. 2012. “Design of Open Source Framework for Traffic and Travel Simulation.” Transportation Research Record: Journal of the Transportation Research Board 2291 (-1): 44–52. doi:10.3141/2291-06.&lt;/p></description></item><item><title>Crowd Sourced vs Centralised Data for Transport Planning: A Case Study of Bicycle Path Data in the UK</title><link>https://robinlovelace.net/old-site/publication/lovelace-crowd-2015/</link><pubDate>Thu, 01 Jan 2015 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-crowd-2015/</guid><description/></item><item><title>Engineering in Development: Transport</title><link>https://robinlovelace.net/old-site/publication/lovelace-engineering-2015/</link><pubDate>Thu, 01 Jan 2015 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-engineering-2015/</guid><description/></item><item><title>Hint of Proper Funding for Cycling, but We Must Fight for It – with Evidence</title><link>https://robinlovelace.net/old-site/publication/lovelace-hint-2014/</link><pubDate>Wed, 01 Oct 2014 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-hint-2014/</guid><description/></item><item><title>Clipping spatial data in R</title><link>https://robinlovelace.net/old-site/post/2014-07-29-clipping-with-r/</link><pubDate>Tue, 29 Jul 2014 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/2014-07-29-clipping-with-r/</guid><description>&lt;h1 id="heading">&lt;/h1>
&lt;p>This miniature vignette shows how to clip spatial data based on different spatial objects in R and a &amp;lsquo;bounding box&amp;rsquo;. Spatial overlays are common in GIS applications and R users are fortunate that the clipping and spatial subsetting functions are mature and fairly fast. We&amp;rsquo;ll also write a new function called &lt;code>gClip()&lt;/code>, that will make clipping by bounding boxes easier.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://raw.githubusercontent.com/Robinlovelace/Creating-maps-in-R/master/vignettes/clipping-with-bounding-box_files/figure-markdown_github/Westminster.png" alt="plot of chunk Westminster" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h2 id="loading-the-data">Loading the data&lt;/h2>
&lt;p>To start with let&amp;rsquo;s load some data. I&amp;rsquo;m working in the root directory of the &lt;a href="https://github.com/Robinlovelace/Creating-maps-in-R" target="_blank" rel="noopener">Creating-maps-in-R&lt;/a> github repository, so there are some spatial datasets available to play with:&lt;/p>
&lt;pre>&lt;code>setwd(&amp;quot;../&amp;quot;)
library(rgdal)
stations &amp;lt;- readOGR(&amp;quot;data&amp;quot;, &amp;quot;lnd-stns&amp;quot;)
## OGR data source with driver: ESRI Shapefile
## Source: &amp;quot;data&amp;quot;, layer: &amp;quot;lnd-stns&amp;quot;
## with 2532 features and 27 fields
## Feature type: wkbPoint with 2 dimensions
zones &amp;lt;- readOGR(&amp;quot;data&amp;quot;, &amp;quot;london_sport&amp;quot;)
## OGR data source with driver: ESRI Shapefile
## Source: &amp;quot;data&amp;quot;, layer: &amp;quot;london_sport&amp;quot;
## with 33 features and 4 fields
## Feature type: wkbPolygon with 2 dimensions
&lt;/code>&lt;/pre>
&lt;h2 id="the-wonder-of-spatial-subsetting-in-r">The wonder of spatial subsetting in R&lt;/h2>
&lt;p>Now, it&amp;rsquo;s easy to &lt;strong>subset&lt;/strong> spatial data in R, using the same incredibly concise square bracket &lt;code>[]&lt;/code> notation as R uses for non spatial data. To re-confirm how this works on non-spatial data, here&amp;rsquo;s a mini example:&lt;/p>
&lt;pre>&lt;code>M &amp;lt;- matrix(1:10, ncol = 5)
M[2, 3:5]
## [1] 6 8 10
&lt;/code>&lt;/pre>
&lt;p>The above code creates a matrix with 5 columns and 2 rows: the &lt;code>[2, 3:5]&lt;/code> part takes the subset of &lt;code>M&lt;/code> corresponding to 3rd to 5th columns in the second row.&lt;/p>
&lt;p>Subsetting spatial data works in exactly the same way: note that &lt;code>zones&lt;/code> are far more extensive than the &lt;code>stations&lt;/code> points. (We have to change the projection of &lt;code>stations&lt;/code> before plotting, so the objects are on the same coordinate reference system.)&lt;/p>
&lt;pre>&lt;code>stations &amp;lt;- spTransform(stations, CRS(proj4string(zones))) # transform CRS
plot(zones)
points(stations)
&lt;/code>&lt;/pre>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://raw.githubusercontent.com/Robinlovelace/Creating-maps-in-R/master/vignettes/clipping-with-bounding-box_files/figure-markdown_github/unnamed-chunk-3.png" alt="plot of chunk unnamed-chunk-3" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>So how do we select only points that are are within the zones of London? Believe it or not, it&amp;rsquo;s as simple as subsetting the matrix &lt;code>M&lt;/code> above. This is an amazingly concise and convenient way of spatial subsetting that was added to R at some point between versions 1 and 2 of &lt;a href="http://www.asdar-book.org/" target="_blank" rel="noopener">Applied Spatial Data Analysis with R&lt;/a>. In the earlier (2008) book, one had to use &lt;code>overlay(x, y)&lt;/code> just to get the selection, and then another line of code was required to actually make the subset. Now things are much simpler. As Bivand et al. put it in the &lt;a href="http://www.springer.com/statistics/life&amp;#43;sciences,&amp;#43;medicine&amp;#43;%26&amp;#43;health/book/978-1-4614-7617-7" target="_blank" rel="noopener">latest edtion&lt;/a> (p. 131), &amp;ldquo;the selection syntax for features was extended such that it understands:&amp;rdquo;&lt;/p>
&lt;pre>&lt;code>stations_subset &amp;lt;- stations[zones, ]
&lt;/code>&lt;/pre>
&lt;p>&lt;strong>This is so amazing and intuitive, whoever invented it should be given a medal!!&lt;/strong> Despite this simplicity, it seems many R users who I&amp;rsquo;ve taught spatial functions to are unaware of &lt;code>[]&lt;/code>&amp;rsquo;s spatial extension. So spread the word (and if anyone knows of the history of this innovation, please let us know). Now we have a sample of all stations zones: progress.&lt;/p>
&lt;pre>&lt;code>plot(zones)
points(stations_subset)
&lt;/code>&lt;/pre>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://raw.githubusercontent.com/Robinlovelace/Creating-maps-in-R/master/vignettes/clipping-with-bounding-box_files/figure-markdown_github/unnamed-chunk-5.png" alt="plot of chunk unnamed-chunk-5" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h2 id="clipping-by-a-bounding-box">Clipping by a bounding box&lt;/h2>
&lt;p>But what if we want to &lt;em>clip&lt;/em> the polygons data, based on a bounding box? To start with, let&amp;rsquo;s look at and modify the existing bounding box for the zones, making it half the size:&lt;/p>
&lt;pre>&lt;code>b &amp;lt;- bbox(zones)
b[1, ] &amp;lt;- (b[1, ] - mean(b[1, ])) * 0.5 + mean(b[1, ])
b[2, ] &amp;lt;- (b[2, ] - mean(b[2, ])) * 0.5 + mean(b[2, ])
b &amp;lt;- bbox(t(b))
plot(zones, xlim = b[1, ], ylim = b[2, ])
&lt;/code>&lt;/pre>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://raw.githubusercontent.com/Robinlovelace/Creating-maps-in-R/master/vignettes/clipping-with-bounding-box_files/figure-markdown_github/unnamed-chunk-6.png" alt="plot of chunk unnamed-chunk-6" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>Now, to clip this area, we can use a custom function, which I&amp;rsquo;ve called &lt;code>gClip&lt;/code>, following the &lt;strong>rgeos&lt;/strong> function naming convention (this was inspired by an online &lt;a href="http://stackoverflow.com/questions/21883683/is-it-possible-to-clip-a-polygon-to-the-bounding-box-of-a-base-map" target="_blank" rel="noopener">answer&lt;/a> that didn&amp;rsquo;t work for me):&lt;/p>
&lt;pre>&lt;code>library(raster)
library(rgeos)
## rgeos version: 0.3-5, (SVN revision 447)
## GEOS runtime version: 3.4.2-CAPI-1.8.2 r3921
## Polygon checking: TRUE
gClip &amp;lt;- function(shp, bb){
if(class(bb) == &amp;quot;matrix&amp;quot;) b_poly &amp;lt;- as(extent(as.vector(t(bb))), &amp;quot;SpatialPolygons&amp;quot;)
else b_poly &amp;lt;- as(extent(bb), &amp;quot;SpatialPolygons&amp;quot;)
gIntersection(shp, b_poly, byid = T)
}
zones_clipped &amp;lt;- gClip(zones, b)
## Warning: spgeom1 and spgeom2 have different proj4 strings
plot(zones_clipped)
&lt;/code>&lt;/pre>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://raw.githubusercontent.com/Robinlovelace/Creating-maps-in-R/master/vignettes/clipping-with-bounding-box_files/figure-markdown_github/unnamed-chunk-7.png" alt="plot of chunk unnamed-chunk-7" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>Note that due to the &lt;code>if&lt;/code> statements in &lt;code>gClip&lt;/code>&amp;rsquo;s body, it can handle almost any spatial data input, and still work. Let&amp;rsquo;s clip to the borough of Westminster, one of London&amp;rsquo;s better known boroughs:&lt;/p>
&lt;pre>&lt;code>westminster &amp;lt;- zones[grep(&amp;quot;West&amp;quot;, zones$name),]
zones_clipped_w &amp;lt;- gClip(zones, westminster)
## Warning: spgeom1 and spgeom2 have different proj4 strings
plot(zones_clipped_w); plot(westminster, col = &amp;quot;red&amp;quot;, add = T)
&lt;/code>&lt;/pre>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://raw.githubusercontent.com/Robinlovelace/Creating-maps-in-R/master/vignettes/clipping-with-bounding-box_files/figure-markdown_github/Westminster.png" alt="plot of chunk Westminster" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h2 id="conclusion">Conclusion&lt;/h2>
&lt;p>There are many more spatial tips available from the &lt;a href="https://github.com/Robinlovelace/Creating-maps-in-R/raw/master/intro-spatial-rl.pdf" target="_blank" rel="noopener">Introduction to visualising
spatial data in
R&lt;/a>
tutorial that &lt;a href="http://spatial.ly/" target="_blank" rel="noopener">James Cheshire&lt;/a> and I are maintaining. The source code of this post can also be viewed &lt;a href="https://github.com/Robinlovelace/Creating-maps-in-R/blob/master/vignettes/clipping-with-bounding-box.Rmd" target="_blank" rel="noopener">online&lt;/a> as just one of a series of &lt;a href="https://github.com/Robinlovelace/Creating-maps-in-R/tree/master/vignettes" target="_blank" rel="noopener">vignettes&lt;/a> to showcase some of R&amp;rsquo;s impressive spatial capabilities.&lt;/p>
&lt;h2 id="update">Update&lt;/h2>
&lt;p>There was a lively discussion of this post when it was first published in 2016.
Although I&amp;rsquo;ve switched to a new commenting system, the comments, which include more history and a link to the commit that added spatial subsetting to the sp package, can be found here: &lt;a href="https://disqus.com/home/discussion/robinlovelace/clipping_spatial_data_in_r/" target="_blank" rel="noopener">https://disqus.com/home/discussion/robinlovelace/clipping_spatial_data_in_r/&lt;/a>&lt;/p></description></item><item><title>Review: Sage Handbook of Transport Studies, Jean-Paul Rodrigue, Theo Notteboom, Jon Shaw (Eds.). Sage, London (2013). £95, Hardback, ISBN: 978-1-84920-789-8</title><link>https://robinlovelace.net/old-site/publication/lovelace-review-2014/</link><pubDate>Thu, 01 May 2014 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-review-2014/</guid><description/></item><item><title>The Future Is Not What It Used To Be - Book review</title><link>https://robinlovelace.net/old-site/post/2014-01-28-future-not-book-review/</link><pubDate>Tue, 28 Jan 2014 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/2014-01-28-future-not-book-review/</guid><description>&lt;p>This is a review I was invited to write for &lt;a href="http://www.erica.demon.co.uk/EV.html" target="_blank" rel="noopener">Environmental Values&lt;/a>,
a journal for academics to publish their musings on the state of the
environment and what is to be done about it. I found the book good, but was
perhaps overly gushing in &lt;a href="http://www.erica.demon.co.uk/EV/reviews/76_Friedrichs.pdf" target="_blank" rel="noopener">my review&lt;/a>
on their website in hindsight. Why? Well since my review there have been
another couple of assessments from respected sources that are mixed to
say the least. Sarah Lester, writing for the
&lt;a href="http://blogs.lse.ac.uk/lsereviewofbooks/2013/12/20/book-review-the-future-is-not-what-it-used-to-be/" target="_blank" rel="noopener">LSE&amp;rsquo;s blog&lt;/a>
points out that when things get bad,
the logical reaction is not to ponder things and have an existential crisis
but to ACT. The second review, in the
&lt;a href="http://www.timeshighereducation.co.uk/books/the-future-is-not-what-it-used-to-be-climate-change-and-energy-scarcity-by-jrg-friedrichs/2007555.article" target="_blank" rel="noopener">Times Higher Education&lt;/a>
acknowledges the reasoning behind Friedrichs&amp;rsquo; pessimism but statest that
it&amp;rsquo;s simply not too late to give up. I take both points but would only add
that the book also has something important to offer optimists: a sober
reality check about the severity of the situation we&amp;rsquo;re in and a motivation
to make our actions more intelligently. All in all, I still stand by
everything I said in the original review, found below.&lt;/p>
&lt;h2 id="my-take-on-it">My take on it&lt;/h2>
&lt;p>The scope of the book is not only to explore the intertwined problems of climate change and peak oil, but also to assess the chances of an effective response. It becomes clear in the first few pages that The Future is a unique contribution. Many authors have written about the scale of the problem and bemoaned the lack of action; fewer have adequately explained inaction, or honestly appraised the likely impacts of collective failure. In a refreshingly stark and honest beginning to the book, Friedrichs sets out his aim, to “explain our inability to adequately grasp and confront our predicament” (p. viii). This review assesses the work on two levels: firstly it is assessed in its own terms - how well does it meet its aim? Secondly, I offer a more general assessment of the book&amp;rsquo;s worth, from the perspective of an optimistic environmental geographer eager for a &amp;lsquo;post-carbon&amp;rsquo; future.&lt;/p>
&lt;p>Few would question the importance of the former criterion: tackling the root causes of the &amp;lsquo;Long Emergency&amp;rsquo; of global industrial society is a challenge to which we must rise to create a liveable future (Kunstler 2006). The long-running debate will undoubtedly benefit from new perspectives and fresh assessments of the evidence. A more challenging question to ask of any book facing up to such grim realities yet targeted squarely at the &amp;rsquo;lay&amp;rsquo; public is whether it can actually be fun and accessible, whilst maintaining its rigour and commitment to the evidence. Impatient readers will be pleased to learn that the blunt answer is a decisive &amp;lsquo;yes&amp;rsquo;. The more subtle answer, of course, depends largely on the reader. It is therefore worth taking a quick detour to consider the type of person who might be interested such an ominous title.&lt;/p>
&lt;p>A small but committed group of people find books about the &amp;lsquo;big picture&amp;rsquo; to be addictive. One could be forgiven for thinking that such people are are narcissistic pessimists, flicking through each page alone at night, delighting in the Earth&amp;rsquo;s sorry state and egging-on its gradual demise. Humans are by nature optimistic beasts, so taking the world&amp;rsquo;s broad burdens onto our slender shoulders can seem to go against the grain. This is arguably especially so now that there is so much information about future threats: past apocalyptics had it comparatively easy, relying on magical interpretations of ancient texts and gut feeling. Now confronted with a vast and complex body of peer-reviewed literature from many fields suggesting that things are not going so well at the system level, the continued popularity of more leisurely exploits, such as golf or consumerism is understandable.&lt;/p>
&lt;p>On the other hand, others enjoy the challenge of confronting reality head-on, whatever it might throw up. Satisfaction and even life guidance can emerge from a broad perspective. Falling firmly into the latter category, I reacted with relish, not trepidation, when this hardback arrived on my desk. Having sought-out, read and even reviewed (see Lovelace 2011) equally charming titles such as The Long Descent (Greer 2008), Blackout (Heinberg 2009) and Escaping Vesuvius (Douthwaite 2011), I imagined Friedrich&amp;rsquo;s first book would be light hearted by comparison. It quickly dawned it would not. The author is unwilling to mince words or sugar-coat the message at any stage: “why is there so little being done about climate change and energy scarcity”, when each “has the potential of jeopardizing not only industrial society as we know it but … our core civilisational values” (p. viii)? Friedrichs proclaims that “Facing the future is not for wimps” (p. xi) and proceeds to tackle the world&amp;rsquo;s problems with a clipped, direct style. The tone is upbeat despite the subject matter.
After the bravado of this opening, the first chapter, in which the historical background of Limits to Growth and Malthusianism are described, could seem a little underwhelming to the experienced apocalyptic. Things quickly pick up in chapter two which presents, in impressive brevity, the scale of the energy security and climate change threats. Friedrich&amp;rsquo;s writing contains meticulous attention to detail, made more impressive by the scale and breadth of the topics he tackles. The topic of carbon lock-in exemplifies this detail: “If present trends continue, carbon lock-in is on track to rise to 100 percent by 2017” (p. 26), meaning that built infrastructure completed by 2017 alone will have the potential to exceed the &amp;lsquo;safe&amp;rsquo; 450 ppm CO2 targets, even if no additional roads, mines or power stations are built beyond that point. In comparison with authors who prefer to use abstract terms and metaphor to describe the same issues (e.g. Eisenstein 2012; Kunstler 2006), Friedrich&amp;rsquo;s insistence on evidence and precision is, again, refreshing.
The brilliance of the book lies in its ability to glean insight about the future from past precedent. Friedrich&amp;rsquo;s does not take this approach lightly and is fully aware of the method&amp;rsquo;s limitations: “careful inference from historical cases is the worst research strategy except for all others” (p. 83). Specifically, the author rebuts more narrowly &amp;lsquo;scientific&amp;rsquo; approaches as as pathway to envision the future: “An insistent critic might further object that formal modeling is a better strategy to study the social and political effects of disruptive energy scarcity. I respectfully disagree … it is an illusion to assume that modeling leads to more directly applicable and unequivocal results” (p. 82).&lt;/p>
&lt;p>What Friedrichs means by this is not that science is a weak foundation on which to construct visions of the future; simply that it has little to say on the political and economic changes resulting from more quantifiable features such as average temperatures and oil well depletion rates, that will likely have the largest impacts on peoples&amp;rsquo; lives.&lt;/p>
&lt;p>Chapters 3 and 4, which use past instances of climate change and energy scarcity as analogues for the future, respectively, are thus the core of the book. The former harnesses the archaeological record in Iceland and Greenland to illustrate how changes in temperature can wreak havoc on food supplies with knock-on consequences for socio-economic systems and culture. Friedrichs rejects environmental determinism, however: it was the society-level coping strategies of Icelandic culture that allowed it to survive the Little Ice Age.&lt;/p>
&lt;p>The most impressive use of the historical analogy is presented in the subsequent chapter. This builds on an academic paper (Friedrichs, 2011) to discuss the implications of previous societal reactions to fuel shocks to our own situation. Interwar Japan and post-Soviet North Korea and Cuba are used to exemplify three contrasting responses to rapid declines in oil availability: militarism, autarky and adaptation, respectfully. Again, Friedrich&amp;rsquo;s meticulous yet concise use of evidence is his saving grace here. Rather than wallow in whether or not we are &amp;lsquo;doomed&amp;rsquo;, a brisk description of what actually happened in these dramatic situations is harnessed to provide dense nuggets of insight about how different parts of the world might adapt to energy shortages or rationing. Although Cuba&amp;rsquo;s is clearly the most preferable, there is no attempt to gloss-over the hardships of community-driven coping strategies or the cynical merits of more totalitarian responses.&lt;/p>
&lt;p>These are informative analogies indeed. So why are we not acting on them? Why do we not take pre-emptive action to mitigate the inevitable future declines in energy consumption now rather than being forced to in the future? The answers are provided in chapter 6 which is, in my opinion the book&amp;rsquo;s finest and most important contribution. “The moral economy of inaction” is a sweeping synthesis of social and psychological explanations for lack of action to mitigation civilisation level crisis, despite mounting evidence of trouble ahead. Based on a paper published in Philosophical Psychology (Friedrichs, 2012), the chapter explains with clarity and force how human nature tends to focus on the &amp;lsquo;here and now&amp;rsquo;, pushing systemic problems into the future. Friedrichs masterfully employs metaphor to explain complex psychological processes in lay terms, concluding that denial has set-in and is extremely difficult to deal with.&lt;/p>
&lt;p>This chapter is disquieting because it contains the admission that climate and energy crises are seen by the author as intractable and that “we have already passed the point of no return” (p. 160). The interesting thing about this admission is that it can act, as Friedrich&amp;rsquo;s himself acknowledges, as a self-fulfilling prophecy - if the issues are seen as intractable, denial becomes a logical solution to minimise pain.&lt;/p>
&lt;p>Despite being a self-confessed pessimist, Friedrichs wrote the final chapter for optimists. “Where to go from here” rejects wishful Utopian thinking and sketches out what a solution would look like in the abstract terms: it must be global, involving “radical transformations of our political, legal and economic subsystems” (p. 172). There is a potential for terrible atrocities to occur as a result of future ‘eco-scarcity’ yet these depressing outcomes are far from inevitable. Hope can even be found in the case of collapse, as underlined by reference to Greer’s magnificent vision, The Ecotechnic Future (Greer 2009) in the book’s closing section.&lt;/p>
&lt;p>In summary, The Future is not what it used to be provides a potent antidote to wishful thinking about the scale of global problems and a brutally honest high-level assessment of humanity&amp;rsquo;s failure to act. For pessimists there is much to confirm one&amp;rsquo;s world-view and insight into how to avoid the traps of despair or denial. For optimists the book is a gruelling but ultimately enlightening experience. Falling into the latter camp, I found the book a dark masterpiece. A sober check against reckless hope, it contains a message that anyone interested in civilisation&amp;rsquo;s long-term future needs to hear.&lt;/p>
&lt;h2 id="references">References&lt;/h2>
&lt;p>Douthwaite, R. J., Heinberg, R., &amp;amp; Fallon, G. 2011. Fleeing Vesuvius: Overcoming the Risks of Economic and Environmental Collapse. New Society Publishers.&lt;/p>
&lt;p>Eisenstein, C. 2011. Sacred Economics: Money, Gift, and Society in the Age of Transition. Evolver Editions.&lt;/p>
&lt;p>Friedrichs, J. 2010. ‘Global energy crunch: How different parts of the world would react to a peak oil scenario’. Energy Policy, 38(8): 4562–4569.&lt;/p>
&lt;p>Friedrichs, J. 2012. ‘Useful lies: The twisted rationality of denial’. Philosophical Psychology, ahead of print.&lt;/p>
&lt;p>Greer, J. M. 2008. The Long Descent. New Society Publishers.&lt;/p>
&lt;p>Greer, J. M. 2009. The Ecotechnic Future: Envisioning a Post-Peak World. Aztext Press.&lt;/p>
&lt;p>Heinberg, R. 2009. Blackout: coal, climate and the last energy crisis. New Society Publishers.&lt;/p>
&lt;p>Kunstler, J. H. 2006. The Long Emergency: Surviving the End of Oil, Climate Change, and Other Converging Catastrophes of the Twenty-First Century. Grove/Atlantic.&lt;/p>
&lt;p>Lovelace, R. 2011. ‘The Ecotechnic Future’. Now Then, 37: April http://nowthenmagazine.com/issue-37/the-ecotechnic-future/&lt;/p></description></item><item><title>Geotagged Tweets to Inform a Spatial Interaction Model: A Case Study of Museums</title><link>https://robinlovelace.net/old-site/publication/lovelace-geotagged-2014/</link><pubDate>Wed, 01 Jan 2014 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-geotagged-2014/</guid><description/></item><item><title>Introducing Spatial Microsimulation with R: A Practical</title><link>https://robinlovelace.net/old-site/publication/lovelace-introducing-2014/</link><pubDate>Wed, 01 Jan 2014 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-introducing-2014/</guid><description/></item><item><title>Jornadas de SIG Libre: A European Digital Mapping Conference</title><link>https://robinlovelace.net/old-site/publication/lovelace-jornadas-2014/</link><pubDate>Wed, 01 Jan 2014 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-jornadas-2014/</guid><description/></item><item><title>Overcoming Car Dependence: Review of “The Car Dependent Society–a European Perspective”</title><link>https://robinlovelace.net/old-site/publication/lovelace-overcoming-2014/</link><pubDate>Wed, 01 Jan 2014 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-overcoming-2014/</guid><description/></item><item><title>The ‘Oil Vulnerability’ of Commuter Patterns: A Case Study from Yorkshire and the Humber, UK</title><link>https://robinlovelace.net/old-site/publication/lovelace-oil-2014/</link><pubDate>Wed, 01 Jan 2014 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-oil-2014/</guid><description/></item><item><title>The Energy Costs of Commuting: A Spatial Microsimulation Approach</title><link>https://robinlovelace.net/old-site/publication/lovelace-energy-2014/</link><pubDate>Wed, 01 Jan 2014 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-energy-2014/</guid><description/></item><item><title>Coxcomb plots and 'spiecharts' in R</title><link>https://robinlovelace.net/old-site/post/2013-12-27-coxcomb-plots-spiecharts-r/</link><pubDate>Fri, 27 Dec 2013 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/2013-12-27-coxcomb-plots-spiecharts-r/</guid><description>&lt;p>After switching to a new site I decided to revive some old posts.
I found this one that was written back 7 years ago (in January 2021 when this update was written), back in December 2013.
The results of the book are now published in the book &lt;a href="https://www.routledge.com/Low-Impact-Living-A-Field-Guide-to-Ecological-Affordable-Community-Building/Chatterton/p/book/9780415661614">Low Impact Living: A Field Guide to Ecological, Affordable Community Building&lt;/a> (Chatterton, 2015, for more info on the Lilac project in particular and cohousing in general see &lt;a href="https://www.lilac.coop/resources/">lilac.coop/resources/&lt;/a>).
I was amazed to find that, with some tweaks, the &lt;code>ggplot2&lt;/code> code still ran.&lt;/p>
&lt;p>I was contacted recently by a housing organisation who wanted
an attractive visualisation of their finances, arranged in a circular
form. Because there were two 4 continuous variables to include, all
of which were proportions of each other, the client suggested a plot
similar to a pie chart, but with each segment extending out a different
radius from the segment. I realised later that what I had been asked to
make was a modified &lt;a href="http://en.wikipedia.org/wiki/Coxcomb_diagram#Polar_area_diagram">coxcomb&lt;/a>
plot, invented by
&lt;a href="http://en.wikipedia.org/wiki/Florence_Nightingale">Florence Nightingale&lt;/a>
to represent statistics on cause of death during the Crimean War.
In fact, I had been asked to make a “&lt;a href="http://www.cs.huji.ac.il/~feit/papers/Spie03TR.pdf">spie chart&lt;/a>.”
This post demonstrates, for the first time to my knowledge, how it can be done
using ggplot2. A reproducible example of this, including sample data input, can be
found on the project’s github repository: &lt;a href="https://github.com/Robinlovelace/lilacPlot" class="uri">https://github.com/Robinlovelace/lilacPlot&lt;/a> . Please fork and attribute as appropriate!&lt;/p>
&lt;div id="reading-and-looking-at-the-data" class="section level2">
&lt;h2>Reading and looking at the data&lt;/h2>
&lt;p>This is the original dataset I was given:&lt;/p>
&lt;pre class="r">&lt;code>u &amp;lt;- &amp;quot;https://github.com/Robinlovelace/lilacPlot/raw/master/F2.csv&amp;quot;
f &amp;lt;- read.csv(u)
knitr::kable(f[1:3, ])&lt;/code>&lt;/pre>
&lt;table>
&lt;thead>
&lt;tr class="header">
&lt;th align="left">H&lt;/th>
&lt;th align="right">Value&lt;/th>
&lt;th align="right">Value.P&lt;/th>
&lt;th align="right">Allocation&lt;/th>
&lt;th align="right">Deposit&lt;/th>
&lt;th align="right">Captial&lt;/th>
&lt;th align="right">Debt&lt;/th>
&lt;th align="right">Cap&lt;/th>
&lt;th align="right">Contribution&lt;/th>
&lt;th align="right">Repayments&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr class="odd">
&lt;td align="left">q&lt;/td>
&lt;td align="right">163827&lt;/td>
&lt;td align="right">0.065&lt;/td>
&lt;td align="right">0.979&lt;/td>
&lt;td align="right">16382&lt;/td>
&lt;td align="right">147445&lt;/td>
&lt;td align="right">0&lt;/td>
&lt;td align="right">2457.405&lt;/td>
&lt;td align="right">1287.24&lt;/td>
&lt;td align="right">0.00&lt;/td>
&lt;/tr>
&lt;tr class="even">
&lt;td align="left">a&lt;/td>
&lt;td align="right">165994&lt;/td>
&lt;td align="right">0.066&lt;/td>
&lt;td align="right">1.022&lt;/td>
&lt;td align="right">16599&lt;/td>
&lt;td align="right">5488&lt;/td>
&lt;td align="right">138847&lt;/td>
&lt;td align="right">2489.910&lt;/td>
&lt;td align="right">208.02&lt;/td>
&lt;td align="right">208.02&lt;/td>
&lt;/tr>
&lt;tr class="odd">
&lt;td align="left">z&lt;/td>
&lt;td align="right">159425&lt;/td>
&lt;td align="right">0.063&lt;/td>
&lt;td align="right">0.933&lt;/td>
&lt;td align="right">15943&lt;/td>
&lt;td align="right">76632&lt;/td>
&lt;td align="right">63601&lt;/td>
&lt;td align="right">2391.375&lt;/td>
&lt;td align="right">995.46&lt;/td>
&lt;td align="right">995.46&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Without worrying too much about the details, the basics of the dataset are
as follows:&lt;/p>
&lt;ul>
&lt;li>One observation per row, these will later be bars on the box plot&lt;/li>
&lt;li>Two components of data - captital and revenue&lt;/li>
&lt;li>Different orders of magnitude: some data is in absolute monetary terms, some in percentages&lt;/li>
&lt;/ul>
&lt;p>Base on the above points, a prerequisite was to create preliminary plots and manipulate the
data so it would better fit in a coxcomb plot.&lt;/p>
&lt;p>The first stage, however, is to demonstrate how the addition of
&lt;code>coord_polar&lt;/code> to a barchart can conver it into a pie chart:&lt;/p>
&lt;pre class="r">&lt;code>library(ggplot2)
(p &amp;lt;- ggplot(f, aes(x = H, y = Allocation)) + geom_bar(color = &amp;quot;black&amp;quot;, stat = &amp;quot;identity&amp;quot;,
width = 1))&lt;/code>&lt;/pre>
&lt;p>&lt;img src="https://robinlovelace.net/old-site/post/2013-12-27-coxcomb-plots-spiecharts-R_files/figure-html/unnamed-chunk-2-1.png" width="672" />&lt;/p>
&lt;div class="figure">
&lt;img src="" alt="" />
&lt;p class="caption">plot of chunk unnamed-chunk-2&lt;/p>
&lt;/div>
&lt;pre class="r">&lt;code>p + coord_polar()&lt;/code>&lt;/pre>
&lt;p>&lt;img src="https://robinlovelace.net/old-site/post/2013-12-27-coxcomb-plots-spiecharts-R_files/figure-html/unnamed-chunk-3-1.png" width="672" />&lt;/p>
&lt;!-- ![plot of chunk unnamed-chunk-2](https://raw.github.com/Robinlovelace/robinlovelace.github.io/master/figure/unnamed-chunk-22.png) -->
&lt;p>The above example works well, but notice that all the bars are of equal widths.
What we want is to be proportional to a value (variable “Value”) of each observation.
To do this we use the age-old function &lt;code>cumsum&lt;/code>, as described in an
answer to a &lt;a href="http://stackoverflow.com/questions/20688376/how-to-make-variable-bar-widths-in-ggplot2-not-overlap-or-gap">stackexchange question&lt;/a>.&lt;/p>
&lt;pre class="r">&lt;code>w &amp;lt;- f$Value
pos &amp;lt;- 0.5 * (cumsum(w) + cumsum(c(0, w[-length(w)])))
(p &amp;lt;- ggplot(f, aes(x = pos)) + geom_bar(aes(y = Allocation), width = w, color = &amp;quot;black&amp;quot;,
stat = &amp;quot;identity&amp;quot;))&lt;/code>&lt;/pre>
&lt;p>&lt;img src="https://robinlovelace.net/old-site/post/2013-12-27-coxcomb-plots-spiecharts-R_files/figure-html/unnamed-chunk-4-1.png" width="672" />&lt;/p>
&lt;!-- ![plot of chunk unnamed-chunk-3](https://raw.github.com/Robinlovelace/robinlovelace.github.io/master/figure/unnamed-chunk-31.png) -->
&lt;pre class="r">&lt;code>p + coord_polar(theta = &amp;quot;x&amp;quot;) + scale_x_continuous(labels = f$H, breaks = pos)&lt;/code>&lt;/pre>
&lt;p>&lt;img src="https://robinlovelace.net/old-site/post/2013-12-27-coxcomb-plots-spiecharts-R_files/figure-html/unnamed-chunk-5-1.png" width="672" />&lt;/p>
&lt;!-- ![plot of chunk unnamed-chunk-3](https://raw.github.com/Robinlovelace/robinlovelace.github.io/master/figure/unnamed-chunk-32.png) -->
&lt;p>Finally a spie chart has been created. After that revelation, it was essentially about adding the ‘bells and
whistles’, including a 10% line to represent how much more or less than their share each observation was
paying.&lt;/p>
&lt;/div>
&lt;div id="adding-the-10" class="section level2">
&lt;h2>Adding the 10 %&lt;/h2>
&lt;pre class="r">&lt;code>f$Deposit/f$Value&lt;/code>&lt;/pre>
&lt;pre>&lt;code>## [1] 0.09999573 0.09999759 0.10000314 0.09999837 0.10000120 0.10000000
## [7] 0.10000311 0.10000085 0.10000511 0.10000356 0.09999676 0.09999700
## [13] 0.09999812 0.10000511 0.10000085 0.10000240 0.10000000 0.10000694
## [19] 0.09999901 0.09999883&lt;/code>&lt;/pre>
&lt;pre class="r">&lt;code># add 10% in there
p &amp;lt;- ggplot(f)
p + geom_bar(aes(x = pos, y = Allocation), width = w, color = &amp;quot;black&amp;quot;, stat = &amp;quot;identity&amp;quot;) +
geom_bar(aes(x = pos, y = 0.1), width = w, color = &amp;quot;black&amp;quot;, stat = &amp;quot;identity&amp;quot;,
fill = &amp;quot;green&amp;quot;) + coord_polar()&lt;/code>&lt;/pre>
&lt;p>&lt;img src="https://robinlovelace.net/old-site/post/2013-12-27-coxcomb-plots-spiecharts-R_files/figure-html/unnamed-chunk-7-1.png" width="672" />&lt;/p>
&lt;!-- ![plot of chunk unnamed-chunk-4](https://raw.github.com/Robinlovelace/robinlovelace.github.io/master/figure/unnamed-chunk-41.png) -->
&lt;pre class="r">&lt;code># make proportional to area
f$Allo &amp;lt;- sqrt(f$Allocation)
p &amp;lt;- ggplot(f)
p + geom_bar(aes(x = pos, y = Allo, width = w), color = &amp;quot;black&amp;quot;, stat = &amp;quot;identity&amp;quot;) +
geom_bar(aes(x = pos, y = sqrt(0.1), width = w), color = &amp;quot;black&amp;quot;, stat = &amp;quot;identity&amp;quot;,
fill = &amp;quot;green&amp;quot;) + coord_polar()&lt;/code>&lt;/pre>
&lt;pre>&lt;code>## Warning: Ignoring unknown aesthetics: width
## Warning: Ignoring unknown aesthetics: width&lt;/code>&lt;/pre>
&lt;p>&lt;img src="https://robinlovelace.net/old-site/post/2013-12-27-coxcomb-plots-spiecharts-R_files/figure-html/unnamed-chunk-8-1.png" width="672" />&lt;/p>
&lt;!-- ![plot of chunk unnamed-chunk-4](https://raw.github.com/Robinlovelace/robinlovelace.github.io/master/figure/unnamed-chunk-42.png) -->
&lt;pre class="r">&lt;code># add capital
capital &amp;lt;- (f$Captial + f$Deposit)/(f$Value) * f$Allocation
capital &amp;lt;- sqrt(capital)
p + geom_bar(aes(x = pos, y = Allo, width = w), color = &amp;quot;black&amp;quot;, stat = &amp;quot;identity&amp;quot;) +
geom_bar(aes(x = pos, y = capital, width = w), color = &amp;quot;black&amp;quot;, stat = &amp;quot;identity&amp;quot;,
fill = &amp;quot;red&amp;quot;) + geom_bar(aes(x = pos, y = sqrt(0.1), width = w), color = &amp;quot;black&amp;quot;,
stat = &amp;quot;identity&amp;quot;, fill = &amp;quot;green&amp;quot;) + coord_polar() + scale_x_continuous(labels = f$H,
breaks = pos)&lt;/code>&lt;/pre>
&lt;pre>&lt;code>## Warning: Ignoring unknown aesthetics: width
## Warning: Ignoring unknown aesthetics: width
## Warning: Ignoring unknown aesthetics: width&lt;/code>&lt;/pre>
&lt;p>&lt;img src="https://robinlovelace.net/old-site/post/2013-12-27-coxcomb-plots-spiecharts-R_files/figure-html/unnamed-chunk-9-1.png" width="672" />&lt;/p>
&lt;!-- ![plot of chunk unnamed-chunk-4](https://raw.github.com/Robinlovelace/robinlovelace.github.io/master/figure/unnamed-chunk-43.png) -->
&lt;pre class="r">&lt;code># add ablines
p + geom_bar(aes(x = pos, y = Allo, width = w), color = &amp;quot;grey40&amp;quot;, stat = &amp;quot;identity&amp;quot;,
fill = &amp;quot;lightgrey&amp;quot;) + geom_bar(aes(x = pos, y = capital, width = w), color = &amp;quot;grey40&amp;quot;,
stat = &amp;quot;identity&amp;quot;, fill = &amp;quot;red&amp;quot;) + geom_bar(aes(x = pos, y = sqrt(0.1),
width = w), color = &amp;quot;grey40&amp;quot;, stat = &amp;quot;identity&amp;quot;, fill = &amp;quot;green&amp;quot;) + geom_abline(intercept = 1,
slope = 0, linetype = 2) + geom_abline(intercept = sqrt(1.1), slope = 0,
linetype = 3) + geom_abline(intercept = sqrt(0.9), slope = 0, linetype = 3)&lt;/code>&lt;/pre>
&lt;pre>&lt;code>## Warning: Ignoring unknown aesthetics: width
## Warning: Ignoring unknown aesthetics: width
## Warning: Ignoring unknown aesthetics: width&lt;/code>&lt;/pre>
&lt;p>&lt;img src="https://robinlovelace.net/old-site/post/2013-12-27-coxcomb-plots-spiecharts-R_files/figure-html/unnamed-chunk-10-1.png" width="672" />&lt;/p>
&lt;div class="figure">
&lt;img src="https://raw.github.com/Robinlovelace/robinlovelace.github.io/master/figure/unnamed-chunk-44.png" alt="" />
&lt;p class="caption">plot of chunk unnamed-chunk-4&lt;/p>
&lt;/div>
&lt;pre class="r">&lt;code># calculate vertical ablines of divisions
v1 &amp;lt;- 0.51 * f$Value[1]
v2 &amp;lt;- cumsum(f$Value)[17] + f$Value[18] * 0.31
v3 &amp;lt;- cumsum(f$Value)[17] + f$Value[18] * 0.64
p + geom_bar(aes(x = pos, y = Allo, width = w), color = &amp;quot;grey40&amp;quot;, stat = &amp;quot;identity&amp;quot;,
fill = &amp;quot;lightgrey&amp;quot;) +
geom_vline(x = v1, linetype = 5, xintercept = 0) +
geom_vline(x = v2, linetype = 5, xintercept = 0) +
geom_vline(x = v3, linetype = 5, xintercept = 0) +
coord_polar()&lt;/code>&lt;/pre>
&lt;pre>&lt;code>## Warning: Ignoring unknown aesthetics: width&lt;/code>&lt;/pre>
&lt;pre>&lt;code>## Warning: Ignoring unknown parameters: x
## Warning: Ignoring unknown parameters: x
## Warning: Ignoring unknown parameters: x&lt;/code>&lt;/pre>
&lt;p>&lt;img src="https://robinlovelace.net/old-site/post/2013-12-27-coxcomb-plots-spiecharts-R_files/figure-html/unnamed-chunk-11-1.png" width="672" />&lt;/p>
&lt;pre class="r">&lt;code># putting it all together
p &amp;lt;- ggplot(f)
p + geom_bar(aes(x = pos, y = Allo, width = w), color = &amp;quot;grey40&amp;quot;, stat = &amp;quot;identity&amp;quot;,
fill = &amp;quot;lightgrey&amp;quot;) + geom_bar(aes(x = pos, y = capital, width = w), color = &amp;quot;grey40&amp;quot;,
stat = &amp;quot;identity&amp;quot;, fill = &amp;quot;red&amp;quot;) + geom_bar(aes(x = pos, y = sqrt(0.1),
width = w), color = &amp;quot;grey40&amp;quot;, stat = &amp;quot;identity&amp;quot;, fill = &amp;quot;green&amp;quot;) + geom_abline(intercept = 1,
slope = 0, linetype = 2) + geom_abline(intercept = sqrt(1.1), slope = 0,
linetype = 3) + geom_abline(intercept = sqrt(0.9), slope = 0, linetype = 3) +
geom_vline(x = v1, linetype = 5, xintercept = 0) +
geom_vline(x = v2, linetype = 5, xintercept = 0) +
geom_vline(x = v3, linetype = 5, xintercept = 0) +
coord_polar() + scale_x_continuous(labels = f$H, breaks = pos) +
theme_classic()&lt;/code>&lt;/pre>
&lt;pre>&lt;code>## Warning: Ignoring unknown aesthetics: width
## Warning: Ignoring unknown aesthetics: width
## Warning: Ignoring unknown aesthetics: width&lt;/code>&lt;/pre>
&lt;pre>&lt;code>## Warning: Ignoring unknown parameters: x
## Warning: Ignoring unknown parameters: x
## Warning: Ignoring unknown parameters: x&lt;/code>&lt;/pre>
&lt;p>&lt;img src="https://robinlovelace.net/old-site/post/2013-12-27-coxcomb-plots-spiecharts-R_files/figure-html/unnamed-chunk-12-1.png" width="672" />&lt;/p>
&lt;p>The above looks great, but ideally, for an ‘infographic’ feel, it would
have no annoying axes clogging up the visuals. This was done by creating an
entirely new ggpot theme.&lt;/p>
&lt;/div>
&lt;div id="create-theme-with-no-axes" class="section level2">
&lt;h2>Create theme with no axes&lt;/h2>
&lt;pre class="r">&lt;code>theme_infog &amp;lt;- theme_classic() + theme(axis.line = element_blank(), axis.title = element_blank(),
axis.ticks = element_blank(), axis.text.y = element_blank())
last_plot() + theme_infog&lt;/code>&lt;/pre>
&lt;p>&lt;img src="https://robinlovelace.net/old-site/post/2013-12-27-coxcomb-plots-spiecharts-R_files/figure-html/unnamed-chunk-13-1.png" width="672" />&lt;/p>
&lt;/div>
&lt;div id="creating-a-ring" class="section level2">
&lt;h2>Creating a ring&lt;/h2>
&lt;p>To add the revenue element to the graph is not a task to be taken likely.
This was how I tackled the problem, by creating a tall, variable-width
bar chart first, and later adding the original spie chart after:&lt;/p>
&lt;pre class="r">&lt;code>f$Cap.r &amp;lt;- f$Cap/mean(f$Cap) * 0.1 + 1.2
f$Cont.r &amp;lt;- f$Contribution/mean(f$Cap) * 0.1 + 1.2
f$Rep.r &amp;lt;- f$Cont.r + f$Repayments/mean(f$Cap) * 0.1
f$H &amp;lt;- c(&amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, &amp;quot;c&amp;quot;, &amp;quot;d&amp;quot;, &amp;quot;e&amp;quot;, &amp;quot;f&amp;quot;, &amp;quot;g&amp;quot;, &amp;quot;h&amp;quot;, &amp;quot;i&amp;quot;, &amp;quot;j&amp;quot;, &amp;quot;k&amp;quot;, &amp;quot;l&amp;quot;, &amp;quot;m&amp;quot;, &amp;quot;n&amp;quot;,
&amp;quot;o&amp;quot;, &amp;quot;p&amp;quot;, &amp;quot;q&amp;quot;, &amp;quot;r&amp;quot;, &amp;quot;s&amp;quot;, &amp;quot;t&amp;quot;)
p &amp;lt;- ggplot(f)
p + geom_bar(aes(x = pos, y = Allo, width = w), color = &amp;quot;grey40&amp;quot;, stat = &amp;quot;identity&amp;quot;,
fill = &amp;quot;lightgrey&amp;quot;)&lt;/code>&lt;/pre>
&lt;pre>&lt;code>## Warning: Ignoring unknown aesthetics: width&lt;/code>&lt;/pre>
&lt;p>&lt;img src="https://robinlovelace.net/old-site/post/2013-12-27-coxcomb-plots-spiecharts-R_files/figure-html/unnamed-chunk-14-1.png" width="672" />&lt;/p>
&lt;!-- ![plot of chunk unnamed-chunk-6](https://raw.github.com/Robinlovelace/robinlovelace.github.io/master/figure/unnamed-chunk-61.png) -->
&lt;pre class="r">&lt;code># we need the axes to be bigger for starters - try 1.3 to 1.5
p + geom_bar(aes(x = pos, y = Cap.r, width = w), color = &amp;quot;grey40&amp;quot;, stat = &amp;quot;identity&amp;quot;,
fill = &amp;quot;white&amp;quot;) + geom_bar(aes(x = pos, y = Rep.r, width = w), color = &amp;quot;grey40&amp;quot;,
stat = &amp;quot;identity&amp;quot;, fill = &amp;quot;grey80&amp;quot;) + geom_bar(aes(x = pos, y = Cont.r,
width = w), color = &amp;quot;grey40&amp;quot;, stat = &amp;quot;identity&amp;quot;, fill = &amp;quot;grey30&amp;quot;) + geom_bar(aes(x = pos,
y = 1.196, width = w), color = &amp;quot;white&amp;quot;, stat = &amp;quot;identity&amp;quot;, fill = &amp;quot;white&amp;quot;)&lt;/code>&lt;/pre>
&lt;pre>&lt;code>## Warning: Ignoring unknown aesthetics: width
## Warning: Ignoring unknown aesthetics: width
## Warning: Ignoring unknown aesthetics: width
## Warning: Ignoring unknown aesthetics: width&lt;/code>&lt;/pre>
&lt;p>&lt;img src="https://robinlovelace.net/old-site/post/2013-12-27-coxcomb-plots-spiecharts-R_files/figure-html/unnamed-chunk-15-1.png" width="672" />&lt;/p>
&lt;pre class="r">&lt;code>last_plot() + geom_bar(aes(x = pos, y = Allo, width = w), color = &amp;quot;grey40&amp;quot;,
stat = &amp;quot;identity&amp;quot;, fill = &amp;quot;grey80&amp;quot;) + geom_bar(aes(x = pos, y = capital,
width = w), color = &amp;quot;grey40&amp;quot;, stat = &amp;quot;identity&amp;quot;, fill = &amp;quot;grey30&amp;quot;) + geom_bar(aes(x = pos,
y = sqrt(0.1), width = w), color = &amp;quot;grey40&amp;quot;, stat = &amp;quot;identity&amp;quot;, fill = &amp;quot;black&amp;quot;) +
geom_abline(intercept = 1, slope = 0, linetype = 5) + geom_abline(intercept = sqrt(1.1),
slope = 0, linetype = 3) + geom_abline(intercept = sqrt(0.9), slope = 0,
linetype = 3) + coord_polar() + scale_x_continuous(labels = f$H, breaks = pos) +
theme_infog&lt;/code>&lt;/pre>
&lt;pre>&lt;code>## Warning: Ignoring unknown aesthetics: width
## Warning: Ignoring unknown aesthetics: width
## Warning: Ignoring unknown aesthetics: width&lt;/code>&lt;/pre>
&lt;p>&lt;img src="https://robinlovelace.net/old-site/post/2013-12-27-coxcomb-plots-spiecharts-R_files/figure-html/unnamed-chunk-16-1.png" width="672" />&lt;/p>
&lt;!-- ![plot of chunk unnamed-chunk-6](https://raw.github.com/Robinlovelace/robinlovelace.github.io/master/figure/unnamed-chunk-63.png) -->
&lt;/div>
&lt;div id="just-inner" class="section level2">
&lt;h2>Just inner&lt;/h2>
&lt;p>After all that it was decided it looked nicer with only the inner ring anyway.
Here is the finished product:&lt;/p>
&lt;pre class="r">&lt;code>p &amp;lt;- ggplot(f)
p + geom_bar(aes(x = pos, y = Allo, width = w), color = &amp;quot;grey40&amp;quot;, stat = &amp;quot;identity&amp;quot;,
fill = &amp;quot;grey80&amp;quot;) + geom_bar(aes(x = pos, y = capital, width = w), color = &amp;quot;grey40&amp;quot;,
stat = &amp;quot;identity&amp;quot;, fill = &amp;quot;grey30&amp;quot;) + geom_bar(aes(x = pos, y = sqrt(0.1),
width = w), color = &amp;quot;grey40&amp;quot;, stat = &amp;quot;identity&amp;quot;, fill = &amp;quot;black&amp;quot;) + geom_abline(intercept = 1,
slope = 0, linetype = 5) + geom_abline(intercept = sqrt(1.1), slope = 0,
linetype = 3) + geom_abline(intercept = sqrt(0.9), slope = 0, linetype = 3) +
coord_polar() + scale_x_continuous(labels = f$H, breaks = pos) + theme_infog&lt;/code>&lt;/pre>
&lt;pre>&lt;code>## Warning: Ignoring unknown aesthetics: width
## Warning: Ignoring unknown aesthetics: width
## Warning: Ignoring unknown aesthetics: width&lt;/code>&lt;/pre>
&lt;p>&lt;img src="https://robinlovelace.net/old-site/post/2013-12-27-coxcomb-plots-spiecharts-R_files/figure-html/unnamed-chunk-17-1.png" width="672" />&lt;/p>
&lt;!-- ![plot of chunk unnamed-chunk-7](https://raw.github.com/Robinlovelace/robinlovelace.github.io/master/figure/unnamed-chunk-7.png) -->
&lt;pre class="r">&lt;code>ggsave(&amp;quot;just-inner.png&amp;quot;, width = 7, height = 7, dpi = 800)&lt;/code>&lt;/pre>
&lt;/div></description></item><item><title>Moving house by bicycle trailer</title><link>https://robinlovelace.net/old-site/post/2013-10-13-bicycle-trailer-move/</link><pubDate>Sun, 13 Oct 2013 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/2013-10-13-bicycle-trailer-move/</guid><description>&lt;p>Back in 2009 I moved from York to Sheffield to start a PhD on the &lt;a href="http://e-futures.group.shef.ac.uk/page/home/" target="_blank" rel="noopener">Energy Futures&lt;/a> 4 year Doctoral Training Centre.
Young and naive, some friends and I decided to do it by bicycle, with one bicycle trailer filled to the brim and 4 large panniers carrying most of my stuff.&lt;/p>
&lt;p>4 years later and I&amp;rsquo;ve moved again, this time to Leeds. I&amp;rsquo;ve got a new a job at Leeds University,
working on the &lt;a href="http://www.geotalisman.org/" target="_blank" rel="noopener">Geotalisman&lt;/a> project in the department of geography.
Older and hopefully wiser, I decided to move house by bicycle again: it&amp;rsquo;s shorter than the trip to York
(40 miles, not 60), I was more organised with planning (providing a month&amp;rsquo;s notice for friends and
family to attend and after 4 years in Sheffield I knew many people who would be up for the ride.
To make it more exciting, this time we brought music, in the form of a 12v sound system.
See the map, words, images and video below for the full low-down on this epic ride.&lt;/p>
&lt;iframe src="http://www.gpsies.com/mapOnly.do?fileId=nueyoqzfqmingzgc" width="600" height="400" frameborder="0" scrolling="no" marginheight="0" marginwidth="0">&lt;/iframe>
&lt;h2 id="introduction-preparation-and-kit">Introduction: preparation and kit&lt;/h2>
&lt;p>The first stage was to recruit people. With a month&amp;rsquo;s notice, I managed to get around 15 people to
sign-up to the challenge. One issue for some people was lack of a suitable bicycle, so additional
ones were found and leant out. The best of these was a large tandem leant to me by a friend.
Trailers would be a major limiting factor for most people, but, as a member of
&lt;a href="https://ewb.shef.ac.uk/" target="_blank" rel="noopener">EWB Sheffield&lt;/a> who had helped on the bike trailer project, this was
less of an issue. We borrowed one trailer from EWB, and the other one was my own, purchased
from Ebay &lt;a href="http://www.ebay.co.uk/bhp/bicycle-trailer" target="_blank" rel="noopener">for around £60&lt;/a>.&lt;/p>
&lt;p>The plan was to set-off at 11 am. But it took almost an hour for to say final goodbyes, for everyone to
sort their stuff out and to decide who would be riding which
bikes. So it was essentially a midday start.&lt;/p>
&lt;h2 id="stage-one-navigating-the-urban-jungle">Stage one: navigating the urban jungle&lt;/h2>
&lt;p>Getting out of any major city is usually a challenge by bicycle, and Sheffield is no
exception, with the giant M1 dominating the norther route.
Fortunately we were ably guided for the first 10 miles or so by Sustrans Ranger
Simon Geller, who took us safely out via Northern General hospital and out onto
the car-free &lt;a href="http://www.sustrans.org.uk/ncn/map/route/trans-pennine-trail-central" target="_blank" rel="noopener">Trans Pennine Trail&lt;/a> to Leeds.&lt;/p>
&lt;p>It was a major relief to get off the road, despite the hassle of hauling the big
bike trailers over the barriers - see video below.
After that the route was quite tranquil until, realising we were behind schedule,
we decided to just get onto the A61 for the final 5 miles to Barnesley,
where we had agreed to meet other people and from where people could go home early.&lt;/p>
&lt;h2 id="stage-two-barnesley-to-wakefield">Stage two: Barnesley to Wakefield&lt;/h2>
&lt;p>We were all quite tired in Barnesley, so a good rest was had by all in the
lush sunshine. Our only puncture of the trip was fixed, we ate and waited for
Nokolai - a new recuit from Leeds, who would help out greatly with lugging the trailers.
By the time we set off again it was almost 5. Conscious of the need to go faster to
arrive before sunset, we changed our route plan completely and decided just to
get our heads down and pedal along the A61 all the way.&lt;/p>
&lt;p>The difference in speed was noticeable. With fresh legs towing the bicycle trailers
and some of the less experienced cyclists leaving us in Barnesley it felt like we
were flying. The road is wide and flat, so it did not feel especially dangerous.
Cycling in convoy is probably safer anyway because people notice a flock of cyclists
more than a single one or two. There was a hard climb up to Wakefield where we
had a number of small stops. The overall feeling was &amp;ldquo;let&amp;rsquo;s just get there&amp;rdquo; so
we pressed on, after another couple of people headed to the train station.
The proximity of rail stations to the route was one of its major advantages,
allowing people to leave when they wanted to, and meaning that setting off
was not such a major commitment. It was all downhill from Wakefield, or
so we thought.&lt;/p>
&lt;h2 id="the-final-straight-into-leeds">The final straight: into Leeds&lt;/h2>
&lt;p>As dusk descended, the group re-united. With various distractions, we had become
dispersed on the fast downhill stretch directly north of Wakefield. As the traffic
volume increased again near central Leeds, and as our level of visibility decreased
it made sense to stick together. At this stage we turned the volume up on the
bicycle trailer soundsystem. This helped a great deal to raise spirits that were flagging
after a longer than expected ride.&lt;/p>
&lt;p>We arrived in Leeds city centre at around 8pm. Knackered, we went directly to
the &lt;a href="http://www.wharfchambers.org/" target="_blank" rel="noopener">Wharf Chambers&lt;/a> for a pint and some food.
Before I knew it we were watching live music, most of my Sheffield friends had
gone back after heartfelt goodbyes, and it was approaching midnight.
But we still had two bicycle trailers to get back to my final destination, which was still another
mile away, uphill. This final stretch was a real slog, but, thanks to Nikolai&amp;rsquo;s
indominatable spirit we made it there before 12. Finally I was home!&lt;/p>
&lt;h2 id="why-move-house-by-bike-trailer">Why move house by bike trailer?&lt;/h2>
&lt;p>With all the extra hassle involved, you may wonder why I went to all these lengths.
A van could have done the job in under 2 hours, with a lot less sweat and in fact
I used this option a week later to move residual stuff that I could not
fit into the trailers. So why bother?&lt;/p>
&lt;p>The main reason for doing this was social: instead of having a big &amp;lsquo;piss-up&amp;rsquo; to see
me off I much preferred people stayed in the night before. That way I got to have
a sober conversation with some of my best friends in Sheffield whilst doing something fun.
For a few people on the ride, it was the furthest they had ever travelled by bicycle, and
this alone was worth-it for me.&lt;/p>
&lt;p>Another reason was that bicycle trailer moves are cheap. To hire a van can easily cost £100 for the day,
and the price of breakfast for the ride (and buying many people drinks in Leeds) was considerably less.&lt;/p>
&lt;p>Finally, bicycling in general is healthy. It&amp;rsquo;s good for you because you get your heart pumping and
some fresh air. It&amp;rsquo;s healthy for the environment too, as you get to leave the car at home.&lt;/p>
&lt;h2 id="conclusion">Conclusion&lt;/h2>
&lt;p>Moving house by bicycle trailer was one of the the most enjoyable experiences
of 2013 for me. Being surrounded by friends, music and sunshine was infinitely
preferable to the van-based alternative. The even also brought people together in
a way that simply going out and drinking alcohol cannot. It was fun, free (in every
sense of the word) but definitely not fast, so if you have a tight schedule to move
bicycle trailers may not be the best way forward. There are also obvious physical limits
in how far you can actually move bulky items in a single day and 40 miles was already
pushing the limit for us.&lt;/p>
&lt;p>I would strongly recommend anyone who&amp;rsquo;s moving house to a not too distant
new location to consider bicycle trailers. They are so much more fun and
sociable than just jumping in a van, you just can&amp;rsquo;t go wrong.
If this little article on the matter has not persuaded you, check the video
below, sounds and all.&lt;/p>
&lt;p>I will be forever grateful to all the people who helped out with this move.&lt;/p>
&lt;iframe width="420" height="315" src="//www.youtube.com/embed/6a8QLiC4LV8" frameborder="0" allowfullscreen>&lt;/iframe></description></item><item><title>Presentation at FOSS4G 2013</title><link>https://robinlovelace.net/old-site/post/2013-09-22-foss4g-presentation/</link><pubDate>Sun, 22 Sep 2013 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/post/2013-09-22-foss4g-presentation/</guid><description>&lt;p>I presented last Thursday at &lt;a href="http://2013.foss4g.org/" target="_blank" rel="noopener">FOSS4G&lt;/a>, THE conference to go to for Free Open Source Software for Geo applications (get it?). It was an interesting event, with hundreds of delegates dressing up in one form or another as Robin Hood, fantastic food and a very wide range of talks. Just take a look at the &lt;a href="http://2013.foss4g.org/conf/programme/daily/2/" target="_blank" rel="noopener">second day&lt;/a> of talks: packed to the rafters with sessions, including &lt;a href="http://2013.foss4g.org/conf/programme/sessions/36/" target="_blank" rel="noopener">mine&lt;/a>, on visualisation.&lt;/p>
&lt;p>A link to the slides is provided below. With these as a backdrop, I discussed the various techniques I had used to &amp;lsquo;get my work out there&amp;rsquo;, to make it as accessible as possible to other people, especially those not involved in the stuffy world of academia. There was good feedback from the audience. Ben Hennig suggesting that I coloured only populated areas on my visualisations, to avoid attributing excessive visual importance to large uninhabited spaces. This technique can be witnessed to great effect on &lt;a href="http://oliverobrien.co.uk/2012/02/" target="_blank" rel="noopener">Oliver O&amp;rsquo;brien&amp;rsquo;s blog&lt;/a>.&lt;/p>
&lt;p>An illustration of visualisation to understand the spatial distribution of transport energy use, taken from my &lt;a href="http://etheses.whiterose.ac.uk/5027/" target="_blank" rel="noopener">thesis&lt;/a>, is shown below:&lt;/p>
&lt;img src="https://raw.githubusercontent.com/Robinlovelace/thesis-reproducible/master/Figures/prop-trans-energy.png" alt="prop-trans-energy.png" width="100%">
&lt;p>All of the talks were recorded, so if you are REALLY interested in the talk, you should also be able to listen to it - keep an eye out on the FOSS4G website to see when these go up live. For now, sit back and enjoy the visuals (see the slides at &lt;a href="https://www.slideshare.net/robinlovelace1985/visualising-the-energy-costs-of-commuting-26396493" target="_blank" rel="noopener">slideshare.net&lt;/a>).&lt;/p>
&lt;!--
&lt;iframe src="http://www.slideshare.net/slideshow/embed_code/26396493" width="427" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px" allowfullscreen webkitallowfullscreen mozallowfullscreen> &lt;/iframe> &lt;div style="margin-bottom:5px"> &lt;strong> &lt;a href="https://www.slideshare.net/robinlovelace1985/visualising-the-energy-costs-of-commuting-26396493" title="Visualising the energy costs of commuting" target="_blank">Visualising the energy costs of commuting&lt;/a> &lt;/strong> from &lt;strong>&lt;a href="http://www.slideshare.net/robinlovelace1985" target="_blank">Robin Lovelace&lt;/a>&lt;/strong> &lt;/div>
--></description></item><item><title>‘Truncate, Replicate, Sample’: A Method for Creating Integer Weights for Spatial Microsimulation</title><link>https://robinlovelace.net/old-site/publication/lovelace-truncate-2013/</link><pubDate>Sun, 01 Sep 2013 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-truncate-2013/</guid><description/></item><item><title>A Spatial Microsimulation Approach for the Analysis of Commuter Patterns: From Individual to Regional Levels</title><link>https://robinlovelace.net/old-site/publication/lovelace-spatial-2013/</link><pubDate>Thu, 01 Aug 2013 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-spatial-2013/</guid><description/></item><item><title>Doctoral Students Who Publish</title><link>https://robinlovelace.net/old-site/publication/lovelace-doctoral-2013/</link><pubDate>Fri, 01 Mar 2013 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-doctoral-2013/</guid><description/></item><item><title>Sacred Economics</title><link>https://robinlovelace.net/old-site/publication/lovelace-sacred-2013/</link><pubDate>Fri, 01 Feb 2013 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-sacred-2013/</guid><description/></item><item><title>On Yer Bike: Joining the Sustainable Transport Revolution</title><link>https://robinlovelace.net/old-site/publication/lovelace-yer-2012/</link><pubDate>Sat, 01 Dec 2012 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-yer-2012/</guid><description/></item><item><title>The Mystery of Sheffield's Steepest Hill</title><link>https://robinlovelace.net/old-site/publication/lovelace-mystery-2012/</link><pubDate>Wed, 01 Feb 2012 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-mystery-2012/</guid><description/></item><item><title>Carbon Capture and Storage: Bury the Myth and Focus on Alternatives</title><link>https://robinlovelace.net/old-site/publication/lovelace-carbon-2012/</link><pubDate>Sun, 01 Jan 2012 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-carbon-2012/</guid><description/></item><item><title>Bike Trailers</title><link>https://robinlovelace.net/old-site/publication/lovelace-bike-2011/</link><pubDate>Thu, 01 Sep 2011 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-bike-2011/</guid><description/></item><item><title>Assessing the Energy Implications of Replacing Car Trips with Bicycle Trips in Sheffield, UK</title><link>https://robinlovelace.net/old-site/publication/lovelace-assessing-2011/</link><pubDate>Tue, 01 Feb 2011 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-assessing-2011/</guid><description/></item><item><title>How to Set Up and Run a Bicycle Repair Company</title><link>https://robinlovelace.net/old-site/publication/lovelace-how-2010/</link><pubDate>Fri, 01 Jan 2010 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-how-2010/</guid><description/></item><item><title>Energy: Efficiency Gains Alone Won't Reduce Emissions.</title><link>https://robinlovelace.net/old-site/publication/lovelace-energy-2008/</link><pubDate>Mon, 01 Sep 2008 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/publication/lovelace-energy-2008/</guid><description/></item><item><title/><link>https://robinlovelace.net/old-site/admin/config.yml</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/admin/config.yml</guid><description/></item><item><title/><link>https://robinlovelace.net/old-site/talk/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://robinlovelace.net/old-site/talk/</guid><description>
&lt;p>Test.&lt;/p>
&lt;p>2&lt;/p>
&lt;p>3&lt;/p></description></item></channel></rss>