Automated edits/gogorm

From OpenStreetMap Wiki
Jump to navigation Jump to search

Change Speed Limit from 50km/h to 30km/h on Residential Public Roads within Dún Laoghaire-Rathdown, Dublin, Ireland

Update: the edit has been made - https://www.openstreetmap.org/changeset/168644658

Who is Making the Change?

I am, using my OSM account gogorm.

You can contact me by private message on OSM.

Motivation

In November 2024, new bye-laws[1] came into effect in Dún Laoghaire-Rathdown (DLR), one of the four local council areas in Dublin, Ireland.

One impact of these bye-laws is that a huge quantity of roads which previously had a speed limit of 50km/h, now have a speed limit of 30km/h.

This means there are now a lot of roads in OSM that have an outdated speed limit within the DLR area.

The bye-laws[1] define and apply the 30km/h speed limit in a logical and consistent manner, which makes it easy to update most of the affected roads using a systematic approach as described below.

What is the Change?

Scope

This change will be limited to the administrative boundary of Dún Laoghaire-Rathdown County Council.

In summary, the following objects are affected:

The full criteria are defined in an Overpass Turbo query (shown further down this page).

At the time of writing, there are ~2500 objects to be changed.

Tags to be modified

Replace maxspeed=50 with maxspeed=30.

Remove maxspeed:type=*. At the time of writing, there is 1 affected road (comprising 2 Ways) containing this tag.

How will this change be made?

The output of the Overpass Turbo query will be fed into an editor such as JOSM, and the tags will be modified there.

This will be a one-time change.

Consultation

OpenStreetMap Ireland Telegram group

OpenStreetMap Community Forum - https://community.openstreetmap.org/t/proposed-bulk-edit-50km-h-to-30km-h-in-dun-laoghaire-rathdown/131739

Overpass Turbo Query

This query identifies the objects to be changed (~2500 objects at time of writing):

// @name DLR_missing_30kmh_roads

[out:xml][timeout:25];

/*
What:
  Find roads that probably have a 30 km/h speed limit,
  but aren't currently mapped as such.
Why:
  To help with mapping the 30km/h zone as per
  DLR CoCo Road Traffic Special Speed Limit Bye-Laws, 2024
*/

// Define the area where the 30km/h zone applies
area
  ["name"="Dún Laoghaire-Rathdown"]
  ["boundary"="administrative"]
  ["admin_level"="7"]
  ->.dlr_county;

/*
The bye-laws make exceptions for basically any residential road that hasn't been subsumed into South Dublin's suburban monolith.
So we define also a "rural" area. These townlands together form that area, conveniently.
*/

relation
  (id: // filtering on id because name is not always unique here
  2222985, // Tiknock
  1297904, // Barnacullia
  1299608, // Ballyedmonduff
  4590432, // Newtown
  4590657, // Kiltiernan
  4590559, // Ballybetagh
  1299713, // Glencullen
  3666458, // Brockey
  3666459, // Glencullen Mountain
  4202774, // Boranaraltry
  1309699, // Ballybrack
  4142995, // Glendoo
  4554456  // Stackstown
  )->.rural_townlands;
.rural_townlands;
map_to_area->.rural;

// Find the roads that should be 30km/h
(way
  // vast majority of residential roads are now 30km/h, and
  // vast majority of non-residential roads are not 30km/h
  ["highway"="residential"]
  // vast majority of 50km/h residential roads changed to 30 km/h, and
  // vast majority of non-50km/h residential roads didn't change to 30km/h
  ["maxspeed"=50]
  // only public roads
  [!"access"]
  // Excluding unwanted matches identified through manual inspection of the maps accompanying the Bye-laws
  ["name"!="Bishop's Lane"]
  ["name"!="Stillorgan Road"]
  ["name"!="Druid's Glen Road"]
  ["name"!="South Hill Avenue"]
  ["name"!="Elton Park"]
  ["name"!="Albert Road Lower"]
  ["name"!="Albert Road"]
  ["name"!="Silchester Road"]
  ["name"!="Churchview Road"]
  ["name"!="Ardbrugh Road"]
  ["name"!="Cunningham Road"]
  ["name"!="Saval Park Road"]
  ["name"!="St Catherine's Road"]
  ["name"!="Station Road"]
  ["name"!="Hyde Road"]
  ["name"!="Hyde Park"]
  ["name"!="Ardeevin Road"]
  ["name"!="Knocknacree Road"]
  (area.dlr_county);
// Subtract the "rural" area matches from the results
-way
  ["highway"="residential"]
  ["maxspeed"=50]
  [!"access"]
  (area.rural);
)->.limits_to_be_modified;

// Output the results
(.limits_to_be_modified;>;); out meta;