digitalcloud/laravel-postgis

1,940 12
Install
composer require digitalcloud/laravel-postgis
Latest Version:v1.0.6
PHP:>=7.1.3
License:MIT
Last Updated:Apr 17, 2024
Links: GitHub  ·  Packagist
Maintainer: devmsh

Laravel PostGIS

This package implemented for calculate or check the distance between point and other database points.

Installation

PHP >=7.1.3 and Laravel ^5.6 are required.

the package used Laravel postgis extension to deal with postgres database points in laravel, so if need more details or how to enable postgis extension in php see previous link.

To get the latest version of Laravel PostGIS, simply require the project using Composer:

composer require digitalcloud/laravel-postgis

Usage

1 . First of all use Postgis trait in your model

<?php

namespace App;

use Digitalcloud\Postgis\Postgis;
use Illuminate\Database\Eloquent\Model;

class UserLocation extends Model
{
    use Postgis;
}

2 . By default package assume that the name of the point column is location if you want to change it override location variable on your model

protected $location = "my_column";

3 . Also By default package assume that the unit of distance is meter if you want to change it override unit variable on your model

 protected $unit = "km"; //units avialble [mile, km, meter]

Functions

1. withDistance

get the distance between point and other points

UserLocation::withDistance(new Point($atitude,$longitude))
            ->with("user")
            ->whereIn("user_id", $users)
            ->get();

2. whereDistance

check the distance between a point and other points in database

       UserLocation::whereDistance(new Point($atitude,$longitude), ">", 50)
            ->with("user")
            ->whereIn("user_id", $users)
            ->get();

Related Packages

malhal/laravel-geographical

Easily add longitude and latitude columns to your records and use inherited func...

414,741 282
akuechler/laravel-geoly

Perform fast and efficient radius searches on your Laravel Eloquent models.

69,138 41
mercurial/geocode

Google Geocoding API for Laravel 4

35 0
jcf/geocode

Google Geocoding API for Laravel

164,591 48
malhal/laravel-createdby

A trait that adds createdBy and updatedBy user relations to your models

130 31