kvos / CoastSat

Global shoreline mapping tool from satellite imagery
http://coastsat.space
GNU General Public License v3.0
697 stars 252 forks source link

Error detecting section along northern shorelines #553

Open phillipjws opened 1 week ago

phillipjws commented 1 week ago

Hello,

Great work on CoastSat, its an amazing tool and has been super useful. I have noticed that in my own trials, I am sometimes missing areas of shoreline along a certain side of coast. I am using the tool on areas in the arctic, and understand how ice can impact the mapping, although it seems strange to me that the area is consistent. I have attached a few images below to show the are, you will notice along the northwest shore of the island there is consistently a gap in the shoreline. I'm unsure as to if this error comes from my reference shoreline, although I don't believe so, I have increased the max ref distance, as well as played with other settings but I seem to get a similar result. 1985-08-05-20-10-16_L5 2020-08-28-20-55-41_S2 2024-07-23-20-55-39_S2

I have experienced similar behavior in areas that are not islands (thought this may have been the issue initially, see below): 1995-07-30-19-57-01_L5 2021-09-07-20-53-08_L8 2024-08-08-21-15-42_S2

The way I am setting up my reference shorelines is through various geojsons, all which contain various features. Could this be the issue?

Any help or insight is greatly appreciated,

Cheers, Phil

kvos commented 6 days ago

hi @phillipjws , interesting. Based on my experience it could be 3 things:

  1. that part is not included in the buffer defined by the reference shoreline and max_dist_ref. Try to remove the reference shoreline and see what happens to that northern area. If still not mapped, go to next step.
  2. there is a small misclassified cloud patch in that area, and using dist_clouds it removes all shoreline points within a distance from the cloud pixels (by default 300 m). Check if there is a cloud pixel in there, maybe a rooftop that consistently gets misclassifier. Set cloud_mask_issue = True and check if it changes anything. That should help removing misclassified clouds.
  3. The shoreline gets broken into small pieces in that section and then it is removed by the min_length_sl parameter. Try to set that to 100000 and see what happens. let me know if you find the issue
phillipjws commented 5 days ago

It seemed like playing with various settings have made it better, I've started using a different classifier, as well as the cloud_mask_issue = True flag. I think some of it may be due to the specific areas I'm working, which are in the arctic, and the sea is frozen for 8-9 months of every year, the snow and ice makes it tough. To accommodate this is my automation I have also added a months flag in inputs, allowing the user to specify if they are looking for images from specific parts of the year. There is still the odd year that needs additional filtering, but it helped a lot.

This is still a site to site issue, as I am also running into the issue where certain shorelines in my data are moving at rates upwards of 15m/year, so my reference shorelines are often not close enough for certain images to register.

Thanks for your help! Going to leave this open for a little longer until I'm confident it's solved, but it seems various settings have been the cause.

kvos commented 4 days ago

good work!

phillipjws commented 4 days ago

Is CoastSat setup to work with non rectangular AOIs? This is something I've been wondering, not too sure what would stop it but I'm not super familiar with the way GEE handles non rectangular polygons...