---
title: "Layout"
output: rmarkdown::html_vignette
author: "Chi Zhang"
date: "2021-01-15"
vignette: >
%\VignetteIndexEntry{Layout}
%\VignetteEncoding{UTF-8}
%\VignetteEngine{knitr::rmarkdown}
editor_options:
chunk_output_type: console
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
```
```{r setup}
library(csmaps)
library(ggplot2)
library(data.table)
library(magrittr)
```
## Naming scheme
The naming scheme has the following pattern: `scope_geogranularity_type_border_layout_Rclass`.
### Scope
This is what content the map data contains. Currently we focus on these 2 scopes:
- Country (Norway).
- City (Oslo).
### Geogranularity
This is the geographic granularity, which defines the border of county, municipality and ward.
- County (fylke) is equivalent to [NUTS3](https://ec.europa.eu/eurostat/documents/345175/7451602/2021-NUTS-3-map-NO.pdf) (Nomenclature of Territorial Unit level 3).
- Municip (kommune) is equivalent to LAU2 (Local Administrative Unit level 2).
- Ward (bydel) is an administrative region within a large municipality.
- xxx: only used for plotting `position_title` (see [example](#norway-layout-insert-oslo)).
### Type
The type of the data object to distinguish whether it's a geographical map or coordinate for label positions.
- Map: Map data.
- Position geolabels: Geographical coordinates for the position of labels, e.g. "county03" or "Oslo".
- Position title (insert oslo): Geographical coordinate for position of title. So far it's only for layout: `insert_oslo`. (see [example](#norway-layout-insert-oslo))
### Border
Due to recent redistricting, there exist multiple versions of county/municip borders. We provide maps that match the borders in the following years:
- 2024: The current border, this map contains 15 counties.
- 2020: Border before redistricting in 2024. This map contains 11 counties.
- 2019: Border before redistricting in 2020. This map contains 18 counties.
- 2017: Border before redistricting in 2018. This map contains 19 counties.
More information on counties in Norway can be found [here](https://en.wikipedia.org/wiki/Counties_of_Norway#cite_note-13).
### Layout
See the [layout](#layout) section below.
### R class
R class for the map object.
- `data.table`: applicable for maps and label/title coordinates.
- `sf`: simple feature for spatial vector data. More on [sf](https://r-spatial.github.io/sf/articles/).
## Layout
We have 3 layout options for Norway map: **default, split** and **insert Oslo**.
For the Oslo map, we only have the **default** layout.
### Norway: default
```{r fig.height=6, fig.width=6}
pd <- copy(csmaps::nor_county_map_b2024_default_dt)
q <- ggplot()
q <- q + geom_polygon(
data = pd,
aes(
x = long,
y = lat,
group = group
),
color="black",
fill="white",
linewidth = 0.4
)
q <- q + theme_void()
q <- q + coord_quickmap()
q <- q + labs(title = "Default layout")
q
```
### Norway: split
```{r fig.height=6, fig.width=6}
pd <- copy(csmaps::nor_county_map_b2024_split_dt)
q <- ggplot()
q <- q + csmaps::annotate_oslo_nor_map_bxxxx_split_dt()
q <- q + geom_polygon(
data = pd,
aes(
x = long,
y = lat,
group = group
),
color="black",
fill="white",
linewidth = 0.4
)
q <- q + theme_void()
q <- q + coord_quickmap()
q <- q + labs(title = "Split layout")
q
```
### Norway: insert oslo
```{r fig.height=6, fig.width=6}
pd <- copy(csmaps::nor_county_map_b2024_insert_oslo_dt)
q <- ggplot()
q <- q + geom_polygon(
data = pd,
aes(
x = long,
y = lat,
group = group
),
color="black",
fill="white",
linewidth = 0.4
)
q <- q + annotate(
"text",
x = csmaps::nor_xxx_position_title_insert_oslo_b2024_insert_oslo_dt$long,
y = csmaps::nor_xxx_position_title_insert_oslo_b2024_insert_oslo_dt$lat,
label = "Oslo"
)
q <- q + theme_void()
q <- q + coord_quickmap()
q <- q + labs(title = "Insert Oslo layout")
q
```
#### Oslo ward: default
```{r fig.height=6, fig.width=6}
pd <- copy(csmaps::oslo_ward_map_b2024_default_dt)
q <- ggplot()
q <- q + geom_polygon(
data = pd,
aes(
x = long,
y = lat,
group = group
),
color="black",
fill="white",
linewidth = 0.4
)
q <- q + theme_void()
q <- q + coord_quickmap()
q <- q + labs(title = "Oslo wards")
q
```