PHPackages                             kicken/osm-parser - 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. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. kicken/osm-parser

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

kicken/osm-parser
=================

Library for parsing OSM data dump files.

169PHP

Since Sep 28Pushed 2y ago1 watchersCompare

[ Source](https://github.com/kicken/osm-parser)[ Packagist](https://packagist.org/packages/kicken/osm-parser)[ RSS](/packages/kicken-osm-parser/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (2)Used By (0)

PHP OSM Data file parser
========================

[](#php-osm-data-file-parser)

Parse Open Street Map XML or PBF files with a simple iterator interface.

Example
-------

[](#example)

Extract all named nodes from the [Austin, TX dump](https://download.bbbike.org/osm/bbbike/Austin/).

```
$iter = new Kicken\OSMParser\Parser\XML('Austin.osm');
foreach ($iter as $entity){
    if ($entity instanceof Kicken\OSMParser\Data\Node && $entity->getTag('name')){
        echo "\t", $entity->getTag('name'), ' @ (', $entity->getLat(), ',', $entity->getLon(), ')', PHP_EOL;
    }
}

```

Resource requirements
---------------------

[](#resource-requirements)

While PBF files are much smaller on disk, they require **significantly** more resources to parse. I tested both parsers using the example code above using PHP 8.2.3 on a Intel i7-1260P laptop and had the following results:

ParserTimePeak memory usageXML1m 01s4.1 MBPBF (Native)0m 41s3.1 GBPBF (PHP)3m 23s3.9 GBXML format is quick and uses the least amount of memory since it can stream as they are found rather than loading a bunch into memory. PBF format is quick if you use the native extension, but requires much more memory as many nodes must be loaded into memory first then output. PBF without the native extension is slow and uses a lot of memory and thus should be avoided.

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity23

Early-stage or recently created project

 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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/6234547?v=4)[Keith Maika](/maintainers/kicken)[@kicken](https://github.com/kicken)

---

Top Contributors

[![kicken](https://avatars.githubusercontent.com/u/6234547?v=4)](https://github.com/kicken "kicken (11 commits)")

### Embed Badge

![Health badge](/badges/kicken-osm-parser/health.svg)

```
[![Health](https://phpackages.com/badges/kicken-osm-parser/health.svg)](https://phpackages.com/packages/kicken-osm-parser)
```

###  Alternatives

[mck89/peast

Peast is PHP library that generates AST for JavaScript code

19139.2M47](/packages/mck89-peast)[sauladam/shipment-tracker

Parses tracking information for several carriers, like UPS, USPS, DHL and GLS by simply scraping the data. No need for any kind of API access.

9843.5k](/packages/sauladam-shipment-tracker)[jstewmc/rtf

Read and write Rich Text Format (RTF) documents with PHP

45153.1k6](/packages/jstewmc-rtf)[tcds-io/php-jackson

A lightweight, flexible object serializer for PHP, inspired by FasterXML/jackson

113.2k10](/packages/tcds-io-php-jackson)

PHPackages © 2026

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