Tissot Indicatrix for Map Projection Distortion
Overview
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 'PROJ' for coordinate transformation and distortion factor computation. Developed using the method published in Snyder, JP (1987) doi:10.3133/pp1395.
New features
tissot()gains amethodargument (default"proj"). The new"proj"method delegates toPROJ::proj_factors(), calling the PROJ C library directly for exact distortion factors rather than approximating them via finite differences. This is more accurate, especially for tabular or piecewise projections (e.g. Robinson). The original finite-difference computation (Snyder 1987), inspired by Bill Huber's formulation at <https://gis.stackexchange.com/a/5075/482>, is preserved asmethod = "finitediff". ThePROJpackage is now the sole coordinate transformation dependency;gdalrasterhas been removed.tissot_raster()computes distortion surfaces on a regular projected grid, returning atissot_rasterobject withimage()andplot()methods. Extent is auto-detected from the global lon/lat bounding box (clamped byradius) or supplied explicitly. Supports any metric from [tissot()] output.
Show all changes in 0.3.0Hide the rest of the changes in 0.3.0
Dependency change
gdalrasterremoved fromImports. All coordinate transformation now goes throughPROJ::proj_trans()andPROJ::proj_crs_text(). CRS validation (srs_is_geographic) is handled by an internal helper usingPROJ::proj_crs_text().
Bug fixes
- Fixed default
metricsintissot_raster(): names now use underscores ("scale_area","scale_h","scale_k") matching the actualtissot_tblcolumn names (previously used dots, causing silently all-NA output).
From NEWS.md in the release
Install
Health
- OK13 OK2026-08-04
- NOTE12 OK, 1 NOTE2026-08-01
- OK13 OK2026-06-09
- WARNING12 OK, 1 WARNING2026-06-08
- OK14 OK2026-03-10
Documentation
- Help pages
- 12 (1 internal)includes a package overview page
- Examples that run
- 100%8 run in a plain check
- Exported functions with examples
- 100%
- Documented parameters
- 100%
- Return-value docs
- 100%
- Help pages citing references
- 0%
Downloads
Repository
- PRs merged (all time)
- 100%
- Median days to close, 50 most recently updated closed issues
- 1,772
- Median days to close, 50 most recently updated closed PRs
- 0
Stars over time
Forks over time
Releases over time
Issues over time
PRs over time
Commits over time
10 development-tooling and community-health practices detected across 6 families in the upstream repository
Checks run against github.com/hypertidy/tissot on 2026-10-11.
The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel
GitHub Pages site last deployed 2026-07-12 · The repository has a site deploy workflow
pkgdown site last built 2026-07-12
Show all practicesHide 2 practices
Dependencies
Code & Tests
Datasets
People & History
Pick two releases to compare their code metrics.
- 0.3.0Latest
- RR 4.6.0 released · 2026-04-24
- 0.2.02026-02-12
- RR 4.5.0 released · 2025-04-11
Package metadata
- First published
- 2026-02-12
- Total releases
- 2 / 1 yrs
- License
- MIT + file LICENSE OSI
- Minimum R
- ≥ 3.6.0
- Bundled data
- 373 KB / 1 file
- Download size
- 1.5 MB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("tissot")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-18, which the citation names so these numbers can be found later. More on citing and the projects behind them.