Title: | Derive a Color Palette from a Particular Location on Earth |
Version: | 0.2.0 |
Description: | Downloads a satellite image via ESRI and maptiles (these are originally from a variety of aerial photography sources), translates the image into a perceptually uniform color space, runs one of a few different clustering algorithms on the colors in the image searching for a user-supplied number of colors, and returns the resulting color palette. |
Depends: | R (≥ 3.1.0) |
License: | MIT + file LICENSE |
Maintainer: | Will Cornwell <wcornwell@gmail.com> |
Encoding: | UTF-8 |
Imports: | maptiles, terra, sf, grDevices |
Suggests: | testthat, cluster, knitr, rmarkdown, ggplot2 |
RoxygenNote: | 7.3.2 |
NeedsCompilation: | no |
Packaged: | 2025-03-31 05:04:28 UTC; z3484779 |
Author: | Will Cornwell |
Repository: | CRAN |
Date/Publication: | 2025-03-31 07:20:04 UTC |
Extract Color Palettes from Satellite Imagery
Description
Download a satellite image from a selected provider, extract dominant colors, and generate an earth-tone palette.
Usage
get_earthtones(
latitude = 50.759,
longitude = -125.673,
zoom = 11,
number_of_colors = 3,
method = "pam",
sampleRate = 500,
include.map = TRUE,
provider = "Esri.WorldImagery",
...
)
Arguments
latitude |
Numeric. Latitude coordinate for the center of the satellite image. |
longitude |
Numeric. Longitude coordinate for the center of the satellite image. |
zoom |
Numeric. Zoom level between 0 (whole world) and 13 (high detail). Higher values zoom in closer. |
number_of_colors |
Numeric. Number of dominant colors to extract. |
method |
Character. Clustering method to identify dominant colors. Options are |
sampleRate |
Numeric. Subsampling factor; higher values reduce computation by sampling fewer pixels. |
include.map |
Logical. If |
provider |
Character. Tile provider for satellite imagery. Currently supports |
... |
Additional arguments passed to internal functions (currently unused). |
Details
The function retrieves satellite imagery from the specified provider, extracts colors by converting the imagery into a perceptually uniform color space, and applies a clustering algorithm to determine dominant colors. Zoom level and location significantly influence the palette generated.
Value
An object of class "palette"
if include.map = TRUE
, containing:
-
pal
: A vector of hexadecimal color codes representing the dominant colors. -
map
: A raster image object of the satellite imagery.
If include.map = FALSE
, returns a vector of hexadecimal color codes.
See Also
Examples
## Not run:
# Get a palette for a location in the Bahamas
get_earthtones(latitude = 24.2, longitude = -77.88, zoom = 11, number_of_colors = 5)
# Return palette only, without map
get_earthtones(latitude = 24.2, longitude = -77.88,
zoom = 11, number_of_colors = 5, include.map = FALSE)
## End(Not run)
Print Method for Palette Objects
Description
Visualizes the palette and associated satellite image.
Usage
## S3 method for class 'palette'
print(x, ...)
Arguments
x |
An object of class |
... |
Additional arguments passed to plotting methods. |
Value
No return value; called for its side effect of plotting.