UK Postcode Breakdown RegEX

UK postcodes are broken down/divided into 4 levels: Areas, Districts, Sectors, and Units.

For G12 8QH the breakdown is:
Area – G
District – G12
Sector – G12 8
Unit – G12 8QH

See my previous post:
UK Postcode Format Breakdown/

This is just a note of the RegEX strings to extract these, which can be used in QGIS, or PostgreSQL. These are a bit complex for most datasets, but should work independent on whether spaces and how many were used between the in and out codes. Should also work for London postcodes.

Area:
RegEX: ^[a-zA-Z][a-zA-Z]?
PostgreSQL: substring(postcode, '^[a-zA-Z][a-zA-Z]?')
QGIS: regexp_substr("postcode" , '(^[a-zA-Z][a-zA-Z]?)')

UK Postcode Area

UK Postcode Area


District:
RegEX: ^[a-zA-Z]+dd?[a-zA-Z]?
PostgreSQL: substring(postcode, '^[a-zA-Z]+\d\d?[a-zA-Z]?')
QGIS: regexp_substr("postcode" , '(^[a-zA-Z]+\\d\\d?[a-zA-Z]?)')
UK Postcode District

UK Postcode District


Sector:
RegEX: ^[a-zA-Z]+dd?[a-zA-Z]?s*d+
PostgreSQL: substring(postcode, '^[a-zA-Z]+\d\d?[a-zA-Z]?s*d+')
QGIS: regexp_substr("postcode" , '(^[a-zA-Z]+\\d\\d?[a-zA-Z]?\\s*\\d+)')
UK Postcode Sector

UK Postcode Sector


Unit
postcode…

I’ll let you figure this one out.

#Ireland 2023

Ireland is bidding for the 2023 Rugby World Cup.

They have submitted 12 stadiums in their bid. They cover all four provinces and the breadth of the island.

Ranging from Europe’s third biggest stadium Croke Park in Dublin. Welcoming 1.5 million fans every year. Packing in 82,300 dedicated fans every year for the GAA (Gaelic Athletic Association) Hurling and Gaelic Football finals. An integral part of Ireland’s history through sweat, blood, and identity.

The Aviva Stadium in Dublin, the worlds oldest international rugby stadium. Venue for the 2011 Europa League Final between Portuguese sides Porto and Braga.

Ravenhill Stadium in Belfast. Home of Ulster Rugby and in 1991 venue for Japan’s first match victory in a Rugby World Cup.

Thomond Park in Limerick. Heart of the community and host to a 12 year unbeaten run for Munster rugby. Winner of the ‘Best Rugby Stadium in the World’ vote in 2013.

Ireland 2023 Stadiums

Storm Harvey QGIS Geometry Generator

Storm Harvey produced some extremely high levels of rainfall. Some areas of Texas received over 50 inches of rain over 9 days.

The National Oceanic and Atmospheric Administration (NOAA) provided some really great real time datasets to map the progress of the storm.

Among these were:
Hourly Precipitation
and
Hurricane Path

From these we can produce a GIF of hourly precipitation:
Harvey Hourly Precipitation GIF

And total precipitation:
Hurricane Harvey Total Precipitation

Particularly the hurricane path was possible to create in QGIS using the Atlas Generator, and the excellent new:ish geometry generator. This can be found as an option for any layers symbology, as one of the renderers.

For my map I had a non spatial table that drove my atlas. This was a log table of all of the hours of precipitation I had loaded into my database. So I looped through each entry and showed the corresponding points of hourly precipitation for the corresponding hour. I also had hurricane path data as points for every 6 hours. So I could use the geometry generator to interpolate points in between known points.

While the query ended up being pretty long it is pretty straightforward.

It only needs to be run when the hour being generated does not end with a 00, 06, 12, or 18, because those are the positions I already know.

For the rest I need to generate two points. One for the previously known point, and one for the next known point.

Then I would create a line between those two points, measure the line, and place a point on the line x times one sixth of the way for the start of the line depending on the hour from the last known point.

Overall I am very impressed and happy with the result. With a bit of data defined rotation the storm progress looks great.

Crowdsourced City Extents

Following up from my Glasgow Regions Mapped Update.

Alasdair Rae recently started a crowdsourcing project for four cities in the UK: London, Birmingham, Manchester, and Glasgow. Original page. Write up of the results. The post was however very popular and resulted in responses from around the world.

Since the project was created with the excellent code from Nick Martinelli, the data can be downloaded by anyone.

So I created a breakdown of the number of responses in 1 km grids for each city that received at least 5 responses.

The full album, ordered by country name and then city name can be found:

Here.

Highlights

Glasgow

The west end is the true Glasgow.
UnitedKingdom_Glasgow_extents46

Edinburgh

Very inclusive.
UnitedKingdom_Edinburgh_extents33

Liverpool

Much larger and inclusive than Manchester.
UnitedKingdom_Liverpool_extents20

London

The M25 provides a very handy limiting barrier.
UnitedKingdom_London_extents29

LA

Far reaching urban sprawl.
UnitedStatesofAmerica_LosAngeles_extents10

New York

Probably some selection bias, with crowd sourcing more popular in Brooklyn.
UnitedStatesofAmerica_NewYork_extents32

Washington

DC.
UnitedStatesofAmerica_Washington_extents21

All cities.

Glasgow Regions Mapped – Progress Update 1

You can map your response HERE.

You can read the initial post at: Mapping Glasgow Districts

We have had some great progress on the mapping so far. There have been 367 regions mapped to date. However, as mentioned in the original post, there are a huge number of regions in Glasgow so even with over 300 responses many regions have only one response and others are still unmapped. But in the hopes of encouraging some more responses I felt it would be nice to show what progress has been made to date.

