Yes Sir, I have also tried in ERDAS and got good result also in plane area, but my area of interest is Sikkim and I am not able to differentiate water body and non water body in my AOI due to shadow. Which technic I should apply?? supervised classification or will have to run one more model??
1.You have to use vegetation analysis and mapping using real time NDVI (calibration to obtain NDVI from red and Infra red band value), so that you can get vegetation cover exclusively, and also take negative value (-1.0 to - 0.1), increase the negative value it means increase the water contents. (0.0 to 1.0), increase the plus value, vegetation growth, cover, age of the plant, leaf structure, disease (healthy vegetation cover), stress free, etc., also increasing.
2. you have to perform unsupervised classification, and supported field or ground based training samples, classification could be improved.
3. if you are not familiar with ground based training sets, you may do supervised classification (auto image analysis), and you can get good result but may not statistically significant or less accuracy.
I would like to suggest looking into the Surface Reflectance product from USGS. There is a land_water_qa layer which might be helpful in extracting water body. There are also several other layer which provide useful information, such as snow_qa, DDV for dark dense vegetation, CFmask C version of Function of Mask. The product is available in Landsat 4-5 and Landsat 7. Here are the links to the product guide and product page:
both softwares are completely different - one is image processing software, the other GIS, although both have common features in raster processing. Of course it is better to use ERDAS, or any other Image processing software compering to ArcGIS for this specific task. In fact there is not much difference which one you could use - the main issue here is to select which approach you will use - which channels will combine, what tresholds will apply etc. Then in each image processing software you could apply the equations/formulas/models you would select.
the software used should not influence the results you get much, provided that it supports the methods you need to use. For distinguishing water and land, there is lots of possible methods to use, and none is probably the best in every situation. From your reply to Masimalai Palaniyandi I guess you are using unsupervised classification and have problems with compex terrain and resulting shadows. In such case I would suggest to try:
1) A transformation of the spectral bands prior the classification step to reduce the influence of shadows. There is again quite some number of techniques to try, like
1a) Transformation of groups of three bands into HSV color space and using only the resulting H and S components for classification (or LAB color space and using A and B components).
1b) Principal component analysis transformation and throwing away component with the shadows most prominent (most probably component 1, also do not use the last component(s) with prevailing noise).
1c) terrain lighting correction using DEM (topographic correction of reflectance). Some atmospheric correction software may contain this as part of the process. Specialized remote sensing packages may have a tool for this, and one definitely is in the GRASS software (i.topo.corr).
2) Use a two step unsupervised classification, where in the first step you get some mixed classes, you mask out (remove) all classes not containing water and repeat the process again on the result. In both steps, about 10 classes are usually searched for, more classes of water usually in the result.
Any of the two methods may be sufficient alone, or you can combine them. Especially the second one is quite time consuming. The results of techniques above may be further enhanced by using multiple images as input (multitemporal set), provided that the water areas extent is not changing in time. Atmospheric correction may enhance classification results generally (or may not).
And of course, you could try completely different approaches, like variants of normalized difference water index (NDWI), supervised classification, neural networks, spectral-angle based techiques, use SAR instead of (or together with) spectral imagery... There are plenty of articles about that.
Please try to read carefully what others colleges are saying to you, because your question has several problems.
1) Water detection using satellite images belong to satellite image processing area not to GIS. Then you should use and image processing system like Erdas or Envi.
2) There are not best program for water detection there are know how, algorithms and ratios.
3) Shadow areas means no data, you have to look for summer images with the sun high.
My suggestion is try to use the surface relfection products as was suggested by USGS, but if you want to do the process by yourself, lets try with some ratios as suggested above but as I told you you need to know about satellite image porcessing in order to understand everything they told you in the correct way.
from the software u have ERDAS for satellite images will help big. GIS will not be of help at this point but you can try GIS 10.2 which is much advanced. Considering you have GIS at hand, I would suggest that you update from your current version to 10.2. The 10.2 has improved tools for image processing in the Arc View. also, you can use GIS raster calculator for water indexing
To detect water bodies is very useful also the water index ((CBlue-CNIR)-(CBlue+CNIR)), and after you can do it a supervised classification or a knowledge classification. I prefer Erdas Imagine software.
I think you could probably get highly accurate results using either package, however, as others have stated, ERDAS IMAGINE is more suited to image processing so I would go with that.
Many responses give good advice about methodology (inclusion of indices for example) but I would start with a simple hybrid supervised/unsupervised classification. Create signatures for different water "types" and other land cover features and run a supervised classification. Then mask out problematic pixels and cluster bust using isodata.
As others said, it is a matter of algorithm and classification, not of the software. If you have programming experience you can implement your workflow e.g. in Python or R.
Furthermore I think it is a question of how many Landsat scenes you want to analyze. With a supervised classification you get better results, but you have work with image correction / homogenization and defining training areas.
I processed lots of Landsat images and used some simple combination of several indizes / band ratios (e.g. 5-2 / 5+2 && 4/3 && 5/4 && 5/7 && NDVI and feed them into an isocluster function, followed by mlclassify (5 or 7 classes, ArcGIS functions) and some raster cleaning (despeckle, ...).
Water pixels occurmost often in classes 1 and/or 2, depending on how much water is present in the image
Supporting all, who said its the matter of the algorithms and programs, and not the software, I would like to recommend you following papers, which I used during my study similar to yours.
Ji, L., Zhang, L., & Wylie, B. (2009). Analysis of Dynamic Thresholds for the Normalized Difference Water Index. Photogrammetric Engineering & Remote Sensing, 75(11), 1307-1317.
Nath, R. K. (n.d.). Water-Body Area Extraction from High Resolution Satellite Images-An Introduction , Review , and Comparison. Image Processing, (3), 353-372.
If we speak about algorithms, or techniques there are many, however, I found water indices method best suitable for my study using Landsat 7 images. Longer the wavelengths, more is the absorption of water, so easier to differentiate water pixels from others (if it is not mixed with vegetation/ suspended matters). For me, the best index was the ratio of band 7 and band 4 for both landsat 7 and 8. With proper thresholding, you can even differentiate clear water/ water with vegetation/ suspended matter (you can refer my paper and one of Zhang and Wylie (2009)).
As highlighted by others, the software is not necessarily the limiter. The method is key and many softwares can apply similar processes. If using Landsat 7 data alone, there are a number of spectral indices you can calculate which can help to differentiate pixels with potential surface water present. This can include simple ratios or indices such as the NDWI (McFeeters) or the MNDWI (Xu). These indices will differ in their ability to separate water from other elements (soil, urban landscapes, shadows etc.). The selection of the indices used will depend on your application. The paper below discusses some of the variations between indices.
Xu, H. (2006). Modification of normalised difference water index (NDWI) to enhance open water features in remotely sensed imagery. International Journal of Remote Sensing, 27(14), 3025-3033.
With regards to software, all three you mentioned can generate these indices but how you utilise these for subsequent analysis could influence your decision. Personally I would use QGIS, generate a number of relevant indices (assess each visually to discern applicability), stack these, use ORFEO Toolbox processes to create objects, then calculate zonal statistics and apply thresholds to these or an unsupervised classification based on the zonal means.