GeoJSON linters available in geojsonlint
- GeoJSON hint JS library - via
geojson_hint()
- currently usinggeojsonhint
v1.2.1
- is-my-json-valid JS library - via
geojson_validate()
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.
from CRAN
install.packages("geojsonlint")
Dev version
remotes::install_github("ropensci/geojsonlint")
library("geojsonlint")
geojsonhint JS library
geojson_hint(x = '{"type": "Point", "coordinates": [-100, 80]}')
#> [1] TRUE
is-my-json-valid JS library
geojson_validate(x = '{"type": "Point", "coordinates": [-100, 80]}')
#> [1] TRUE
geojsonhint JS library
geojson_hint('{"type": "FooBar"}')
#> [1] FALSE
is-my-json-valid JS library
geojson_validate('{ "type": "FeatureCollection" }')
#> [1] FALSE
geojsonhint JS library
geojson_hint('{"type": "FooBar"}', inform = TRUE)
#> [1] FALSE
#> attr(,"errors")
#> line message
#> 1 1 The type FooBar is unknown
is-my-json-valid JS library
geojson_validate('{ "type": "FeatureCollection" }', inform = TRUE)
#> [1] FALSE
#> attr(,"errors")
#> field message
#> 1 data no (or more than one) schemas match
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
- Please report any issues or bugs.
- License: MIT
- Get citation information for
geojsonlint
in R doingcitation(package = 'geojsonlint')
- 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.