コード例 #1
0
 function get_GBIF_map_availability()
 {
     $time_start = time_elapsed();
     $arr_taxa = array();
     print "\n GBIF_map [7 of 14]\n";
     $sql = "SELECT he.taxon_concept_id\r\n            FROM gbif_identifiers_with_maps g\r\n            JOIN hierarchy_entries he ON (g.gbif_taxon_id=he.identifier)\r\n            JOIN taxon_concepts tc ON (he.taxon_concept_id=tc.id)\r\n            WHERE tc.published=1 AND tc.supercedure_id=0\r\n            AND he.hierarchy_id=" . Hierarchy::gbif()->id;
     if (isset($GLOBALS['test_taxon_concept_ids'])) {
         $sql .= " and he.taxon_concept_id IN (" . implode(",", $GLOBALS['test_taxon_concept_ids']) . ")";
     }
     $outfile = $this->mysqli_slave->select_into_outfile($sql);
     $FILE = fopen($outfile, "r");
     if (!$FILE) {
         print "!! ERROR: Could not read {$outfile}";
         return;
     }
     $num_rows = 0;
     while (!feof($FILE)) {
         if ($line = fgets($FILE)) {
             $num_rows++;
             $line = trim($line);
             $fields = explode("\t", $line);
             $tc_id = trim($fields[0]);
             $arr_taxa[$tc_id] = "\t" . "1";
         }
     }
     fclose($FILE);
     unlink($outfile);
     print "\n num_rows: {$num_rows}";
     print "\n get_GBIF_map_availability():" . (time_elapsed() - $time_start) / 60 . " minutes";
     self::save_totals_to_cumulative_txt($arr_taxa, "tpm_GBIF");
     unset($arr_taxa);
 }