mapbox / tokml

Convert GeoJSON to KML.
http://mapbox.github.io/tokml/
BSD 2-Clause "Simplified" License
189 stars 91 forks source link

Build Status Coverage Status

tokml

Convert GeoJSON to KML.

Usage

with node/browserify

npm install --save tokml

otherwise:

wget https://raw.github.com/mapbox/tokml/master/tokml.js

as a binary:

npm install -g tokml
tokml file.geojson > file.kml
tokml < file.geojson > file.kml

Example

// 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"
});

API

tokml(geojsonObject, [options])

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.

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

Document name and description: KML supports name and description properties for the full document.

simplestyle-spec support:

Development

Requires node.js and browserify:

To build tokml.js:

make

To run tests:

npm install
npm test