r.sun QGIS (GRASS)

list
Интересующийся
Сообщения: 28
Зарегистрирован: 10 окт 2015, 01:53
Репутация: 0

r.sun QGIS (GRASS)

Сообщение list » 13 окт 2015, 13:29

Здравстауйте, я пишу дипломку на тему сравнение вычислений солярного потенциалу в ARCGIS Area Solar Radiation(ASR) и QGIS или GRASS r.sun. В ASR (ARCGIS) все чудесно, проблема возникла в QGIS r.sun. По вычислении, значения не соответствуют реальности. Например: солнце светит зимой и летом 6-12 (0-12) часов, и соответственно завышены данные непосредственного, диффузного и глобального солнечного света. То есть по непонятной мне причине r.sun в QGIS не вычислил мне данные солнечного света (рассвет и закат). Везде пишут (в литературе) что r.sun должен это уметь. Поэтому я пытаюсь втянуть входящие параметры в GRASS, что у меня и не получаеться.

Входящие параметры в QGIS r.sun находяться здесь:
http://uloz.to/xU5ZGkFt/data-tar-gz
Пароль: rsun

1) ЦМР = digital terrain model (dtm)
2) Aspect
3) Slope
4) link turbidity май, июнь, сентябрь, декабрь.
5)latitude (lat)
6) longitude (lon)
7) Beam
8) Diffuse

Дни на основании которых происходит вычисление (day):
20. 03. 2014 (79 день)
21. 06. 2014 (172 день)
23. 09. 2014 (266 день)
22. 12. 2014 (356 день)

Видео с вычислением в QGIS находиться здесь:
https://www.youtube.com/watch?v=ecirIsx ... cirIsxbHSA (Смотреть начало и конец)

Видео на котором я пытаюсь сформатировать растр, чтоб вложить его в GRASS
: https://www.youtube.com/watch?v=AGVMs_ekv_M

Система координат для Чешской республики:
EPSG:5514 - S-JTSK (Greenwich) / Krovak East North
EPSG:4326 - WGS 84 (ну и др)

Благодарю за помощь

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9037
Зарегистрирован: 06 окт 2003, 20:20
Статьи: 231
Проекты: 12/6
Репутация: 713
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: r.sun QGIS (GRASS)

Сообщение Максим Дубинин » 13 окт 2015, 17:07

1. посмотрите исходный код r.sun (GRASS)
2. сравните со своими вычислениями "на коленке" - вы же сделали их?
3. сравните с кодом ArcGIS....oh wait...
пристегивайтесь, турбулентность прямо по курсу

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 786
Ваше звание: званий не имею
Откуда: Москва

Re: r.sun QGIS (GRASS)

Сообщение Александр Мурый » 13 окт 2015, 19:52

На заметку: в QGIS нет никакого "r.sun", это тот же модуль GRASS через Processing.
Редактор материалов, модератор форума

list
Интересующийся
Сообщения: 28
Зарегистрирован: 10 окт 2015, 01:53
Репутация: 0

Re: r.sun QGIS (GRASS)

Сообщение list » 14 окт 2015, 20:37

Максим Дубинин писал(а):1. посмотрите исходный код r.sun (GRASS)
2. сравните со своими вычислениями "на коленке" - вы же сделали их?
3. сравните с кодом ArcGIS....oh wait...
Именно это я и хотел сделать. Проблема в том что я не могу втянуть свой растр в GRASS. Через r.in.gdal это не получается.
Наверняка можно и в QGIS включить где-то код вычисления, но где не знаю. Работать с Pythonem я к сожалению не умею.

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9037
Зарегистрирован: 06 окт 2003, 20:20
Статьи: 231
Проекты: 12/6
Репутация: 713
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: r.sun QGIS (GRASS)

Сообщение Максим Дубинин » 14 окт 2015, 23:05

list писал(а): не могу втянуть свой растр в GRASS. Через r.in.gdal это не получается.
Начните с более подробного объяснения что именно не получается
пристегивайтесь, турбулентность прямо по курсу

list
Интересующийся
Сообщения: 28
Зарегистрирован: 10 окт 2015, 01:53
Репутация: 0

Re: r.sun QGIS (GRASS)

Сообщение list » 15 окт 2015, 07:19

Максим Дубинин писал(а):
list писал(а): не могу втянуть свой растр в GRASS. Через r.in.gdal это не получается.
Начните с более подробного объяснения что именно не получается
Мой растр который без проблем работает в Arc Gis и QGIS (модуль GRASS) находиться в формате FCELL (float), окончание растра .adf (hdr), сист. координат наставлена на кровак EPSG:5514. Из этого растра я делаю еще один (трансформирую), где изменяю сист.координат на EPSG:4326 (wgs 84) и меняю окончание на .tif (geotiff).
Включаю GRASS, открываю r.in.gdal и импортирую сперва .adf (hdr) потом .tif (geotiff). Локация GRASS наставлена на EPSG:4326 (wgs 84).

