Thank you very much for this wonderful video. We were dying of despair until we found your video. If heaven exists, you are going straight there. We have no words to thank you. Greetings from Colombia. Daniela & Valentina
Dear Sir , Thank you soooooooooooooo much . You are sooo nice and kind . You are sooo expert in GIS . I hope you will continue your help .Its really very very helpful for me . I actually want to do that one . Sir, you solved my problem . Once again THANK YOU soo much .
Though I put the lat, lon (station) from inside the area coverage of the downloaded raster, in time of running the code finally; I am receiving this error " IndexError: index -1277 is out of bounds for axis 0 with size 126 '' . How can I get rid of this?
A great work indeed. Thanks on behalf of the community.Where can we get the shapefiles for India. Divagis shapefiles distort Indian geographical extent and trim Jammu &Kashmir.
Hi, I would suggest you may possibly reach out to your local authorities for the precise GIS files, as the free versions online might contain issues as what you have mentioned
Hello Sir. Thank you for the wonderful tutorial series. I have CHIRPS raster data that contains daily precipitation information for 39 years. The rasters are on a daily timestep for precipitation.On the other hand I have 2000 stations from where i would like to have a timeseries data in csv format for the precipitation data. I followed your guidance on creating a time series precipitation data for one station and it worked quite smoothely. The problem for me is creating a loop to extract timeseries precipitation in data in csv format for the 2000 stations from 1981 - 2018. Kindly help. Thank you once again.
Hi! I'm in the north hemisphere and I had the same problem, so I changed the order of the coordinates, instead of latitude, longitude I used longitude, latitude and worked perfectly. Still not sure why thou..
Sorry, I have to ask question again. I am trying to follow the tutorial by practising it. I tried to do georeferencing with QGIS but the line "x,y = dataset(9.20,9.27)" throws up an error saying " 'DatasetReader' object is not callable". Please, any help fixing this? Thanks a lot.
Hi. Thank you for the extremely helpful tutorial. Do you know the resolution of the data you downloaded as zip? Is it 0.05 or 0.25? Nothing is mentioned here, so I am asking this question. I have tried to use the code for the global daily precipitation using the original tif file (not clipped according to my area of interest). But after processing 40 dates, the got stuck (showing that the code is running but did not show any output). Is it due to the large file size? If you know, please also let us know. Thank you.
The resolution is 0.05 degrees (www.chc.ucsb.edu/data/chirps) You may try to reduce the selection area of the raster by narrowing it down to only your area of interest. The larger the raster is, the more time it requires for the code to open and read in the raster during each iteration.
Commendable work done ....well appreciate... Sir, if I want to get extract subset of the chirps global daily rainfall data ? How do I get it? Suppose lat (28, 32N), long (77,80E) with 0.25 resolution. Convert it CSV format like Lat 28 28.25 28.5....... Long 78 78.25 78.5..... Date rainfall 1. 1.5 0 1.6 2 So on... 2 2
Hallo. Thank for all the useful Python tutorials given by you. When I do this tutorial and rich at the conde converting array of RF data to a table -- table['Rainfall (mm)'].loc[i] = data_array[int(row), int(col)] -- I countered the following error : File "C:\Users\pc\anaconda3\lib\site-packages\pandas\core\dtypes\cast.py", line 2215, in np_can_hold_element if is_float(element) and element.is_integer(): AttributeError: 'numpy.float32' object has no attribute 'is_integer' Would you please help in locating this problem?
Hello, GeoDelta. I must say that I have been enjoying your series of tutorials and I have learnt greatly. Please, can you do this same tutorial but using QGIS instead of ARCGIS? I am using QGIS because it is free and I am very sure that very many people will also be using QGIS for the same reason. Thank you very much for your efforts.
Hi, thanks for your comment. Actually in this tutorial the usage of ArcGIS is very minimal (only for displaying purposes of the raster) , and the core is on the application of the python script. However I agree with your suggestion. Lately we have started launching qgis related videos , stay tuned for the coming tutorials :)
Dear Sir , Your videos are excellent . Please help me a video that How can I do in QGIS , to take the spatial average of all the pixels from the climate data (like maximum temperature or minimum temperature or rainfall) that lie inside of the boundary of each district using 'Zonal Statistics as Table' to calculate the average of the given climate variable within each boundary.
@@geodeltalabs ohhh I would very much enjoy such a tutorial as well. However, I have only found the multi-point data extraction vieo (which btw is alo amazing!). Will you still be doing one with focus on polygons?
Hi, if it's just one station you can simply replace the lat, lon values and re-run. But if you have multiple stations, I suggest you to follow the method explained in the following tutorial to extract all the stations at once: th-cam.com/video/6zzneGT4mkg/w-d-xo.html
#PythonCode import rasterio import numpy as np import pandas as pd os.chdir('FOLDER PATH') getcwd() #Uper limit of table in np.arrange: number of images +1 table = pd.DataFrame(0, index = np.arange(1,2192), columns=['Date','Rainfall(mm)']) i = 0 for files in os.listdir(r'FOLDER PATH'): #verify if files are read correctly: print(files) #read file extension and read only ".tif" if files [-4:] == '.tif': i = i + 1 dataset = rasterio.open(r'FOLDER PATH'+'\\'+files) #in Linux, don't use "r" letter before the path # cordinates of your point of interest (city, rain gage, wheater station, etc) x,y=(21.781631, -31.384303) row, col = dataset.index(x,y) data_array = dataset.read(1,2101) #Copy the date on filename to the 'Date' columm in table (created in panda dataframe) during each iteraction #[:-4] ignore the last 4 characters table['Date'].loc[i] = files[:-4] #Fill the rain value from sattelite image in the 'Rainfall' columm table['Rainfall(mm)'].loc[i] = data.array{int(row), int(col)] #Export the table file into a csv table.csv(r'FOLDER PATH/Rainfall.csv')
Dear Sir , as a student , you know , I have to understand many things. One more favor please, NOT last , but least ! Here (data.ceda.ac.uk/badc/cru/data/cru_ts/cru_ts_4.02/data/) in this website gridded weather data ( Maximum temperature , Minimum temperature , Precipitation etc) is given from 1901-2017 on monthly basis time steps. Sir, Please explain in a video, " I want to prepare a "Geo tiff " file or "tiff" from 1980 -2017 of any climate variable like ( Maximum Temperature or Minimum Temperature , or Precipitation etc) according to my province . In case of province , I have name of districts, their latitude and longitude values" . Further that file can be used for "Zonal statistics as Table' to calculate the average of the given climate variable within each boundary / district. So again my questions is , please explain in a video "how to prepare that "Geo tiff " file or "tiff" file from 1980-2017 of any climate variable like ( Maximum Temperature or Minimum Temperature , or Precipitation etc) according to my province . In case of province , I have name of districts, their latitude and longitude values" . If you do not mind and with great apologized , I can provide you the name of my province , its districts, their latitude and longitude values (to understand how to prepare that "Geo tiff" file or "Tiff file" from 1980-2017 by a video ) at your email or any other link whatever where you feel comfortable! Waiting for your kind reply With Best wishes and stay healthy
Thank you very much for this wonderful video. We were dying of despair until we found your video. If heaven exists, you are going straight there. We have no words to thank you. Greetings from Colombia. Daniela & Valentina
You are welcome :)
thank you so much!!! I'm starting the studies of geoprocessing using python and your video helped me a lot.
instaBlaster
Super Thanks. Please make one showing the aggregation of monthly precipitation over an admin area/AOI Polygon.
Superb. very clear explanation.
Amazing video, exactly what I was looking for !
You are welcome
Dear Sir , Thank you soooooooooooooo much . You are sooo nice and kind . You are sooo expert in GIS . I hope you will continue your help .Its really very very helpful for me . I actually want to do that one . Sir, you solved my problem . Once again THANK YOU soo much .
Can you please make a video on downscalling GCM data!
Do you have any idea if All CMIP6 experiment has global coverage?
Extremely helpful , best wishesh to your channel and you 😍
Appreciable . Thanks a loat. Waiting for next tutorial using python.
Hallo, thanks for your video
I applay your stips ,but the value rainfull(last stips) still gives zero on table
How can solve this problems.???
In case we need the rain to all basin, to get the basin outflow?
I must sum all rain values of the image, but what code to change in loop section?
How would one tweak this code to download rainfall for multi-points?
Hello, sir. Does the code work if I use a polygon shapefile rather than the ground station point? Thank you in advance for your reply.
Thank you so much for your tutorial. If I want time series data for various points not a single point how do I do that?
My file is ready to download but when I click it to download a page opens that says "integer out of range
" what should I do
Thank you very much for the video. How can I modify the python code if i have a lot of points to analyze at the same time?
Though I put the lat, lon (station) from inside the area coverage of the downloaded raster, in time of running the code finally; I am receiving this error " IndexError: index -1277 is out of bounds for axis 0 with size 126 '' . How can I get rid of this?
Please tell me the temporal resolution of the data you used?
A great work indeed. Thanks on behalf of the community.Where can we get the shapefiles for India. Divagis shapefiles distort Indian geographical extent and trim Jammu &Kashmir.
Hi, I would suggest you may possibly reach out to your local authorities for the precise GIS files, as the free versions online might contain issues as what you have mentioned
Thank you so much for this. Fantastic work
thanks for the informative tutorial, if we have to extract for multiple coordinates, should we add row and column with x and y or any other option
Very good video, clear and precise. I am also interested in multiple stations, can we do multiple at once, should be possible I guess...?
Hello Sir. Thank you for the wonderful tutorial series.
I have CHIRPS raster data that contains daily precipitation information for 39 years. The rasters are on a daily timestep for precipitation.On the other hand I have 2000 stations from where i would like to have a timeseries data in csv format for the precipitation data. I followed your guidance on creating a time series precipitation data for one station and it worked quite smoothely. The problem for me is creating a loop to extract timeseries precipitation in data in csv format for the 2000 stations from 1981 - 2018. Kindly help. Thank you once again.
Hi Rich, do you have a point shapefile of the stations?
Yes Sir, I have the Shapefile. I have also clipped the chirps raster to my Area of Interest. Can I share the shapefile with you please?
Hi, can you send an email to deltaengineeringlabs[at]gmail.com (kindly replace the [at] with @). We will assist you on this.
@@geodeltalabs Thank you for the assistance. I've sent to you the zipped shapefile together with the adopted code from your tutorial. Thanks
Thanks GeoDelta labs for the assistance and for sharing the code. It worked quite efficiently. Thanks
When I fill in the rainfall value appears this error: index 2819 is out of bounds for axis 0 with size 40. You know why?
Hi! I'm in the north hemisphere and I had the same problem, so I changed the order of the coordinates, instead of latitude, longitude I used longitude, latitude and worked perfectly. Still not sure why thou..
@@wellmanlake thank you!! saved me.
Dear Sir, Which version of python do you recommend to do this conversion?
Sorry, I have to ask question again. I am trying to follow the tutorial by practising it.
I tried to do georeferencing with QGIS but the line "x,y = dataset(9.20,9.27)" throws up an error saying " 'DatasetReader' object is not callable".
Please, any help fixing this?
Thanks a lot.
Hi. Thank you for the extremely helpful tutorial. Do you know the resolution of the data you downloaded as zip? Is it 0.05 or 0.25? Nothing is mentioned here, so I am asking this question. I have tried to use the code for the global daily precipitation using the original tif file (not clipped according to my area of interest). But after processing 40 dates, the got stuck (showing that the code is running but did not show any output). Is it due to the large file size? If you know, please also let us know. Thank you.
The resolution is 0.05 degrees
(www.chc.ucsb.edu/data/chirps)
You may try to reduce the selection area of the raster by narrowing it down to only your area of interest. The larger the raster is, the more time it requires for the code to open and read in the raster during each iteration.
How can one do the same thing when having binary data?
when i used it gives me error for import error DLL load failed: the specified procedure coundnot be found please help that issue as soon thanks
Fantastic! Much appreciate!!
can it be applied to chirps monthly data?
Awesome Tutorial .How Can you also get water levels from rivers ?
remote sensing may not be the best tool for that, if you are after high accuracies
Commendable work done ....well appreciate...
Sir, if I want to get extract subset of the chirps global daily rainfall data ? How do I get it?
Suppose lat (28, 32N), long (77,80E) with 0.25 resolution.
Convert it CSV format like
Lat 28 28.25 28.5.......
Long 78 78.25 78.5.....
Date rainfall
1. 1.5 0 1.6
2
So on...
2
2
Hallo. Thank for all the useful Python tutorials given by you.
When I do this tutorial and rich at the conde converting array of RF data to a table -- table['Rainfall (mm)'].loc[i] = data_array[int(row), int(col)] -- I countered the following error :
File "C:\Users\pc\anaconda3\lib\site-packages\pandas\core\dtypes\cast.py", line 2215, in np_can_hold_element
if is_float(element) and element.is_integer():
AttributeError: 'numpy.float32' object has no attribute 'is_integer'
Would you please help in locating this problem?
I'm getting the following error:
AttributeError: 'numpy.float32' object has no attribute 'is_integer'
I got the name issue.Any reply please
Where can we find the code? Can anyone help please?
Hello sir, can you make a tutorial on how to make a rainfall dss file for 5 year rainfall using python
i had that problem please share with me idea
very good video thanks
Thank you so much 😍
Hello, GeoDelta.
I must say that I have been enjoying your series of tutorials and I have learnt greatly.
Please, can you do this same tutorial but using QGIS instead of ARCGIS?
I am using QGIS because it is free and I am very sure that very many people will also be using QGIS for the same reason.
Thank you very much for your efforts.
Hi, thanks for your comment. Actually in this tutorial the usage of ArcGIS is very minimal (only for displaying purposes of the raster) , and the core is on the application of the python script. However I agree with your suggestion. Lately we have started launching qgis related videos , stay tuned for the coming tutorials :)
geodelta
where can i download monthly chirps data?
Once you extract the daily data, to can use the pandas groupby to generate monthly cumulative values
Thanks very much
Fantastic
Dear Sir , Your videos are excellent . Please help me a video that How can I do in QGIS , to take the spatial average of all the pixels from the climate data (like maximum temperature or minimum temperature or rainfall) that lie inside of the boundary of each district using 'Zonal Statistics as Table' to calculate the average of the given climate variable within each boundary.
There will be a tutorial on this soon, stay tuned :)
@@geodeltalabs Thank you soooo much sir , I am waiting for my requested
video .
Here's the requested tutorial th-cam.com/video/VIr-pejky6E/w-d-xo.html
This is great Video, would you like show how to draw polygon and extract data for the polygon?
There will be a tutorial on this soon, stay tuned :)
@@geodeltalabs ohhh I would very much enjoy such a tutorial as well. However, I have only found the multi-point data extraction vieo (which btw is alo amazing!). Will you still be doing one with focus on polygons?
Can you please show it on Google Earth Engine?
Hi, thanks for your comment.
We do have a plan to launch a tutorial series on GEE, however it might take a while :)
Sir how can I extract time series data for different ground station at once using python code.
Hi, if it's just one station you can simply replace the lat, lon values and re-run.
But if you have multiple stations, I suggest you to follow the method explained in the following tutorial to extract all the stations at once:
th-cam.com/video/6zzneGT4mkg/w-d-xo.html
#PythonCode
import rasterio
import numpy as np
import pandas as pd
os.chdir('FOLDER PATH')
getcwd()
#Uper limit of table in np.arrange: number of images +1
table = pd.DataFrame(0, index = np.arange(1,2192), columns=['Date','Rainfall(mm)'])
i = 0
for files in os.listdir(r'FOLDER PATH'):
#verify if files are read correctly: print(files)
#read file extension and read only ".tif"
if files [-4:] == '.tif':
i = i + 1
dataset = rasterio.open(r'FOLDER PATH'+'\\'+files)
#in Linux, don't use "r" letter before the path
# cordinates of your point of interest (city, rain gage, wheater station, etc)
x,y=(21.781631, -31.384303)
row, col = dataset.index(x,y)
data_array = dataset.read(1,2101)
#Copy the date on filename to the 'Date' columm in table (created in panda dataframe) during each iteraction
#[:-4] ignore the last 4 characters
table['Date'].loc[i] = files[:-4]
#Fill the rain value from sattelite image in the 'Rainfall' columm
table['Rainfall(mm)'].loc[i] = data.array{int(row), int(col)]
#Export the table file into a csv
table.csv(r'FOLDER PATH/Rainfall.csv')
Dear Sir , as a student , you know , I have to understand many things. One more favor please, NOT last , but least ! Here (data.ceda.ac.uk/badc/cru/data/cru_ts/cru_ts_4.02/data/) in this website gridded weather data ( Maximum temperature , Minimum temperature , Precipitation etc) is given from 1901-2017 on monthly basis time steps. Sir, Please explain in a video, " I want to prepare a "Geo tiff " file or "tiff" from 1980 -2017 of any climate variable like ( Maximum Temperature or Minimum Temperature , or Precipitation etc) according to my province . In case of province , I have name of districts, their latitude and longitude values" . Further that file can be used for "Zonal statistics as Table' to calculate the average of the given climate variable within each boundary / district. So again my questions is , please explain in a video "how to prepare that "Geo tiff " file or "tiff" file from 1980-2017 of any climate variable like ( Maximum Temperature or Minimum Temperature , or Precipitation etc) according to my province . In case of province , I have name of districts, their latitude and longitude values" . If you do not mind and with great apologized , I can provide you the name of my province , its districts, their latitude and longitude values (to understand how to prepare that "Geo tiff" file or "Tiff file" from 1980-2017 by a video ) at your email or any other link whatever where you feel comfortable! Waiting for your kind reply With Best wishes and stay healthy