| 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.