Science Score: 26.0%

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

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.4%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 1
  • Open Issues: 2
  • Releases: 1
Created about 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog Contributing License Codemeta

README.Rmd

---
output: github_document
---



```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%"
)
```

# mbquartR mbquartR website




[![:name status badge](https://ropensci.r-universe.dev/badges/:name)](https://ropensci.r-universe.dev)
[![Codecov test coverage](https://codecov.io/gh/ropensci/mbquartR/branch/main/graph/badge.svg)](https://app.codecov.io/gh/ropensci/mbquartR?branch=main)
[![R-CMD-check](https://github.com/ropensci/mbquartR/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/ropensci/mbquartR/actions/workflows/R-CMD-check.yaml)

[![pkgcheck](https://github.com/ropensci/mbquartR/workflows/pkgcheck/badge.svg)](https://github.com/ropensci/mbquartR/actions?query=workflow%3Apkgcheck)
[![Status at rOpenSci Software Peer Review](https://badges.ropensci.org/658_status.svg)](https://github.com/ropensci/software-review/issues/658)


The goal of `mbquartR` is to provide an easy way to download the Manitoba Original Survey Legal Descriptions data from [DataMB](https://geoportal.gov.mb.ca/) and then to locate quarter sections, and other land division types, in the province of Manitoba. You can search by legal land description (e.g., NE-11-33-29W1) or by lat/long coordinates (e.g., -101.4656, 51.81913). There is also a convenient map function that plots the centres and outlines (polygons) of the quarter sections on a map.

The Manitoba Original Survey Legal Descriptions data set covers the entire province of Manitoba and there are over 900,000 parcels of land that have a legal land description. `mbquartR` was created for those who work with geospatial data in Manitoba, particularly those who are working with rural or farm parcels of land where the legal land description is commonly used as the method of identifying the location. `mbquartR` also allows users to quickly go back and forth between geographic coordinates and the legal land description. Most mapping applications (e.g., Google Maps) can not find or route to a legal land description, but you can with coordinates! 

Checkout the [mbquartR website](https://docs.ropensci.org/mbquartR/) for vignettes/code examples.

## What is a quarter section?
A quarter section in Manitoba is a land unit measuring 160 acres (~64.8 ha), representing a quarter of a square mile. It originates from the [Dominion Land Survey system](https://en.wikipedia.org/wiki/Dominion_Land_Survey), introduced in the late 19th century to organize the European settlement and colonization of Western Canada. The grid system covers most of the province of Manitoba and organizes land into a hierarchy of quarter sections, sections, townships, and ranges.

## Data Sources
The full list of quarter sections and coordinates are downloaded from [DataMB](https://geoportal.gov.mb.ca/). Note that occasionally this site is unavailable, in this situation an [archived version](https://github.com/ropensci/mbquartR/releases/) of the data is downloaded from the package repository on GitHub.

## Installation

You can install the development version of `mbquartR` like so:

```{r eval = FALSE}
install.packages("mbquartR", repos = "https://ropensci.r-universe.dev")
```


## Where is Manitoba?

```{r echo = FALSE, warning = FALSE, message = FALSE, fig.cap = "Location of the province of Manitoba and surrounding provinces and territories of Ontario (ON), Saskatchewan (SK), Nunavut (NU), and Northwest Territories (NT) within south-central Canada. Manitoban cities with a population greater than 10,000. Inset: Location of Manitoba within North America", fig.alt = "Main image shows the south-central Canadian province of Manitoba with points indicating the location of cities with a population greater than 10,000. Inset image shows an outline of North America, with the Canadian province of Manitoba highlighted in red."}
world_coordinates <- rnaturalearth::ne_states(c("canada", "united states of america", "mexico"), returnclass = "sf") |>
  dplyr::mutate(fill = dplyr::case_when( 
    name_sv == "Manitoba" ~ "Manitoba",
    geonunit == "Canada" ~ "Canada",
    geonunit == "United States of America" ~ "USA")) |>
  sf::st_transform(crs = 3348) |>
  sf::st_crop(xmin = -344159, ymin = -2849541, xmax= 9015624, ymax= 5801042)

manitoba <- world_coordinates |>
  dplyr::filter(fill == "Manitoba")

region <- world_coordinates |>
  sf::st_crop(xmin = 5507492*0.9, xmax = 6373977*1.1, ymax = 2676991*1.15, ymin = 1434470*0.8)
  
prov_labels <- data.frame(
  lab = c("SK", "ON", "NU", "NT", "United States"), 
  angle = c(0, 0, 0, 0, 0), 
  lat = c(52.9399, 51.532645, 60.911612, 60.911612, 47), 
  lon = c(-106.4509, -88.292573, -97.892627, -105.723178, -101.254448)) |>
  sf::st_as_sf(coords = c("lon", "lat"),
               crs = "+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0") |>
  sf::st_transform(crs = "EPSG:4326")

mb_cities <- maps::canada.cities |>
  dplyr::filter(country.etc == "MB") |>
  dplyr::mutate(name = stringr::str_remove(name, " [A-Z]{2}$")) |>
  sf::st_as_sf(coords = c("long", "lat"), crs = 4326) |>
  sf::st_transform(crs = 4326) |>
  dplyr::filter(pop >10000)

north_america <- ggplot2::ggplot() +
  ggplot2::theme_bw() +
  ggspatial::layer_spatial(world_coordinates, fill = "white") +
  ggplot2::theme(axis.text = ggplot2::element_blank(),
        axis.ticks = ggplot2::element_blank(),
        axis.title = ggplot2::element_blank(),
        plot.margin = grid::unit(c(0,0,0,0), "mm"),
        panel.grid.major = ggplot2::element_blank(),
        panel.grid.minor = ggplot2::element_blank(),
        #panel.border = ggplot2::element_blank(),
        panel.background = ggplot2::element_blank()) +
  ggspatial::layer_spatial(manitoba, fill = "red")


region <- ggplot2::ggplot() +
  ggplot2::theme_minimal() +
  ggspatial::layer_spatial(region, ggplot2::aes (fill = fill)) +
  ggplot2::scale_fill_manual(values=c("lightgray", "white", "gray35")) +
  ggplot2::scale_x_continuous(breaks = seq(-120, -70, 5),
                              expand = c(0,0)) +
  ggplot2::scale_y_continuous(breaks = seq(50, 65, 5),
                              expand = c(0,0))  +
  #ggspatial::layer_spatial(manitoba, colour = "black", fill = "white") +
  ggspatial::layer_spatial(mb_cities) +
  ggrepel::geom_label_repel(
    data = mb_cities,
    ggplot2::aes(label = name, geometry = geometry),
    stat = "sf_coordinates",
    min.segment.length = 0,
    nudge_y = 0.02
  ) +
  ggplot2::geom_sf_text(
    data = prov_labels ,
    mapping = ggplot2::aes(label = lab, angle = angle), 
    color = "black",
    fontface = "bold",
    size = 6, 
    show.legend = FALSE) + 
  ggplot2::theme(panel.grid.major = ggplot2::element_blank(),
                 legend.position = "none",
                 axis.title = ggplot2::element_blank())

patchwork::wrap_plots(region, patchwork::inset_element(north_america, left = 0.7, bottom = 0.6, right = 1, top = 1, align_to = 'full'))

```


## This package is primarily maintained by:

**Alex Koiter** (koitera\@brandonu.ca; [@alex-koiter](https://github.com/alex-koiter))

Brandon University

[Department of Geography & Environment](https://www.brandonu.ca/geography/)

Brandon, Manitoba 

Canada

## Access Constraints

The data is publicly available through the [DataMB](https://geoportal.gov.mb.ca/), the province of Manitoba's public open data platform. The usage of this data is subject to the [OpenMB Information and Data Use License](https://www.gov.mb.ca/legal/copyright.html).

## Contributions

All suggestions are welcomed, big and small, on how to make this package more robust, functional, and user friendly. Please read the [contributing guide](https://docs.ropensci.org/mbquartR/CONTRIBUTING.html) to learn more.

## Code of Conduct

Please note that this project is released with a [Contributor Code of Conduct](https://ropensci.org/code-of-conduct/). By participating in
this package development you agree to abide by its terms.

## About the logo

The logo features the outline of Manitoba with a stylized depiction of a one-square-mile section of land, divided into four equal quarter sections. One quarter section is highlighted, with its centre marked by a point. In the southwest (lower-left) corner of the province, a small green square and the label "SE-22-10-19W1" indicate the quarter section where Brandon University is located.

Owner

  • Name: rOpenSci
  • Login: ropensci
  • Kind: organization
  • Email: info@ropensci.org
  • Location: Berkeley, CA

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "identifier": "mbquartR",
  "description": "This package has three main functions: 1) find the coordinates of a quarter sections given the legal land description (e.g., \"NE-11-33-29W\"); 2) find the legal land description using coordinates (lat and long); and 3) plot these points on a map. ",
  "name": "mbquartR: Finding Manitoba Quarter Sections",
  "codeRepository": "https://github.com/alex-koiter/mbquartR",
  "issueTracker": "https://github.com/alex-koiter/mbquartR/issues",
  "license": "https://spdx.org/licenses/MIT",
  "version": "0.0.0.9000",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "R",
    "url": "https://r-project.org"
  },
  "runtimePlatform": "R version 4.4.0 (2024-04-24)",
  "author": [
    {
      "@type": "Person",
      "givenName": "Alex",
      "familyName": "Koiter",
      "email": "koitera@brandonu.ca",
      "@id": "https://orcid.org/0000-0002-9355-9561"
    }
  ],
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "Alex",
      "familyName": "Koiter",
      "email": "koitera@brandonu.ca",
      "@id": "https://orcid.org/0000-0002-9355-9561"
    }
  ],
  "softwareSuggestions": [
    {
      "@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"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "curl",
      "name": "curl",
      "version": ">= 5.2.1",
      "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=curl"
    }
  ],
  "softwareRequirements": {
    "1": {
      "@type": "SoftwareApplication",
      "identifier": "dplyr",
      "name": "dplyr",
      "version": ">= 1.1.4",
      "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": "purrr",
      "name": "purrr",
      "version": ">= 1.0.2",
      "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=purrr"
    },
    "3": {
      "@type": "SoftwareApplication",
      "identifier": "sf",
      "name": "sf",
      "version": ">= 1.0.16",
      "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": "tibble",
      "name": "tibble",
      "version": ">= 3.2.1",
      "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=tibble"
    },
    "5": {
      "@type": "SoftwareApplication",
      "identifier": "tidyr",
      "name": "tidyr",
      "version": ">= 1.3.1",
      "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=tidyr"
    },
    "6": {
      "@type": "SoftwareApplication",
      "identifier": "stringr",
      "name": "stringr",
      "version": ">= 1.5.1",
      "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=stringr"
    },
    "7": {
      "@type": "SoftwareApplication",
      "identifier": "units",
      "name": "units",
      "version": ">= 0.8.5",
      "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=units"
    },
    "8": {
      "@type": "SoftwareApplication",
      "identifier": "mapview",
      "name": "mapview",
      "version": ">= 2.11.2",
      "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=mapview"
    },
    "9": {
      "@type": "SoftwareApplication",
      "identifier": "readr",
      "name": "readr",
      "version": ">= 2.1.4",
      "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=readr"
    },
    "10": {
      "@type": "SoftwareApplication",
      "identifier": "crayon",
      "name": "crayon",
      "version": ">= 1.5.2",
      "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=crayon"
    },
    "11": {
      "@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"
    },
    "SystemRequirements": null
  },
  "fileSize": "28.145KB",
  "relatedLink": "http://alexkoiter.ca/mbquartR/",
  "readme": "https://github.com/alex-koiter/mbquartR/blob/main/README.md",
  "contIntegration": [
    "https://app.codecov.io/gh/alex-koiter/mbquartR?branch=main",
    "https://github.com/alex-koiter/mbquartR/actions/workflows/R-CMD-check.yaml"
  ]
}

GitHub Events

Total
  • Issues event: 1
  • Watch event: 2
  • Delete event: 1
  • Issue comment event: 8
  • Push event: 21
  • Pull request event: 2
  • Create event: 1
Last Year
  • Issues event: 1
  • Watch event: 2
  • Delete event: 1
  • Issue comment event: 8
  • Push event: 21
  • Pull request event: 2
  • Create event: 1

Dependencies

DESCRIPTION cran
  • crayon >= 1.5.2 imports
  • dplyr >= 1.1.4 imports
  • mapview >= 2.11.2 imports
  • purrr >= 1.0.2 imports
  • readr >= 2.1.4 imports
  • rlang * imports
  • sf >= 1.0.16 imports
  • stringr >= 1.5.1 imports
  • tibble >= 3.2.1 imports
  • tidyr >= 1.3.1 imports
  • units >= 0.8.5 imports
  • testthat >= 3.0.0 suggests