https://github.com/haoliangyu/gtran-kml
convert geojson to kml file and backwards
https://github.com/haoliangyu/gtran-kml
conversion geojson kml style symbol
Last synced: 14 days ago
JSON representation
convert geojson to kml file and backwards
- Host: GitHub
- URL: https://github.com/haoliangyu/gtran-kml
- Owner: haoliangyu
- License: mit
- Created: 2015-11-13T04:53:49.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2022-12-30T17:49:45.000Z (over 2 years ago)
- Last Synced: 2025-03-24T03:11:30.256Z (about 1 month ago)
- Topics: conversion, geojson, kml, style, symbol
- Language: JavaScript
- Size: 381 KB
- Stars: 8
- Watchers: 2
- Forks: 11
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gtran-kml
[](https://www.npmjs.com/package/gtran-kml) [](https://travis-ci.org/haoliangyu/gtran-kml)
Convert geojson to kml file and backwards.
This is a sub-project of [gtran](https://github.com/haoliangyu/gtran).
## Installation
```javascript
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](https://github.com/mapbox/simplestyle-spec).
options:
- documentName - Specify the name of the full document. The Default value is **'My KML'**.
- documentDescription - Specify the description of the full document. The Default value is **'Converted from GeoJson by gtran-kml'**.
- name - Specify the feature name using a geojson property. The Default value is **'name'**.
- featureStyleKey - Specify the xml style key in the xml feature properties.
- 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](http://kml4earth.appspot.com/icons.html).
- 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](https://developers.google.com/kml/documentation/kmlreference).
- pretty - Pretty print the output KML. The default value is **false**.
- **toGeoJson(fileName)**
Read the given file into geojson.
## Use Example
```javascript
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'
})
```