Options
All
  • Public
  • Public/Protected
  • All
Menu

@ngageoint/geopackage-kml-js - v4.1.0

KML and KMZ files to Geopackage files

Using a Xml streaming library to read the kml file and convert the hierarchal data into relational data that GeoPackages can store.

Installation

NPM

$ npm install @ngageoint/geopackage-kml-js

Usage

./cli /path/to/file/to/convert.kml /path/to/file/to/create.gpkg

Javascript

const { KMLToGeoPackage } = require('@ngageoint/geopackage-kml-js');
const kmlFile = './test.kml';
const geoPackageFile = './test.gpkg';
const tableName = 'features';

// Convert CSV to GeoPackage feature table
const converter = new KMLToGeoPackage();
converter.convert({ kmlOrKmzPath: kmlFile, geoPackage: geoPackageFile, tableName: tableName }).then(() => {
  console.log('File conversion complete');
  console.log('Converted %s to %s', kmlFile, geoPackageFile);
});

Currently Supports

  • Placemark tags with and without coordinates Stored as features in a feature table with any additional tags stored in a column of the table.
    • Multigeometry tags
    • Polygon tags
      • inner and outer boundaries.
    • LineString tags
    • Point tags
  • Most of Icon, Polygon and Line Style tags
    • color converted to rgba
  • GroundOverlay tags
    • Image converision from EPSG: 4326 to EPSG: 3857 Web-mercator
      • Image manipulation preformed by Jimp.
      • Coordinate converision from Proj4.
    • Creates a tile set at appropriate from the zoomlevels.
      • Starting at the zoomlevel where the GroundOverlay is covered by one tile.
      • Ending where the image resolution matches that of the tile.
      • This is done in steps of 2.
  • Default Stylings of Google Earth.
  • gx:altitudeMode
  • ExtendedData

Does not support but plan on supporting

  • Network Links
  • ScreenOverlays
  • Folder and Document structure
  • PhotoOverlays
  • StyleMaps
    • currently only captures normal style
  • Region
  • gx:x, gx:y, gx:h and gx:w

Does not support and no plans to support currently

  • lookAt tags
    • Current it is stored as a JSON string in a column of the feature table
  • Most of gx extensions
  • Models tags
  • Camera
  • colorMode
  • gx:LatLonQuad
  • Google Sky
  • ListStyle
  • NetworkLinkControl

Generated using TypeDoc