/**
  * Constructor
  * @param int $lat
  * @param int $lon
  * @param IFieldConfiguration $config
  */
 public function __construct($lat, $lon, IFieldConfiguration $config)
 {
     $this->latitude = $lat;
     $this->longitude = $lon;
     $this->configLonSegments = $config->getLonSegments();
     $totalOffset = $lat * $this->configLonSegments + $lon;
     $this->offset = floor($totalOffset / FieldConfiguration::BITS_PER_ITEM);
     $this->bitOffset = $totalOffset % FieldConfiguration::BITS_PER_ITEM;
 }
Esempio n. 2
0
 /**
  * Convert point to local coordinates
  * @param IFieldConfiguration $config
  * @return PointConverted
  */
 public function convertToLocal(IFieldConfiguration $config)
 {
     $offset = $this->subtract($config->getZeroPoint());
     $lat = (int) round($offset->getLatitude() / $config->getLatOffset() * $config->getLatSegments());
     $lon = (int) round($offset->getLongitude() / $config->getLonOffset() * $config->getLonSegments());
     return new PointConverted($lat, $lon, $config);
 }