azizdevfull / uzb-geo-locator
Detect Uzbekistan region by latitude and longitude using GeoJSON polygons.
v1.0.5
2025-10-14 07:24 UTC
Requires
- php: >=8.1
- illuminate/support: >=10.0
README
Uzb Geo Locator --- bu O'zbekiston ichidagi geografik koordinatalar (latitude/longitude) asosida qaysi viloyat yoki hududda joylashganini aniqlovchi PHP/Laravel kutubxona.
GeoJSON formatdagi viloyat chegaralari asosida ishlaydi.
π O'rnatish
1. Composer orqali o'rnatish
composer require azizdevfull/uzb-geo-locator
2. GeoJSON faylni publish qilish (Laravel uchun)
Kutubxona bilan birga kelgan viloyat koordinatalarini storage/app/geo
papkaga publish qilish uchun:
php artisan vendor:publish --tag=uzb-geo-data
Bu bilan quyidagi fayl yaratiladi:
storage/app/geo/uzbekistan_regions.geojson
βοΈ Foydalanish
Laravel ichida
use Azizdev\UzbGeoLocator\GeoService; $geo = app(GeoService::class); // Toshkent koordinatalari (lat, lng) $result = $geo->detectRegion(41.3111, 69.2797); dd($result);
Natija (example):
{
"ADM1_EN": "Tashkent city",
"ADM1_RU": "Π³. Π’Π°ΡΠΊΠ΅Π½Ρ",
"ADM1_UZ": "Toshkent sh."
}
Pure PHP loyihalarda (Laravel'siz)
require 'vendor/autoload.php'; use Azizdev\UzbGeoLocator\GeoService; $geo = new GeoService(); $result = $geo->detectRegion(41.3, 69.2); print_r($result);
π§ Texnik tafsilotlar
- Format: GeoJSON polygons
- Aniqlash algoritmi: Ray Casting / Point-in-Polygon
- PHP talabi:
>=8.1 - Laravel versiyasi:
>=10.x - Fayl joylashuvi:
storage/app/geo/uzbekistan_regions.geojson
π¦ Paket struktura
src/
βββ GeoService.php
βββ GeoServiceProvider.php
βββ helpers.php
storage/
βββ app/geo/uzbekistan_regions.geojson
π§βπ» Muallif
Azizbek (@azizdevfull)
π GitHub
πΊ Laravel, Redis, Octane, RabbitMQ, FastAPI bo'yicha kontentlar
muallifi
πͺͺ Litsenziya
Bu loyiha MIT License asosida tarqatiladi.