#r #json #parsing #geojson #zipcode
#r #geojson #sf
Вопрос:
Я хочу импортировать очень большой geojson в объект simple features, используя st_read в R, однако требования к оборудованию кажутся большими при преобразовании из geojson в sf. например, импорт данных Microsoft для построения отпечатков для штата Огайо (https://github.com/Microsoft/USBuildingFootprints ) при конвертации geojson объемом 1,2 ГБ потребляет более 32 ГБ оперативной памяти. Является ли их методом для перебора строк geojson в функции, чтобы я мог импортировать части всего файла, не занимая всю эту оперативную память, аналогично пропуску строк в read.csv?
Ответ №1:
Использование library(geojsonsf)
, похоже, работает без проблем на моем Mac с 16 ГБ оперативной памяти
library(geojsonsf)
library(sf)
sf <- geojsonsf::geojson_sf("~/Downloads/Ohio.geojson")
sf
# Simple feature collection with 5449419 features and 0 fields
# geometry type: POLYGON
# dimension: XY
# bbox: xmin: -84.82027 ymin: 38.40334 xmax: -80.51887 ymax: 41.97041
# epsg (SRID): 4326
# proj4string: proj=longlat datum=WGS84 no_defs
# First 10 features:
# geometry
# 1 POLYGON ((-84.81222 39.9087...
# 2 POLYGON ((-84.80084 39.8882...
# 3 POLYGON ((-84.78565 39.8811...
# 4 POLYGON ((-84.7373 39.9014,...
# 5 POLYGON ((-84.73916 39.8980...
# 6 POLYGON ((-84.80422 39.8646...
# 7 POLYGON ((-84.80025 39.8592...
# 8 POLYGON ((-84.79336 39.8593...
# 9 POLYGON ((-84.79268 39.8604...
# 10 POLYGON ((-84.80194 39.8639...
Комментарии:
1. Впечатляет, почему быстрее, чем SF? Включает ли он исходные файлы CPP?
2. @Sergio — да, но так и есть
sf
. Основное отличие заключается в том, что он использует rapidjson , который является одной из самых быстрых библиотек синтаксического анализа JSON3. Ах да, это намного эффективнее, чем st_read. Спасибо за помощь!
4. Второе это. Моя оперативная память отказывала всеми возможными способами, пытаясь загрузить мой файл geojson, потребовалось меньше минуты с geojson_sf.
5. Блестяще. Спасибо @SymbolixAU! У меня была буквально такая же проблема. Обычно я бы
ogr2ogr
создал Postgres db, пространственный фильтр для AOI и т.д., Но этот анализатор geojson работает очень быстро. Очень хорошо сделано! github.com/SymbolixAU/geojsonsf