Statistics so far:
Unique region names so far: 241

Most mapped regions:
City Centre – 10
Finnieston – 9
Merchant City – 9
Dennistoun – 8
Partick – 7
West End – 7
Garnethill – 6
Hyndland – 6
Woodlands – 5
Hillhead – 5
Mount Florida – 5

Regions so far. Click for PDF version.
map_so_far

We can see that there are still quite a few regions that have had the same number of responses with multiple region names.

We can look at what these responses have been, in an interactive map:


Full Screen.

We can see that the West End in general has been the target of a large number of responses, so we can drill in a little further:

west_end1

Extent of the west end:

West End

Individual regions:

Anderston

Anniesland

Blairdardie

Broomhill

Charing Cross

Dowanhill

Drumchapel

Finnieston

Firhill

Garrioch

Hillhead

Hyndland

Jordanhill

Kelvingrove Park

Knightswood

Maryhill

Not Partick

Park Circus

Partick

Partickhill

Scotstoun

Thornwood

West Maryhill

Whiteinch

Woodlands

Yoker

Yorkhill

A final note, there have been some creative responses as well, as expected. But the flagging system on the mapping page has worked incredibly well.

A huge thanks if you have responded already. I would be grateful if you could share this on either Facebook, Twitter, or anywhere else. The more responses that are submitted, the better the end result.

Happy to take on suggestions as well.

Map a region!

Missing Maps Stirling

Missing Maps is a great initiative which encourages the mapping of areas that are crucial to the efforts of humanitarian organisations. Maps help people on the ground to focus their efforts and simply find people in need.

BUT:
Isn’t everything mapped already?
Is a question I hear often. While a valid one. Yes, all the streets that I use regularly are mapped on both Google Maps, and OpenStreetMap. But the case is not the same for the places where our efforts are really needed. For the undeveloped parts of the world, where Medecins Sans Frontieres are making a real impact, the case is not the same. We have aerial imagery, but we do not know where the towns are, where the roads go, or population estimates.

NO:
Organisations rely on Missing Maps to deliver their life saving help. Not to deliver aide but to find people requiring it:

  • The American Red Cross
  • The British Red Cross
  • Humanitarian OpenStreetMap Team
  • Medicins Sans Frontieres

  • Come along:

    If you are in Stirling or in the area, please come along. The event is free, and being held at the Smith Museum, on the 27th April, 6pm onwards.

    If you are attending if you could sign up so we know attendee numbers:
    https://www.eventbrite.co.uk/e/missing-maps-stirling-tickets-24456498044

    If you want to share the event we also have a FaceBook page:

    Event:
    https://www.facebook.com/events/987777994681557/

    Hope to see you there.

    Mapping an Integer

    So just before Christmas I received my own “hand-crafted”, “unique”, and “hella-beautiful” integer. From Brooklyn Integers: 404578811.

    http://www.brooklynintegers.com/int/404578811/

    I was not initially sure what to do with it. But I had some time while waiting on points to appear in polygons so I though I would map my integer.

    So we have a few combinations for co-ordinates:

  • 0, 404578811
  • 4 , 04578811
  • 40 , 4578811
  • 404 , 578811
  • 4045 , 78811
  • 40457 , 8811
  • 404578 , 811
  • 4045788 , 11
  • 40457881 , 1
  • 404578811, 0
  • And of course:

  • 404578811, 404578811
  • I have to say these do not translate very well into my current de facto co-ordinate system of British National Grid (0, 404578811 and 404578811, 0 and 404578811, 404578811 not shown).

    BNG_no_good

    Luckily we can try some alternatives. Smathermather had a great post about mapping Null Island/Archipelago, so we can re-use some code. To map our integers to a selection of CRSs.

    We use the EXCEPTION, because some of the more awkward co-ordinate combinations cannot be translated back to EPSG:4326 without causeing a SQL error.

    Then we can create our our tables.

    Replacing 404578811_404578811 as needed.

    Mapped:

    by_co_ord

    By CRS:

    by_crs

    4,04578811:

    4_04578811

    Album of the rest.

    It really shows how fragmented the EPSG codes are for New Zealand, and to a lesser extent the US.

    Every Person in Scotland on the Map

    Full size.

    The mapping process creates a random point within a building shell inside of a postcode area, which is repeated for every person in a postcode. This is in contrast to a simpler process, which does not take into account buildings at all, working simply with postcode areas. This can be seen in my previous post: Population of Scotland Mapped

    Inspired by:
    The Guardian – Every person in England and Wales on a map by Chris Cross

    Based on the 2011 Scottish Census population data.

    Data from the National Records of Scotland.

    Combined with the Ordnance Survey, Open Map product.

    Rendered with: QGIS tile writer python script.

    Forth Road Bridge Closure Impact on Drive Times

    In honour of the Forth Road Bridge re-opening completely. I created a map of the impact it has had on drive times from Edinburgh.

    This is based on the OS Open Roads Product, using pgRouting, and network generated using the guide from Ross McDonald.

    This does not take into account the increase of traffic on the other routes, or traffic in general. Would be interesting to see a real impact map from one of the major navigation providers.

    Drive time with and without the forth road bridge

    Difference the forth road bridge closue caused map

    Event: Historic maps of the Stirling area

    Putting Stirling on the Map

    Monday 29th February 2016 at 7.30pm in the Smith

    Paula Williams, Curator of Maps, Mountaineering and Polar Collections, from the National Library of Scotland will talk about four hundred years of mapping the Stirling area, illustrated with maps from the NLS collection.

    See the Stirling Local History Society for details:
    www.stirling-lhs.org/blog/historic-maps-of-the-stirling-area

    And the Flyer.