Display USGS DTM using mapshow
Show older comments
[germany, R] = geotiffread('srtm_germany_dtm.tif');
germany = double(germany);
figure
mapshow(germany, R);
I have also converted the matrix germany of type single into doulble. but still im getting the following error:
Error using checkRefObj (line 25)
Function mapshow expected input number 2, R, to be either a 3-by-2 referencing matrix or a scalar map raster reference object. Instead its
type was: map.rasterref.GeographicCellsReference.
Error in validateMapRasterData>parseImageInputs (line 112)
refmat = checkRefObj(mapfcnname, R, size(A), R_position);
Error in validateMapRasterData>validateImageComponent (line 92)
[A, R] = parseImageInputs(mapfcnname, dataArgs{:}, cmap, rules );
Error in validateMapRasterData (line 26)
[Z, SpatialRef] = validateImageComponent(mapfcnname, ...
Error in maprastershow (line 126)
[Z, SpatialRef, displayType, HGpairs] = ...
Error in mapshow (line 228)
h = showFcn(varargin{:});
Can anyone please help me to display the geotiff file.
Answers (2)
Kojiro Saito
on 17 Sep 2016
If you also have a tfw file, the following code should work.
[X cmap] = imread('srtm_germany_dtm.tif');
R = worldfileread('srtm_germany_dtm.tfw');
figure
X = double(X);
mapshow(X, cmap, R);
Or, do you have only a geotiff file?
3 Comments
SUSHMA MB
on 19 Sep 2016
Kojiro Saito
on 21 Sep 2016
How about using geoshow?
[X, R] = geotiffread('srtm_germany_dtm.tif');
X = double(X);
geoshow(X, R);
Let me know whether this will view your geotiff file on MATLAB.
OJ27
on 2 Jul 2020
I tried this code and this is the error
Error using checkImage>checkRGBImage (line 60)
RGB images must be size M-by-N-by-3.
Error in checkImage (line 45)
RGB = checkRGBImage(A);
Error in validateTextureComponent (line 25)
dataArgs{imageIndex} = checkImage( ...
Error in validateGeoRasterData (line 23)
[dataArgs, R, imageIndex, rules] = validateTextureComponent( ...
Error in georastershow (line 144)
validateGeoRasterData('geoshow', dataArgs, displayType);
Error in geoshow (line 242)
h = showFcn(varargin{:});
Brian
on 26 Jan 2017
1 vote
I'm having this same problem. Using geoshow results in the same problem.
5 Comments
Kojiro Saito
on 27 Jan 2017
What is the CoordinateSystem of your DTM file? You can see by the following,
[X,R] = geotiffread('dtm.tiff');
R
If it's geographic, it shows
CoordinateSystemType: 'geographic'
Sally Wood
on 26 Jul 2017
I'm also having the same problem:
[bathy,R] = geotiffread('B2_rgb.tif');
figure; mapshow(bathy,R)
Gives the error:
Error using checkRefObj (line 25)
Function mapshow expected input number 2, R, to be either a 3-by-2 referencing matrix or a scalar map raster reference object. Instead its type was:
map.rasterref.GeographicCellsReference.
Whilst replacing mapshow with geoshow:
[bathy,R] = geotiffread('B2_rgb.tif');
bathy=double(bathy);
figure; geoshow(bathy,R)
Gives a different error:
Error using checkImage>checkRGBImage (line 51)
RGB images must be size M-by-N-by-3.
Error in checkImage (line 36)
RGB = checkRGBImage(A);
Error in validateTextureComponent (line 20)
dataArgs{imageIndex} = checkImage( ...
Error in validateGeoRasterData (line 24)
geofcnname, dataArgs, displayType, rules);
Error in georastershow (line 144)
validateGeoRasterData('geoshow', dataArgs, displayType);
Error in geoshow (line 276)
h = showFcn(varargin{:});
With regards to the Matlab example given for geotiffread...
[boston, R2] = geotiffread('boston.tif');
figure; mapshow(boston, R); axis image off
... my file differs in a number of ways. Firstly it is MxN x4 whilst 'boston.tif' comes out MxNx 3 (presumably the 3 RGB channels?). Secondly, R comes out as a 1x1 GeographicCellsReference whilst R2 for 'boston.tif' comes out as a 1x1 MapCellsReference. Finally, the Coordinate system type is 'geographic' compared to 'planar' in the Matlab example.
I don't know enough about these types of files to figure out which difference is causing the problem, so any advice would be gratefully received. I have tried just plotting 3 layers of my tif file but this crashes my computer!
bathy=double(bathy(:,:,2:4));
figure; geoshow(bathy,R)
BN
on 13 Apr 2020
I have the same problem, Did anyone find the solution?
Stephen Blackstock
on 15 Apr 2020
I also have this problem. Why doesn't this work?
BN
on 16 Apr 2020
Dear Stephen,
Categories
Find more on Vector and Raster Map Display in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!