As an applicant, I want to see what planning constraints apply to my property (done ✅)
As an applicant, I want to to be able to understand what each planning constraint means so planning is less opaque (done ✅)
As an applicant, I want to report an inaccuracy in the result of planning constraints query if the administrative data is wrong (done ✅)
As an applicant, I want to know if there are historic planning conditions affecting permitted development (PD) rights so I can have a clear view about whether Planning Permission is needed (on roadmap 🔮)
As a council service owner, I want to refer to local datasets (eg GIS / Open data platform) not on the Planning Data platform so I can make best use of local data (not currently on the roadmap 🚫)
Planning constraints describe legislative policies that apply to a particular area and may limit how a property can be used or developed.
Examples of planning constraints are Conservation Areas and Tree Preservation Orders. These types of geospatial open data may be published and maintained by a central body like Historic England or individual Local Planning Authorities.
Traditionally, applicants or agents do their own research to find out if constraints apply to their planning application, which can be a slow process of piecing together information from different sources. Plan✕ uses open data to identify constraints automatically based on an applicant’s site address and red-line site boundary.
We’re collaborating with MHCLG’s Planning Data to standardise these data and make them easier for anyone to use and understand.
Plan✕’s ‘PlanningConstraints’ component fetches constraints data from Planning Data and data about classified roads from the Ordnance Survey Features API.
For constraints, we do a spatial query to find constraints that intersect with the proposed red-line site boundary polygon drawn using ‘DrawBoundary’. If an applicant uploads a PDF location plan or skips drawing, then we fallback to checking for constraints that overlap with the address point from ‘FindProperty’.
sequenceDiagram
participant Public
participant Planx API
participant Planning Data
Public->>Planx API: GET /gis/:localAuthority?geom={WKT geometry}
Planx API->>Planning Data: GET `entities`
Planning Data-->>Planx API: GeoJSON response
Planx API->>Planning Data: GET `metadata`
Planning Data-->>Planx API: JSON response
Planx API-->>Public: JSON response
For classified roads, we do a text match to find OS Highways that match the Unique Street Reference Number (USRN) of the address selected using ‘FindProperty’. If the applicant plots a new address on the map, rather than selecting an existing address, we are not able to automatically check classified roads because their new address will not have a known UPRN or USRN.
We do not use a spatial intersection query in the case of roads because we only want to exclusively check for a single classified road that “fronts” the project site, but does not necessarily overlap with the site boundary, and a buffered spatial query risks picking up one or many classified roads in any direction.