[PATCH 1/1] clean up unused geo related code in deprecated index.php
Tobias Klaus
tk+ff at meskal.net
Fr Mai 26 19:20:50 CEST 2017
Hey,
Am Freitag, 26. Mai 2017, 13:29:43 CEST schrieb Tim Niemeyer:
> Hi Tobias
>
> Gern kannst du das applien.
Ich hab das mal als Reviewed by aufgepasst und entsprechend gepusht. github
und server sollten jetzt auch wieder synchron sein.
> Bitte stecke da aber nicht so viel Zeit
> rein.
Sowieso nicht. War eher ein Versehen, dass ich mir die Datei zu lange an
geschaut hab. Und da ich schonmal gemacht hab wollt ich nicht, dass das geo-
Zeug noch jemand verwirrt ;-)
Grüße
Tobias
> Die index.php ist nur noch für die alten Knoten, die ihre
> Koordinaten nicht mitschicken. Diese landen dann eh in der Trainstation.
>
> Und danke fürs Aufräumen des Repos.
>
> Tim
>
> Am Freitag, den 26.05.2017, 12:25 +0200 schrieb Tobias Klaus:
> > Signed-off-by: Tobias Klaus <tk+ff at meskal.net>
> > ---
> >
> > index.php | 130
> > ++------------------------------------------------------------ 1 file
> > changed, 4 insertions(+), 126 deletions(-)
> >
> > diff --git a/index.php b/index.php
> > index 936e29b..514e1ae 100644
> > --- a/index.php
> > +++ b/index.php
> > @@ -53,112 +53,6 @@ function showError($code,$msg){
> >
> > print_r(json_encode($errorObject));
> >
> > }
> >
> > -/**
> > - * Haversine distance function in km
> > - * https://en.wikipedia.org/wiki/Haversine_formula
> > - *
> > - * @param double $lat1
> > - * latitude point 1
> > - * @param double $lon1
> > - * longitude point 1
> > - * @param double $lat2
> > - * latitude point 2
> > - * @param double $lon2
> > - * longitude point 2
> > - * @return integer distance between the points in km
> > - */
> > -const EARTH_RADIUS = 6371;
> > -
> > -function distance_haversine($lat1,$lon1,$lat2,$lon2){
> > - $delta_lat = $lat1-$lat2;
> > - $delta_lon = $lon1-$lon2;
> > - $alpha = $delta_lat/2;
> > - $beta = $delta_lon/2;
> > - $a =
> > sin(deg2rad($alpha))*sin(deg2rad($alpha))+cos(deg2rad($lat1))*cos(deg2rad
> > ($lat2))*sin(deg2rad($beta))*sin(deg2rad($beta)); - $c =
> > asin(min(1,sqrt($a)));
> > - $distance = 2*EARTH_RADIUS*$c;
> > - $distance = round($distance,3);
> > - return $distance;
> > -}
> > -
> > -/**
> > - * Try to read the geo coodinates from netmon and
> > - * return them as an array [lat, lon].
> > - * In case of error return empty array.
> > - *
> > - * @param $mac search for the router by the mac adress or by name
> > - * @return array[lat, lon] or []
> > - */
> > -function getLocationByMacOrName($mac){
> > - require('config.inc.php');
> > - $url = $netmon_server.'/api/rest/router/'.$mac;
> > -
> > - if(!$netmon_response = simplexml_load_file($url)) {
> > - debug('ERROR: Failed to open '.$url);
> > - return [];
> > - }
> > -
> > - if($netmon_response->request->error_code > 0){
> > - debug('WARN: '.$netmon_response->request->error_message);
> > - return [];
> > - }
> > -
> > - // get geo-location
> > - $nodeLat = floatval($netmon_response->router->latitude);
> > - $nodeLon = floatval($netmon_response->router->longitude);
> > - if ($nodeLat == 0 || $nodeLon == 0){
> > - debug('WARN nodeLat: '.$nodeLat.', nodeLon: '.$nodeLon);
> > - return [];
> > - }
> > -
> > - debug('nodeLat: '.$nodeLat.', nodeLon: '.$nodeLon);
> > - return array($nodeLat,$nodeLon);
> > -}
> > -
> > -/**
> > - * Check is the given geo coordinates are within one of the hoods.
> > - *
> > - * @param double $lat
> > - * latitude point 1
> > - * @param double $lon
> > - * longitude point 1
> > - * @return integer hood-id
> > - */
> > -function getHoodByGeo($lat,$lon){
> > - $current_hood_dist=99999999;
> > - $current_hood=DEFAULT_HOOD_ID;
> > -
> > - // load hoods from DB
> > - try {
> > - $rs = db::getInstance()->prepare('SELECT * FROM `hoods`');
> > - $rs->execute();
> > - }
> > - catch(PDOException $e) {
> > - exit(showError(500,$e));
> > - }
> > -
> > - // check for every hood if it's nearer than the hood before
> > - while($result = $rs->fetch(PDO::FETCH_ASSOC)){
> > - debug("\n\nhood: ".$result['name']);
> > -
> > - if(is_null($result['lat']) || is_null($result['lon']))
> > - continue;
> > -
> > - debug('hoodCenterLat: '.$result['lat'].', hoodCenterLon:
> > '.$result['lon'].', hoodID: '.$result['ID']); -
> > - $distance =
> > distance_haversine($result['lat'],$result['lon'],$lat,$lon); -
> > debug('distance: $distance');
> > -
> > - if ($distance <= $current_hood_dist) {
> > - debug('Node belongs to Hood
> > '.$result['ID'].'('.$result['name'].')'); - $current_hood_dist =
> > $distance;
> > - $current_hood = $result['ID'];
> > - }
> > - }
> > -
> > - return $current_hood;
> > -}
> > -
> >
> > function debug($msg){
> >
> > if(DEBUG)
> >
> > print_r($msg."\n");
> >
> > @@ -223,21 +117,10 @@ if(isset($ip) && $ip && isset($name) && $name &&
> > isset($key) && $key) {>
> > if (!$result['readonly'] && !$result['notrain']) {
> >
> > $updateHood=false;
> > if (!$result['isgateway']) {
> >
> > - // discover the best hood-id from netmons geo-location
> > - //$location = getLocationByMacOrName($mac == INVALID_MAC ? $name
> > : $mac); -
> > - //if($location && $location[0] && $location[1]) {
> > - // $hood = getHoodByGeo($location[0],$location[1]);
> > -
> > - // if ($hood != $result['hood_ID']) {
> > - // $updateHood=true;
> > - // }
> > - //}
> > - if ($result['hood_ID'] != 0)
> > - {
> > - $updateHood=true;
> > - $hood = 0;
> > - }
> > + if ($result['hood_ID'] != 0) {
> > + $updateHood=true;
> > + $hood = 0;
> > + }
> >
> > }
> >
> > if ($updateHood)
> >
> > @@ -262,11 +145,6 @@ if(isset($ip) && $ip && isset($name) && $name &&
> > isset($key) && $key) {>
> > }
> >
> > }
> > else{
> >
> > - //$location = getLocationByMacOrName($mac == INVALID_MAC ? $name :
> > $mac); -
> > - //if($location && $location[0] && $location[1])
> > - // $hood = getHoodByGeo($location[0],$location[1]);
> > -
> >
> > $sql = 'INSERT INTO
> > nodes(ip,mac,name,`key`,port,readonly,isgateway,hood_ID) VALUES
> > (:ip,:mac,:name,:key,:port,0,0,:hood);'; try{
> >
> > $rs = db::getInstance()->prepare($sql);
Mehr Informationen über die Mailingliste franken-dev