Пример #1
0
             $nob = $nob + 1;
         }
     }
     //create map
     $dest = '../userdata/' . $user . '/';
     $map_name = $item . '.jpg';
     $geodata = array();
     print '<br>';
     $geo_cnt = 0;
     foreach ($obj_data as $no => $obj) {
         $geodata[$geo_cnt] = array();
         $geodata[$geo_cnt]["type"] = "Point";
         $geodata[$geo_cnt]["coordinates"] = $obj['lon'] . ',' . $obj['lat'] . ',' . $obj['ele'];
         $geo_cnt++;
     }
     $map = new GeoSpace();
     $date = date("F j, Y, g:i a");
     $name = $item . ' - created: ' . $date;
     $font = '../GeoSpace/fonts/ARIAL.TTF';
     $fsize = 14;
     $map->gsp_src = $gsp_src;
     $map->gsp_map = $gsp_map;
     $map->geodata = $geodata;
     $map->gsp_getsize($gsp_src, $gsp_map);
     $map->gsp_drowmap($name, $font, $fsize, $gsp_src, $geodata, $dest, $map_name, 20, 3);
     print '<img src="' . $dest . $map_name . '">';
 } else {
 }
 //-------------------------------------------------------------------------
 if (!isset($dir) && !isset($item)) {
     print 'Вы не сказали, карту чего хотите видеть :(';
Пример #2
0
function data_print($data, $padding)
{
    //print data of taxon ($data=$obj_data['name']) with padding from left = $padding
    //create printable arrays of data
    $padding = $padding + 10;
    $arr_loc = array();
    $arr_cond = array();
    foreach ($data as $d_n => $d_o) {
        $arr_loc[] = $d_o['location'];
        $arr_cond[] = $d_o['condition'];
    }
    $d_loc = array_unique($arr_loc);
    asort($d_loc);
    $d_cond = array_unique($arr_cond);
    asort($d_cond);
    $locs = array();
    $conds = array();
    foreach ($d_loc as $n_loc => $loc) {
        $locs[$n_loc]['name'] = $loc;
        $locs[$n_loc]['obs'] = array();
        foreach ($data as $d_n => $d_o) {
            if ($d_o['location'] == $loc) {
                $locs[$n_loc]['obs'][] = $d_o['observer'];
            } else {
            }
        }
        $locs[$n_loc]['obs'] = array_unique($locs[$n_loc]['obs']);
        asort($locs[$n_loc]['obs']);
    }
    foreach ($d_cond as $n_cond => $cond) {
        $conds[$n_cond]['name'] = $cond;
        $conds[$n_cond]['dt'] = array();
        foreach ($data as $d_n => $d_o) {
            if ($d_o['condition'] == $cond) {
                $arr_dt = explode(' ', $d_o['datetime']);
                $conds[$n_cond]['dt'][] = $arr_dt[0];
            } else {
            }
        }
        $conds[$n_cond]['dt'] = array_unique($conds[$n_cond]['dt']);
        asort($conds[$n_cond]['dt']);
    }
    //print data
    print '<table style="padding-left: ' . $padding . 'px"><tr><td style="width: 80%">';
    //locations&observers
    print '<p align="justify"><i>Места наблюдений и наблюдатели:</i></p>';
    print '<p align="justify">';
    foreach ($locs as $nloc => $loc) {
        print $loc['name'];
        if (count($loc['obs']) == 1) {
            $name = array_shift($loc['obs']);
            print ' (' . $name . ')';
        } else {
            $print_obs = ' (';
            foreach ($loc['obs'] as $nobs => $obs) {
                $print_obs = $print_obs . $obs . ', ';
            }
            $print_obs = substr_replace(-1, 2, $print_obs);
            print $print_obs . ')';
        }
        print '; ';
    }
    print '</p>';
    //conditions&datetime
    print '<p align="justify"><i>Состояния и их сроки:</i></p>';
    print '<p align="justify">';
    foreach ($conds as $ncond => $cond) {
        print $cond['name'];
        if (count($cond['dt']) == 1) {
            $dt = array_shift($cond['dt']);
            $arr_date = explode(':', $dt);
            $arr_date = array_reverse($arr_date);
            $dt = implode('.', $arr_date);
            print ' (' . $dt . ')';
        } else {
            $dt_start = array_shift($cond['dt']);
            $dt_end = array_pop($cond['dt']);
            $arr_date_start = explode(':', $dt_start);
            $arr_date_start = array_reverse($arr_date_start);
            $dt_start = implode('.', $arr_date_start);
            $arr_date_end = explode(':', $dt_end);
            $arr_date_end = array_reverse($arr_date_end);
            $dt_end = implode('.', $arr_date_end);
            print ' (' . $dt_start . ' - ' . $dt_end . ')';
        }
        print '; ';
    }
    print '</p></td><td style="width: 20%">';
    //create map
    $map_data = array();
    $nmap = 0;
    foreach ($data as $d_n => $d_o) {
        $curr_lon = $d_o['lon'];
        $curr_lat = $d_o['lat'];
        $curr_ele = $d_o['ele'];
        $map_data[$nmap] = array();
        $map_data[$nmap]['type'] = 'Point';
        $map_data[$nmap]['coordinates'] = $curr_lon . ',' . $curr_lat . ',' . $curr_ele;
        $nmap++;
    }
    $curr_data = array_shift($data);
    $curr_name = trim($curr_data['name']);
    $map = new GeoSpace();
    $geodata = $map_data;
    $dest = '../map/maps/';
    $gsp_src = '../map/bsm.jpg';
    $gsp_map = '../map/bsm.kml';
    $map_name = $curr_name . '.jpg';
    $curr_data = array_shift($data);
    $name = $curr_name;
    $font = '../GeoSpace/fonts/ARIAL.TTF';
    $fsize = 8;
    $map->gsp_src = $gsp_src;
    $map->gsp_map = $gsp_map;
    $map->geodata = $geodata;
    $map->gsp_getsize($gsp_src, $gsp_map);
    $map->gsp_drowmap($name, $font, $fsize, $gsp_src, $geodata, $dest, $map_name, 12, 3);
    print '<p align="center">Карта-схема мест наблюдения ' . $curr_name . '</p>';
    print '<p align="center"><img src="' . $dest . $map_name . '"></p>';
    print '<td></tr></table>';
}