Flood Mapping Google Earth Engine Using Sentinel SAR Satellite Imagery

  Рет қаралды 13,842

CreateByte

CreateByte

Күн бұрын

Пікірлер: 40
@createbyte
@createbyte Жыл бұрын
-Get Feature Boundary from: data.humdata.org/dataset/pakistan-union-council-boundaries-along-with-other-admin-boundaries-dataset -Functions code: //declared function to convert the images types and perform the functions // Function to convert from d function toNatural(img) { return ee.Image(10.0).pow(img.select(0).divide(10.0)); } //Function to convert to dB function toDB(img) { return ee.Image(img).log10().multiply(10.0); } //Apllying a Refined Lee Speckle filter as coded in the SNAP 3.0 S1TBX: //github.com/senbox-org/s1tbx/blob/master/s1tbx-op-sar-processing/src/main/java/org/esa/s1tbx/sar/gpf/filtering/SpeckleFilters/RefinedLee.java //Adapted by Guido Lemoine // by Guido Lemoine function RefinedLee(img) { // img must be in natural units, i.e. not in dB! // Set up 3x3 kernels var weights3 = ee.List.repeat(ee.List.repeat(1,3),3); var kernel3 = ee.Kernel.fixed(3,3, weights3, 1, 1, false); var mean3 = img.reduceNeighborhood(ee.Reducer.mean(), kernel3); var variance3 = img.reduceNeighborhood(ee.Reducer.variance(), kernel3); // Use a sample of the 3x3 windows inside a 7x7 windows to determine gradients and directions var sample_weights = ee.List([[0,0,0,0,0,0,0], [0,1,0,1,0,1,0],[0,0,0,0,0,0,0], [0,1,0,1,0,1,0], [0,0,0,0,0,0,0], [0,1,0,1,0,1,0],[0,0,0,0,0,0,0]]); var sample_kernel = ee.Kernel.fixed(7,7, sample_weights, 3,3, false); // Calculate mean and variance for the sampled windows and store as 9 bands var sample_mean = mean3.neighborhoodToBands(sample_kernel); var sample_var = variance3.neighborhoodToBands(sample_kernel); // Determine the 4 gradients for the sampled windows var gradients = sample_mean.select(1).subtract(sample_mean.select(7)).abs(); gradients = gradients.addBands(sample_mean.select(6).subtract(sample_mean.select(2)).abs()); gradients = gradients.addBands(sample_mean.select(3).subtract(sample_mean.select(5)).abs()); gradients = gradients.addBands(sample_mean.select(0).subtract(sample_mean.select(8)).abs()); // And find the maximum gradient amongst gradient bands var max_gradient = gradients.reduce(ee.Reducer.max()); // Create a mask for band pixels that are the maximum gradient var gradmask = gradients.eq(max_gradient); // duplicate gradmask bands: each gradient represents 2 directions gradmask = gradmask.addBands(gradmask); // Determine the 8 directions var directions = sample_mean.select(1).subtract(sample_mean.select(4)).gt(sample_mean.select(4).subtract(sample_mean.select(7))).multiply(1); directions = directions.addBands(sample_mean.select(6).subtract(sample_mean.select(4)).gt(sample_mean.select(4).subtract(sample_mean.select(2))).multiply(2)); directions = directions.addBands(sample_mean.select(3).subtract(sample_mean.select(4)).gt(sample_mean.select(4).subtract(sample_mean.select(5))).multiply(3)); directions = directions.addBands(sample_mean.select(0).subtract(sample_mean.select(4)).gt(sample_mean.select(4).subtract(sample_mean.select(8))).multiply(4)); // The next 4 are the not() of the previous 4 directions = directions.addBands(directions.select(0).not().multiply(5)); directions = directions.addBands(directions.select(1).not().multiply(6)); directions = directions.addBands(directions.select(2).not().multiply(7)); directions = directions.addBands(directions.select(3).not().multiply(8)); // Mask all values that are not 1-8 directions = directions.updateMask(gradmask); // "collapse" the stack into a singe band image (due to masking, each pixel has just one value (1-8) in it's directional band, and is otherwise masked) directions = directions.reduce(ee.Reducer.sum()); //var pal = ['ffffff','ff0000','ffff00', '00ff00', '00ffff', '0000ff', 'ff00ff', '000000']; //Map.addLayer(directions.reduce(ee.Reducer.sum()), {min:1, max:8, palette: pal}, 'Directions', false); var sample_stats = sample_var.divide(sample_mean.multiply(sample_mean)); // Calculate localNoiseVariance var sigmaV = sample_stats.toArray().arraySort().arraySlice(0,0,5).arrayReduce(ee.Reducer.mean(), [0]); // Set up the 7*7 kernels for directional statistics var rect_weights = ee.List.repeat(ee.List.repeat(0,7),3).cat(ee.List.repeat(ee.List.repeat(1,7),4)); var diag_weights = ee.List([[1,0,0,0,0,0,0], [1,1,0,0,0,0,0], [1,1,1,0,0,0,0], [1,1,1,1,0,0,0], [1,1,1,1,1,0,0], [1,1,1,1,1,1,0], [1,1,1,1,1,1,1]]); var rect_kernel = ee.Kernel.fixed(7,7, rect_weights, 3, 3, false); var diag_kernel = ee.Kernel.fixed(7,7, diag_weights, 3, 3, false); // Create stacks for mean and variance using the original kernels. Mask with relevant direction. var dir_mean = img.reduceNeighborhood(ee.Reducer.mean(), rect_kernel).updateMask(directions.eq(1)); var dir_var = img.reduceNeighborhood(ee.Reducer.variance(), rect_kernel).updateMask(directions.eq(1)); dir_mean = dir_mean.addBands(img.reduceNeighborhood(ee.Reducer.mean(), diag_kernel).updateMask(directions.eq(2))); dir_var = dir_var.addBands(img.reduceNeighborhood(ee.Reducer.variance(), diag_kernel).updateMask(directions.eq(2))); // and add the bands for rotated kernels for (var i=1; i
@PlannerSajad
@PlannerSajad 9 ай бұрын
Wonderful Sir, this video helped me a lot for my class report on "Impact of Flood and their mitigation strategies in Sindh " thank you Sir for your guidelines..... i really appreciate it....
@createbyte
@createbyte 7 ай бұрын
All the best
@mirwado1384
@mirwado1384 7 ай бұрын
​@@createbytesir i have to do research on the topic (pre and post flood water quality analysis in sindh ) so plz sir can u guide me
@simbarashethondhlana8327
@simbarashethondhlana8327 Жыл бұрын
Well presented. Thank you so much.
@geykum_shakeshigh
@geykum_shakeshigh 3 ай бұрын
Thank you for the video and the code sir, I appreciate it
@geykum_shakeshigh
@geykum_shakeshigh 2 ай бұрын
Can I ask a question here mate, am sure you'all have encountered an issue where you have to clip a DEM file for a small area it shows pixels, just pixels, can this be Improved like using GEE to have the exact scale for proper representation of the map?
@dhiazahira6846
@dhiazahira6846 10 ай бұрын
Hello sir, thanks for the video. I wanna ask you how to determine the min max value?
@JHN_Productions
@JHN_Productions Ай бұрын
toDB function is not working in my code editor
@dhiazahira6846
@dhiazahira6846 10 ай бұрын
Sir, what the name of methodh that you use, change detection or something else?
@myatmin6336
@myatmin6336 Ай бұрын
I have a issues which "toDB is not defined" . Please let me know what is this issue?
@jovin.thazhal
@jovin.thazhal Ай бұрын
mine showing zero size and boundary is not adding in the layer what can i do
@facts_tv6343
@facts_tv6343 9 ай бұрын
Which code can we use to output the final map result. please can you reply below. Thank you
@createbyte
@createbyte 7 ай бұрын
map.layer and then include the layer you want add
@siyadabdirahmansiyad379
@siyadabdirahmansiyad379 Жыл бұрын
thanks for your kind sharing bro, How can get other countries feature boundaries?
@createbyte
@createbyte Жыл бұрын
Yes . Just search for your country boundary shape files
@elsysielatchom
@elsysielatchom Жыл бұрын
Good morning Sir thanks for this kind explanation. Please can you share script with us?
@createbyte
@createbyte Жыл бұрын
Will upload soon
@GISHacks
@GISHacks 6 ай бұрын
Thank you so much. Would you please share the code?
@DorsaMohammadi-zq2nt
@DorsaMohammadi-zq2nt 24 күн бұрын
how can access to all codes?
@SocialAnalyst33
@SocialAnalyst33 Жыл бұрын
Asslamualikum Sir. Thanks for This video, Can you share the flood report ! i need it
@createbyte
@createbyte Жыл бұрын
pdma.gos.pk/flood-2022-in-sindh/ Download the pdf from here brother
@birhanukifle517
@birhanukifle517 Жыл бұрын
It is Nice
@eeshacrafts6122
@eeshacrafts6122 Жыл бұрын
Good say sir, please i stuck 😢. My good state size is printing as zero, what do i do?
@eeshacrafts6122
@eeshacrafts6122 Жыл бұрын
Please I would appreciate getting a response as soon as possible
@createbyte
@createbyte Жыл бұрын
Is your issue fixed ?
@kingkhan-qb5rj
@kingkhan-qb5rj 8 ай бұрын
Is it possible to calculate total flood area of Pakistan?
@createbyte
@createbyte 7 ай бұрын
yes
@jyotiprakashhati4058
@jyotiprakashhati4058 Жыл бұрын
The code says toDB is not defined.
@createbyte
@createbyte Жыл бұрын
Check the comments section and description I have pinned the toDB function there You can simply copy paste that into your editor
@valosspu2024
@valosspu2024 4 ай бұрын
i'm getting same value of in inspector of good and flood filter its all same as you
@ZeeshanZafarzams706
@ZeeshanZafarzams706 6 ай бұрын
But this code shows a lot of water bodies on the eastern side, which we all know is a huge desert. I think its mixing sand with water.
@razirajpoot200
@razirajpoot200 3 ай бұрын
can i get coding?
@usamakhatab8989
@usamakhatab8989 6 ай бұрын
flood water should be more than simple water. but in this analysis simple water is more. why?
@geologistdinesh
@geologistdinesh Жыл бұрын
could you send me code of this anaysis
@createbyte
@createbyte Жыл бұрын
Even if I share you the code It wont run because you wont have the imported assets , which are non shareable at the moment by Earth engine
@geologistdinesh
@geologistdinesh Жыл бұрын
Non-satisfied your answer, we want to see ce script, otherwise no explanation is required
@createbyte
@createbyte Жыл бұрын
Will surely try to work on that in upcoming videos
@dwikifebriyan-z9k
@dwikifebriyan-z9k Жыл бұрын
bang bagi codingnya bang
@Rajesh-t3l6c
@Rajesh-t3l6c 5 ай бұрын
T
Webinar 7 - Flood Mapping with Sentinel 1 data
1:20:27
EO AFRICA R&D Facility
Рет қаралды 7 М.
Хасанның өзі эфирге шықты! “Қылмыстық топқа қатысым жоқ” дейді. Талғарда не болды? Халық сене ме?
09:25
Демократиялы Қазақстан / Демократический Казахстан
Рет қаралды 338 М.
Миллионер | 1 - серия
34:31
Million Show
Рет қаралды 3 МЛН
小蚂蚁会选到什么呢!#火影忍者 #佐助 #家庭
00:47
火影忍者一家
Рет қаралды 119 МЛН
Rice Mapping using Sentinel 1, 2 in Earth Engine [GEE]
31:10
ktmagar's YT
Рет қаралды 6 М.
OSINT At Home #9 - Top 4 Free Satellite Imagery Sources
13:21
Bendobrown
Рет қаралды 1,6 МЛН
КАК РАБОТАЕТ WIFI?
20:14
Alek OS
Рет қаралды 54 М.
Predict Future Land Cover in Google Earth Engine
45:13
Study Hacks-Institute of GIS & Remote Sensing
Рет қаралды 937
Flood mapping with sentinel 1 SLC product using SNAP and ArcGIS Pro
38:19
Space, Remote sensing and GIS
Рет қаралды 6 М.
Analyze floods using ONLY Python! (aka spatial data science)
24:07
Matt Forrest
Рет қаралды 15 М.
Хасанның өзі эфирге шықты! “Қылмыстық топқа қатысым жоқ” дейді. Талғарда не болды? Халық сене ме?
09:25
Демократиялы Қазақстан / Демократический Казахстан
Рет қаралды 338 М.