Code Monkey home page Code Monkey logo

shoreline's Introduction

ONS GB Shoreline and related work

This page contains an outline of how ONS Geospatial has:

  • Defined and created a GB shoreline
  • Buffered GB shoreline
  • Identified Built Up Areas (2022) that intersect GB shoreline

Code language

  • R

Input data

  • 1 kilometre OS Grid Tiles for Great Britain
  • 10 kilometre OS Grid Tiles for Great Britain
  • 2022 Built Up Areas
  • Great Britain country boundaries (full resolution extent of the realm/low water mark)
  • Great Britain country boundaries (full resolution clipped to the coastline/high water mark)
  • ‘Water’ from Ordnance Survey (OS) Select+Build
  • ‘Land’ from OS Select+Build

Where to get the input data from

Define and create GB shoreline outline

  • The ONS GB Shoreline is created by taking full resolution extent of the realm boundaries (also known as low water mark) and ‘cookie-cutting’ out selective areas of sea, tidal water and tidal land taken from Ordnance Survey data.
  • The areas selected for ‘cookie-cutting’ broadly fall into four categories:
    • Assigned as Sea in ‘Water’ from OS Select+Build (e.g. the area between low and high water marks)
    • Assigned as i) tidal water in ‘Water’ from OS Select+Build, ii) intersect with the Built Up Areas 2022 geography and iii) can be considered to be near the sea (e.g. the tidal water around Southampton is considered to be near the sea, the tidal River Ribble going through Preston is not)
    • Assigned as i) tidal water in ‘Water’ from OS Select+Build, ii) does not intersect with the Built Up Areas 2022 geography but iii) can be considered a substantial water body (e.g. Christchurch Harbour is considered to be substantial, but a tidal river like the Beaulieu River in Hampshire is not)
    • Assigned as tidal land in ‘Land’ from OS Select+Build and touch selected tidal water features
  • The areas of sea, tidal water and tidal land that are used for the ‘cookie-cutting’ are selected using an automated process run in R. The commented code explains the process step-by-step. It also includes commentary as to why certain steps were necessary and how certain areas were included/excluded.

Buffer GB shoreline

  • Due to the complexities of the GB shoreline geometry, running a simple buffer (e.g. geos_buffer or st_buffer in R) on the whole dataset can take a long time to complete.
  • Instead of buffering the entire dataset, it is chunked by 10km OS grid tiles. So rather than buffering one very complex polyline it buffers multiple simpler polylines.
  • A polyline version of the shoreline is used for the majority of the buffering. However, the polygon version is used for objects smaller than the minimum size of the buffer. This is because geos_buffer and st_buffer both struggle to buffer polyline features that are smaller than the minimum area of a possible buffer.

Identify Built Up Areas (2022) that intersect GB shoreline

  • As Built Up Areas are constructed from 25 metre grid squares, edges that would be considered touching the shoreline do not always intersect with it.
  • As such, a buffer is used to make the shoreline wider, enabling more consistent and realistic intersections with Built Up Areas. Width of buffer can be edited based on user requirement.
  • This allows the following outputs to be created for all Built Up Areas that touch the GB shoreline:
    • 'BUA_Perimeter_KM' is the total perimeter in kilometres of the Built Up Area
    • 'BUA_Shoreline_KM' is length of each Built Up Area's perimeter that intersects the GB shoreline
    • 'BUA_Shoreline_PCT' is the percentage of each Built Up Area's perimeter that intersects the GB shoreline

shoreline's People

Contributors

geogale avatar donnaviney avatar sarahparkergeo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.