PHPackages                             kalyabin/geonames-importer - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. kalyabin/geonames-importer

ActivePackage[Utility &amp; Helpers](/categories/utility)

kalyabin/geonames-importer
==========================

CSV data importer from geonames.org

10501PHP

Since Jun 16Pushed 9y ago2 watchersCompare

[ Source](https://github.com/kalyabin/geonames-importer)[ Packagist](https://packagist.org/packages/kalyabin/geonames-importer)[ RSS](/packages/kalyabin-geonames-importer/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Geonames.org importer API
=========================

[](#geonamesorg-importer-api)

CSV data importer from geonames.org

Use open CSV base from geonames:

- cities bases (cities5000.zip, cities15000.zip, RU.zip, US.zip, etc.)
- countries base
- states base (admin1code.csv)

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

[](#installation)

Run in your console

```
php composer.phar require "kalyabin/geonames-importer" "dev-master"
```

Import all countries
--------------------

[](#import-all-countries)

```
$importer = new \kalyabin\geonames\importer\Country('/tmp/', function($country) {
    print 'Consume country: ' . "\n";
    print_r($country);
    print "\n";
    // do something else
});
$importer->process();
```

Import cities
-------------

[](#import-cities)

```
$importer = new \kalyabin\geonames\importer\City('/tmp/', 'cities5000.zip', function($city) {
    print 'Consume city: ' . "\n";
    print_r($city);
    print "\n";
    // do something else
});
$importer->process();
```

You may type second param like RU.zip, US.zip, cities15000.zip, etc.

Import states
-------------

[](#import-states)

```
$importer = new \kalyabin\geonames\importer\Admin1CodeASCII('/tmp/', function($region) {
    fwrite(STDOUT, "Consume region: ");
    print_r($region);
    fwrite(STDOUT, "\n");
});
$importer->process();
```

More about geonames open base read at

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 83.3% 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://www.gravatar.com/avatar/07607e080febd2bb2830e3b315944ce21b774bcabe00a8a7f5bec5921c2b6561?d=identicon)[mkalyabin](/maintainers/mkalyabin)

---

Top Contributors

[![kalyabin](https://avatars.githubusercontent.com/u/5373014?v=4)](https://github.com/kalyabin "kalyabin (5 commits)")[![NikitchenkoSergey](https://avatars.githubusercontent.com/u/7048202?v=4)](https://github.com/NikitchenkoSergey "NikitchenkoSergey (1 commits)")

### Embed Badge

![Health badge](/badges/kalyabin-geonames-importer/health.svg)

```
[![Health](https://phpackages.com/badges/kalyabin-geonames-importer/health.svg)](https://phpackages.com/packages/kalyabin-geonames-importer)
```

PHPackages © 2026

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