fasterize - Fast Polygon to Raster Conversion
Provides a drop-in replacement for rasterize() from the 'raster' package that takes polygon vector or data frame objects, and is much faster. There is support for the main options provided by the rasterize() function, including setting the field used and background value, and options for aggregating multi-layer rasters. Uses the scan line algorithm attributed to Wylie et al. (1967) <doi:10.1145/1465611.1465619>. Note that repository originally was hosted at 'Github' 'ecohealthalliance/fasterize' but was migrated to 'hypertidy/fasterize' in March 2025, and can be found indexed on 'R universe' <https://cran.r-universe.dev/fasterize>.
Last updated
rasterrcpprcpparmadillosfspatialcpp
11.57 score 186 stars 12 dependents 1.7k scripts 2.7k downloads
vapour - Access to the 'Geospatial Data Abstraction Library' ('GDAL')
Provides low-level access to 'GDAL' functionality. 'GDAL' is the 'Geospatial Data Abstraction Library' a translator for raster and vector geospatial data formats that presents a single raster abstract data model and single vector abstract data model to the calling application for all supported formats <https://gdal.org/>. This package is focussed on providing exactly and only what GDAL does, to enable developing further tools.
Last updated
cppgdalgdal-apicpp
9.49 score 87 stars 4 dependents 74 scripts 936 downloadsPROJ - Generic Coordinate System Transformations Using 'PROJ'
A wrapper around the generic coordinate transformation software 'PROJ' that transforms coordinates from one coordinate reference system ('CRS') to another. This includes cartographic projections as well as geodetic transformations. The intention is for this package to be used by user-packages such as 'reproj', and that the older 'PROJ.4' and version 5 pathways be provided by the 'proj4' package.
Last updated
proj
9.17 score 16 stars 15 dependents 108 scripts 1.6k downloadsncmeta - Straightforward 'NetCDF' Metadata
Extract metadata from 'NetCDF' data sources, these can be files, file handles or servers. This package leverages and extends the lower level functions of the 'RNetCDF' package providing a consistent set of functions that all return data frames. We introduce named concepts of 'grid', 'axis' and 'source' which are all meaningful entities without formal definition in the 'NetCDF' library <https://www.unidata.ucar.edu/software/netcdf/>. 'RNetCDF' matches the library itself with only the named concepts of 'variables', 'dimensions' and 'attributes'.
Last updated
8.25 score 12 stars 15 dependents 197 scripts 5.6k downloadsdecido - Bindings for 'Mapbox' Ear Cutting Triangulation Library
Provides constrained triangulation of polygons. Ear cutting (or ear clipping) applies constrained triangulation by successively 'cutting' triangles from a polygon defined by path/s. Holes are supported by introducing a bridge segment between polygon paths. This package wraps the 'header-only' library 'earcut.hpp' <https://github.com/mapbox/earcut.hpp> which includes a reference to the method used by Held, M. (2001) <doi:10.1007/s00453-001-0028-4>.
Last updated
cpp
7.74 score 16 stars 16 dependents 21 scripts 2.3k downloadsgeographiclib - Access to 'GeographicLib'
Bindings to the 'GeographicLib' C++ library <https://geographiclib.sourceforge.io/> for precise geodetic calculations including geodesic computations (distance, bearing, paths, intersections), map projections (UTM/UPS, Transverse Mercator, Lambert Conformal Conic, and more), grid reference systems (MGRS, Geohash, GARS, Georef), coordinate conversions (geocentric, local Cartesian), and polygon area on the WGS84 ellipsoid. All functions are fully vectorized.
Last updated
cpp
7.34 score 9 stars 4 dependents 10 scripts 1.0k downloadssilicate - Common Forms for Complex Hierarchical and Relational Data Structures
Generate common data forms for complex data suitable for conversions and transmission by decomposition as paths or primitives. Paths are sequentially-linked records, primitives are basic atomic elements and both can model many forms and be grouped into hierarchical structures. The universal models 'SC0' (structural) and 'SC' (labelled, relational) are composed of edges and can represent any hierarchical form. Specialist models 'PATH', 'ARC' and 'TRI' provide the most common intermediate forms used for converting from one form to another. The methods are inspired by the simplicial complex <https://en.wikipedia.org/wiki/Simplicial_complex> and provide intermediate forms that relate spatial data structures to this mathematical construct.
Last updated
hierarchical-datasimplicial-complexspatial-datastructural-primitivestopologytriangulation
7.28 score 55 stars 7 dependents 110 scripts 337 downloadsceramic - Download Online Imagery Tiles
Download imagery tiles to a standard cache and load the data into raster objects. Facilities for 'AWS' terrain <https://registry.opendata.aws/terrain-tiles/> terrain and 'Mapbox' <https://www.mapbox.com/> servers are provided.
Last updated
6.51 score 94 stars 139 scripts 269 downloadsgraticule - Meridional and Parallel Lines for Maps
Create graticule lines and labels for maps. Control the creation of lines or tiles by setting their placement (at particular meridians and parallels) and extent (along parallels and meridians). Labels are created independently of lines.
Last updated
6.46 score 17 stars 1 dependents 114 scripts 314 downloadslazysf - Delayed Read for 'GDAL' Vector Data Sources
Lazy read for drawings. A 'dplyr' back end for data sources supported by 'GDAL' vector drivers, that allows working with local or remote sources as if they are in-memory data frames. Basic features work with any drawing format ('GDAL vector data source') supported by the 'gdalraster' package.
Last updated
spatial-gdal-sf-dbi
5.80 score 29 stars 11 scripts 231 downloadscontrolledburn - Sparse Polygon Rasterization with Exact Coverage Fractions
Rasterize polygons without materializing any pixel values. Computes exact coverage fractions for polygon-grid intersections and returns results in a sparse two-table format: run-length encoded interior cells and individually weighted boundary cells. The scanline algorithm is O(perimeter) in both time and memory. Uses the exactextract algorithm by Daniel Baston, vendored from the 'exactextractr' package. Derived from the 'fasterize' package by Noam Ross.
Last updated
compressionlazypolygonsrastercpp
5.08 score 17 stars 14 scriptssds - Spatial Data Sources
Functions for descriptions of spatial data sources that can be read directly with or without download. Most sources are readable by 'GDAL' software. There are functions for imagery, elevation, and a variety of easily accessible data streams including image tile servers, links to online files, and geographic data services.
Last updated
4.76 score 8 stars 2 dependents 20 scriptstissot - Tissot Indicatrix for Map Projection Distortion
Compute and visualize the 'Tissot Indicatrix' for map projections. The indicatrix characterizes projection distortion by computing scale factors, angular deformation, areal distortion, and convergence at arbitrary points. Based on the calculations shared by Bill Huber on <https://gis.stackexchange.com/a/5075/482>. Uses 'GDAL' for coordinate transformation. Developed using the method published in Snyder, JP (1987) <doi:10.3133/pp1395>.
Last updated
4.26 score 18 stars 5 scripts 156 downloadsarea - Calculate Area of Triangles and Polygons
Calculate the area of triangles and polygons using the shoelace formula. Area may be signed, taking into account path orientation, or unsigned, ignoring path orientation. The shoelace formula is described at <https://en.wikipedia.org/wiki/Shoelace_formula>.
Last updated
cpp
3.81 score 13 stars 10 scripts 222 downloadsgrout - Create Raster Tiles
Create raster tiles abstractly.
Last updated
3.08 score 8 stars 1 dependents 7 scriptsquad - Intermediate Forms of Raster Grids
Raster grids and quads as first class types with helpers. Provides a low level API for generating mesh index and vertices from the simplest abstraction of raster grid, input dimension and (optionally) extent to generate components of meshes for downstream visualization and efficient coordinate transformation. API functions may be 'Linked To' in the R headers library way.
Last updated
gridmeshquadrastercpp
2.78 score 1 stars 1 dependents 4 scripts 7 downloadsisoraster - Create Contour Lines and Contour Polygons from a Raster
Creates nice smooth 'marching squares' contour lines and polygons.
Last updated
2.65 score 9 stars 4 scriptspolymer - Flexible and Intuitive Overlay Methods
General intersections via a triangle pool from disparate polygon inputs. Overlap is determined via finite-element decomposition of all component edges in all inputs into triangles. Then triangles instances are classified (by point-in-polygon lookup) by objects within layers.
Last updated
2.54 score 7 stars 3 scriptsrustycogs - TIFF Virtualization via Rust
Extract byte-range chunk references from cloud-hosted TIFF and COG files without reading pixel data. Uses the Rust 'async-tiff' and 'object_store' crates for async I/O across S3, GCS, Azure, HTTP, and local storage. Returns a data frame of tile offsets and metadata suitable for constructing Kerchunk or Zarr virtual stores.
Last updated
rustcargo
2.30 score 4 stars 6 scriptsL3bin - Integerized Sinusoidal Binning Scheme for Level 3 Data
The NASA Ocean Biology processing Group L3 bin scheme, based on the sinusoidal map projection. Psuedo code for the binning scheme was published in Appendix A of NASA Technical Memorandum 104566, Vol. 32., listed in URL.
Last updated
2.30 score 4 stars 2 scriptsfilearchy - Write Imagery to Tiles
Create directory structure of image tiles.
Last updated
gdalpngrastertiles
2.30 score 4 stars 2 scriptsearthcircle - Create Those Geographic Circles
Create geographic circles, note this is not the Tissot Inidicatrix see hypertidy/tissot for that.
Last updated
1.70 score 1 stars 2 scriptsstarc - Obtain 'SpatioTemporal Asset Catalog' (STAC) Assets
What the package does (one paragraph).
Last updated
1.30 score 2 starsmgrsrev - What the Package Does (One Line, Title Case)
What the package does (one paragraph).
Last updated
1.00 score
quadmesh - Quadrangle Mesh
Create surface forms from matrix or 'raster' data for flexible plotting and conversion to other mesh types. The functions 'quadmesh' or 'triangmesh' produce a continuous surface as a 'mesh3d' object as used by the 'rgl' package. This is used for plotting raster data in 3D (optionally with texture), and allows the application of a map projection without data loss and many processing applications that are restricted by inflexible regular grid rasters. There are discrete forms of these continuous surfaces available with 'dquadmesh' and 'dtriangmesh' functions.
Last updated
6.63 score 26 stars 1 dependents 55 scripts 315 downloadscrsmeta - Extract Coordinate System Metadata
Obtain coordinate system metadata from various data formats. There are functions to extract a 'CRS' (coordinate reference system, <https://en.wikipedia.org/wiki/Spatial_reference_system>) in 'EPSG' (European Petroleum Survey Group, <http://www.epsg.org/>), 'PROJ4' <https://proj.org/>, or 'WKT2' (Well-Known Text 2, <http://docs.opengeospatial.org/is/12-063r5/12-063r5.html>) forms. This is purely for getting simple metadata from in-memory formats, please use other tools for out of memory data sources.
Last updated
5.41 score 6 stars 23 dependents 4 scripts 1.2k downloadsunjoin - Separate a Data Frame by Normalization
Separate a data frame in two based on key columns. The function unjoin() provides an inside-out version of a nested data frame. This is used to identify duplication and normalize it (in the database sense) by linking two tables with the redundancy removed. This is a basic requirement for detecting topology within spatial structures that has motivated the need for this package as a building block for workflows within more applied projects.
Last updated
5.16 score 12 stars 8 dependents 4 scripts 248 downloadsclipper - Another Port of Angus Johnson's 'clipper' Polygon Clipping Library
Another Port of Angus Johnson's 'clipper' Polygon Clipping Library.
Last updated
cpp
3.34 score 2 stars 22 scriptsscgraph - Common Forms for Graph Structures
Provides support for the 'silicate' common form data structure for igraph.
Last updated
edgesigraphsc-form
2.54 score 7 stars 10 scriptszarrr - What the Package Does (One Line, Title Case)
What the package does (one paragraph).
Last updated
2.40 score 5 stars 5 scriptsncapi - What the Package Does (one line, title case)
What the package does (one paragraph).
Last updated
netcdfcpp
2.40 score 5 stars 2 scriptsscdb - Database Backend for Common Form Data
Creates a database backend from `silicate` data.
Last updated
2.32 score 3 stars 14 scriptsgdalwebsrv - GDAL Imagery Services 'GDAL_WMS' (Web Map Services)
Provide imagery services via GDAL's Web Map Services. <https://gdal.org/drivers/raster/wms.html>
Last updated
2.30 score 4 stars 1 scriptsvtkr - Read a Limited Subset of Visualization Toolkit Formats
Read some VTK formats. VTK is the Visualization Toolkit <https://en.wikipedia.org/wiki/VTK>.
Last updated
2.30 score 4 stars 3 scriptssvgplotr - Fast plots of svg graphics in R
What the package does (one paragraph).
Last updated
cpp
2.30 score 4 stars 1 scriptswince - Write NetCDF Files for the Obvious Situations
Create a 3D 'NetCDF' with time or depth as the third dimension, and convention-conforming coordinate system metadata. Eventually we'll set this up to write slice by slice which is easy once the file is instantiated, but atm it's purely an experiment. We might include capability to create 4D ones too.
Last updated
2.18 score 3 stars 3 scriptsgranulated - Define Rectangular Regions with Granularity
A granule is a rectangular extent with an implied discretization. The default granularity is 1x1, the range is a whole divisor of itself. This is the general concept of a raster, a rectangular window with discretization. The common extent or bounding box concept can be thought of as the degenerate case (1x1).
Last updated
2.18 score 3 stars 1 scriptsactivate - Activate to Determine the Context of Subsequent Manipulations
A simple context-controlling mechanism to 'activate' a named sub-entity in an object. The generic functions are provided with bare default methods. It is expected that other packages will import the generic and specialize it.
Last updated
2.18 score 1 stars 1 dependents 4 scriptscdt - What the Package Does (One Line, Title Case)
What the package does (one paragraph).
Last updated
2.11 score 2 stars 13 scriptsplover - What the Package Does (One Line, Title Case)
Point in polygon.
Last updated
cpp
2.00 score 2 stars 1 scriptspfft - What the Package Does (one line, title case)
What the package does (one paragraph).
Last updated
2.00 score 2 stars 3 scriptscroc - Tools for Ocean Colour
Work with data from NASA's ocean colour data, primarily the 'Level-3 bin' files. There are functions to read and work with the ragged array 'L3 bins' mesh and calculate biophysical properties from remote sensing reflectance data.
Last updated
cpp
2.00 score 2 stars 10 scriptsfutility - Helpers for the 'GDAL' Application Utility Libraries
Helpful wrappers around the GDAL utilities, for now via the 'sf' package.
Last updated
1.70 score 6 scripts 151 downloadsxplot - What the Package Does (One Line, Title Case)
What the package does (one paragraph).
Last updated
1.70 score 1 scriptsgridcol - Gridded Vectors
Vectors for cell indexes from raster grids.
Last updated
1.70 score 1 stars 3 scriptscells - Grid Logic
Grid logic for rasters. Grid logic involves a rectangular extent and a 'grain', the discretization of that extent into rectangular cells. This logic exists in several packages but here is intended to be completely independent of data usage.
Last updated
1.11 score 1 stars 13 scriptsmesh3d - What the Package Does (One Line, Title Case)
What the package does (one paragraph).
Last updated
1.00 score 1 scriptstidyff - Create Native raster Files With ff
Couplings between raster and ff files.
Last updated
1.70 score 1 stars 6 scriptsrvgpm - What the Package Does (One Line, Title Case)
What the package does (one paragraph).
Last updated
1.00 score