Как избежать ошибок памяти TopoJSON

Обновить

March 2019

Просмотры

915 раз

1

Я пытаюсь создать TopoJSON файл школьных округов в Соединенных Штатах. Я выложил свой рабочий процесс следующим образом:

  1. Скачать и распаковать отдельные файлы формы TIGER из Бюро переписи населения (24 ESD, 19 SSD, 56 USD)
  2. Пакетная объединить эти 99 файлов вместе с ogr2ogr
  3. Преобразование слитого шейпа в GeoJSON
  4. Преобразование в формате GeoJSON TopoJSON (в идеале я хотел бы добавить государственные границы в файл и здесь)

Шаг 4 является то, что вызывает у меня проблемы, я использую следующий пакетный скрипт:

call topojson ^
    -o SDs11_Topo.json ^
    -p NAME ^
    --simplify-proportion .1 ^
    --id-property GEOID ^
    -- ^
    ESDs11.json ^
    SSDs11.json ^
    USDs11.json
pause

Но я представил следующую фатальную ошибку памяти:

FATAL ERROR: CALL_AND_RETRY_0 Allocation failed - process out of memory

Это оставило меня в немного потери о том, как продолжить, я был бы признателен, если кто-то может посоветовать на лучший рабочий процесс или способы, чтобы лучше управлять памятью при преобразовании в topojson. Спасибо.

1 ответы

2

Use node --max_old_space_size=999 topojson.js ... to increase the memory available to node.js.

If you're using node.js binaries, you'll want the 64-bit binaries. The 32-bit ones are restricted to 1GB. https://code.google.com/p/v8/issues/detail?id=847