Skip to content

mapbox/tokml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jan 28, 2016
91c3fa5 · Jan 28, 2016

History

88 Commits
Oct 9, 2013
Oct 14, 2013
Jan 27, 2016
Jan 26, 2016
Jun 16, 2014
Jan 28, 2016
Dec 19, 2013
May 22, 2015
Feb 10, 2015
Oct 14, 2013
Jan 27, 2016
Jan 28, 2016
Jun 19, 2014
Jan 28, 2016

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.

  • name: the name of the property in each GeoJSON Feature that contains the feature's name
  • description: 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 document
  • documentDescription: the description of the full document

simplestyle-spec support:

  • simplestyle: set to true to convert simplestyle-spec styles into KML styles

Development

Requires node.js and browserify:

To build tokml.js:

make

To run tests:

npm install
npm test