Страница 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 )