The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

Title: Transform Base Maps Using Log-Azimuthal Projection
Version: 0.2.0
Description: Base maps are transformed to focus on a specific location using an azimuthal logarithmic distance transformation.
URL: https://github.com/riatelab/fisheye
BugReports: https://github.com/riatelab/fisheye/issues
License: GPL-3
Depends: R (≥ 3.5.0)
Imports: sf
Encoding: UTF-8
RoxygenNote: 7.2.3
Suggests: covr, tinytest
NeedsCompilation: no
Packaged: 2023-12-12 13:53:08 UTC; tim
Author: Timothée Giraud ORCID iD [cre, aut], Luc Guibard [aut]
Maintainer: Timothée Giraud <timothee.giraud@cnrs.fr>
Repository: CRAN
Date/Publication: 2023-12-12 14:10:02 UTC

Package description

Description

Base maps are transformed to focus on a specific location using an azimuthal logarithmic distance transformation.

References

Hägerstrand, T. (1957). Migration and Area: A Survey of a Sample of Swedish Migration Fields and Hypothetical Considerations of their Genesis. Lund Studies in Geography, Series B, Human Geography, Department of Geography, University of Lund, Lund.


fisheye

Description

This function transform an sf layer with a fisheye transformation. Several methods are available. This is a visualisation method that should not be used for geospatial calculation (area, distances...). The output sf object has no CRS as it is not relevant.

Usage

fisheye(x, centre, method = "log", k = 1)

Arguments

x

an sf object (POINT, LINESTRING, MULTILINESTRING, POLYGON, MULTIPOLYGON) to be transformed. This object needs to be projected (no lon/lat).

centre

an sf object, the center of the transformation. This object must use the same projection as x.

method

transfomation method, either 'log' or 'sqrt'. See Details.

k

integer, factor to adjust the log transformation, higher values soften the deformation. See Details.

Details

The 'log' method transforms distances to center with: {d}' = \log(1 + 10^{-k} * d)
The 'sqrt' method transforms distances to center with: {d}' = \sqrt(d)

Value

A transformed sf object is returned.

Examples

library(sf)
ncraw <- st_read(system.file("shape/nc.shp", package="sf"), quiet = TRUE)
nc <- st_transform(ncraw, 3857)
ncfe <- fisheye(nc, centre = nc[100, ], method = 'log', k = 4)
plot(st_geometry(ncfe), col = "grey70", lwd = .2)
plot(st_geometry(ncfe[100,]), col = NA, lwd = 2, border = "red", add = TRUE)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.