Beispiel #1
0
 public static function set_coord_krass()
 {
     global $db;
     //geeignete Anzahl der Abfrage wählen, damit die Berechnungen in unter 30 sekunden erfolgen können, zwischen 400 und 600 ist ein guter wert
     $result5Pegel = $db->qry(" SELECT pegelnummer,Rechtswert_GK,Hochwert_GK,lat,lon,streifenzone,ellipsoid,daten_fehler,pnp FROM " . TABLE_PEGEL2 . " WHERE `lat` = '' AND `lon` = '' AND `Rechtswert_GK` != '0.00' AND `Hochwert_GK` != '0.00' AND `ellipsoid` = 'Krassovski' ORDER BY `pegelnummer` DESC LIMIT 0, 450 ");
     if ($result5Pegel) {
         //echo 'erfolg verbindung und auswahl';
         //ins logfile schreiben
         $msg = "erfolg verbindung und auswahl";
         Log::write(LOG_OTHER, $msg);
     } else {
         echo 'fehler verbindung und auswahl';
         //ins logfile schreiben
         $msg = "fehler verbindung und auswahl";
         Log::write(LOG_OTHER, $msg);
     }
     for ($i = 0; $i < mysql_num_rows($result5Pegel); $i++) {
         while ($row5Pegel = mysql_fetch_array($result5Pegel)) {
             $pegelnummer = $row5Pegel["pegelnummer"];
             $rw = $row5Pegel["Rechtswert_GK"];
             $hw = $row5Pegel["Hochwert_GK"];
             $streifen = $row5Pegel["streifenzone"];
             $pnp = $row5Pegel["pnp"];
             //jetzt wird am leerzeichen getrennt und in ein arry geschrieben
             $avar = explode(" ", $streifen);
             //transformation mit formel
             $bvar = Transformation::GK_geo_krass($hw, $rw, $avar[1]);
             //echo '<br><br>l und b<br>';
             //var_dump($bvar);
             $cvar = Transformation::geo_krass_kart($bvar[0], $bvar[1], $pnp);
             //echo '<br><br>kart<br>';
             //var_dump($cvar);
             $dvar = Transformation::rotation_translation_krass_wgs84($cvar[0], $cvar[1], $cvar[2]);
             //echo '<br><br>nach rot und trans<br>';
             //var_dump($dvar);
             $evar = Transformation::kart_wgs84_geo($dvar[0], $dvar[1], $dvar[2]);
             //echo '<br><br>nach umwandlung<br>';
             //var_dump($evar);
             //wichtig ist php hat nur einen return wert dieser ist hier ein array also passend setzten
             $lat = $evar[0];
             $lon = $evar[1];
             $result = $db->qry(" UPDATE " . TABLE_PEGEL2 . " SET \n\tpegelnummer='{$pegelnummer}',\n\tlat='{$lat}',\n\tlon='{$lon}'\n\tWHERE pegelnummer='{$pegelnummer}' ");
             if ($result) {
                 //echo '<br><br>';
                 //echo 'erfolg update koordinaten';
                 //ins logfile schreiben
                 $msg = "erfolg update der koordinaten von pegelnummer '. {$pegelnummer} .'";
                 Log::write(LOG_OTHER, $msg);
             } else {
                 echo 'fehler bitte in sql.log nachsehen';
             }
         }
     }
 }