Skip to content

A Python library to covert KML files to GeoJSON files

License

Notifications You must be signed in to change notification settings

mrcagney/kml2geojson

Repository files navigation

kml2geojson

kml2geojson is a Python 3.8+ package to convert KML files to GeoJSON files. Most of its code is a translation into Python of the Node.js package togeojson, but kml2geojson also adds the following features.

  • Preserve KML object styling, such as color and opacity
  • Optionally create a style dictionary cataloging all the KML styles used
  • Optionally create several GeoJSON FeatureCollections, one for each KML folder present

Installation

Create a Python 3.8+ virtual environment and run poetry add kml2geojson.

Usage

Use as a library or from the command line. For instructions on the latter, type k2g --help.

Documentation

Published on Github pages.

Notes

  • This project's development status is Alpha. I use this project for work and change it breakingly to suit my needs.
  • This project uses semantic versioning.
  • If you would like to fund additional features to this project, feel free to email me.
  • Thanks to MRCagney for periodically donating to this project.
  • Constructive feedback and contributions are welcome. Please issue pull requests from a feature branch into the develop branch and include tests.

Authors

  • Alex Raichev (2015-10-03), maintainer

Contributing

If you want to help develop this project, here is some background reading.

Changes

5.1.0, 2022-04-29

  • Extended convert() to accept a KML file object.
  • Added type hints.
  • Updated dependencies and removed version caps.
  • Dropped support for Python versions less than 3.8.
  • Switched from Travis CI to Github Actions.

5.0.1, 2021-10-11

  • Re-included the MIT License file and added more metadata to the file pyproject.toml for a more informative listing on PyPi.

5.0.0, 2021-10-07

  • Upgraded to Python 3.9 and dropped support for Python versions < 3.6.
  • Switched to Poetry.
  • Breaking change: refactored the convert function to return dictionaries instead of files.
  • Moved docs from Rawgit to Github Pages.

4.0.2, 2017-04-26

  • Fixed the bug where setup.py could not find the license file.

4.0.1, 2017-04-22

4.0.0, 2016-11-24

  • Moved command line functionality to separate module
  • Renamed some functions

3.0.4, 2015-10-15

Disambiguated filenames in main().

3.0.3, 2015-10-13

Improved to_filename() again.

3.0.2, 2015-10-12

Improved to_filename() and removed the lowercasing.

3.0.1, 2015-10-12

Tweaked to_filename() to lowercase and underscore results. Forgot to do that last time.

3.0.0, 2015-10-12

Changed the output of build_layers() and moved layer names into the GeoJSON FeatureCollections

2.0.2, 2015-10-12

  • Replaced underscores with dashes in command line options

2.0.1, 2015-10-12

  • Set default border style for colored polygons

2.0.0, 2015-10-08

  • Added documentation
  • Tweaked the command line tool options

1.0.0, 2015-10-05

  • Changed some names
  • Added lots of tests

0.1.1, 2015-10-03

Fixed packaging to find README.rst

0.1.0, 2015-10-03

First

About

A Python library to covert KML files to GeoJSON files

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages