Обработка объемных растров: ошибка
-
- Активный участник
- Сообщения: 182
- Зарегистрирован: 14 дек 2008, 16:09
- Репутация: 24
- Откуда: Москва
Обработка объемных растров: ошибка
Пытаюсь обработать растр..довольно объемный. Выдает ошибку: ERROR: G_malloc: unable to allocate 99020 bytes at main.c:283. GRASS 6.4.1. Как с этим справится?
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Обработка объемных растров: ошибка
Похоже, что GRASS не хватает системной памяти для обработки. Только вот цифры какие-то странные -- 99020 байт.
Обычно может не хватать памяти при размерах больше 2Gb на 32-битных системах (это в Windows, в Linux работает при 2 гигах нормально, используя своп).
Пожалуйста, приложите вывод команд (если это не секрет), с ними будет гораздо проще разобраться:
g.version -b
g.region -p
r.info ваш_тяжёлый_растр
И ещё (главное!) -- какой модуль выдаёт ошибку?
Обычно может не хватать памяти при размерах больше 2Gb на 32-битных системах (это в Windows, в Linux работает при 2 гигах нормально, используя своп).
Пожалуйста, приложите вывод команд (если это не секрет), с ними будет гораздо проще разобраться:
g.version -b
g.region -p
r.info ваш_тяжёлый_растр
И ещё (главное!) -- какой модуль выдаёт ошибку?
Редактор материалов, модератор форума
-
- Активный участник
- Сообщения: 182
- Зарегистрирован: 14 дек 2008, 16:09
- Репутация: 24
- Откуда: Москва
Re: Обработка объемных растров: ошибка
Я уменьшила растр, как смогла, не меняя разрешения (обрезала по ненужным значениям). Сейчас он "весит" порядка 600мб. ОС у меня Win7 (на висте тоже самое). Модуль r.lake (to amuriy: из соседнего форума ) выдает такую ошибку: ERROR: G_calloc: unable to allocate 16743 * 4 bytes at main.c:284
Данные для справки:
g.region -p
projection: 99 (Equal Area Cylindrical)
zone: 0
datum: ** unknown (default: WGS84) **
ellipsoid: a=6371228 es=0
north: 5834755.84260072
south: 4362780.86794031
west: 4261448.0521709
east: 5564121.39646707
nsres: 77.80405807
ewres: 77.80405807
rows: 18919
cols: 16743
cells: 316760817
r.info
Type of Map: raster Number of Categories: 50 |
| Data Type: CELL |
| Rows: 18919 |
| Columns: 16743 |
| Total Cells: 316760817 |
| Projection: Equal Area Cylindrical |
| N: 5834755.84260072 S: 4362780.86794031 Res: 77.80405807 |
| E: 5564121.39646707 W: 4261448.0521709 Res: 77.80405807 |
| Range of data: min = -1046 max = 50 |
| |
| Data Description: |
| generated by r.in.gdal
Версию не хочет выдавать..ругается. вот так: "g.version" Ґ пў«пҐвбп ўгв॥© Ё«Ё ўҐиҐ©
Є®¬ ¤®©, ЁбЇ®«пҐ¬®© Їа®Ја ¬¬®© Ё«Ё Ї ЄҐвл¬ д ©«®¬. Но вообще версия 6.4.1
Да, при изменении разрешения для региона (грубее в 4раза, например) все работает...
Данные для справки:
g.region -p
projection: 99 (Equal Area Cylindrical)
zone: 0
datum: ** unknown (default: WGS84) **
ellipsoid: a=6371228 es=0
north: 5834755.84260072
south: 4362780.86794031
west: 4261448.0521709
east: 5564121.39646707
nsres: 77.80405807
ewres: 77.80405807
rows: 18919
cols: 16743
cells: 316760817
r.info
Type of Map: raster Number of Categories: 50 |
| Data Type: CELL |
| Rows: 18919 |
| Columns: 16743 |
| Total Cells: 316760817 |
| Projection: Equal Area Cylindrical |
| N: 5834755.84260072 S: 4362780.86794031 Res: 77.80405807 |
| E: 5564121.39646707 W: 4261448.0521709 Res: 77.80405807 |
| Range of data: min = -1046 max = 50 |
| |
| Data Description: |
| generated by r.in.gdal
Версию не хочет выдавать..ругается. вот так: "g.version" Ґ пў«пҐвбп ўгв॥© Ё«Ё ўҐиҐ©
Є®¬ ¤®©, ЁбЇ®«пҐ¬®© Їа®Ја ¬¬®© Ё«Ё Ї ЄҐвл¬ д ©«®¬. Но вообще версия 6.4.1
Да, при изменении разрешения для региона (грубее в 4раза, например) все работает...
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Обработка объемных растров: ошибка
К сожалению, диагноз неутешителен. Читаем в мануале к r.lake:
Значит, надо либо порезать растр на несколько частей, на их основе создать несколько наборов и считать в каждом отдельно, либо, действительно, уменьшать разрешение. Либо найти машину помощнее с памятью 4Гб и выше (с соотв-й 64-битной системой).# The entire map is loaded into RAM.
# The module is NOT large file safe. (due to the previous point)
Редактор материалов, модератор форума
-
- Активный участник
- Сообщения: 182
- Зарегистрирован: 14 дек 2008, 16:09
- Репутация: 24
- Откуда: Москва
Re: Обработка объемных растров: ошибка
Да, я тоже это читала, но все еще надеялась на чудо..=) Спасибо вам большое. Чудеса, видно, надо делать самим - доставить памяти и установить 64-битную систему)
-
- Гуру
- Сообщения: 810
- Зарегистрирован: 22 авг 2007, 14:58
- Репутация: 123
- Откуда: Казань
Re: Обработка объемных растров: ошибка
Может, чем устанавливать новую систему, попытаться работать не со всем растром, а использовать g.region для разбиения большой карты на несколько подчастей и с каждой из них работать в отдельности? А потом склеить полученные результаты обратно в большой растр?Evgenia писал(а):Да, я тоже это читала, но все еще надеялась на чудо..=) Спасибо вам большое. Чудеса, видно, надо делать самим - доставить памяти и установить 64-битную систему)
(В общем-то это стандартный подход, ведь всегда есть задачи, для которых не хватает ресурсов).
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 29 гостей