R sf: извлечь вложенные объекты geoJSON, вложенные в JSON
У меня есть файл JSON, в который вложены коллекции объектов geoJSON.
Можно ли прочитать в файле JSON с помощью jsonlite::read_json()
, извлеките биты geoJSON, а затем преобразуйте полученные list
к sf
объект? Альтернатива состоит в том, чтобы написать list
вернуться к JSON (текст) и прочитать geoJSON, используя пакет вроде geojsonio
,
Вот как выглядит мой JSON-код:
{
"all": [
{
"type": "Feature",
"geometry": {
"type": "GeometryCollection",
"geometries": [
{
"type": "Point",
"coordinates": [
-75.155727,
39.956318
]
},{
"type": "LineString",
"coordinates": [
[
-75.15567895337301,
39.95653558798881
],[
-75.15575995337292,
39.95616931624319
]
]
},{
"type": "Point",
"coordinates": [
-75.15566,
39.956432
]
}
]
},
"properties": {
# properties
}
},{
# more features of mixed type
}
]
}
1 ответ
Возможно
x <- '{
"all": [
{
"type": "Feature",
"geometry": {
"type": "GeometryCollection",
"geometries": [
{
"type": "Point",
"coordinates": [
-75.155727,
39.956318
]
},{
"type": "LineString",
"coordinates": [
[
-75.15567895337301,
39.95653558798881
],[
-75.15575995337292,
39.95616931624319
]
]
},{
"type": "Point",
"coordinates": [
-75.15566,
39.956432
]
}
]
},
"properties": null
}
]
}'
sf::st_read(jqr::jq(x, ".all[]"))
(строка отредактирована, чтобы быть действительным JSON)