Forked from https://github.com/mapbox/tokml
with node/browserify
npm install --save @maphubs/tokml
otherwise:
wget https://raw.github.com/maphubs/tokml/master/tokml.js
as a binary:
npm install -g @maphubs/tokml
tokml file.geojson > file.kml
tokml < file.geojson > file.kml
ESM
import * as tokml from "@maphubs/tokml"
CommonJS
var tokml = require('@maphubs/tokml')
Browser
You can also load the built tokml.js
file directly in a browser script tag and access it globally as tokml()
// kml is a string of KML data, geojsonObject is a JavaScript object of
// GeoJSON data
var kml = tokml(geojsonObject);
// grab name and description properties from each object and write them in
// KML
var kmlNameDescription = tokml(geojsonObject, {
name: "name",
description: "description",
});
// name and describe the KML document as a whole
var kmlDocumentName = tokml(geojsonObject, {
documentName: "My List Of Markers",
documentDescription: "One of the many places you are not I am",
});
Given GeoJSON data as an object, return KML data as a string of XML.
options
is an optional object that takes the following options:
The property to name/description mapping: while GeoJSON supports freeform
properties
on each feature, KML has an expectation of name
and description
properties that are often styled and displayed automatically. These options let
you define a mapping from the GeoJSON style to KML's.
name
: the name of the property in each GeoJSON Feature that contains the feature's namedescription
: the name of the property in each GeoJSON Feature that contains the feature's description
Timestamp: KML can associate features with a moment in time via the TimeStamp
tag. GeoJSON doesn't
have a comparable field, but a custom property can be mapped
timestamp
: the name of the property in each GeoJSON Feature that contains a timestamp in XML Schema Time (yyyy-mm-ddThh:mm:sszzzzzz)
Document name and description: KML supports name
and description
properties
for the full document.
documentName
: the name of the full documentdocumentDescription
: the description of the full document
simplestyle-spec support:
simplestyle
: set totrue
to convert simplestyle-spec styles into KML styles
Requires node.js and browserify:
To build tokml.js
:
make
To run tests:
yarn install
yarn run test