Best Use of Tasmanian Spatial Data
How can you use a Tasmanian spatial data to improve Tasmanian residents lives on a daily basis?
Eligibility: Must use Tasmanian data.
Go to Challenge | 9 teams have entered this challenge.
Team Grey
Hi, my name is Will and my entry is a visualization of properties within the city of Hobart that could be subdivided to alleviate the housing crisis the city is currently facing. I used the several shapefiles containing zoning polygons, and property parcels and information.
The interactive map I created shows properties with a calculated area two times greater than the minimum area required for a subdivided lot given the property’s zoning – plus 150 SQM for common property (driveways).
It was difficult to determine which zoning scheme each property fell under. To do this I used the property’s coordinates to determine which zoning polygon each property appeared within. Armed with this information, I could determine what the minimum lot size would be per property.
I filtered out those properties whose area was insufficient. For the purposes of demonstration, I only used a handful of zones with the City of Hobart but there’s no reason this map couldn’t be extended to include all of Tasmania.
The attached map could be used by property owners, investors and developers to help identify those properties that could be subdivided. While investors and subdivisions are often the source much community anxiety, Hobart is in the midst of a housing crisis and we need more homes. My map will help facilitate the subdivision process.
I didn’t add all the features I wanted. I ran out of time. I wanted to calculate the frontage of each property by summing the length of a property’s intersection with the adjacent road. This would allow me to filter out those properties with an insufficient frontage. Currently, the map shows too many properties that have insufficient frontages to be truly useful. An interim work around would be to increase the area requirement of properties.
I also wanted to write a code that determined whether the properties included on the map were currently listed for sale, and if so, their asking prices.
title: "Tasmanian Developable Properties"
author: "William Farrell"
date: "9/7/2019"
```{r warning=FALSE, include=FALSE}
library(tidyverse)
library(rgdal)
library(tmap)
library(readxl)
library(jsonlite)
library(leaflet)
library(sf)
library(spatialEco)
library(janitor)
library(rgeos)
library(rmapshaper)
library(sp)
tmap_mode("view")
```
```{r include=FALSE}
Zoning <- readOGR(dsn="D:/Downloads/INTERIMPLANNINGSCHEMEZONINGSTATEWIDE",layer="interimplanningschemezoningstatewide",stringsAsFactors=FALSE)
Hobart <- readOGR(dsn="D:/Downloads/LISTPARCELSHOBART", layer="listparcelshobart",stringsAsFactors=FALSE)
Roads <- Hobart[strdetect(Hobart@data$CADTYPE2,"Road"),]
Address <- readOGR(dsn="D:/Downloads/LISTADDRESSPOINTSSTATEWIDE",layer="listaddresspointsstatewide",stringsAsFactors=FALSE)
zoneMinLand <- read_csv("zoneMinLand.csv")
```
```{r, Assign Zonings to each property}
Address.sf <- stassf(Address)
Zoning.sf <- stassf(Zoning)
addressZoning <- st_join(Address.sf,Zoning.sf)
Resi <- c("APARTMENT","HOUSE","UNIT","TOWNHOUSE","FLAT")
addressZoning <- filter(addressZoning,
(addressZoning$UNITTYPE %in% Resi | is.na(addressZoning$UNITTYPE))
&
(addressZoning$PID>0)
)
addressZoning <- select(addressZoning,PID,UNITNUMB,STNOFROM,NO1SUFFIX,STNOTO,NO2SUFFIX,STREET, STTYCODE, STTYPE,ST_SUFFIX,LOCALITY,STATE,POSTCODE,ZONE,PLANSCHEME)
addressHobart <- Hobart[Hobart@data$CAD_TYPE1=="Private Parcel",]
addressHobart@data$PID <- as.numeric(addressHobart@data$PID)
addressHobart@data <- select(addressHobart@data,PID,VOLUME,FOLIO,CREATEDON,COMPAREA)
addressHobart@data <- leftjoin(addressHobart@data,addressZoning,by=c("PID"))
addressHobart@data <- leftjoin(addressHobart@data,zoneMinLand,by = c("ZONE", "PLANSCHEME"))
addressHobart <- addressHobart[!is.na(addressHobart@data$MINLANDSQM),]
addressHobart <- addressHobart[(addressHobart@data$COMPAREA/2+150>addressHobart@data$MINLANDSQM),]
addressHobart@data$PID <- as.character(addressHobart@data$PID)
addressHobart@data <- addressHobart@data %>% select(-geometry)
addressHobart@data$Address <- paste(addressHobart@data$STNOFROM,addressHobart@data$STREET,addressHobart@data$STTY_CODE,addressHobart@data$LOCALITY,addressHobart@data$POSTCODE)
addressHobart@data$Title <- paste(addressHobart@data$VOLUME,addressHobart@data$FOLIO,sep="/")
```
```{r, Map}
Map <- tmbasemap(leaflet::providers$Esri.WorldImagery) +
tmshape(addressHobart,bbox = "Tasmania") +
tmpolygons("ZONE",alpha = 0.5,popup.vars = c("PID","Title","Address",'Calculated Area'="COMPAREA",Zone = "ZONE",'Minimum Subdivision' = "MINLANDSQM"))
Map
tmap_save(Map,paste("Housing Crisis (",Sys.Date(),").html",sep = ""))
```
Eligibility: Must use Tasmanian data.
Go to Challenge | 9 teams have entered this challenge.
Eligibility: Must use Tasmanian data
Go to Challenge | 9 teams have entered this challenge.