geojsonlint
GeoJSON linters available in geojsonlint
- GeoJSON lint web service - via
geojson_lint() - GeoJSON hint JS library - via
geojson_hint()- currently usinggeojsonhintv1.2.1 - is-my-json-valid JS library - via
geojson_validate()
All three 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, and geojson_hint() has
... parameter to pass on curl options as it works with a web service.
Installation
from CRAN
install.packages("geojsonlint")Dev version
remotes::install_github("ropensci/geojsonlint")library("geojsonlint")Good GeoJSON
geojsonlint.com web service
geojson_lint(x = '{"type": "Point", "coordinates": [-100, 80]}')
#> [1] TRUEgeojsonhint JS library
geojson_hint(x = '{"type": "Point", "coordinates": [-100, 80]}')
#> [1] TRUEis-my-json-valid JS library
geojson_validate(x = '{"type": "Point", "coordinates": [-100, 80]}')
#> [1] TRUEBad GeoJSON
geojsonlint.com web service
geojson_lint('{"type": "FooBar"}')
#> [1] FALSEgeojsonhint JS library
geojson_hint('{"type": "FooBar"}')
#> [1] FALSEis-my-json-valid JS library
geojson_validate('{ "type": "FeatureCollection" }')
#> [1] FALSEBad GeoJSON - with reason for failure
geojsonlint.com web service
geojson_lint('{"type": "FooBar"}', inform = TRUE)
#> [1] FALSE
#> attr(,"errors")
#> message status
#> 1 "FooBar" is not a valid GeoJSON type. errorgeojsonhint JS library
geojson_hint('{"type": "FooBar"}', inform = TRUE)
#> [1] FALSE
#> attr(,"errors")
#> line message
#> 1 1 The type FooBar is unknownis-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 matchBad GeoJSON - stop on validation failure
geojsonlint.com web service
geojson_lint('{"type": "FooBar"}', error = TRUE)
#> Error: invalid GeoJSON
#> - "FooBar" is not a valid GeoJSON type.geojsonhint JS library
geojson_hint('{"type": "FooBar"}', error = TRUE)
#> Error: Line 1
#> - The type FooBar is unknownis-my-json-valid JS library
geojson_validate('{ "type": "FeatureCollection" }', error = TRUE)
#> Error: 1 error validating json:
#> - data: no (or more than one) schemas matchMeta
- Please report any issues or bugs.
- License: MIT
- Get citation information for
geojsonlintin 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.