azizdevfull / uzb-geo-locator
Detect Uzbekistan region by latitude and longitude using GeoJSON polygons.
Installs: 6
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/azizdevfull/uzb-geo-locator
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.