Результат:
adf (hdr) = пишет что нужно сделать новую локацию с параметрами из входящего растра.
.tif (geotiff) = пишет что обрабатывает очень подробные входящие данные с округлением южной границы (-988660>6.66667e-07). И еще, что север должен быть севернее от юга.
Видео: https://www.youtube.com/watch?v=nrCbY43 ... e=youtu.be

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 786
Ваше звание: званий не имею
Откуда: Москва

Re: r.sun QGIS (GRASS)

Сообщение Александр Мурый » 19 окт 2015, 15:25

Во-первых, вам надо сделать область GRASS в проекции EPSG:5514 (это можно сделать разными путями - в командной строке или при запуске wxGUI). Обычно можно задать СК области прямо из геопривязанного файла, но в данном случае это не подойдёт - GDAL не распознаёт систему координат ваших файлов в формате Arc/Info Binary Grid.

Пример:

Код: Выделить всё

$ gdalinfo raster
Driver: AIG/Arc/Info Binary Grid
Files: raster
       raster.ovr
       raster.aux.xml
       raster/sta.adf
       raster/hdr.adf
       raster/metadata.xml
       raster/w001001.adf
       raster/dblbnd.adf
       raster/w001001x.adf
Size is 1875, 1500
Coordinate System is `'
Origin = (-642500.030000000027940,-987250.030000000027940)
Pixel Size = (1.000000000000000,-1.000000000000000)
Corner Coordinates:
Upper Left  ( -642500.030, -987250.030) 
Lower Left  ( -642500.030, -988750.030) 
Upper Right ( -640625.030, -987250.030) 
Lower Right ( -640625.030, -988750.030) 
Center      ( -641562.530, -988000.030) 
Band 1 Block=256x16 Type=Float32, ColorInterp=Undefined
  Description = raster
  Min=-1.485 Max=60.171 
  NoData Value=-3.4028234663852886e+38
  Overviews: 938x750, 469x375, 235x188
Поэтому при создании области GRASS на основе этого файла получается область XY (т.е. "план-схема").
Лучше перегнать файл в геотифф с указанием исходной СК:

Код: Выделить всё

gdal_translate -a_srs "EPSG:5514" raster/ dtm_epsg_5514.tif


Теперь можно из полученного геотиффа делать область GRASS или использовать растр в QGIS.
------------------------------
Как вариант, при открытии .adf-файла в QGIS можно прямо изменить СК растра и указать EPSG:5514.
Редактор материалов, модератор форума

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 786
Ваше звание: званий не имею
Откуда: Москва

Re: r.sun QGIS (GRASS)

Сообщение Александр Мурый » 19 окт 2015, 15:37

Насколько я понял, обычно при использовании модуля <r.sun> все необходимые входные данные (aspect, slope и т.д.) рассчитывают из ЦМР здесь же. Импортировать аркгисовские данные необязательно.

Для сравнения было бы интересно увидеть результаты, получающиеся в ArcGIS (картинки или сами выходные растры).
Редактор материалов, модератор форума

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 786
Ваше звание: званий не имею
Откуда: Москва

Re: r.sun QGIS (GRASS)

Сообщение Александр Мурый » 19 окт 2015, 15:46

Редактор материалов, модератор форума

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 786
Ваше звание: званий не имею
Откуда: Москва

Re: r.sun QGIS (GRASS)

Сообщение Александр Мурый » 19 окт 2015, 18:12

list писал(а):по непонятной мне причине r.sun в QGIS не вычислил мне данные солнечного света (рассвет и закат). Везде пишут (в литературе) что r.sun должен это уметь.
Полезно читать мануал:
Solar parameters (e.g. sunrise, sunset times, declination, extraterrestrial irradiance, daylight length) are saved in the map history file.
Т.е. <r.sun> заносит эти значения в метаданные растра. Посмотреть можно командой <r.info> (см. раздел "Comments"):

Код: Выделить всё

> r.info global_rad_79
 +----------------------------------------------------------------------------+
 | Map:      global_rad_79                  Date: Mon Oct 19 16:26:29 2015    |
 | Mapset:   PERMANENT                      Login of Creator: amuriy          |
 | Location: grass_loc                                                        |
 | DataBase: /home/amuriy/Desktop/r.sun_test                                  |
 | Title:     ( beam_rad_79 )                                                 |
 | Timestamp: none                                                            |
 |----------------------------------------------------------------------------|
 |                                                                            |
 |   Type of Map:  raster               Number of Categories: 0               |
 |   Data Type:    FCELL                                                      |
 |   Rows:         1500                                                       |
 |   Columns:      1875                                                       |
 |   Total Cells:  2812500                                                    |
 |        Projection: Krovak                                                  |
 |            N: -987250.03    S: -988750.03   Res:     1                     |
 |            E: -640625.03    W: -642500.03   Res:     1                     |
 |   Range of data:    min = 427.714  max = 7396.285                          |
 |                                                                            |
 |   Data Description:                                                        |
 |    generated by r.sun                                                      |
 |                                                                            |
 |   Comments:                                                                |
 |     ----------------------------------------------------------------       |
 |     Day [1-365]:                              79                           |
 |     Solar constant (W/m^2):                   1367                         |
 |     Extraterrestrial irradiance (W/m^2):      1378.781555                  |
 |     Declination (rad):                        -0.002668                    |
 |     Latitude min-max(deg):                    50.6873 - 50.7027            |
 |     Sunrise time min-max (hr.):               6.01 - 6.01                  |
 |     Sunset time min-max (hr.):                17.99 - 17.99                |
 |     Time step (hr.):                          0.5000                       |
 |     Linke turbidity factor:                   3.0                          |
 |     Ground albedo:                            0.200                        |
 |     -----------------------------------------------------------------      |
 |                                                                            |
 |    r.sun elevation="dtm" aspect="aspect" aspect_value=270 slope="slope"\   |
 |     slope_value=0.0 linke_value=3.0 albedo_value=0.2 beam_rad="beam_rad\   |
 |    _79" diff_rad="diff_rad_79" glob_rad="global_rad_79" day=79 step=0.5\   |
 |     distance_step=1.0 npartitions=1                                        |
 |                                                                            |
 +----------------------------------------------------------------------------+
Редактор материалов, модератор форума

list
Интересующийся
Сообщения: 28
Зарегистрирован: 10 окт 2015, 01:53
Репутация: 0

Re: r.sun QGIS (GRASS)

Сообщение list » 21 окт 2015, 21:16

Александр Мурый писал(а):Поэтому при создании области GRASS на основе этого файла получается область XY (т.е. "план-схема").
Лучше перегнать файл в геотифф с указанием исходной СК:
Перевести растр на геотиф с помощью translate это можно, но потом у меня выходит все по старому. QGIS (r.sun) показывает странные выходные данные (из r.sun). А в GRASS немогу наставить локацию (видио здесь: https://www.youtube.com/watch?v=oX1bjPx ... e=youtu.be).
В аркгис я слегка научился ориентировать, благодаря (help, ressource). А r.sun для меня как китайская грамота, из мануала ничего нипонятно. Поэтому если можно пишите пожолуста поподробнее (лучше всего видео).
Александр Мурый писал(а): Т.е. <r.sun> заносит эти значения в метаданные растра. Посмотреть можно командой <r.info> (см. раздел "Comments"):
Если r.sun заносит эти параметры в растр то почему тогда солнце светит все время 6-12 (0-12) часов. Например (r.info) в 79 дне восход солнца в 6.01 а закат в 17.99 (17.59). r. Info вычислить у меня тоже неполучаеться (видио здесь: https://www.youtube.com/watch?v=NroMm2_ ... e=youtu.be ).
Спасибо

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Статьи: 18
Проекты: 4
Репутация: 122
Откуда: Казань

Re: r.sun QGIS (GRASS)

Сообщение KolesovDmitry » 21 окт 2015, 21:27

Посмотрел видео. Больше всего похоже на то, что вы как-то не так перепроецировали растр. И в процессе перепроецирования потеряли информацию о привязке. Где именно -- не могу сказать, поскольку не спец в QGIS и его инструментах.
Попробуйте перепроецировать напрямую через gdal: http://live.osgeo.org/ru/quickstart/gda ... start.html

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 786
Ваше звание: званий не имею
Откуда: Москва

Re: r.sun QGIS (GRASS)

Сообщение Александр Мурый » 22 окт 2015, 00:04

list писал(а):А в GRASS немогу наставить локацию
После создания локации выполните команду:

Код: Выделить всё

g.proj -c epsg=5514
Это изменит проекцию области на EPSG:5514 в принудительном порядке. Растры после этого лучше импортировать заново.
Редактор материалов, модератор форума

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 786
Ваше звание: званий не имею
Откуда: Москва

Re: r.sun QGIS (GRASS)

Сообщение Александр Мурый » 22 окт 2015, 00:13

list писал(а): В аркгис я слегка научился ориентировать, благодаря (help, ressource). А r.sun для меня как китайская грамота, из мануала ничего нипонятно. Поэтому если можно пишите пожолуста поподробнее (лучше всего видео).
Что аркгисовский хелп, что грассовский мануал требуют изучения матчасти (хотя бы в общем виде). Иначе вашу задачу не решить. Поищите и почитайте статьи по теме.
Видео снимать не привык, уж извините.
И в этой "солнечной" теме я понимаю не больше вашего - никогда дела не имел.

================
Вот область/набор GRASS ("локация") с импортированным растром "dtm", в EPSG:5514.
https://db.tt/T3epZiuR
Редактор материалов, модератор форума

list
Интересующийся
Сообщения: 28
Зарегистрирован: 10 окт 2015, 01:53
Репутация: 0

Re: r.sun QGIS (GRASS)

Сообщение list » 22 окт 2015, 09:45

Александр Мурый писал(а): Вот область/набор GRASS ("локация") с импортированным растром "dtm", в EPSG:5514.
https://db.tt/T3epZiuR
Локация не начитывается а растр отсутствует (https://www.youtube.com/watch?v=kzkJqhn ... e=youtu.be )

Ответить

Вернуться в «GRASS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость