# MATLAB: save geospatial polygons in a *.kml file

9 views (last 30 days)
Alfredo on 5 Mar 2013
Answered: Rob Comer on 14 Oct 2021 at 19:51
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

Alfredo on 5 Apr 2013
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.
T S on 10 Oct 2017
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.

Rob Comer on 28 Jan 2020
With Mapping Toolbox and MATLAB R2016a or later, you can use the kmlwritepolygon function.
Polsak Tothong on 14 Oct 2021 at 19:08
How can we use kmlwritepolygon when input have multiple polygons. Matlab function seems to write one polygons at a time only

Rob Comer on 14 Oct 2021 at 19:51
See the example Write Polygon Data to KML File on the kmlwrite reference page.