Получить полилинии из большой ЦМР (2gb .shp limit)
-
- Гуру
- Сообщения: 939
- Зарегистрирован: 29 май 2011, 19:41
- Репутация: 94
- Откуда: Киев
Получить полилинии из большой ЦМР (2gb .shp limit)
Есть .tif 3,6 Gb, пробую получить изолинии (20-10-5-1 м), процесс всегда в какой-то момент виснет, что в QGIS, что в ArcGIS (не важно в .gdb или нет). В QGIS посмотрел размер файла остановился на 2.2 Гб и дальше не менялся, я так понимаю, проблема в самом формате .shp?
Как вы обходите такие ограничения?
(сейчас пробую растр конвертировать в точки и построить TIN, но вижу, что тоже не получиться по той же причине)
Как вы обходите такие ограничения?
(сейчас пробую растр конвертировать в точки и построить TIN, но вижу, что тоже не получиться по той же причине)
-
- Участник
- Сообщения: 85
- Зарегистрирован: 21 ноя 2010, 17:36
- Репутация: 31
Re: Получить полилинии из большой ЦМР (2gb .shp limit)
У SHP действительно есть такое ограничение (если быть точным - у dbf). В File Geodatabase в ArcGIS'е ограничения нет.
-
- Гуру
- Сообщения: 939
- Зарегистрирован: 29 май 2011, 19:41
- Репутация: 94
- Откуда: Киев
Re: Получить полилинии из большой ЦМР (2gb .shp limit)
На практике есть и тут срабатывает ограничение на файле самой геометрии, а не файле БД. Я всё так же не могу получить файл изолинии внутри File Geodatabase (.gdb) - когда и растр и результирующий слой указаны в одной базе геоданных.5Nap писал(а):У SHP действительно есть такое ограничение (если быть точным - у dbf). В File Geodatabase в ArcGIS'е ограничения нет.
-
- Гуру
- Сообщения: 1018
- Зарегистрирован: 01 авг 2012, 13:55
- Репутация: 241
Re: Получить полилинии из большой ЦМР (2gb .shp limit)
изолинии (20-10-5-1 м) получаете отдельными шейпами или одним?dime1 писал(а):Есть .tif 3,6 Gb, пробую получить изолинии (20-10-5-1 м), процесс всегда в какой-то момент виснет,
- bingeomap
- Гуру
- Сообщения: 503
- Зарегистрирован: 06 июл 2012, 08:37
- Репутация: 53
- Откуда: Азербайджан, Баку
Re: Получить полилинии из большой ЦМР (2gb .shp limit)
А может попробуйте в формате SpatiaLite (SQLite)?! Если не ошибаюсь там нет ограничений или есть но очень большой размер.
С уважением,
Биннат Халилов
Биннат Халилов
-
- Гуру
- Сообщения: 939
- Зарегистрирован: 29 май 2011, 19:41
- Репутация: 94
- Откуда: Киев
Re: Получить полилинии из большой ЦМР (2gb .shp limit)
Отдельными, инструментами Contour. Пытался нащупать предел, с каким параметром результирующий шейп таки сохраниться.изолинии (20-10-5-1 м) получаете отдельными шейпами или одним?
В SpatiaLite загнать растр и туда же попробовать сохранить результирующие изолинии в QGIS?
[ Сообщение с мобильного устройства ]
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Получить полилинии из большой ЦМР (2gb .shp limit)
Первое, что приходит в голову - разбить растр на куски и построить изолинии, а потом сшить.
Или можно поработать с самой ЦМР. Пройтись каким-то фильтром, чтобы генерализовать немного. Видимо, изолинии получаются тяжёлыми из-за слишком заковыристого растра.
Или можно поработать с самой ЦМР. Пройтись каким-то фильтром, чтобы генерализовать немного. Видимо, изолинии получаются тяжёлыми из-за слишком заковыристого растра.
Редактор материалов, модератор форума
- bingeomap
- Гуру
- Сообщения: 503
- Зарегистрирован: 06 июл 2012, 08:37
- Репутация: 53
- Откуда: Азербайджан, Баку
Re: Получить полилинии из большой ЦМР (2gb .shp limit)
Я не понимаю, почему загнать растр в SpatiaLite?dime1 писал(а):В SpatiaLite загнать растр и туда же попробовать сохранить результирующие изолинии в QGIS?
В ПО QGIS, откройте растр и дайте команду Contour и сохраните результат в формате SpatiaLite.
Не получается так делать? Или я вас не правильно понял вы какой результат хотите получит?
С уважением,
Биннат Халилов
Биннат Халилов
-
- Гуру
- Сообщения: 4048
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1050
- Ваше звание: программист
- Откуда: Казань
Re: Получить полилинии из большой ЦМР (2gb .shp limit)
а вам точно все эти изолинии нужны целиком, или это спортивный интерес? Все равно работать с таким объемом сразу не будете, нарезку на листы/тайлы/бассейны и т.д не зря придумали. К тому же сильно извилистые изолинии обычно результат плохих данных, и никакой полезной информации эти извивы не несут ...dime1 писал(а):Есть .tif 3,6 Gb, пробую получить изолинии (20-10-5-1 м)
-
- Гуру
- Сообщения: 939
- Зарегистрирован: 29 май 2011, 19:41
- Репутация: 94
- Откуда: Киев
Re: Получить полилинии из большой ЦМР (2gb .shp limit)
Это SRTMGL1, мне хотелось без обработки получить изолинии, веря, что существует Big Geodata
Сейчас пробую Focal Filter (circle 5), потом буду строить. Если все еще нет, то попробую в БД SpatiaLite.
Спасибо за советы!
Сейчас пробую Focal Filter (circle 5), потом буду строить. Если все еще нет, то попробую в БД SpatiaLite.
Спасибо за советы!
-
- Гуру
- Сообщения: 939
- Зарегистрирован: 29 май 2011, 19:41
- Репутация: 94
- Откуда: Киев
Re: Получить полилинии из большой ЦМР (2gb .shp limit)
Пока после работы инструмента получаю 19000 записей с изолинией 0 (контур берега) и всё...
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Получить полилинии из большой ЦМР (2gb .shp limit)
Ещё вариант при построении в QGIS - использовать модуль GRASS <r.contour> (ищите в "Анализе данных" по слову "contour"). Там есть параметр "Minimum number of points for a contour line (0 -> no limit)". По умолчанию стоит 0, можно попробовать другие значения.
Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 939
- Зарегистрирован: 29 май 2011, 19:41
- Репутация: 94
- Откуда: Киев
Re: Получить полилинии из большой ЦМР (2gb .shp limit)
Проверил, не получается. Делаю по растру (32bit float) после сглаживания фильтром focal mean (5pix) и с интервалом изолиний в 50! м, записывая .shp в БД SpatiaLite и безуспешно. Инструмент Contour просто завис на 36% и в базе пока нет этого .shp с изолиниямиbingeomap писал(а):В ПО QGIS, откройте растр и дайте команду Contour и сохраните результат в формате SpatiaLite.
Не получается так делать? Или я вас не правильно понял вы какой результат хотите получит?
-
- Гуру
- Сообщения: 939
- Зарегистрирован: 29 май 2011, 19:41
- Репутация: 94
- Откуда: Киев
Re: Получить полилинии из большой ЦМР (2gb .shp limit)
Уже ближе, нарисовало изолинии 25м. Задал Minimum number of points тоже 25. Еще бы еще узнать как в инструменте r.contour.level внести все значения через 10м в поле List of contour levels? (приходит на ум в Excel сделать строку с инкрементом в 10 м и скопировать в поле)Александр Мурый писал(а):Ещё вариант при построении в QGIS - использовать модуль GRASS <r.contour> (ищите в "Анализе данных" по слову "contour"). Там есть параметр "Minimum number of points for a contour line (0 -> no limit)". По умолчанию стоит 0, можно попробовать другие значения.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей