<?php

namespace OSM;

class Point
{
    public float $latitude;
    public float $longitude;

    public static function createFromArray(array $array)
    {
        $hasLat = isset($array['lat']);
        $hasLon = isset($array['lon']);
        assert($hasLat and $hasLon);

        $instance = new self();
        $instance->latitude = (float) $array['lat'];
        $instance->longitude = (float) $array['lon'];

        return $instance;
    }

    public function isSame(Point $other): bool
    {
        $isSame = (
            ($other->latitude === $this->latitude)
            and ($other->longitude === $this->longitude)
        );

        return $isSame;
    }
}
