Страница 1 из 4
r.sun QGIS (GRASS)
Добавлено: 13 окт 2015, 13:29
list
Здравстауйте, я пишу дипломку на тему сравнение вычислений солярного потенциалу в 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
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 (ну и др)
Благодарю за помощь
Re: r.sun QGIS (GRASS)
Добавлено: 13 окт 2015, 17:07
Максим Дубинин
1. посмотрите исходный код r.sun (GRASS)
2. сравните со своими вычислениями "на коленке" - вы же сделали их?
3. сравните с кодом ArcGIS....oh wait...
Re: r.sun QGIS (GRASS)
Добавлено: 13 окт 2015, 19:52
Александр Мурый
На заметку: в QGIS нет никакого "r.sun", это тот же модуль GRASS через Processing.
Re: r.sun QGIS (GRASS)
Добавлено: 14 окт 2015, 20:37
list
Максим Дубинин писал(а):1. посмотрите исходный код r.sun (GRASS)
2. сравните со своими вычислениями "на коленке" - вы же сделали их?
3. сравните с кодом ArcGIS....oh wait...
Именно это я и хотел сделать. Проблема в том что я не могу втянуть свой растр в GRASS. Через r.in.gdal это не получается.
Наверняка можно и в QGIS включить где-то код вычисления, но где не знаю. Работать с Pythonem я к сожалению не умею.
Re: r.sun QGIS (GRASS)
Добавлено: 14 окт 2015, 23:05
Максим Дубинин
list писал(а): не могу втянуть свой растр в GRASS. Через r.in.gdal это не получается.
Начните с более подробного объяснения что именно не получается
Re: r.sun QGIS (GRASS)
Добавлено: 15 окт 2015, 07:19
list
Максим Дубинин писал(а):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
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.
Re: r.sun QGIS (GRASS)
Добавлено: 19 окт 2015, 15:37
Александр Мурый
Насколько я понял, обычно при использовании модуля <r.sun> все необходимые входные данные (aspect, slope и т.д.) рассчитывают из ЦМР здесь же. Импортировать аркгисовские данные необязательно.
Для сравнения было бы интересно увидеть результаты, получающиеся в ArcGIS (картинки или сами выходные растры).
Re: r.sun QGIS (GRASS)
Добавлено: 19 окт 2015, 15:46
Александр Мурый
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 |
| |
+----------------------------------------------------------------------------+
Re: r.sun QGIS (GRASS)
Добавлено: 21 окт 2015, 21:16
list
Александр Мурый писал(а):Поэтому при создании области 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 ).
Спасибо
Re: r.sun QGIS (GRASS)
Добавлено: 21 окт 2015, 21:27
KolesovDmitry
Посмотрел видео. Больше всего похоже на то, что вы как-то не так перепроецировали растр. И в процессе перепроецирования потеряли информацию о привязке. Где именно -- не могу сказать, поскольку не спец в QGIS и его инструментах.
Попробуйте перепроецировать напрямую через gdal:
http://live.osgeo.org/ru/quickstart/gda ... start.html
Re: r.sun QGIS (GRASS)
Добавлено: 22 окт 2015, 00:04
Александр Мурый
list писал(а):А в GRASS немогу наставить локацию
После создания локации выполните команду:
Это изменит проекцию области на EPSG:5514 в принудительном порядке. Растры после этого лучше импортировать заново.
Re: r.sun QGIS (GRASS)
Добавлено: 22 окт 2015, 00:13
Александр Мурый
list писал(а):
В аркгис я слегка научился ориентировать, благодаря (help, ressource). А r.sun для меня как китайская грамота, из мануала ничего нипонятно. Поэтому если можно пишите пожолуста поподробнее (лучше всего видео).
Что аркгисовский хелп, что грассовский мануал требуют изучения матчасти (хотя бы в общем виде). Иначе вашу задачу не решить. Поищите и почитайте статьи по теме.
Видео снимать не привык, уж извините.
И в этой "солнечной" теме я понимаю не больше вашего - никогда дела не имел.
================
Вот область/набор GRASS ("локация") с импортированным растром "dtm", в EPSG:5514.
https://db.tt/T3epZiuR
Re: r.sun QGIS (GRASS)
Добавлено: 22 окт 2015, 09:45
list
Александр Мурый писал(а):
Вот область/набор GRASS ("локация") с импортированным растром "dtm", в EPSG:5514.
https://db.tt/T3epZiuR
Локация не начитывается а растр отсутствует (
https://www.youtube.com/watch?v=kzkJqhn ... e=youtu.be )