PHPackages                             m165437/igc2kmz-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. m165437/igc2kmz-php

ActiveLibrary

m165437/igc2kmz-php
===================

PHP wrapper for Python script igc2kmz, an IGC to Google Earth converter.

v1.3.0(7y ago)115MITPHPPHP ^7.1.3

Since May 12Pushed 7y ago1 watchersCompare

[ Source](https://github.com/M165437/igc2kmz-php)[ Packagist](https://packagist.org/packages/m165437/igc2kmz-php)[ RSS](/packages/m165437-igc2kmz-php/feed)WikiDiscussions master Synced yesterday

READMEChangelog (5)Dependencies (4)Versions (6)Used By (0)

igc2kmz PHP Wrapper
===================

[](#igc2kmz-php-wrapper)

PHP wrapper for Python script [igc2kmz](https://github.com/twpayne/igc2kmz), an IGC to Google Earth converter.

[![GitHub release](https://camo.githubusercontent.com/208f317365198ed4b2e7f46e0b9792700d36573cada73def31f64a0253caf1bb/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f4d3136353433372f696763326b6d7a2d7068702e737667)](https://github.com/M165437/igc2kmz-php/releases/latest)[![Unstable](https://camo.githubusercontent.com/3e799c60bd3e816e4f97b00f6f279f0a040184b98a78275eedc6c30b41cb20ed/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f756e737461626c652d6d61737465722d6f72616e67652e737667)](https://github.com/M165437/igc2kmz-php/tree/master)[![Build Status](https://camo.githubusercontent.com/bad481ad51fcbe3233897e1947de9ff3af35036e487fb86fa60fa5dc3015ba43/68747470733a2f2f7472617669732d63692e6f72672f4d3136353433372f696763326b6d7a2d7068702e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/m165437/igc2kmz-php)[![codecov.io](https://camo.githubusercontent.com/436d71c42ca14e43e4899b17c5f8a968de71e591caae80bd98574f9f50a014a6/687474703a2f2f636f6465636f762e696f2f6769746875622f4d3136353433372f696763326b6d7a2d7068702f636f7665726167652e7376673f6272616e63683d6d6173746572)](http://codecov.io/github/m165437/igc2kmz-php?branch=master)[![License](https://camo.githubusercontent.com/008c1bd747b7c6ddd006ac0893f6dc9d09b2038ddc512eb3e157d39587dcfea8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d677265656e2e7376673f7374796c653d666c617426636f6c6f72423d343538393739)](https://github.com/M165437/igc2kmz-php/blob/master/LICENSE.md)[![Twitter](https://camo.githubusercontent.com/235cc6cff5a92f58abb485840a86e5a3e19ebb8c89729fbb1b9b0b10b5a9e53b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f747769747465722d404d3136353433372d626c75652e7376673f7374796c653d666c617426636f6c6f72423d303061636564)](http://twitter.com/M165437)

What is igc2kmz-php?
--------------------

[](#what-is-igc2kmz-php)

igc2kmz-php allows you to use Python script [igc2kmz](https://github.com/twpayne/igc2kmz), an IGC to Google Earth converter, with your PHP application.

In a nutshell: you can convert IGC files to KMZ files.

[IGC](http://vali.fai-civl.org/documents/IGC-Spec_v1.00.pdf) is a Data File Standard, developed by the IGC GPS Subcommittee and the Gliding Flight Data Recorder Manufacturers (…) to facilitate the introduction of GPS technology into gliding and in particular into competition verification and the homologation of badge and record flights, using GPS, by the FAI.

[KML](https://en.wikipedia.org/wiki/Keyhole_Markup_Language) is an XML notation for expressing geographic annotation and visualization within Internet-based, two-dimensional maps and three-dimensional Earth browsers. KMZ files are zipped KML files consisting of a single root KML document and optionally any overlays, images and icons.

Requirements
------------

[](#requirements)

- [igc2kmz](https://github.com/twpayne/igc2kmz) Python script
- Python version 2.x, not version 3.0 (as required by igc2kmz)
- PHP 7.1 or greater

What's what
-----------

[](#whats-what)

- **igc2kmz** is a Python script to convert IGC files to KMZ files.
- **igc2kmz-php** is a PHP wrapper around the igc2kmz Python script.

Installation
------------

[](#installation)

The recommended way to install igc2kmz-php is by using [composer](https://getcomposer.org):

```
$ composer require m165437/igc2kmz-php
```

This will install the PHP package with your application. Please keep in mind that the Python script **igc2kmz is not included**.

### Install the Python script igc2kmz using Composer

[](#install-the-python-script-igc2kmz-using-composer)

Head over to [m165437/igc2kmz-installer](https://github.com/m165437/igc2kmz-installer).

Usage of igc2kmz-php
--------------------

[](#usage-of-igc2kmz-php)

1. Get an instance of the `\Igc2KmzPhp\Igc2KmzInterface` implementation, `\Igc2KmzPhp\Igc2Kmz`. Pass the path to the igc2kmz binary to the constructor.
2. Set the igc file and options on your `\Igc2KmzPhp\Igc2Kmz` instance.
3. Run your command.

```
$igc2kmz = new Igc2Kmz('vendor/bin/igc2kmz');
```

### With Laravel

[](#with-laravel)

This package includes a Laravel service provider and registers itself via [Package Discovery](https://laravel.com/docs/5.6/packages#package-discovery).

Type-hint the class in a constructor or method that is resolved by Laravel's service container. It's automatically resolved and injected into the class.

```
public function __construct(Igc2Kmz $igc2kmz)
{
    $this->igc2kmz = $igc2kmz;
}
```

If you need to change the default binary path `vendor/bin/igc2kmz`, create a config file `config/igc2kmz.php` and set the path in there.

```
return [
    'binary' => 'alternative/path/igc2kmz'
];
```

### Code Examples

[](#code-examples)

> Keep in mind that igc2kmz-php is designed to keep its state, run `\Igc2KmzPhp\Igc2KmzInterface::resetOptions` and `\Igc2KmzPhp\Igc2KmzInterface::resetPhotos` to get rid of the options and photos you set for the next call on the instance.

#### Convert flight.igc to output.kmz

[](#convert-flightigc-to-outputkmz)

Make sure your igc path is correct and readable, and your output path is writable.

```
$igc2kmz
    ->igc('path/to/flight.igc')
    ->output('path/to/output.kmz')
    ->run();
```

#### Set pilot name and glider type

[](#set-pilot-name-and-glider-type)

For individual flights you can override the pilot name and glider type (otherwise they are taken from the IGC file).

```
$igc2kmz
    ->igc('path/to/flight.igc')
    ->output('path/to/output.kmz')
    ->pilotName('Jane Doe')
    ->gliderType('NOVA Mentor 5')
    ->run();
```

#### Add photos with comments

[](#add-photos-with-comments)

```
$igc2kmz
    ->igc('path/to/flight.igc')
    ->output('path/to/output.kmz')
    ->addPhoto('https://domain.tld/photo_1.jpg', 'Comment on first image')
    ->addPhoto('https://domain.tld/photo_2.jpg', 'Comment on second image')
    ->run();
```

#### Get process before it is run

[](#get-process-before-it-is-run)

```
$process = $igc2kmz
    ->igc('path/to/flight.igc')
    ->output('path/to/output.kmz')
    ->build();

// do stuff with the process

$igc2kmz
    ->run($process);
```

Testing
-------

[](#testing)

Run the tests with:

```
vendor/bin/phpunit
```

Credits
-------

[](#credits)

Credit goes to Tom Payne for creating [igc2kmz](https://github.com/twpayne/igc2kmz).

Contributing
------------

[](#contributing)

Thank you for considering contributing to this package! Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

License
-------

[](#license)

igc2kmz-php is licensed under the MIT License (MIT). Please see the [LICENSE](LICENSE.md) file for more information.

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~77 days

Total

5

Last Release

2614d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/711773?v=4)[Michael Schmidt-Voigt](/maintainers/m165437)[@M165437](https://github.com/M165437)

---

Top Contributors

[![M165437](https://avatars.githubusercontent.com/u/711773?v=4)](https://github.com/M165437 "M165437 (8 commits)")

---

Tags

laravelkmlgoogle earthkmzigcparagliding

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/m165437-igc2kmz-php/health.svg)

```
[![Health](https://phpackages.com/badges/m165437-igc2kmz-php/health.svg)](https://phpackages.com/packages/m165437-igc2kmz-php)
```

###  Alternatives

[laravel/horizon

Dashboard and code-driven configuration for Laravel queues.

4.2k84.2M225](/packages/laravel-horizon)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M259](/packages/laravel-dusk)[laravel/envoy

Elegant SSH tasks for PHP.

1.6k5.5M18](/packages/laravel-envoy)[laravel/installer

Laravel application installer.

83610.7M20](/packages/laravel-installer)[spatie/laravel-health

Monitor the health of a Laravel application

85810.0M83](/packages/spatie-laravel-health)[wnx/laravel-stats

Get insights about your Laravel Project

1.8k1.8M7](/packages/wnx-laravel-stats)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
