Преобразование данных в ошибку geojson

Я пытаюсь использовать пакет geojsonio для записи некоторых файлов geojson из data.frames, извлеченных из некоторых других пакетов R.

library(ggplot2)
library(geojsonio)
us_state <- map_data('state')

geojson_write(us_state, 
              geometry="polygon", 
              grouping="group", 
              file="path/file.geojson")

У меня проблема с аргументом geometry=polygon. Я получаю следующую ошибку:

Error in .subset2(x, i, exact = exact) : 
  attempt to select less than one element in integerOneIndex

При geometry=point работает нормально, но тогда конечно у меня просто миллион отдельных точек вместо полигонов состояния в файле geojson.

Какие-нибудь мысли?

Редактировать:

Я могу получить рабочий файл geojson, если сначала использую file<-geojson_json(data.frame), а затем geojson_write(file)


person moman822    schedule 03.12.2016    source источник


Ответы (1)


Вам просто нужно использовать правильное имя параметра group, а не grouping. Поскольку функция имеет ..., можно передать неправильное имя параметра и не выдать никаких ошибок/и т.д.

library(ggplot2)
library(geojsonio)
us_state <- map_data('state')
geojson_write(us_state, 
          geometry = "polygon", 
          group = "group", 
          file = "file.geojson")

#> {
#> "type": "FeatureCollection",
#>                                                                                 
#> "features": [
#> { "type": "Feature", "id": 0, "properties": { "dummy": 0.000000 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -87.462005615234375, 30.389680862426758 ], [ -87.484931945800781, 30.372491836547852 ], [ -87.525032043457031, 30.372491836547852 ], [ -87.53076171875, 30.332386016845703 ], [ -87.570869445800781, 30.326654434204102 ], [ -87.588058471679688, 30.326654434204102 ], [ -87.593788146972656, 30.309467315673828 ], [ -87.593788146972656, 30.286548614501953 ], [ -8
#> ... cutoff
person sckott    schedule 03.12.2016