Страница 4 из 4
Re: r.sun QGIS (GRASS)
Добавлено: 06 ноя 2015, 14:23
Александр Мурый
list писал(а): А вот после флага -c , все в порядке. Какой тогда применить флаг? -c?
Флаг "-c" используется только для типов данных Byte и UInt16, почитайте уже наконец справку по модулю.
Файл должен экспортироваться несмотря на ошибку.
Re: r.sun QGIS (GRASS)
Добавлено: 06 ноя 2015, 14:40
list
Спасибо
Re: r.sun QGIS (GRASS)
Добавлено: 06 ноя 2015, 14:44
Александр Мурый
list писал(а):Спасибо
На здоровье
Кстати, при желании вы можете
поддержать конференцию "Открытые ГИС 2015", которая как раз нацелена на популяризацию в том числе и GRASS.
Re: r.sun QGIS (GRASS)
Добавлено: 10 ноя 2015, 11:19
list
Если кому-то интересно, так здесь (
http://uloz.to/xkherbQS/dsm-laser-tar-gz пароль: lidar) находятся данные ЛИДАРа. Цена этих данных немалая.
Приблизительно эта область:
https://www.google.cz/maps/@50.6961412,15.7311472,15z
Re: r.sun QGIS (GRASS)
Добавлено: 15 ноя 2015, 19:17
list
Не подскажите как написать правильно приказ для r.sun, если мне нужно вычислить солярный потенциал за целый год. Я задаю приказ:
r.sun -s elevin=dtm@PERMANENT aspect=270 slope=0.0 lin=4.2 alb=0.0 coefbh=beam@PERMANENT coefdh=dif@PERMANENT beam_rad=pri_r_smaz insol_time=hod_r_smaz diff_rad=dif_r_smaz glob_rad=glo_r_smaz day=1-365 step=0.5 dist=1.0 numpartitions=1
Но вычисление происходит только 1 января ( day=1)
Re: r.sun QGIS (GRASS)
Добавлено: 15 ноя 2015, 22:25
Александр Мурый
Вы точно читали
мануал?
Там сказано:
day=integer [required]
No. of day of the year (1-365)
Options: 1-365
Т.е. считается всегда для какого-нибудь одного дня года.
Если вам нужно посчитать за все дни года, надо писать скрипт, как указано
здесь.
Re: r.sun QGIS (GRASS)
Добавлено: 16 ноя 2015, 02:08
list
Александр Мурый писал(а):
Если вам нужно посчитать за все дни года, надо писать скрипт, как указано
здесь.
Если я правильно понял то r.sun мне не сможет вычислить целый год в одном растре (четырех =beam, diffuse, global, insol_time). Но может вычислить их 365 х beam, diffuse, global, insol_time.
Re: r.sun QGIS (GRASS)
Добавлено: 16 ноя 2015, 15:43
list
Александр Мурый писал(а):
Если вам нужно посчитать за все дни года, надо писать скрипт, как указано
здесь.
Получается приказ, чтобы вычислить солярный потенциал для всех дней в году должен выглядеть так:
Код: Выделить всё
r.sun -s elevin=elevation.dem day=$DAY lin=$LINKE step=0.05 \
beam_rad=rad_beam.$DAY_STR diff_rad=rad_diffuse.$DAY_STR \
refl_rad=rad_reflected.$DAY_STR glob_rad=rad_global.$DAY_STR \
insol_time=rad_insol_time.$DAY_STR
Что означает $DAY_STR
Код: Выделить всё
for DAY in `seq 1 365` ; do
DAY_STR=`echo $DAY | awk '{printf("%.03d", $1)}'`
echo "Processing day $DAY_STR at `date` ..."
Что писать вместо $DAY_STR 1-365
Re: r.sun QGIS (GRASS)
Добавлено: 16 ноя 2015, 17:04
KolesovDmitry
Код: Выделить всё
DAY_STR=`echo $DAY | awk '{printf("%.03d", $1)}'`
В DAY_STR складывается строка -- трехзначный номер дня. Например, если $DAY равен 45, то DAY_STR равен 045.
Re: r.sun QGIS (GRASS)
Добавлено: 16 ноя 2015, 19:19
list
KolesovDmitry писал(а):Например, если $DAY равен 45, то DAY_STR равен 045.
Ну а как тогда написать скрипт с годовым вычислением. Меня конкретно интересует day=?. Все остальное знаю а day нет. Может так:
Код: Выделить всё
r.sun -s elevin=elevation.dem day=1-365 lin=$LINKE step=0.05 \
beam_rad=rad_beam.365 diff_rad=rad_diffuse.365 \
refl_rad=rad_reflected.365 glob_rad=rad_global.365 \
insol_time=rad_insol_time.365
Re: r.sun QGIS (GRASS)
Добавлено: 16 ноя 2015, 19:22
Александр Мурый
- Установите дополнительный модуль
r.sun.daily (подробнее об установке дополнений читайте
здесь). Если не выйдет установить для вашей версии GRASS, ставьте GRASS 7 и пытайтесь в ней.
- Запустите <r.sun.daily> с нужными входными параметрами (elevation, aspect и т.д. ).
Укажите "start_day=
1" и "end_day=
365". Не используйте флаг "-t" - это только для GRASS 7. В качестве "aspect" и "slope" указывайте растры, посчитанные в GRASS, а не числовые значения. Используйте модуль
r.slope.aspect
- Не указывайте параметры с именем "*_basename", а то на выходе получится по нескольку растров для каждого дня года.
Пример:
Код: Выделить всё
r.sun.daily elevation=dtm@PERMANENT aspect=aspect slope=slope lin=4.2 alb=0.0 coefbh=beam@PERMANENT coefdh=dif@PERMANENT beam_rad=pri_r_smaz_year diff_rad=dif_r_smaz_year refl_rad=refl_r_smaz_year glob_rad=glo_r_smaz_year day=1-365 step=0.5
- На выходе у вас получится серия
суммарных растров за год: beam_rad, diff_rad, refl_rad, glob_rad.
- Обратите внимание на параметр "linke_value" - важный коэффифиент, который у вас нигде не указан. Читайте в мануале про него.
linke_value=float
A single value of the Linke atmospheric turbidity coefficient [-]
Options: 0.0-7.0
Default: 3.0
Re: r.sun QGIS (GRASS)
Добавлено: 16 ноя 2015, 19:56
list
Александр Мурый писал(а):
Пример:
Код: Выделить всё
r.sun.daily elevation=dtm@PERMANENT aspect=aspect slope=slope lin=4.2 alb=0.0 coefbh=beam@PERMANENT coefdh=dif@PERMANENT beam_rad=pri_r_smaz_year diff_rad=dif_r_smaz_year refl_rad=refl_r_smaz_year glob_rad=glo_r_smaz_year day=1-365 step=0.5
- Обратите внимание на параметр "linke_value" - важный коэффифиент, который у вас нигде не указан. Читайте в мануале про него.
linke_value=float
A single value of the Linke atmospheric turbidity coefficient [-]
Options: 0.0-7.0
Default: 3.0
Хорошо, спасибо, буду пытаться. А что касается Linke atmospheric turbidity coefficient, так он у меня вроде бы указан lin=4.2 (это годовой)