
This article presents how to create kml or kmz files in Nodejs using JavaScript.
Libraries used:
Create kml file - @maphubs/tokml
Create geojson - geojson
Create kmz using zip - archiver
Create KML File
const points = [
{latitude: 39.984, longitude: -75.343},
{latitude: 39.284, longitude: -75.833},
{latitude: 39.123, longitude: -74.534},
{line: [[102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0]],}
]
const geojsonObject = geojson.parse(points, {
Point: ['latitude', 'longitude'],
LineString: 'line',
}), {
documentName: 'Document Name',
documentDescription: 'KML Export'
}
const response = tokml(geojsonObject);
Content-type for kml:
'Content-Type': 'application/vnd.google-earth.kml+xml',
Create KMZ File
const archive = archiver('zip', {
zlib: { level: 9 }, // Sets the compression level.
});
archive.append(Buffer.from(kmlFile), { name: 'file.kml' });
// archive.pipe(res); // for expressjs stream
return archive.finalize();
Content-type for kml:
'Content-Type': 'application/vnd.google-earth.kmz',
How to vizualize kml or kmz files ?
I found an online tool KML Viewer that do a great job.