All Projects → etiennebr → geotidy

etiennebr / geotidy

Licence: Unknown, MIT licenses found Licenses found Unknown LICENSE MIT LICENSE.md
Tidy manipulation of spatial data

Programming Languages

r
7636 projects

Projects that are alternatives of or similar to geotidy

Mathnet Spatial
Math.NET Spatial
Stars: ✭ 246 (+693.55%)
Mutual labels:  spatial
de9im
DE-9IM spatial predicate library implemented in Javascript.
Stars: ✭ 22 (-29.03%)
Mutual labels:  spatial
Spatial.Engine
[WIP] Spatial is a cross-platform C++ game engine.
Stars: ✭ 50 (+61.29%)
Mutual labels:  spatial
GeoArrays.jl
Simple geographical raster interaction built on top of ArchGDAL, GDAL and CoordinateTransformations
Stars: ✭ 42 (+35.48%)
Mutual labels:  spatial
wkb-parser
Well-known binary (WKB) Parser.
Stars: ✭ 69 (+122.58%)
Mutual labels:  spatial
xr-kit-samples-unity
Magicverse SDK sample project
Stars: ✭ 26 (-16.13%)
Mutual labels:  spatial
Depthai
DepthAI Python API utilities, examples, and tutorials.
Stars: ✭ 203 (+554.84%)
Mutual labels:  spatial
spatialwidget
Utility package to convert R data into JSON for use in htmlwidget mapping libraries
Stars: ✭ 17 (-45.16%)
Mutual labels:  spatial
rsgislib
Remote Sensing and GIS Software Library; python module tools for processing spatial data.
Stars: ✭ 103 (+232.26%)
Mutual labels:  spatial
geostan
Bayesian spatial analysis
Stars: ✭ 40 (+29.03%)
Mutual labels:  spatial
geodaData
Data package for accessing GeoDa datasets using R
Stars: ✭ 15 (-51.61%)
Mutual labels:  spatial
m1-web-spatialaudioplayer
Consolidated Mach1 spatial audio player focused on collecting all headtracking input methods and defining best practices
Stars: ✭ 26 (-16.13%)
Mutual labels:  spatial
cleangeo
Cleaning geometries from spatial objects in R
Stars: ✭ 43 (+38.71%)
Mutual labels:  spatial
SpatGRIS
Sound spatialization tool
Stars: ✭ 37 (+19.35%)
Mutual labels:  spatial
agrid
A grid for modelling, analyse, map and visualise multidimensional and multivariate data
Stars: ✭ 16 (-48.39%)
Mutual labels:  spatial
Geostats.jl
An extensible framework for high-performance geostatistics in Julia
Stars: ✭ 222 (+616.13%)
Mutual labels:  spatial
AOI
An R 📦 to find, process, and describe "areas of interest"
Stars: ✭ 27 (-12.9%)
Mutual labels:  spatial
libzinc
Zinc is a C++ library for spatial processing.
Stars: ✭ 39 (+25.81%)
Mutual labels:  spatial
Sight
A spatial search μlibrary powered by GameplayKit 👾
Stars: ✭ 27 (-12.9%)
Mutual labels:  spatial
deegree3
Official deegree repository providing geospatial core libraries, data access and advanced OGC web service implementations
Stars: ✭ 118 (+280.65%)
Mutual labels:  spatial

geotidy

Travis build status Codecov test coverage Lifecycle: experimental

Manipulate spatial data tidily. Geotidy provides a selection of spatial functions from the sf package that are adapted to a tidy workflow. It relies on tibbles and dplyr verbs, and forces you to be explicit about the spatial operations you desire. The package is experimental. If you want to learn more about the motivations behind it, see the Motivation section.

Installation

You can install the experimental version of geotidy from github :

# install.packages("remotes")
remotes::install_github("etiennebr/geotidy")

Example

Here's how you manipulate spatial data with geotidy.

library(tibble)
library(dplyr)
library(geotidy)

tibble(place = "Sunset Room", longitude = -97.7404985, latitude = 30.2645315) %>% 
  mutate(geometry = st_point(longitude, latitude))
#> # A tibble: 1 x 4
#>   place       longitude latitude            geometry
#>   <chr>           <dbl>    <dbl>             <POINT>
#> 1 Sunset Room     -97.7     30.3 (-97.7405 30.26453)

Motivation

geotidy does less than sf to make manipulations explicit and compatible with other backends. Explicit means that it won't try to guess which column is a geometry and should receive the operation. It also makes it clear by reading the code, which geometry is impacted. This is done by treating geometry columns just like other tibble columns. sf often hides the geometry column, geotidy treats it just like a regular columns. This also makes it easier to interact with other OGC compliant tools, such as postgis or spark+geomesa.

Example

While sf will guess which column should be buffered:

shp <- sf::st_read("")
st_buffer(shp)

geotidy forces to be explicit and use dplyr verbs

shp %>% 
  mutate(geometry = st_buffer(geometry))

If you already use dplyr with sf, geotidy should fell natural and remove some of the casting operations. geotidy guarantees that your data will stay tidy from start to finish. By having explicit management of geometry columns, it is easy to track multiple columns.

geotidy also guarantees that the returned values are either scalar, or a vector or a list with the same length than the original geometry and not drop any data without the user consent (looking at you st_cast!).

geotidy is not a fork or a separation from sf. It just adds a constrained layer on top of sf to facilitate a tidy workflow. It is an experiment and is very likely to change.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].