Comments (14)
Both,
This could be a result of the misalignment (or misregistration) between L8 and S2 images which vary geographically and can exceed 38 meters. It is mainly due to the residual geolocation errors in the Landsat-8 framework which based upon the Global Land Survey images. I am currently establishing a method via GEE to co-register images before they are downloaded using overlapping L8 and S2 images around the same time period. GEE has displace() and displacement() functions which are used to displace or wrap (“rubber-sheet” technique) the L8 image aligned with the S2 image. Landsat images should be aligned correctly, therefore applying the offset image to the rest of the Landsat images in the area can be assumed constant, Having said this, the resultant L8 co-registered can still be misaligned to the S2 image, as the offset image can change depending on what time /area is used in the displacement function. @kvos, have you thought about this issue?
from coastsat.
hi tony, yeah it doesn't look good at all... could you please share some of the images in the folder \data\sitename\jpg_files\detection just so I can see what is happening with the shoreline detection algorithm
from coastsat.
from coastsat.
Pescoluse beach: Lat: 39.835899°; Long: 18.254155°
from coastsat.
So the detection on L7 and L8 seems to be ok (this is as good as it gets). Remember, the horizontal accuracy of this method is ~10 m so you will only be able to capture shoreline changes of the order of tens of meters. You may want to check in the output variable what the georeferencing accuracy is for each image, if the georeferencing accuracy is too large, drop those images.
For S2 images georeferencing accuracy is not available. But in your case it looks like you have an strong offshore bias with the S2 imagery. What is happening is that it's very shallow and clear water so it tends to map the shoreline offshore that where it is. There are no obvious parameters that you can change to fix this bias unfortunately...
from coastsat.
- How can I check n the output variable what the georeferencing accuracy is for each image?
- It's true, the sea is flat and the water is very clean (satellite images were taken in the summer). Satellite images whith breaking water (winter period) can help?
from coastsat.
- so if you are using QGIS or other GIS software, it is in the attributes of each shoreline, the attribute is called
geoaccuracy
. You can also open it with Python in the output variable which is returned after mapping the shorelines (also saved as sitename_output.pkl), you can look atoutput['geoaccuracy']
and this will return the georefencing accuracy for all the images corresponding to the shorelines mapped. For S2 image it will just show 0 or 1 (just a pass/fail flag). you can also check which shoreline comes from which satellite withoutput['satname']
. - Wave breaking will definitely help as it adds contrast at the interface between sand and water. If you have this problem with all the S2 images, there is also another tweak that we could try, are you working on a fork of coastsat?
I would also suggest one more thing, try to make your polygon bigger, like 10 km^2, so that you are also capturing deep water and there are sufficient sand and water pixels for the detection algorithm.
from coastsat.
Just reopening the issue about the S2 offshore bias in shoreline detection in Italy (closed issue #72).
from coastsat.
hi @tonycoppola ,
Did you use the same image (same .tif file) for your analysis in QGIS?
The NDVI is good because, as you mentioned, both bands come at the same resolution but I found that the MNDWI is more robust as it is less affected by the presence of white-water on the image (mostly tested along exposed open beaches). At Narrabeen (Australia) for example we obtain better accuracy with MNDWI than NDWI. But it is possible that the interpolation may cause a bias at sites with very clear water. I will have a look to see what is happening with the threshold.
from coastsat.
I downloaded directly from https://scihub.copernicus.eu/dhus/#/home or with QGIS plugin called SCP (semi-automatic classification plugin) the S2 images with the same date as those processed by Coastsat.
from coastsat.
Hi @kvos ,
I did a test on your beach, as you can see the results for Sentinel2 images are very similar.
With Landsat8 images, however, it seems that the results obtained using the NDWI index are better.
from coastsat.
I leave you the shoreline files
shoreline_NDWI_method.zip
from coastsat.
hi @sac3g15 ,
I agree, georeferencing errors are surely an issue when using the medium resolution imagery. Landsat products provide a georeferencing root-mean-squarred-error with each image, which can be used to discard the images that are badly georeferenced (this is stored in CoastSat). For Sentinel-2 Leve-1C products they only provide a geometric_quality flag which is pass or fail. You can discard the ones that failed the geometric test but from what I read an image will fail the test only if RMSE error is above 20m, which is huge. We are currently looking into using the Arosics library (https://pypi.org/project/arosics/) which is epic, to co-register the images prior to shoreline detection. However, I don't have much time for development these days as I have to finish my thesis so it would be great if someone else could contribute and implement the co-registration 🥇 !
On the offshore bias @tonycoppola , I just pushed an update to CoastSat and now it is possible to adjust the shoreline detections, by moving the threshold on the MNDWI see the example below.
I think this could help to understand better what is causing the offshore bias, could be georeferencing but maybe also a detection issue in very clear calm water.
cheers,
Kilian
from coastsat.
I hope that the new release of CoastSat (v2.0) should fix this issue of the bias so I will close this issue for the time being.
from coastsat.
Related Issues (20)
- IndexError: list index out of range - when plotting seasonal averages and long term trends HOT 2
- Doesn't plot final seasonal and monthly trend figures HOT 1
- After opening the clash proxy software, some errors message appears HOT 1
- Tidal Correction data error:''value' must be an instance of str or bytes, not a float' HOT 7
- Quick question about water level correction HOT 1
- Problem with GEE HOT 2
- white water border in pixel classification HOT 11
- Axis limits cannot be NaN or Inf HOT 1
- CoastSAT seasonal and monthly average graphs HOT 8
- tidal correction plus setup and runup correction! HOT 2
- fail to digitize a reference shoreline HOT 2
- KeyError: 'dimensions' when retrieving S2 imagery HOT 12
- Spyder: QWidget: Must construct a Qapplication before a Qwidget. HOT 4
- Downloading question and reference shoreline question HOT 3
- Sentinel-2 images failed to download HOT 3
- CoastSat running on Colab: error with the pyfes package HOT 1
- L7 scanline error HOT 6
- Error about SDS_download.retrieve_images(inputs) HOT 1
- Coastsat to work for small atoll island of Tuvalu HOT 1
- Images not downloading HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from coastsat.