Package {geomorphR}


Type: Package
Title: Geometric Features for Building Footprints in Sf Objects
Version: 0.1.0
Author: Jonathan Cohen [aut, cre]
Maintainer: Jonathan Cohen <cohen.jota@gmail.com>
Description: Extracts reproducible geometric and urban-morphology descriptors from polygon and multipart polygon building footprints stored as sf objects. Methods include area, perimeter, compactness, shape, bounding-box, topology, convexity, and orientation measures, together with optional building-height, floor-count, gross-floor-area, floor-space-index, coverage, volume, and floor-height metrics derived from explicitly named attribute columns. The resulting sf objects preserve the source attributes and geometry for spatial analysis, visualization, and downstream statistical or machine-learning workflows, with optional future-based parallel processing for larger datasets.
License: MIT + file LICENSE
URL: https://github.com/MakiJota/geomorphR
BugReports: https://github.com/MakiJota/geomorphR/issues
Encoding: UTF-8
Imports: sf, dplyr, future, future.apply, progressr
Suggests: testthat (≥ 3.0.0)
Config/roxygen2/version: 8.1.0
NeedsCompilation: no
Packaged: 2026-09-23 11:20:52 UTC; edgardo
Repository: CRAN
Date/Publication: 2026-10-04 09:00:02 UTC

Extract geometric and morphological descriptors from polygonal building footprints

Description

Computes footprint descriptors and optional building morphology metrics for an sf object containing POLYGON or MULTIPOLYGON geometries.

Usage

extract_geometric_features(
  buildings_sf,
  verbose = TRUE,
  use_parallel = FALSE,
  n_cores = NULL,
  make_valid = TRUE,
  height_col = NULL,
  floors_col = NULL,
  orientation_col = NULL,
  gfa_col = NULL,
  plot_area_col = NULL
)

Arguments

buildings_sf

An sf object with POLYGON or MULTIPOLYGON geometries.

verbose

Logical; print progress messages when TRUE.

use_parallel

Logical; optional future-based parallel computation.

n_cores

Integer or NULL; number of workers used by future.apply.

make_valid

Logical; call sf::st_make_valid() before extraction.

height_col

Character scalar naming building height in source units.

floors_col

Character scalar naming the number of floors/storeys.

orientation_col

Optional character scalar naming building orientation in degrees.

gfa_col

Optional character scalar naming gross floor area.

plot_area_col

Optional character scalar naming plot/parcel area.

Value

An sf object with appended geometry and morphology features.


Validate source columns used by morphology metrics

Description

Validate source columns used by morphology metrics

Usage

validate_morphology_columns(
  buildings_sf,
  height_col = NULL,
  floors_col = NULL,
  orientation_col = NULL,
  gfa_col = NULL,
  plot_area_col = NULL
)

Arguments

buildings_sf

An sf object or data frame containing source columns.

height_col

Character scalar naming building height.

floors_col

Character scalar naming the number of floors/storeys.

orientation_col

Character scalar naming building orientation in degrees.

gfa_col

Character scalar naming gross floor area.

plot_area_col

Character scalar naming plot/parcel area.

Value

A data frame with one row per requested field and validation status.