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

v1.0.5 2025-10-14 07:24 UTC

This package is auto-updated.

Last update: 2025-10-14 07:27:03 UTC


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.