$ /tutorials

Create kml/kmz files in Nodejs

published · 1 minute read · kml kmz javascript nodejs
Create kml/kmz files in Nodejs

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.