Title: | Geospatial Data and Maps for New South Wales, Australia |
Version: | 0.5.0 |
Description: | Geospatial data for creating maps of New South Wales (NSW), Australia, and some helpers to work with common problems like normalising postcodes. Registers its data with 'cartographer'. |
License: | MIT + file LICENSE |
Copyright: | file COPYRIGHTS |
Encoding: | UTF-8 |
Language: | en-GB |
LazyData: | true |
RoxygenNote: | 7.3.2 |
Depends: | R (≥ 4.1), |
Imports: | cartographer (≥ 0.2), sf (≥ 1.0) |
Suggests: | dplyr (≥ 1.0.0), ggplot2, httr2, nngeo, readr, stringr |
URL: | https://github.com/cidm-ph/nswgeo, https://cidm-ph.github.io/nswgeo/ |
BugReports: | https://github.com/cidm-ph/nswgeo/issues |
NeedsCompilation: | no |
Packaged: | 2024-12-17 04:32:51 UTC; csus5157 |
Author: | Carl Suster |
Maintainer: | Carl Suster <Carl.Suster@health.nsw.gov.au> |
Repository: | CRAN |
Date/Publication: | 2024-12-17 15:10:06 UTC |
Geospatial Tools for New South Wales
Description
This package contains geospatial data for the NSW border and several types of features. It also contains some map plotting helpers to help you get from a data frame to a plot for common scenarios.
Author(s)
Maintainer: Carl Suster Carl.Suster@health.nsw.gov.au (ORCID)
Other contributors:
Western Sydney Local Health District, NSW Health [copyright holder]
See Also
Useful links:
Report bugs at https://github.com/cidm-ph/nswgeo/issues
Geospatial data of the Australian state and territory administrative boundaries.
Description
Excludes external territories.
Usage
australia
states
Format
An object of class sfc_MULTIPOLYGON
(inherits from sfc
) of length 1.
An object of class sf
(inherits from tbl_df
, tbl
, data.frame
) with 8 rows and 9 columns.
Details
The geometries have been simplified with a tolerance of 5 km to reduce the level of detail.
Functions
-
australia
: External boundaries of Australia as a multipolygon. -
states
: State and internal territory boundaries of Australia.
Source
Australian Bureau of Statistics. "Australian Statistical Geography Standard (ASGS) Edition 3." ABS, Jul2021-Jun2026, https://www.abs.gov.au/statistics/standards/australian-statistical-geography-standard-asgs-edition-3/jul2021-jun2026, accessed 10 November 2022.
The original dataset is published under the Creative Commons Attribution 4.0 International licence, © Commonwealth of Australia 2021.
Examples
library(ggplot2)
ggplot(states) + geom_sf(aes(fill = STE_NAME21))
Small sample of COVID-19 cases in NSW for testing and demonstration.
Description
This subset covers a random selection of entries from 3 LGAs, and ignores the case count field.
Usage
covid_cases_nsw
Format
A data frame with 100 rows and the following columns:
- postcode
The postal code
- lhd
The name of the Local Health District
- lga
The name of the Local Government Area
- type
A synthetic disease type/lineage/etc., either A or B
- year
Year of the case notification
Source
NSW Ministry of Health. "NSW COVID-19 cases by location." https://data.nsw.gov.au/data/dataset/covid-19-cases-by-location, accessed 11 October 2022.
The original dataset is published under the Creative Commons Attribution 4.0 licence, © State of New South Wales 2020-2022.
Examples
head(covid_cases_nsw)
Coordinate reference system for Australia
Description
GDA2020 is the official CRS used by the Commonwealth and NSW. Geospatial data in this package uses GDA2020.
Usage
crs_gda2020()
crs_gda2020_cartesian()
crs_gda2020_albers()
Details
crs_gda2020
is EPSG 7844 with axes specified in degrees.
crs_gda2020_cartesian
is EPSG 7842 with Cartesian axes in metres.
crs_gda2020_albers
is EPSG 9473, the Albers equal area projection used,
making it suitable for area computation.
Value
A simple features CRS
Geospatial data of the New South Wales administrative boundaries.
Description
These include the Unincorporated Far West Region.
lga_nsw
excludes Jervis Bay Territory and the ACT.
poa_nsw
includes both territories and some postal areas extend past the
state boundary.
Usage
lga_nsw
poa_nsw
Format
An object of class sf
(inherits from tbl_df
, tbl
, data.frame
) with 131 rows and 9 columns.
An object of class sf
(inherits from tbl_df
, tbl
, data.frame
) with 644 rows and 7 columns.
Details
The geometries have been simplified with a tolerance of 750 m to reduce the level of detail.
Functions
-
lga_nsw
: Local Government Area boundaries of New South Wales. -
poa_nsw
: Postal area boundaries of New South Wales.
Source
Australian Bureau of Statistics. "Australian Statistical Geography Standard (ASGS) Edition 3." ABS, Jul2021-Jun2026 (24 July 2024 update), https://www.abs.gov.au/statistics/standards/australian-statistical-geography-standard-asgs-edition-3/jul2021-jun2026, accessed 29 July 2024.
The original dataset is published under the Creative Commons Attribution 4.0 International licence, © Commonwealth of Australia 2021.
See Also
Examples
library(ggplot2)
ggplot(lga_nsw) + geom_sf(aes(fill = LGA_NAME_2024), show.legend = FALSE)
library(sf)
sf_use_s2(FALSE)
# cut out part of the postcode dataset (it's quite large)
bbox <- st_bbox(c(xmin = 142, xmax = 147, ymin = -33, ymax = -30)) |>
st_as_sfc(crs = crs_gda2020())
st_crop(poa_nsw, bbox) |>
ggplot() +
geom_sf() +
geom_sf_text(aes(label = POA_CODE_2021), size = 4)
# some postcodes extend past the state boundary
ggplot(nswgeo::poa_nsw) +
geom_sf(aes(fill = as.integer(POA_NAME_2021)), colour = NA) +
geom_sf(fill = NA, colour = "red", linewidth = .5, data = nswgeo::nsw) +
scale_fill_viridis_b("Postal area", option = "H") +
theme_void()
Local Health Districts of NSW.
Description
The geometries have been simplified with a tolerance of 750 m to reduce the level of detail.
Usage
lhd
Format
An object of class sf
(inherits from tbl_df
, tbl
, data.frame
) with 15 rows and 11 columns.
Source
Spatial Services, Department of Customer Service NSW. "MyHospitals_Public", https://portal.spatial.nsw.gov.au/portal/home/item.html?id=5a1e5dd9b38245d3b976c21b56fd6185, accessed 4 May 2023. Republished from NSW Ministry of Health, "Map of local health districts", https://www.health.nsw.gov.au/lhd/Pages/lhd-maps.aspx.
The original dataset is published under the Creative Commons Attribution 4.0 International licence, © State of New South Wales NSW Ministry of Health 2023. For current information go to https://www.health.nsw.gov.au.
See Also
Examples
library(ggplot2)
ggplot(lhd) + geom_sf(aes(fill = lhd_name), show.legend = FALSE)
Normalise postal codes
Description
Some special postcodes are used in addresses, such as codes for post office boxes. This helper converts those to the postcode for the closest normal suburb if there is a reasonable clear match. If there is no good match, the postcodes are left unchanged.
Usage
normalise_postcodes(codes)
Arguments
codes |
Character vector of postcodes (or coercible to one). |
Details
Note that this goes a little further than the aliases that are registered with cartographer (which only account for postcodes with no geospatial data in the ABS dataset).
Value
Character vector of the same size as the input, but with the normalised postcodes.
Examples
normalise_postcodes(c(1685, 2000, 1010, 2129, 2145))
Normalise state names from abbreviations
Description
Expand abbreviations like "NSW"
to "New South Wales"
, and
normalise to title capitalisation. Entries that don't match any state name or
abbreviation are left untouched.
Usage
normalise_state_names(names)
Arguments
names |
Character vector of state names. |
Value
Vector of the same size as the input, but with the normalised state names.
Examples
normalise_state_names(c("nsw", "VIC", "overseas", "Queensland"))
Outlines of New South Wales and relevant territories.
Description
Lord Howe Island is administratively part of NSW, but as it is a small island some 600 km off the coast, it is frequently omitted from maps of NSW.
Usage
nsw
act
lhi
jbt
sydney
Format
An object of class sfc_MULTIPOLYGON
(inherits from sfc
) of length 1.
An object of class sfc_MULTIPOLYGON
(inherits from sfc
) of length 1.
An object of class sfc_MULTIPOLYGON
(inherits from sfc
) of length 1.
An object of class sfc_MULTIPOLYGON
(inherits from sfc
) of length 1.
An object of class sfc_POLYGON
(inherits from sfc
) of length 1.
Details
The Australian Capital Territory is an enclave within NSW, and Jervis Bay Territory is a small Australian territory on the coast, surrounded by NSW. Neither are NSW territory, but they affect the shape of NSW's outline and are sometimes useful to include in maps alongside NSW due to their locations.
The geometry for nsw
has been simplified with a tolerance of 750 m to
reduce the level of detail, whereas the territories maintain their full
resolution. sydney
is simplified with a 500 m tolerance.
Functions
-
nsw
: External state boundary excluding LHI but including ACT and JBT. -
act
: Australian Capital Territory boundary. -
lhi
: Lord Howe Island boundary. -
jbt
: Jervis Bay Territory boundary. -
sydney
: Greater Sydney boundary.
Source
Australian Bureau of Statistics. "Australian Statistical Geography Standard (ASGS) Edition 3." ABS, Jul2021-Jun2026 (24 July 2024 update), https://www.abs.gov.au/statistics/standards/australian-statistical-geography-standard-asgs-edition-3/jul2021-jun2026, accessed 29 July 2024.
The original dataset is published under the Creative Commons Attribution 4.0 International licence, © Commonwealth of Australia 2021.
See Also
New South Wales outline with or without related territories
Description
The default outline nswgeo::nsw
includes Jervis Bay Territory, excludes
Lord Howe Island, and does not have a cut out for the ACT. This utility
allows each of these to be adjusted.
Usage
outline(lord_howe_island = FALSE, act_cutout = FALSE, jervis_bay = TRUE)
Arguments
lord_howe_island |
Include Lord Howe Island. |
act_cutout |
Cut out the area of the Australian Capital Territory. |
jervis_bay |
Cover the area of the Jervis Bay Territory. |
Value
A simple features data frame with the requested geometries.
See Also
Examples
library(ggplot2)
outline(lord_howe_island = TRUE) |> ggplot() + geom_sf()
Primary Health Network boundaries of New South Wales
Description
The geometries have been simplified with a tolerance of 500 m to reduce the level of detail.
Usage
phn
Format
An object of class sf
(inherits from tbl_df
, tbl
, data.frame
) with 10 rows and 9 columns.
Source
National Recovery and Resilience Agency, "PHN Boundaries used by the NBRA", https://data.gov.au/data/dataset/phn-boundaries-used-by-the-nbra, accessed 25 May 2023.
The original dataset is published under the Creative Commons Attribution 2.5 Australia licence, © Commonwealth of Australia 2021.
Concordance between postal areas and local health districts.
Description
Contains the other administrative geometries which intersect with the local health district boundaries, along with the size of the intersection.
Usage
poa_lhd_concordance
Format
An object of class data.frame
with 825 rows and 5 columns.
Details
For geographic regions used by the Australian Bureau of Statistics (ABS), the ABS publishes correspondence files. These files compare how two different types of regions align with each other. The Australian Government Department of Health and Aged Care published analogous concordance files for primary health networks (PHNs). These are useful for mapping between different types of administrative districts. There does not appear to be a publicly available set of concordance files for New South Wales local health district geographies.
The concordance was computed here by intersecting the ABS geometries with the
local health district geometries. The fraction of the ABS geometry's area
included in the intersection is reported in the column FRAC_INCLUDED
.
Any intersection with FRAC_INCLUDED
at least 0.01% was retained.
Area computations were performed in crs_gda2020_albers()
(EPSG 9473 equal
area Albers) coordinates at the original reolution of the source data.
Note that postal areas are not precisely the same as postcodes used by Australia Post, however they are very similar.
Source
Computed using the same source datasets as lhd
and poa_nsw
.
Examples
library(dplyr)
# postcodes that overlap with Murrumbidgee LHD
poa_lhd_concordance |>
filter(lhd_name == "Murrumbidgee", FRAC_INCLUDED > 0.005) |>
arrange(desc(FRAC_INCLUDED)) |>
pull(POA_NAME_2021)
# extract the main LHD for each postcode
poa_lhd_concordance |>
arrange(desc(FRAC_INCLUDED)) |>
slice_head(n = 1, by = POA_NAME_2021) |>
mutate(postcode = POA_NAME_2021, lhd = lhd_name, .keep = "none") |>
as_tibble()
Postal codes and localities of New South Wales.
Description
Derived from several government sources with some community curation. This version additionally attempts to canonicalise non-physical postcodes to assist with mapping.
Usage
postcodes
Format
A data frame with 7 columns:
- postcode
A postal code
- locality
A suburb or locality
- state
NSW
- SA2_NAME_2016
Statistical Area 2 name to assist with disambiguating localities with identical names
- special
Flag indicating this is a post office box, mail distribution centre or other special postal code
- old
Flag indicating that this code appears to have been superseded
- canonical
The closest canonical postal code, e.g. mapping post office boxes to the main suburb's postal code
Source
Matthew Proctor. "Australian Postcodes", https://www.matthewproctor.com/australian_postcodes, accessed 6 February 2023.
The original dataset is released to the public domain.
Examples
set.seed(12345)
postcodes[sort(sample.int(nrow(postcodes), 5)),]
Suburbs of New South Wales.
Description
A dataset containing the names of suburbs in NSW and their postcodes. These fields are extracted as-is from the source dataset published by DCS Spatial Services, NSW Government.
Usage
suburbs
Format
A data frame with 2 columns:
- suburbname
The name of the suburb, in upper case
- postcode
The main postcode of the suburb, as a character
Source
Spatial Services, Department of Customer Service NSW. "NSW Administrative Boundaries Theme - Suburb." https://portal.spatial.nsw.gov.au/portal/home/item.html?id=38bdaa10b7cc41a3a19be6eca91f5368, accessed 21 September 2022.
The original dataset is published under the Creative Commons Attribution 4.0 International licence, © State of New South Wales (Spatial Services, a business unit of the Department of Customer Service NSW).