convert geojson to kml file and backwards
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config
src
test
.babelrc
.gitignore
.npmignore
.travis.yml
LICENSE
README.md
package-lock.json
package.json

README.md

gtran-kml

Build Status

Convert geojson to kml file and backwards.

This is a sub-project of gtran.

Installation

npm install gtran-kml

Functions

  • fromGeoJson(geojson, fileName, options)

    Save the geojson into the given file name.

    Since 1.1.11, it also supports Mapbox's simplestyle-spec.

    options:

    • name - Specify the feature name using a geojson property. The Default value is 'name'.

    • symbol - Specify feature Symbol. It accepts an symbol object or a function to return the symbol per feature.

      Supported styles:

      • Point

        • color - HTML color code or array of RGB values, indicating feature color.

        • alpha - An integer value (0-255), indicating the color opacity

        • scale - Feature size, a float number.

        • icon - Link of feature icons. Some generally used icons can be found here.

      • LineString

        • color - HTML color code or array of RGB values, indicating feature color.

        • alpha - An integer value (0-255), indicating the color opacity

        • width - A float value, indicating line width.

      • Polygon

        • color - HTML color code or array of RGB values, indicating feature color.

        • alpha - An integer value (0-255), indicating the color opacity

        • fill - A boolean value, indicating whether to fill the polygon.

        • outline - A boolean value, indicating whether to outline the polygon.

    See the detail explaination at KML format reference.

  • toGeoJson(fileName)

    Read the given file into geojson.

Use Example

const kml = require('gtran-kml');

// Specify promise library if necessary
kml.setPromiseLib(require('bluebird'));

// Read KML file
kml
  .toGeoJson('source.kml')
  .then((object) {
    const geojson = object;
  });

const geojson = {
  'type': 'FeatureCollection',
  'features': [{
    'type': 'Feature',
    'geometry': {"type":"Point","coordinates":[-70.2532459795475,43.6399758607149]},
    'properties': {
      'id': 1,
      'Name': 'test'
    }
  }]
};

// Define a symbol for all features in the layer
const pointSymbol = {
  color: '#2dcd86',
  alpha: 255,
  scale: 1,
  icon: 'http://maps.google.com/mapfiles/kml/shapes/square.png'
};

// Save geojson into KML file
kml.fromGeoJson(geojson, 'point.kml', {
  symbol: pointSymbol,
  name: 'Name'
})

// Define a symbol for each individual feature
kml.fromGeoJson(geojson, 'point.kml', {
  symbol: (feature) => {
    return {
      color: '#2dcd86',
      alpha: 255 * Math.random(),
      scale: 1,
      icon: 'http://maps.google.com/mapfiles/kml/shapes/square.png'
    }
  },
  name: 'Name'
})