예제 #1
0
파일: grb2osm.php 프로젝트: gplv2/grb2osm
            $osmtool->counters['counter_exist_source']++;
        }
    }
}
if (isset($out_file)) {
    $osmtool->logtrace(3, sprintf("[%s] - Deleting ways: %s...", __METHOD__, json_encode($to_delete_list, true)));
    //print_r($to_delete_list);exit;
    foreach (array_reverse($to_delete_list) as $k => $v) {
        array_splice($result, $v, 1);
    }
    $osmtool->logtrace(3, sprintf("[%s] - Done.", __METHOD__));
    $osmtool->logtrace(3, sprintf("[%s] - Filtering deleted elements from XML ...", __METHOD__));
    $result = array_filter($result);
    $osmtool->logtrace(3, sprintf("[%s] - Done.", __METHOD__));
    $osmtool->logtrace(3, sprintf("[%s] - Generating new XML ...", __METHOD__));
    $new_xml = $service->write('osm', $result);
    // unset($result);
    $osmtool->logtrace(3, sprintf("[%s] - Done.", __METHOD__));
    if (!empty($out_file)) {
        $osmtool->logtrace(3, sprintf("[%s] - Writing XML ...", __METHOD__));
        file_put_contents($out_file, $new_xml);
        $osmtool->logtrace(3, sprintf("[%s] - Done.", __METHOD__));
    }
    $osmtool->logtrace(3, sprintf("[%s] - Postprocessing new OSM XML file.. ", __METHOD__));
    // Post-parsing XML
    $handle = fopen($out_file, "r");
    $first = fgets($handle, 2048);
    // pop first line.
    $second = fgets($handle, 2048);
    // pop second line.
    $outfile = "temp";