MyNixOS website logo
Description

Geometry Decomposition.

Build a map of path-based geometry, this is a simple description of the number of parts in an object and their basic structure. Translation and restructuring operations for planar shapes and other hierarchical types require a data model with a record of the underlying relationships between elements. The gibble() function creates a geometry map, a simple record of the underlying structure in path-based hierarchical types. There are methods for the planar shape types in the 'sf' and 'sp' packages and for types in the 'trip' and 'silicate' packages.

BuildStatus BuildStatus AppVeyor BuildStatus CoverageStatus CRANstatus cranchecks Downloads

gibble

The goal of gibble is to provide a straightforward map of path-based data structures. Paths are connected linear sequences of coordinates, otherwise known as lines. Structured spatial data includes objects composed of paths, which are islands, holes within island, lines, and points. Polygons require an extra grouping level subobject to ensure holes are nested within their island, but this is ignored for other types.

The map is simply a record of the path, its size (number of vertices and geometric dimension), its groupings (which object and subobject), and its type (something like “polygon”, “line”, “point”). Internally a bare functionality works with matrices and all numeric values, but gibble then turns this set of values into a data frame where entities can be labelled arbitrarily.

Sequential linear structures are not optimal for many operations when working with spatial data, and in particular they cannot describe surfaces in 3D geometry because they are inherently, topologically, one-dimensional. Gibble provides a simple bridge between path and primitive types, which do generalize to any topological dimension. Gibble considers a point to be a degenerate path, so that the path concept is consistent for any simple features-analogue.

The original impetus for gibble was to illustrate how basic topological editing might be provided via the mapedit package, and is used to consolidate the geometry decomposition tools in silicate.


Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Metadata

Version

0.4.0

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows