Exporting matlab matrices to ESRI ArcMap

5 views (last 30 days)
I have a large (4499x1459) 2D matrix containing surface ocean current data, and want to create an ArcMap shapefile from the matrix NaN values (i.e. a land mask). I have a code which creates polygon vertices (lat, lon) for each NaN value cell, but this is taking too long to do for such a large matrix. Is there a way I can simply read the matlab matrix into ArcMap as a raster image, so I can then convert it to a vector format there?
I have had no luck with this in searches so far.
Thanks in advance.

Accepted Answer

Walter Roberson
Walter Roberson on 20 Jun 2011
A thought: bwboundaries(isnan(YourMatrix)) would construct pixel lists; the pixel lists would be the vector coordinates. Not optimized to remove pixels that are in straight lines between pixels, but perhaps that is not needed at this time.
I do not know the performance of bwboundaries(), but it might be worth trying.
  1 Comment
Sally
Sally on 21 Jun 2011
Hi Walter,
thanks for your answer, this gives me a boundary for my land mask very quickly. However, the results are not in a format I know how to use. Do you know how to then create a boundary file from the resulting image?
Thank you, Sally

Sign in to comment.

More Answers (1)

Rob Comer
Rob Comer on 21 Jun 2011
ArcGIS can read GeoTIFF format. If you have R2011a, perhaps you could write your ocean current grid to a GeoTIFF file using the Mapping Toolbox geotiffwrite function, then import it into ArcGIS. See:
  2 Comments
Sally
Sally on 21 Jun 2011
Oh that looks amazing, unfortunately I don't have that version. I am using 2010b.
Thanks anyway Rob.
Matthew Cooper
Matthew Cooper on 13 Oct 2015
Also, it is not clear from the documentation how geotiffwrite handles NaN values - can you clarify? In my experience, when I use geotiffwrite to write Matlab matrices with NaN values into a .tif file, the NaN values are converted to NoData values such as -1.38E-38, however when I load the .tif's into ArcMap the NoData value is not recognized. Arc has tools for setting NoData, but they are in the Spatial Analyst toolbox that I do not have authorized.
Any idea how to solve that problem?

Sign in to comment.

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!