In planning it is important to know the planning history on a site. The status and likelihood of approved permission will often relate to previous permissions. Many council planning systems do not specifically relate planning applications to each other and there may be situations where you would like to create such links. This is essentially an excercise in using spatial analysis to create the junction table to hold what are many to many relationships.
If your datasets are in any way large you will need to set aside a computer so that it can perform the calculations. When I first tried this the process took a weekend with queries running overnight.
Start by obtaining as many years of planning application polygons as you can. Here I use polygon files in shape format.
The polygon file or shape file should be in one file so if you need to merge the shape files you have together. I did this and the file I ended up with was
Next – Delete all attribute fields EXCEPT the planning application number.
Next – Create a centroids file from AllPlanningApplications.shp I called mine
The next series of iterations are about getting a unique set of polygons with which we can go forward and generate a set of SITEPKIDS that can be attached to the child records.
Step – Using AllPlanningApplications.shp ADD an additional field called area and populate it using QGIS $area calculation – save this file.
Step – this is where it becomes interesting – in most authorities there are a vast number of planning application boundaries that overlap. Performing a dissolve at this point would result in a large congealed set of polygons that could not clearly identify unique sites. Thus buffering the polygons down we can start to identify unique sites. This is particularly important where boundaries are completely contiguous to each other.
sites the buffering command is used within the geometry tools to try to separate adjacent overlapping and contiguous polygons.
Step ‐ Create two files from the AllPlanningApplications.shp one for polygons less than 4500 metres squared and one for more than or equal to 4500 metres squared. This is to allow for two differing buffering processing to be performed on each.
Now the 4500 is an empirical figure that was subjectively chosen there may be a better figure feel free to investigate.
The following 2 steps also introduce empirical figures for the buffering that can be altered as appropriate.
Step ‐ Take the file AllSmallLessthan4500PlanningApplications.shp and create a buffer polygon file of this with
boundaries of less than 2m lets call it
Step ‐ Take the file AllLargeGreatethanequal4500PlanningApplications.shp and create a buffer polygon file with
boundaries of less than 20m lets call it
THIS NEXT STEP WILL TAKE SEVERAL HOURS IT MAY BE BEST TO DO EACH ONE OVERNIGHT
Step ‐ Perform dissolves on both of these new files ensuring that dissolve all is used names could be something like
Vector / Geoprocessing Tools / Dissolve /
Set input layer alternatively to the two above files and set Dissolve field to dissolve all.
Suggested file Names are
Step You should now have two shape files of a large multipart polygon you want to perform the multipart to single part operation now
Vector / Geometry Tools / Multipart to Single Part
Processing involved with this is typically quick and suggested names for these files are
Add area column and identify the largest polygon on the small files
Add area column and identify the smallest polygon are on the large files you may want to remember this.
Step ‐ perform merge on these two files to get
Vector / Data Management Tools / Merge
ONGOING investigation ‐ would Difference be better than dissolve on this and should the above files be put together before
Step ‐ perform dissolve
Vector / GeoprocessingTools / Dissolve
ensure that ‐‐Dissolve all‐‐ is selected
Step now you want to split mutlipart to single
Step add field called SitePKID and populate it using $rownum command.
Vector / Data Management Tools / Join Attributes by Location
Set Target Vector Layer as
Set Join Vector Layer as
Ensure that Keep all records (including non‐matching target records are kept)
Output Shapefile suggestions
If there are centroids without Site PKIDs put them to the end and give them consecutive unique row numbers. The attribute file associated with AllPlanningApplicationsCentroidswithSitePKID.shp should now be a child table of the shape file DistinctPolygonsAllPlanningApplications.shp perform checks here to see if all centroids within a polygon defined by the distinct polygons have the same SitePKID and that it is matched by the SitePKID of the Parent shape file.
You should be able to do a join on the this file to get the PKID back into the very original file.
Finally perform a dissolve on the corrected AllPlanningApplications.shp file but this time dissolve on the field
You can call this