parzer

Parse geographic coordinates

https://github.com/ropensci/parzer

Science Score: 39.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
    Found 2 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.6%) to scientific vocabulary

Keywords

geo geospatial parser r r-package rstats
Last synced: 4 months ago · JSON representation

Repository

Parse geographic coordinates

Basic Info
Statistics
  • Stars: 63
  • Watchers: 3
  • Forks: 7
  • Open Issues: 10
  • Releases: 6
Topics
geo geospatial parser r r-package rstats
Created almost 7 years ago · Last pushed 4 months ago
Metadata Files
Readme Changelog Contributing License Codemeta

README.Rmd

---
title: "parzer"
output: github_document
---

```{r echo=FALSE}
knitr::opts_chunk$set(
  comment = "R>",
  echo = TRUE,
  output = TRUE,
  collapse = TRUE,
  eval = TRUE,
  warning = FALSE
)
```

[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![cran checks](https://badges.cranchecks.info/worst/parzer.svg)](https://cran.r-project.org/web/checks/check_results_parzer.html)
[![R-CMD-check](https://github.com/ropensci/parzer/workflows/R-CMD-check/badge.svg)](https://github.com/ropensci/parzer/actions/)
[![rstudio mirror downloads](https://cranlogs.r-pkg.org/badges/parzer)](https://github.com/r-hub/cranlogs.app)
[![cran version](https://www.r-pkg.org/badges/version/parzer)](https://cran.r-project.org/package=parzer)

[![codecov.io](https://codecov.io/github/ropensci/parzer/coverage.svg?branch=main)](https://app.codecov.io/github/ropensci/parzer?branch=main)

[![Ropensci Peer Reviewed](https://badges.ropensci.org/341_status.svg)](https://github.com/ropensci/software-review/issues/341)

[![CRAN DOI](https://img.shields.io/badge/DOI-10.32614%2FCRAN.package.parzer-blue)](https://doi.org/10.32614/CRAN.package.parzer)


`parzer` parses messy geographic coordinates

Docs: https://docs.ropensci.org/parzer/

You may get data from a published study or a colleague where the coordinates
are in some messy character format that you'd like to clean up to get
all decimal degree numeric data.

## `parzer` usage
For example, parse latitude and longitude from messy character vectors.

```{r echo=FALSE}
library("parzer")
```

```{r}
parse_lat(c("45N54.2356", "-45.98739874", "40.123°"))
```

```{r}
parse_lon(c("45W54.2356", "-45.98739874", "40.123°"))
```
And you can even split and parse strings that contain latitude and longitude
together.

```{r}
parse_llstr(c("4 51'36\"S, 101 34'7\"W",
              "40.123°; 45W54.2356"))
```

See more in the [Introduction to the `parzer` package vignette](https://docs.ropensci.org/parzer/articles/parzer.html).

## Installation

### Stable version:

```{r echo = TRUE, eval=FALSE}
install.packages("parzer")
```

### Development version:

```{r echo = TRUE, eval=FALSE}
remotes::install_github("ropensci/parzer")
```

## List of functions:

```{r echo=FALSE, comment=NA, results='asis'}
cat(paste(" -", paste(sprintf("`%s`", sort(getNamespaceExports("parzer"))), collapse = "\n - ")))
```


## Similar art

- `sp::char2dms`: is most similar to `parzer::parse_lat` and `parzer::parse_lon`.
However, with `sp::char2dms` you have to specify the termination character for
each of degree, minutes and seconds. `parzer` does this for the user.
- `biogeo::dms2dd`: very unlike functions in this package. You must pass separate
degrees, minutes, seconds and direction to `dms2dd`. No exact analog is found in
`parzer`, whose main focus is parsing messy geographic coordinates in strings to
a more machine readable version.

## Meta

* Please [report any issues or bugs](https://github.com/ropensci/parzer/issues).
* License: MIT
* Get citation information for `parzer` in R doing `citation(package = 'parzer')`
* Please note that this package is released with a [Contributor Code of Conduct](https://ropensci.org/code-of-conduct/). By contributing to this project, you agree to abide by its terms.

[![ropensci_footer](https://ropensci.org/public_images/ropensci_footer.png)](https://ropensci.org)

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": "parzer",
  "description": "Parse messy geographic coordinates from various character formats to decimal degree numeric values. Parse coordinates into their parts (degree, minutes, seconds); calculate hemisphere from coordinates; pull out individually degrees, minutes, or seconds; add and subtract degrees, minutes, and seconds. C++ code herein originally inspired from code written by Jeffrey D. Bogan, but then completely re-written.",
  "name": "parzer: Parse Messy Geographic Coordinates",
  "relatedLink": "https://docs.ropensci.org/parzer/",
  "codeRepository": "https://github.com/ropensci/parzer",
  "issueTracker": "https://github.com/ropensci/parzer/issues",
  "license": "https://spdx.org/licenses/MIT",
  "version": "0.4.4",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "R",
    "url": "https://r-project.org"
  },
  "runtimePlatform": "R version 4.5.0 (2025-04-11)",
  "author": [
    {
      "@type": "Person",
      "givenName": "Scott",
      "familyName": "Chamberlain",
      "email": "sckott@protonmail.com",
      "@id": "https://orcid.org/0000-0003-1444-9135"
    },
    {
      "@type": "Person",
      "givenName": "Alban",
      "familyName": "Sagouis",
      "email": "sagouis@pm.me",
      "@id": "https://orcid.org/0000-0002-3827-1063"
    }
  ],
  "contributor": [
    {
      "@type": "Person",
      "givenName": "Alec L.",
      "familyName": "Robitaille",
      "@id": "https://orcid.org/0000-0002-4706-1762"
    },
    {
      "@type": "Person",
      "givenName": "Malle",
      "familyName": "Salmon",
      "@id": "https://orcid.org/0000-0002-2815-0399"
    },
    {
      "@type": "Person",
      "givenName": "Hiroaki",
      "familyName": "Yutani"
    },
    {
      "@type": "Person",
      "givenName": "Jeffrey",
      "familyName": "Bogan"
    }
  ],
  "funder": [
    {
      "@type": "Organization",
      "name": "rOpenSci"
    },
    {
      "@type": "Organization",
      "name": "German Centre for Integrative Biodiversity Research (iDiv) Halle-Jena-Leipzig"
    }
  ],
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "Alban",
      "familyName": "Sagouis",
      "email": "sagouis@pm.me",
      "@id": "https://orcid.org/0000-0002-3827-1063"
    }
  ],
  "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": "quarto",
      "name": "quarto",
      "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=quarto"
    },
    {
      "@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"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "leaflet",
      "name": "leaflet",
      "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=leaflet"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "callr",
      "name": "callr",
      "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=callr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "pkgbuild",
      "name": "pkgbuild",
      "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=pkgbuild"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "pkgload",
      "name": "pkgload",
      "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=pkgload"
    }
  ],
  "softwareRequirements": {
    "1": {
      "@type": "SoftwareApplication",
      "identifier": "Rcpp",
      "name": "Rcpp",
      "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=Rcpp"
    },
    "2": {
      "@type": "SoftwareApplication",
      "identifier": "withr",
      "name": "withr",
      "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=withr"
    },
    "SystemRequirements": null
  },
  "applicationCategory": "Geospatial",
  "isPartOf": "https://ropensci.org",
  "keywords": [
    "geospatial",
    "data",
    "latitude",
    "longitude",
    "parser",
    "coordinates",
    "r",
    "rstats",
    "geo",
    "r-package"
  ],
  "fileSize": "6120.123KB",
  "releaseNotes": "https://github.com/ropensci/parzer/blob/master/NEWS.md",
  "readme": "https://github.com/ropensci/parzer/blob/main/README.md",
  "contIntegration": [
    "https://github.com/ropensci/parzer/actions/",
    "https://app.codecov.io/github/ropensci/parzer?branch=main"
  ],
  "developmentStatus": "https://www.repostatus.org/#active",
  "review": {
    "@type": "Review",
    "url": "https://github.com/ropensci/software-review/issues/341",
    "provider": "https://ropensci.org"
  }
}

GitHub Events

Total
  • Issues event: 8
  • Watch event: 2
  • Delete event: 2
  • Issue comment event: 18
  • Push event: 19
  • Pull request review event: 1
  • Pull request event: 4
  • Fork event: 1
  • Create event: 5
Last Year
  • Issues event: 8
  • Watch event: 2
  • Delete event: 2
  • Issue comment event: 18
  • Push event: 19
  • Pull request review event: 1
  • Pull request event: 4
  • Fork event: 1
  • Create event: 5

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 8
  • Total pull requests: 3
  • Average time to close issues: almost 4 years
  • Average time to close pull requests: about 13 hours
  • Total issue authors: 5
  • Total pull request authors: 2
  • Average comments per issue: 2.38
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 3
  • Bot pull requests: 2
Past Year
  • Issues: 5
  • Pull requests: 3
  • Average time to close issues: about 2 hours
  • Average time to close pull requests: about 13 hours
  • Issue authors: 4
  • Pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 2
  • Bot pull requests: 2
Top Authors
Issue Authors
  • github-actions[bot] (3)
  • sckott (2)
  • diegomsg (1)
  • rafapereirabr (1)
  • AlbanSagouis (1)
Pull Request Authors
  • dependabot[bot] (2)
Top Labels
Issue Labels
bug (1)
Pull Request Labels
dependencies (2) github_actions (2)

Packages

  • Total packages: 1
  • Total downloads:
    • cran 596 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 1
  • Total versions: 9
  • Total maintainers: 1
cran.r-project.org: parzer

Parse Messy Geographic Coordinates

  • Versions: 9
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 596 Last month
Rankings
Downloads: 16.6%
Dependent packages count: 18.1%
Average: 19.6%
Dependent repos count: 23.9%
Maintainers (1)
Last synced: 4 months ago

Dependencies

DESCRIPTION cran
  • Rcpp >= 1.0.2 imports
  • withr * imports
  • callr * suggests
  • knitr * suggests
  • pkgbuild * suggests
  • pkgload * suggests
  • randgeo * suggests
  • rmarkdown * suggests
  • testthat * suggests
.github/workflows/check-standard.yml actions
  • actions/checkout v2 composite
  • r-lib/actions/check-r-package v2 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/new_PR_greeting.yaml actions
  • actions/first-interaction v1 composite
.github/workflows/pkgcheck.yaml actions
  • ropensci-review-tools/pkgcheck-action main composite