Beispiel #1
0
 /**
  * Transform co-ordinates from one datum to another using a Helmert transformation
  * @param RefEll $toRefEll
  * @param float $tranX
  * @param float $tranY
  * @param float $tranZ
  * @param float $scale
  * @param float $rotX  rotation about x-axis in seconds
  * @param float $rotY  rotation about y-axis in seconds
  * @param float $rotZ  rotation about z-axis in seconds
  * @return mixed
  */
 public function transformDatum(RefEll $toRefEll, $tranX, $tranY, $tranZ, $scale, $rotX, $rotY, $rotZ)
 {
     if ($this->refEll == $toRefEll) {
         return;
     }
     $cartesian = Cartesian::fromLatLong($this);
     $cartesian->transformDatum($toRefEll, $tranX, $tranY, $tranZ, $scale, $rotX, $rotY, $rotZ);
     $newLatLng = $cartesian->toLatitudeLongitude();
     $this->lat = $newLatLng->getLat();
     $this->lng = $newLatLng->getLng();
     $this->h = $newLatLng->getH();
     $this->refEll = $newLatLng->getRefEll();
 }