Is there somewhere in the Help file that describes what MW can and can't do with Rasters and which raster file types it can read or not read?
Search doesn't seem to turn anything up.
Without GDAL, the project only supports the .Bgd raster format, which is a very simple binary raster format used by USU/ISU for raster calculations. It does not support multiple bands, overviews, or other sophisticated techniques. Images supported by the core framework include standard image formats that can be used with the .Net Image object. Things like bmp, jpg, tif. It does not include wavelet formats, and requires the images to be loaded entirely into ram, fairly significantly restricting the size of the images that it can work with.
As long as you have the GDAL plugin in the Plugins directory, then this extends the capabilities significantly. However, it restricts you to working with Windows (x86) for the time being. This is mainly only an issue for people that want to run on mac or linux.
With the GDAL Plugin, you can access geotif, and other popular raster formats. It also allows access to wavelet image compression formats like .sid, .ecw, and jpeg 2000. However, improving how this works is a process in development. If you are using the MapWindow.dll library, then you can't dispaly super-sized rasters at all and super-sized images generate a large mapwindowimage (.mwi) in the file with the original image, that lets us create overviews, which are required for reasonable display of zoomed out views. You can access the ReadRaster and WriteRaster methods on the type specific version as shown in the sample code.
If you are working with DotSpatial, I have introduced an update in the code that should allow you to display larger rasters. However, it can take some time to symbolize the raster in the first place (creating the mwi file to represent the raster), so don't be surprized to be looking at a status bar the first time you try to load a huge raster.
DotSpatial.Data.Raster also has a few other options for working with blocks of the data, even without casting the raster to a specific data type (Raster<T>).
With MapWindow6, if you use a Raster.Open() method, you have no way to access the internal, data-type specific IRaster. The only way to get one is IRaster r = DataManager.DefaultDataManager.OpenRaster("filename") which, gives you something (even from GDAL) that can be cast into a working Raster<int> so you can use ReadRaster, WriteRaster methods.
With DotSpatial, the Raster class now has a "ToIntRaster()" method, for instance which you can use to get the Raster<int>, presuming that the raster is of that type. I think there may also be a generic version of this method, for handling unconventional data types.
Dr. Harold A Dunsford Jr.
MapWindow 6.0 & DotSpatial Initial Developer