MATLAB: save geospatial polygons in a *.kml file

After generating the poligons vertices and defined their faces, I've plotted the polygons with the patch function:
pp = patch('Faces',faces,'Vertices',vertices);
and then I've defined the patches colors:
set(pp,'FaceColor','flat',...
'FaceVertexCData',cdata,...
'CDataMapping','direct',...
'EdgeAlpha',.4,'EdgeColor','b')
Getting the following Matlab plot:
Now, I would like to visualize these polygons with Google Earth, but I don't know how.
I've tried the function kmlwrite, but I could pass to it only the polygons' vertices's coordinates, generating a kml file with all points and no polygon, as shown below:
The question is: wow can I write geospatial polygons (and their colors) into a .kml file with kmlwrite function?
Thanks

 Accepted Answer

I've found the solution of my problem in the KML ToolBox:
< https://www.mathworks.com/matlabcentral/fileexchange/34694-kml-toolbox-v2-3 https://www.mathworks.com/matlabcentral/fileexchange/34694-kml-toolbox-v2-3>
in particular in the k.poly3 function.

1 Comment

How did you enter the 'Faces' data into the k.poly3 function? It appears to only accept X,Y,Z coordinates along with a few visual modifiers.

Sign in to comment.

More Answers (2)

With Mapping Toolbox and MATLAB R2016a or later, you can use the kmlwritepolygon function.

1 Comment

How can we use kmlwritepolygon when input have multiple polygons. Matlab function seems to write one polygons at a time only

Sign in to comment.

See the example Write Polygon Data to KML File on the kmlwrite reference page.

Products

Asked:

on 5 Mar 2013

Answered:

on 14 Oct 2021

Community Treasure Hunt

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

Start Hunting!