I am using the example of how to plot a dome as a mesh over a globe, found here:
It works great, however, I don't have access to the topo60c .mat file (I have looked, including the USGS site). topo60c is not anywhere in my matlabroot, or in the map toolbox examples or elsewhere on my system. So there is no surface texture, just a wire frame.
I found another Matlab example that converts a .jpg file to a .mat file, at this location:
With this, I was able to convert my 1024px-Land_ocean_ice_2048.jpg file to the equivalent .mat file (I think).
I modified the original sample code:
geoshow(topo60c,topo60cR,"DisplayType","texturemap")
to this:
geoshow(img_data,"DisplayType","texturemap")
where image_mat is the full path to my 1024px-Land_ocean_ice_2048.mat file.
However, when I try to run this code, I get an error message:
Function UPDATEGEOSTRUCT expected input number 1, S, to be a structure.
I can find the coastlines and rivers .mat data, and they load and display successfully.
When I compare the coastlines .mat file and my texturemap .mat file, I notice some differences. Opening coastlines.mat with Matlab, the Import Wizard reveals two structures:
coastlat 9865x1 78920 double
coastlon 9865x1 78920 double
My texturemap file looks like this:
img_data 1024x2048x3 6291456 uint8
img.data sure looks like a structure to me. What am I missing? Is the uint8 an issue?
I would rather use my texture map, since it is much higher resolution than topo60c.