@Zindi @participants Can anyone help with Date range specification for each country on this challenge ?
For example:
# Check for images in the Kenya image collection
kenya_ic = ee.ImageCollection("users/pengyuhao/FAO/GEO-AI_2024/Kenya_IC")
# Filter for the specified date range
images = kenya_ic.filterDate('2024-05-01', '2024-05-16')
# Get the number of images found
num_images = images.size().getInfo()
print(f"Number of images available for Kenya from 2024-05-01 to 2024-05-16: {num_images}")
Number of images available for Kenya from 2024-05-01 to 2024-05-16: 0
I think i can see that in data description now.
How have you fixed it?
# Set date ranges based on location
if loc == 'Kenya':
start_date = '2024-05-01'
end_date = '2024-05-16'
elif loc == 'VNM':
start_date = '2024-04-16'
end_date = '2024-04-30'
elif loc == 'Spain':
start_date = '2024-04-16'
end_date = '2024-04-30'
else:
raise ValueError(f"Unknown location: {loc}")
After quoting these two statements on the competition page.
1. We will provide the example GEE JS scripts in code editor to generate 15-day composited Sentinel-2 time series data in the three test regions (Spain, Kenya and Vietimn)
2. Features in the training samples are prepared with images on 20240416 for VNM and Spain and on 20240501 for Kenya.
but in your initial code you still had the dates for kenya as:
images = kenya_ic.filterDate('2024-05-01', '2024-05-16')??
and in your new code it still the same
I believe all images in the image collection are from 2023. I could be wrong, but that's what I noticed. I also couldn't get any image using filterDate(). Maybe I'm doing something wrong. What I did eventually was to filter the metadata string for the date I was looking for. Not sure why the competition statement says 2024, but after combing through the csv data and checking against satellite imagery, I'm almost certain the data, including the training csvs, are all from 2023.
True because I am pretty sure I have used the correct dates as Micadee has shown and what the competition data page says but I get empty results everytime
and what does this mean?
If you are in the top 10 at the end of the challenge and receive the request for code email you must include the following:
The sample GEE gives biweekly images for all locations. I think after building the model, we have to predict on all the images provided and visualise that in some way. What I don't understand is do we predict on the same locations in the training (and/or test) data, or do we generate some spatial grid distrubuted over the test regions. It is rather ambiguous, and would be great to get some clarity on what's expected.
Exactly. I really followed this same message when I was setting the time range as well.
@da_ @koleshjr I think in all, we still need a clarification from the organisers on this.
@koleshjr Yeah . You're right. Seems my code wasn't working then.
**
I will also try 2023-01-01 to
I will also try 2023-01-01 torespectively date in this statement below:tement below:
**Features in the training samples are prepared with images on 20240416 for VNM and Spain and on 20240501 for Kenya.**
Okay maybe let's try to figure this ourselves:
image_count = kenya_ic.size().getInfo()
print(f"Number of images in the collection: {image_count}")
Number of images in the collection: 24
Seems like there are 24 images in the Kenyan collection
If we print the keys in the collection:
collection_info = kenya_ic.getInfo()
print("Collection Info:")
print(collection_info.keys())
we get:
dict_keys(['type', 'bands', 'version', 'id', 'features'])
Seems there are no dates? so what should we filter with?
@koleshjr Yes, images are present, the exact date range to use is the main issue here. Even when i used date range 2023-01-01 to 2024-05-01 just to experiment on this ( say for Kenya ), i saw a lot of images under sentinel-2, sentinel-1, landsat-8, landsat-9 respectively e,g, 195 images, 29 images, 8 images, 28 images but i considered these too many to deal with as i am not even sure of the date range used. I just hope @zindi can chip in on this issue in order to get this done in time.
Here is how I extract using the dates.
Kenya_ic.filterMetadata('system:index', 'contains', '2023-05-01'). This is for JS, but I reckon it should apply to python too.
The example GEE files don't have date attributes so I filter with the Metadata instead.
While on this, has anyone else noticed there could be potential labeling errors. Without knowing for sure what time range the training dataset comes from, it's hard to say definitely if the labeling errors I've seen are all real. Also, there seem to be samples from the training set that were sampled where there are clouds. Moreso, the samples in the training set were extracted at 10m resolution while the example gee files were extracted at 20m resolution. I could be overthinking about all of this, but with my observations so far, I'm not sure how to consolidate and proceed. I really hope @zindi clarifies sometime soon.