Exporting matlab matrices to ESRI ArcMap
9 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
采纳的回答
Walter Roberson
2011-6-20
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 个)
Rob Comer
2011-6-21
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 个评论
Matthew Cooper
2015-10-13
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?
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!