Summing multiple years of rain data using Google Earth Engine?Google Earth Engine - NASA/NEX Climate DataIterating over years for features in feature collection using Google Earth Engine?“Batch processing” data of multiple ROIs in Google Earth EngineLinearFit with Google Earth EngineGoogle Earth Engine - Map.addLayerMultiple date filter Google Earth EngineImporting weather data using Google Earth Engine and visualizing them?Classification of NDVI using Google Earth EngineMulti-Trend in Google Earth Engine?Summation of multiple map layers?
Concept of linear mappings are confusing me
New order #4: World
Motorized valve interfering with button?
Is there really no realistic way for a skeleton monster to move around without magic?
How to make payment on the internet without leaving a money trail?
What makes Graph invariants so useful/important?
A Journey Through Space and Time
What do you call something that goes against the spirit of the law, but is legal when interpreting the law to the letter?
What do you call a Matrix-like slowdown and camera movement effect?
Extreme, but not acceptable situation and I can't start the work tomorrow morning
Why is "Reports" in sentence down without "The"
Banach space and Hilbert space topology
Chess with symmetric move-square
Can I interfere when another PC is about to be attacked?
Japan - Plan around max visa duration
What defenses are there against being summoned by the Gate spell?
I see my dog run
Email Account under attack (really) - anything I can do?
My colleague's body is amazing
whey we use polarized capacitor?
Copycat chess is back
Infinite past with a beginning?
Is it possible to make sharp wind that can cut stuff from afar?
Why Is Death Allowed In the Matrix?
Summing multiple years of rain data using Google Earth Engine?
Google Earth Engine - NASA/NEX Climate DataIterating over years for features in feature collection using Google Earth Engine?“Batch processing” data of multiple ROIs in Google Earth EngineLinearFit with Google Earth EngineGoogle Earth Engine - Map.addLayerMultiple date filter Google Earth EngineImporting weather data using Google Earth Engine and visualizing them?Classification of NDVI using Google Earth EngineMulti-Trend in Google Earth Engine?Summation of multiple map layers?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I am trying to determine the what areas tend to get rain in a specific interval of time over multiple years. What I am doing is taking the filter date (in this case June 15th through July 15th) and outputting that data into its own layer. Where I am running into trouble is when I have multiple years of data, summing that data gives me a completely inaccurate output layer. What i'm trying to do is "stack" the years on top of one another on the map. See below for examples.
var dataset = ee.ImageCollection('OREGONSTATE/PRISM/AN81d')
var precip = dataset.select('ppt');
var precipitationVis =
min: 0.0,
max: 50.0,
palette: ['1621A2', 'white', 'cyan', 'green', 'yellow', 'orange', 'red'],
;
Map.setCenter(-86.55, 47.71, 7);
var precip2012 = precip.filterDate("2014-06-15", "2014-07-15");
var precip2013 = precip.filterDate("2015-06-15", "2015-07-15");
var total2012 = precip2012.reduce(ee.Reducer.sum());
var total2013 = precip2013.reduce(ee.Reducer.sum());
var final = total2012.add(total2013);
Map.addLayer(final, precipitationVis,
'Final Layer');
Map.addLayer(precip.filterDate('2012-06-25', '2012-07-15'), precipitationVis, '2012');
Map.addLayer(precip.filterDate('2013-06-25', '2013-07-15'), precipitationVis, '2013');
This is the output for 2012
This is the output for 2013
And this is the output when I use the Reducer.sum function
So as you can see, the 'layered' final image is complete trash. I'm not sure where the numbers are coming from or how it is getting wild outputs (the minimum output value for the final layer is "100" when there at most in the previous layers were 4-5 mm of rain.)
What I want to be able to do is put 20 years of precip data for that june-july range onto one layer where it accumulates in each year if there was precipitation in that pixel. Does that make sense what i'm trying to do?
This is what the image looks like when I enable both the 2012 and 2013 layer at the same time:
And that's what I want the final product to look like, however when I do this just using the layers, the opacity goes to full after 3-4 layers.
So how would I compile each layer (2012 & 2013) into a final layer?
google-earth-engine precipitation
add a comment |
I am trying to determine the what areas tend to get rain in a specific interval of time over multiple years. What I am doing is taking the filter date (in this case June 15th through July 15th) and outputting that data into its own layer. Where I am running into trouble is when I have multiple years of data, summing that data gives me a completely inaccurate output layer. What i'm trying to do is "stack" the years on top of one another on the map. See below for examples.
var dataset = ee.ImageCollection('OREGONSTATE/PRISM/AN81d')
var precip = dataset.select('ppt');
var precipitationVis =
min: 0.0,
max: 50.0,
palette: ['1621A2', 'white', 'cyan', 'green', 'yellow', 'orange', 'red'],
;
Map.setCenter(-86.55, 47.71, 7);
var precip2012 = precip.filterDate("2014-06-15", "2014-07-15");
var precip2013 = precip.filterDate("2015-06-15", "2015-07-15");
var total2012 = precip2012.reduce(ee.Reducer.sum());
var total2013 = precip2013.reduce(ee.Reducer.sum());
var final = total2012.add(total2013);
Map.addLayer(final, precipitationVis,
'Final Layer');
Map.addLayer(precip.filterDate('2012-06-25', '2012-07-15'), precipitationVis, '2012');
Map.addLayer(precip.filterDate('2013-06-25', '2013-07-15'), precipitationVis, '2013');
This is the output for 2012
This is the output for 2013
And this is the output when I use the Reducer.sum function
So as you can see, the 'layered' final image is complete trash. I'm not sure where the numbers are coming from or how it is getting wild outputs (the minimum output value for the final layer is "100" when there at most in the previous layers were 4-5 mm of rain.)
What I want to be able to do is put 20 years of precip data for that june-july range onto one layer where it accumulates in each year if there was precipitation in that pixel. Does that make sense what i'm trying to do?
This is what the image looks like when I enable both the 2012 and 2013 layer at the same time:
And that's what I want the final product to look like, however when I do this just using the layers, the opacity goes to full after 3-4 layers.
So how would I compile each layer (2012 & 2013) into a final layer?
google-earth-engine precipitation
You're looking at a month-long window of daily data (analytically) but when you plot the 2012 and 2013 imageCollections you're only plotting the first layer of each imageCollection
– JepsonNomad
Apr 3 at 19:30
Can you clarify what you mean when you say "you're only plotting the first layer of each imageCollection" ?
– Joey Roses
Apr 4 at 15:37
Apologies; thefirst()
layer is not what's being plotted. As per the earthengine Image Collections tutorial, "When you add an ImageCollection to the map, it is displayed as a recent-value composite, meaning that only the most recent pixels are displayed" - developers.google.com/earth-engine/tutorial_api_04. Regardless, when you useMap.addLayer(precip.filterDate('2012-06-25', '2012-07-15'...)
you aren't plotting the seasonal sum.
– JepsonNomad
Apr 5 at 3:07
I was looking through as much documentation I could find on ".filterDate" and am left still a little perplexed as to how it works. Are you saying that if I select a date range (lets say June 15th to July 15th), that only the most recent pixels are shown? (ie. only the last 3-4 days of rain?) or is it any and all rain between that specified time range?
– Joey Roses
2 days ago
.filterDate()
still leaves you with an imageCollection, so yes adding the product of.filterDate()
as a map layer will only show the most recent data.
– JepsonNomad
2 days ago
add a comment |
I am trying to determine the what areas tend to get rain in a specific interval of time over multiple years. What I am doing is taking the filter date (in this case June 15th through July 15th) and outputting that data into its own layer. Where I am running into trouble is when I have multiple years of data, summing that data gives me a completely inaccurate output layer. What i'm trying to do is "stack" the years on top of one another on the map. See below for examples.
var dataset = ee.ImageCollection('OREGONSTATE/PRISM/AN81d')
var precip = dataset.select('ppt');
var precipitationVis =
min: 0.0,
max: 50.0,
palette: ['1621A2', 'white', 'cyan', 'green', 'yellow', 'orange', 'red'],
;
Map.setCenter(-86.55, 47.71, 7);
var precip2012 = precip.filterDate("2014-06-15", "2014-07-15");
var precip2013 = precip.filterDate("2015-06-15", "2015-07-15");
var total2012 = precip2012.reduce(ee.Reducer.sum());
var total2013 = precip2013.reduce(ee.Reducer.sum());
var final = total2012.add(total2013);
Map.addLayer(final, precipitationVis,
'Final Layer');
Map.addLayer(precip.filterDate('2012-06-25', '2012-07-15'), precipitationVis, '2012');
Map.addLayer(precip.filterDate('2013-06-25', '2013-07-15'), precipitationVis, '2013');
This is the output for 2012
This is the output for 2013
And this is the output when I use the Reducer.sum function
So as you can see, the 'layered' final image is complete trash. I'm not sure where the numbers are coming from or how it is getting wild outputs (the minimum output value for the final layer is "100" when there at most in the previous layers were 4-5 mm of rain.)
What I want to be able to do is put 20 years of precip data for that june-july range onto one layer where it accumulates in each year if there was precipitation in that pixel. Does that make sense what i'm trying to do?
This is what the image looks like when I enable both the 2012 and 2013 layer at the same time:
And that's what I want the final product to look like, however when I do this just using the layers, the opacity goes to full after 3-4 layers.
So how would I compile each layer (2012 & 2013) into a final layer?
google-earth-engine precipitation
I am trying to determine the what areas tend to get rain in a specific interval of time over multiple years. What I am doing is taking the filter date (in this case June 15th through July 15th) and outputting that data into its own layer. Where I am running into trouble is when I have multiple years of data, summing that data gives me a completely inaccurate output layer. What i'm trying to do is "stack" the years on top of one another on the map. See below for examples.
var dataset = ee.ImageCollection('OREGONSTATE/PRISM/AN81d')
var precip = dataset.select('ppt');
var precipitationVis =
min: 0.0,
max: 50.0,
palette: ['1621A2', 'white', 'cyan', 'green', 'yellow', 'orange', 'red'],
;
Map.setCenter(-86.55, 47.71, 7);
var precip2012 = precip.filterDate("2014-06-15", "2014-07-15");
var precip2013 = precip.filterDate("2015-06-15", "2015-07-15");
var total2012 = precip2012.reduce(ee.Reducer.sum());
var total2013 = precip2013.reduce(ee.Reducer.sum());
var final = total2012.add(total2013);
Map.addLayer(final, precipitationVis,
'Final Layer');
Map.addLayer(precip.filterDate('2012-06-25', '2012-07-15'), precipitationVis, '2012');
Map.addLayer(precip.filterDate('2013-06-25', '2013-07-15'), precipitationVis, '2013');
This is the output for 2012
This is the output for 2013
And this is the output when I use the Reducer.sum function
So as you can see, the 'layered' final image is complete trash. I'm not sure where the numbers are coming from or how it is getting wild outputs (the minimum output value for the final layer is "100" when there at most in the previous layers were 4-5 mm of rain.)
What I want to be able to do is put 20 years of precip data for that june-july range onto one layer where it accumulates in each year if there was precipitation in that pixel. Does that make sense what i'm trying to do?
This is what the image looks like when I enable both the 2012 and 2013 layer at the same time:
And that's what I want the final product to look like, however when I do this just using the layers, the opacity goes to full after 3-4 layers.
So how would I compile each layer (2012 & 2013) into a final layer?
google-earth-engine precipitation
google-earth-engine precipitation
edited yesterday
PolyGeo♦
53.8k1781245
53.8k1781245
asked Apr 3 at 16:44
Joey RosesJoey Roses
216
216
You're looking at a month-long window of daily data (analytically) but when you plot the 2012 and 2013 imageCollections you're only plotting the first layer of each imageCollection
– JepsonNomad
Apr 3 at 19:30
Can you clarify what you mean when you say "you're only plotting the first layer of each imageCollection" ?
– Joey Roses
Apr 4 at 15:37
Apologies; thefirst()
layer is not what's being plotted. As per the earthengine Image Collections tutorial, "When you add an ImageCollection to the map, it is displayed as a recent-value composite, meaning that only the most recent pixels are displayed" - developers.google.com/earth-engine/tutorial_api_04. Regardless, when you useMap.addLayer(precip.filterDate('2012-06-25', '2012-07-15'...)
you aren't plotting the seasonal sum.
– JepsonNomad
Apr 5 at 3:07
I was looking through as much documentation I could find on ".filterDate" and am left still a little perplexed as to how it works. Are you saying that if I select a date range (lets say June 15th to July 15th), that only the most recent pixels are shown? (ie. only the last 3-4 days of rain?) or is it any and all rain between that specified time range?
– Joey Roses
2 days ago
.filterDate()
still leaves you with an imageCollection, so yes adding the product of.filterDate()
as a map layer will only show the most recent data.
– JepsonNomad
2 days ago
add a comment |
You're looking at a month-long window of daily data (analytically) but when you plot the 2012 and 2013 imageCollections you're only plotting the first layer of each imageCollection
– JepsonNomad
Apr 3 at 19:30
Can you clarify what you mean when you say "you're only plotting the first layer of each imageCollection" ?
– Joey Roses
Apr 4 at 15:37
Apologies; thefirst()
layer is not what's being plotted. As per the earthengine Image Collections tutorial, "When you add an ImageCollection to the map, it is displayed as a recent-value composite, meaning that only the most recent pixels are displayed" - developers.google.com/earth-engine/tutorial_api_04. Regardless, when you useMap.addLayer(precip.filterDate('2012-06-25', '2012-07-15'...)
you aren't plotting the seasonal sum.
– JepsonNomad
Apr 5 at 3:07
I was looking through as much documentation I could find on ".filterDate" and am left still a little perplexed as to how it works. Are you saying that if I select a date range (lets say June 15th to July 15th), that only the most recent pixels are shown? (ie. only the last 3-4 days of rain?) or is it any and all rain between that specified time range?
– Joey Roses
2 days ago
.filterDate()
still leaves you with an imageCollection, so yes adding the product of.filterDate()
as a map layer will only show the most recent data.
– JepsonNomad
2 days ago
You're looking at a month-long window of daily data (analytically) but when you plot the 2012 and 2013 imageCollections you're only plotting the first layer of each imageCollection
– JepsonNomad
Apr 3 at 19:30
You're looking at a month-long window of daily data (analytically) but when you plot the 2012 and 2013 imageCollections you're only plotting the first layer of each imageCollection
– JepsonNomad
Apr 3 at 19:30
Can you clarify what you mean when you say "you're only plotting the first layer of each imageCollection" ?
– Joey Roses
Apr 4 at 15:37
Can you clarify what you mean when you say "you're only plotting the first layer of each imageCollection" ?
– Joey Roses
Apr 4 at 15:37
Apologies; the
first()
layer is not what's being plotted. As per the earthengine Image Collections tutorial, "When you add an ImageCollection to the map, it is displayed as a recent-value composite, meaning that only the most recent pixels are displayed" - developers.google.com/earth-engine/tutorial_api_04. Regardless, when you use Map.addLayer(precip.filterDate('2012-06-25', '2012-07-15'...)
you aren't plotting the seasonal sum.– JepsonNomad
Apr 5 at 3:07
Apologies; the
first()
layer is not what's being plotted. As per the earthengine Image Collections tutorial, "When you add an ImageCollection to the map, it is displayed as a recent-value composite, meaning that only the most recent pixels are displayed" - developers.google.com/earth-engine/tutorial_api_04. Regardless, when you use Map.addLayer(precip.filterDate('2012-06-25', '2012-07-15'...)
you aren't plotting the seasonal sum.– JepsonNomad
Apr 5 at 3:07
I was looking through as much documentation I could find on ".filterDate" and am left still a little perplexed as to how it works. Are you saying that if I select a date range (lets say June 15th to July 15th), that only the most recent pixels are shown? (ie. only the last 3-4 days of rain?) or is it any and all rain between that specified time range?
– Joey Roses
2 days ago
I was looking through as much documentation I could find on ".filterDate" and am left still a little perplexed as to how it works. Are you saying that if I select a date range (lets say June 15th to July 15th), that only the most recent pixels are shown? (ie. only the last 3-4 days of rain?) or is it any and all rain between that specified time range?
– Joey Roses
2 days ago
.filterDate()
still leaves you with an imageCollection, so yes adding the product of .filterDate()
as a map layer will only show the most recent data.– JepsonNomad
2 days ago
.filterDate()
still leaves you with an imageCollection, so yes adding the product of .filterDate()
as a map layer will only show the most recent data.– JepsonNomad
2 days ago
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "79"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f317683%2fsumming-multiple-years-of-rain-data-using-google-earth-engine%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Geographic Information Systems Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f317683%2fsumming-multiple-years-of-rain-data-using-google-earth-engine%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
You're looking at a month-long window of daily data (analytically) but when you plot the 2012 and 2013 imageCollections you're only plotting the first layer of each imageCollection
– JepsonNomad
Apr 3 at 19:30
Can you clarify what you mean when you say "you're only plotting the first layer of each imageCollection" ?
– Joey Roses
Apr 4 at 15:37
Apologies; the
first()
layer is not what's being plotted. As per the earthengine Image Collections tutorial, "When you add an ImageCollection to the map, it is displayed as a recent-value composite, meaning that only the most recent pixels are displayed" - developers.google.com/earth-engine/tutorial_api_04. Regardless, when you useMap.addLayer(precip.filterDate('2012-06-25', '2012-07-15'...)
you aren't plotting the seasonal sum.– JepsonNomad
Apr 5 at 3:07
I was looking through as much documentation I could find on ".filterDate" and am left still a little perplexed as to how it works. Are you saying that if I select a date range (lets say June 15th to July 15th), that only the most recent pixels are shown? (ie. only the last 3-4 days of rain?) or is it any and all rain between that specified time range?
– Joey Roses
2 days ago
.filterDate()
still leaves you with an imageCollection, so yes adding the product of.filterDate()
as a map layer will only show the most recent data.– JepsonNomad
2 days ago