rcoins

Identify continuous lines in a network

https://github.com/cityriverspaces/rcoins

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (19.7%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Identify continuous lines in a network

Basic Info
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 13
  • Releases: 5
Created over 1 year ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Codemeta

README.md

rcoins rcoins website

R-CMD-check DOI <!-- badges: end -->

Identify continuous lines in a network using an approach based on the Continuity in Street Network (COINS) method[^1].

rcoins is a R (re)implementation of the COINS algorithm, which is also available in Python as a module of the momepy library or in its original version: PratyushTripathy/COINS.

Installation

You can install the released version of rcoins from CRAN with:

r install.packages("rcoins")

You can install the development version of rcoins from the R terminal like so:

``` r

install.packages("devtools")

devtools::install_github("CityRiverSpaces/rcoins") ```

Alternative installation using conda

An environment including rcoins and all its dependencies can be created using Conda (or its faster implementation Mamba).

Conda can be installed using the Miniforge scripts provided here (download one of the Mambaforge scripts in order to install Mamba as well).

First clone this repository and access it:

shell git clone https://github.com/CityRiverSpaces/rcoins.git cd rcoins/

Run conda (or mamba, if using Mambaforge) to create an environment with all the required dependencies:

shell conda env create -f environment.yml conda activate rcoins

Install the development version of rcoins (include dependencies = TRUE to install the example datasets):

shell Rscript -e 'devtools::install(dependencies = TRUE)'

Example

Given the street network of the city of Bucharest (data source: OpenStreetMap)

r library(rcoins) bucharest <- get_example_data() streets <- bucharest$streets

Plot streets:

Determine continuous lines in the network as:

r continuous_streets <- stroke(streets)

Plot continuous streets:

Contributing

We look very much forward to contributions to the package. See the Contributing Guide for further details.

This package is released with a Contributor Code of Conduct. By contributing to this project you agree to abide by its terms.

Development

When modifying the R source code, load the library as:

r devtools::load_all()

Run tests locally:

r devtools::test()

Run the linter locally:

r lintr::lint_package()

[^1]: Tripathy, P., Rao, P., Balakrishnan, K., & Malladi, T. (2021). An open-source tool to extract natural continuity and hierarchy of urban street networks. Environment and Planning B: Urban Analytics and City Science, 48(8), 2188-2205. DOI: 10.1177/2399808320967680

Owner

  • Name: CRiSp
  • Login: CityRiverSpaces
  • Kind: organization

City River Spaces

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: >-
  rcoins: Identify Naturally Continuous Lines in a Spatial
  Network
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Francesco
    family-names: Nattino
    email: f.nattino@esciencecenter.nl
    affiliation: Netherlands eScience Center
    orcid: 'https://orcid.org/0000-0003-3286-0139'
  - given-names: Claudiu
    family-names: Forgaci
    email: c.forgaci@tudelft.nl
    affiliation: Delft University of Technology
    orcid: 'https://orcid.org/0000-0003-3218-5102'
  - given-names: Fakhereh
    family-names: Alidoost
    email: f.alidoost@esciencecenter.nl
    affiliation: Netherlands eScience Center
    orcid: 'https://orcid.org/0000-0001-8407-6472'
identifiers:
  - type: doi
    value: 10.5281/zenodo.14501804
repository-code: 'https://github.com/CityRiverSpaces/rcoins'
url: 'https://cityriverspaces.github.io/rcoins'
abstract: >-
  Provides functionality to group lines that form naturally
  continuous lines in a spatial network. The algorithm
  implemented is based on the Continuity in Street Networks
  (COINS) method from Tripathy et al. (2021)
  <doi:10.1177/2399808320967680>, which identifies
  continuous "strokes" in the network as the line strings
  that maximize the angles between consecutive segments.
keywords:
  - R
  - COINS
  - network
  - spatial
license: Apache-2.0

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "identifier": "rcoins",
  "description": "Provides functionality to group lines that form naturally continuous lines in a spatial network. The algorithm implemented is based on the Continuity in Street Networks (COINS) method from Tripathy et al. (2021) <doi:10.1177/2399808320967680>, which identifies continuous \"strokes\" in the network as the line strings that maximize the angles between consecutive segments.",
  "name": "rcoins: Identify Naturally Continuous Lines in a Spatial Network",
  "relatedLink": [
    "https://cityriverspaces.github.io/rcoins/",
    "https://doi.org/10.5281/zenodo.14501804"
  ],
  "codeRepository": "https://github.com/CityRiverSpaces/rcoins",
  "issueTracker": "https://github.com/CityRiverSpaces/rcoins/issues",
  "license": "Apache License 2",
  "version": "0.4.0",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "R",
    "url": "https://r-project.org"
  },
  "runtimePlatform": "R version 4.5.1 (2025-06-13)",
  "provider": {
    "@id": "https://cran.r-project.org",
    "@type": "Organization",
    "name": "Comprehensive R Archive Network (CRAN)",
    "url": "https://cran.r-project.org"
  },
  "author": [
    {
      "@type": "Person",
      "givenName": "Francesco",
      "familyName": "Nattino",
      "email": "f.nattino@esciencecenter.nl",
      "@id": "https://orcid.org/0000-0003-3286-0139"
    },
    {
      "@type": "Person",
      "givenName": "Claudiu",
      "familyName": "Forgaci",
      "email": "c.forgaci@tudelft.nl",
      "@id": "https://orcid.org/0000-0003-3218-5102"
    },
    {
      "@type": "Person",
      "givenName": "Fakhereh",
      "familyName": "Alidoost",
      "email": "f.alidoost@esciencecenter.nl",
      "@id": "https://orcid.org/0000-0001-8407-6472"
    }
  ],
  "contributor": [
    {
      "@type": "Person",
      "givenName": "Thijs",
      "familyName": "van Lankveld",
      "email": "t.vanlankveld@esciencecenter.nl",
      "@id": "https://orcid.org/0009-0001-1147-4813"
    }
  ],
  "copyrightHolder": [
    {
      "@type": "Person",
      "givenName": "Francesco",
      "familyName": "Nattino",
      "email": "f.nattino@esciencecenter.nl",
      "@id": "https://orcid.org/0000-0003-3286-0139"
    }
  ],
  "funder": [
    {
      "@type": "Organization",
      "name": "Netherlands eScience Center",
      "email": "info@esciencecenter.nl"
    }
  ],
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "Francesco",
      "familyName": "Nattino",
      "email": "f.nattino@esciencecenter.nl",
      "@id": "https://orcid.org/0000-0003-3286-0139"
    }
  ],
  "softwareSuggestions": [
    {
      "@type": "SoftwareApplication",
      "identifier": "ggplot2",
      "name": "ggplot2",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=ggplot2"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "knitr",
      "name": "knitr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=knitr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "rmarkdown",
      "name": "rmarkdown",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=rmarkdown"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "sfnetworks",
      "name": "sfnetworks",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=sfnetworks"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "testthat",
      "name": "testthat",
      "version": ">= 3.0.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=testthat"
    }
  ],
  "softwareRequirements": {
    "1": {
      "@type": "SoftwareApplication",
      "identifier": "dplyr",
      "name": "dplyr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=dplyr"
    },
    "2": {
      "@type": "SoftwareApplication",
      "identifier": "rlang",
      "name": "rlang",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=rlang"
    },
    "3": {
      "@type": "SoftwareApplication",
      "identifier": "sf",
      "name": "sf",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=sf"
    },
    "4": {
      "@type": "SoftwareApplication",
      "identifier": "sfheaders",
      "name": "sfheaders",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=sfheaders"
    },
    "5": {
      "@type": "SoftwareApplication",
      "identifier": "R",
      "name": "R",
      "version": ">= 4.1.0"
    },
    "SystemRequirements": null
  },
  "fileSize": "849.319KB",
  "releaseNotes": "https://github.com/CityRiverSpaces/rcoins/blob/main/NEWS.md",
  "readme": "https://github.com/CityRiverSpaces/rcoins/blob/main/README.md",
  "contIntegration": "https://github.com/CityRiverSpaces/rcoins/actions/workflows/R-CMD-check.yaml"
}

