geojsonlint

knitr::opts_chunk$set(
  comment = "#>",
  collapse = TRUE,
  warning = FALSE,
  message = FALSE
)

cran checks R-check codecov.io rstudio mirror downloads cran version

GeoJSON linters available in geojsonlint

Both functions return the same outputs. If the GeoJSON is valid, they return TRUE. If the GeoJSON is invalid, they return FALSE, plus reason(s) that the GeoJSON is invalid in an attribute named errors as a data.frame. The fields in the data.frame's are not the same across functions unfortunately, but they can be easily coerced to combine via e.g., plyr::rbind.fill or dplyr::bind_rows or data.table::rbindlist(fill = TRUE)

The parameters for the three functions are similar, though geojson_validate() has an extra parameter greedy that's not available in the others.

Installation

from CRAN

install.packages("geojsonlint")

Dev version

remotes::install_github("ropensci/geojsonlint")
library("geojsonlint")

Good GeoJSON

geojsonhint JS library

geojson_hint(x = '{"type": "Point", "coordinates": [-100, 80]}')

is-my-json-valid JS library

geojson_validate(x = '{"type": "Point", "coordinates": [-100, 80]}')

Bad GeoJSON

geojsonhint JS library

geojson_hint('{"type": "FooBar"}')

is-my-json-valid JS library

geojson_validate('{ "type": "FeatureCollection" }')

Bad GeoJSON - with reason for failure

geojsonhint JS library

geojson_hint('{"type": "FooBar"}', inform = TRUE)

is-my-json-valid JS library

geojson_validate('{ "type": "FeatureCollection" }', inform = TRUE)

Bad GeoJSON - stop on validation failure

geojsonhint JS library

geojson_hint('{"type": "FooBar"}', error = TRUE)
#> Error: Line 1
#>    - The type FooBar is unknown

is-my-json-valid JS library

geojson_validate('{ "type": "FeatureCollection" }', error = TRUE)
#> Error: 1 error validating json:
#>  - data: no (or more than one) schemas match

Meta

rofooter



ropensci/geojsonlint documentation built on Sept. 12, 2022, 8 a.m.