pallari / geoname-bundle
A Symfony bundle for GeoNames with incremental daily updates support.
Package info
github.com/gian-paolo/geoname-bundle
Type:symfony-bundle
pkg:composer/pallari/geoname-bundle
Requires
- php: >=8.2
- doctrine/doctrine-bundle: ^2.13 || ^3.0
- doctrine/orm: ^2.15 || ^3.0
- symfony/framework-bundle: ^6.4 || ^7.0 || ^8.0
- symfony/http-client: ^6.4 || ^7.0 || ^8.0
Requires (Dev)
- phpunit/phpunit: ^10.5 || ^11.0 || ^12.0 || ^13.0
- symfony/phpunit-bridge: ^6.4 || ^7.0 || ^8.0
- symfony/var-exporter: ^6.4 || ^7.0 || ^8.0
- symfony/yaml: ^6.4 || ^7.0 || ^8.0
Conflicts
- doctrine/doctrine-bundle: <2.13
- doctrine/orm: <2.15
This package is auto-updated.
Last update: 2026-06-24 16:47:21 UTC
README
🇮🇹 Leggi la documentazione in Italiano
GeonameBundle is a high-performance solution for integrating and maintaining up-to-date geographical data from GeoNames in your Symfony applications. Designed to handle millions of records with minimal memory consumption and an incremental daily sync system.
🚀 Key Features
- Interactive Installer: Complete setup in seconds with
pallari:geoname:install. - Smart Synchronization: Downloads only daily changes and deletions.
- Bulk SQL Performance: Optimized DBAL queries reducing database roundtrips by 99%.
- Universal: Compatible with MySQL, MariaDB, and PostgreSQL.
- Advanced Search: Hybrid strategy combining prefix LIKE and Full-Text search.
- Geospatial & Hierarchy: Native support for breadcrumbs, proximity search, and map bounding boxes.
📖 Documentation
- Installation & Setup: Quick start and configuration.
- Data Synchronization: Importing admin codes and daily updates.
- Querying Data: Using the
GeonameSearchServicefor search, GPS, and navigation.
🛠 Quick Installation
composer require pallari/geoname-bundle php bin/console pallari:geoname:install
⚖️ Disclaimer
This bundle is an independent, open-source project and is not affiliated with GeoNames.org. Data is typically released under the Creative Commons Attribution 4.0 License.
📄 License
MIT License. Developed with ❤️ by Gian-Paolo Pallari.