GitHub Events

Total
  • Create event: 46
  • Release event: 6
  • Issues event: 44
  • Watch event: 2
  • Delete event: 45
  • Member event: 2
  • Issue comment event: 63
  • Push event: 253
  • Pull request event: 92
  • Pull request review comment event: 95
  • Pull request review event: 94
  • Fork event: 1
Last Year
  • Create event: 46
  • Release event: 6
  • Issues event: 44
  • Watch event: 2
  • Delete event: 45
  • Member event: 2
  • Issue comment event: 63
  • Push event: 253
  • Pull request event: 92
  • Pull request review comment event: 95
  • Pull request review event: 94
  • Fork event: 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 11
  • Total pull requests: 31
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 1 day
  • Total issue authors: 2
  • Total pull request authors: 3
  • Average comments per issue: 0.73
  • Average comments per pull request: 0.26
  • Merged pull requests: 25
  • Bot issues: 1
  • Bot pull requests: 0
Past Year
  • Issues: 11
  • Pull requests: 31
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 1 day
  • Issue authors: 2
  • Pull request authors: 3
  • Average comments per issue: 0.73
  • Average comments per pull request: 0.26
  • Merged pull requests: 25
  • Bot issues: 1
  • Bot pull requests: 0
Top Authors
Issue Authors
  • fnattino (25)
  • cforgaci (1)
  • github-actions[bot] (1)
  • SarahAlidoost (1)
Pull Request Authors
  • fnattino (43)
  • cforgaci (6)
  • SarahAlidoost (3)
  • vanlankveldthijs (2)
Top Labels
Issue Labels
Pull Request Labels
bug (2)

Packages

  • Total packages: 1
  • Total downloads:
    • cran 481 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
  • Total maintainers: 1
cran.r-project.org: rcoins

Identify Naturally Continuous Lines in a Spatial Network

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 481 Last month
Rankings
Dependent packages count: 26.4%
Dependent repos count: 32.5%
Average: 48.5%
Downloads: 86.7%
Maintainers (1)
Last synced: 6 months ago

Dependencies

.github/workflows/R-CMD-check.yaml actions
  • actions/checkout v4 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/lint.yaml actions
  • actions/checkout v4 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/pkgdown.yaml actions
  • JamesIves/github-pages-deploy-action v4.5.0 composite
  • actions/checkout v4 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/test-coverage.yaml actions
  • actions/checkout v4 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
DESCRIPTION cran
  • testthat >= 3.0.0 suggests