Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: PHP’de Mesafe Hesaplamayın: Laravel’de PostGIS Ustası Olun 🗺️
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » PHP’de Mesafe Hesaplamayın: Laravel’de PostGIS Ustası Olun 🗺️

Yazılım

PHP’de Mesafe Hesaplamayın: Laravel’de PostGIS Ustası Olun 🗺️

teknomers
Son güncelleme: 15 Nisan 2026 09:29
teknomers
Paylaş
Paylaş

SaaS’teki Konum Darboğazı

<p>AgriTech platformları veya B2B lojistik panelleri gibi konum verilerine ihtiyaç duyan projelerde, bu verilerin doğru yönetimi hayati önem taşır. Geliştiriciler genellikle yakınlık aramaları (örneğin, "50 km çapında tüm çiftlikleri bul") için veritabanında standart <code>latitude</code> ve <code>longitude</code> değerlerini depolayarak Haversine formülü ile mesafeyi hesaplar. Bu yöntem, birkaç yüz kayıt için yeterli olsa da, platformunuz milyonlarca veri noktasına ulaştıkça bu yaklaşım veritabanınızı tamamen kilitleyebilir. CPU aşırı yüklenir, sorgular zaman aşımına uğrar ve API'niz durma noktasına gelir. Smart Tech Devs olarak bu darboğazı tamamen aşmak için PostgreSQL veritabanlarımızı <strong>PostGIS</strong> ile tasarlıyoruz.</p>

<h2>PostGIS'e Giriş: Kurumsal Coğrafi Mimari</h2>

<p>PostGIS, PostgreSQL için bir uzantıdır ve bu veritabanını mekansal bir veritabanı haline getirir. Koordinatları ham sayılar olarak işlemek yerine, yerel Geometri ve Coğrafya veri türlerini tanıtır. Daha da önemlisi, <strong>Mekansal İndeksler (GiST)</strong> kullanmanıza imkan tanır, bu da PostgreSQL'in fiziksel alanı standart metin veya tamsayıları arar gibi verimli bir şekilde arayabilmesini sağlar.</p>

<h3>Adım 1: Laravel Migration</h3>

<p>Laravel'de bunu uygulamak için öncelikle sunucumuzda PostGIS uzantısının aktif olduğundan emin olmalıyız, ardından migration dosyamızda bir mekansal sütun tanımlamalıyız.</p>

<pre><code>

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\Facades\DB;

class CreateFarmsTable extends Migration
{
public function up(): void
{
// 1. PostgreSQL veritabanında PostGIS uzantısını etkinleştirin
DB::statement(‘CREATE EXTENSION IF NOT EXISTS postgis;’);

    Schema::create('farms', function (Blueprint $table) {
        $table->id();
        $table->string('name');
        $table->foreignId('tenant_id')->constrained();

        // 2. Mekansal bir sütun tanımlayın. Standart GPS koordinatları için 'geography' kullanıyoruz. 
        // Bu, Dünya'nın eğriliğini otomatik olarak dikkate alarak doğru mesafeler sağlıyor.
        $table->geography('location', subtype: 'point', srid: 4326);
        $table->timestamps();
    });

    // 3. Hızlı sorgulamalar için mekansal GiST indeksi oluşturun
    DB::statement('CREATE INDEX farms_location_gist ON farms USING GIST (location);');
}

}

<h3>Adım 2: Hızlı Proximit Sorguları</h3>

<p>Artık tüm kayıtları PHP üzerinde çekip mesafeleri hesaplamak yerine, PostgreSQL'in mekansal motoruna işlemi yaptırıyoruz. Bunun için <code>ST_DWithin</code> fonksiyonunu kullanıyoruz. Bu, GiST indeksimizi kullanarak sonuçları milisaniyeler içinde döndürmemizi sağlıyor.</p>

<pre><code>

namespace App\Repositories;

use App\Models\Farm;
use Illuminate\Support\Facades\DB;

class SpatialRepository
{
/ 

  • Belirli bir noktanın etrafında tüm çiftlikleri bulun.
    */
    public function getFarmsWithinRadius(float $lat, float $lng, int $radiusInMeters)
    {
    // Kullanıcının koordinatlarından bir mekansal nokta oluşturun
    $targetPoint = “ST_SetSRID(ST_MakePoint({$lng}, {$lat}), 4326)”;

    return Farm::query()
    ->whereRaw(“ST_DWithin(location, {$targetPoint}, ?)”, [$radiusInMeters])
    // İsteğe bağlı olarak, kullanıcıya gösterilmek üzere tam mesafeyi seçin
    ->select(‘*’)
    ->selectRaw(“ST_Distance(location, {$targetPoint}) AS distance_meters”)
    ->orderBy(‘distance_meters’, ‘asc’)
    ->get();
    }
    }

<h2>Mühendislik ROI'si</h2>

<p>PostGIS'e geçiş yaparak, O(N) tam tablo taramasını O(log N) indeksli arama haline dönüştürmüş oluyorsunuz. Bu mimari, platformların mekansal verileri sonsuz bir şekilde ölçeklendirmesine yardımcı olur; büyük tarım haritalarını, hava durumu izleme koordinatlarını ve filo lojistiğini zahmetsizce yönetmelerini sağlar. Uygulama katmanında matematik yapmak yerine, veritabanınıza geometri işini bırakın.</p>

Kaynak: Orijinal Makale

Eloquent’ta İlişkileri Anlamak (Laravel Başlangıç Kılavuzu)
LaraCopilot’un Laravel Dağıtım Riskini Yüzde 80 Azaltma Yöntemleri
PHP ile Tam Özellikli Kripto Ticareti: zoomex-php Kütüphanesine Derinlemesine Bakış
Laravel için LLM Gözlemlenebilirliği – Langfuse ile her AI çağrısını takip et
Laravel Maestro Başlangıç Kitlerine Katkıda Bulunma Sürecinde Değişikliklerinizi Kaybetmeme Yöntemleri
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Elden Ring Hayranlarından Iron Fist Alexander Önerisi
Sonraki Makale Acil: OpenAI, GPT-5.4-Cyber ile Güvenlik Ekiplerine Açıldı!

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Acil: DragonForce Hacker’ları Microsoft Teams Arka Kapı Kullanıyor
Siber Güvenlik
AI’nin Tehlikeli Olduğuna Kim Karar Veriyor?
Liste
Microsoft 365 Yedekleme Yetersiz: İş Verilerinizi Korumanın 5 Kritik Nedeni
Siber Güvenlik
Waymo Robotaksileri Otoban İnşaat Alanlarına Girmesin Diye Geri Çağırdı
Genel
Waymo, Robotaksilerini İnşaat Alanlarına Hızla Girmesi Nedeniyle Hatırlattı
Genel
Yerel AI ile bulut yerine geçiş: İki mini PC ile maliyetleri düşürme
Donanım
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?