Description
Create Contour Polygons from Regular Grids.
Description
Regularly spaced grids containing continuous data are transformed to contour polygons. A grid can be defined by a data.frame (x, y, value), an 'sf' object or a raster from 'terra'.
README.md
mapiso
The goal of mapiso
is to ease the transformation of regularly spaced grids containing continuous data into contour polygons. These grids can be defined by data.frames (x, y, value), sf
objects or SpatRasters from terra
.mapsio
is a wrapper around isoband
.
Installation
You can install the released version of mapiso
from CRAN with:
install.packages("mapiso")
Alternatively, you can install the development version of mapiso
from GitHub with:
remotes::install_github("riatelab/mapiso")
Usage
Raster
library(mapiso)
library(terra)
#> terra 1.7.29
library(mapsf)
r <- rast(system.file("tif/elevation.tif", package = "mapiso"))
isor <- mapiso(x = r)
mf_theme(mar = c(0, 0, 0, 0))
mf_raster(r)
mf_map(isor, col = NA, add = TRUE)
sf regular grid
library(mapiso)
library(sf)
#> Linking to GEOS 3.9.0, GDAL 3.2.2, PROJ 7.2.1; sf_use_s2() is TRUE
library(mapsf)
# gridded data
s <- st_read(system.file("gpkg/elevation.gpkg", package = "mapiso"),
layer = "elevation", quiet = TRUE)
# mask
m <- st_read(system.file("gpkg/elevation.gpkg", package = "mapiso"),
layer = "com", quiet = TRUE)
# custom breaks
bks <-c(98,100, 150, 200, 250, 300, 350, 400, 412.6)
isos <- mapiso(x = s, var = "elevation", breaks = bks, mask = m)
mf_map(isos, "isomin", "choro",
breaks = bks, border = NA,
leg_title = "elevation")
mf_map(m, col = NA, add = TRUE)
mf_map(s, cex = 1, pch = ".", col = "grey20", add = TRUE)
data.frame
library(mapiso)
library(mapsf)
d <- read.csv(system.file("csv/elevation.csv", package = "mapiso"))
head(d)
#> x y elevation
#> 1 586231.3 6431677 282.0299
#> 2 586481.3 6431677 263.7194
#> 3 586731.3 6431677 244.9597
#> 4 586981.3 6431677 222.3232
#> 5 587231.3 6431677 211.1522
#> 6 587481.3 6431677 232.1604
isod <- mapiso(x = d, var = 'elevation', coords = c('x', 'y'), crs = 'epsg:2154')
bks <- unique(c(isod$isomin, isod$isomax))
mf_map(isod, "isomin", "choro", breaks = bks, leg_title = "elevation")
Community Guidelines
One can contribute to the package through pull requests and report issues or ask questions here.
This project uses conventional commits and semantic versioning.