You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

55 lines
1.5 KiB

package main
import (
"bufio"
"log"
"os"
"strconv"
"strings"
"time"
)
func readDataset(path string) {
tStart := time.Now()
inFile, _ := os.Open(path)
defer inFile.Close()
scanner := bufio.NewScanner(inFile)
scanner.Split(bufio.ScanLines)
var lineNum int
for scanner.Scan() {
if lineNum > 0 {
line := strings.Split(scanner.Text(), ",")
var cell CellModel
cell.Radio = line[0]
cell.MCC = line[1]
cell.Net, _ = strconv.Atoi(line[2])
cell.Area, _ = strconv.Atoi(line[3])
cell.Cell, _ = strconv.Atoi(line[4])
cell.Unit, _ = strconv.Atoi(line[5])
cell.Lon, _ = strconv.ParseFloat(line[6], 64)
cell.Lat, _ = strconv.ParseFloat(line[7], 64)
var location LocationModel
location.Type = "Point"
lon, _ := strconv.ParseFloat(line[6], 64)
lat, _ := strconv.ParseFloat(line[7], 64)
location.Coordinates = append(location.Coordinates, lat)
location.Coordinates = append(location.Coordinates, lon)
cell.Location = location
cell.Range, _ = strconv.ParseFloat(line[8], 64)
cell.Samples, _ = strconv.Atoi(line[9])
cell.Changeable = line[10]
cell.Created, _ = strconv.ParseInt(line[11], 10, 64)
cell.Updated, _ = strconv.ParseInt(line[12], 10, 64)
cell.AverageSignal, _ = strconv.ParseFloat(line[13], 64)
//save cell to mongodb
err := cellCollection.Insert(cell)
check(err)
}
lineNum++
}
log.Println("line num: " + strconv.Itoa(lineNum))
log.Print("time elapsed from start: ")
log.Println(time.Since(tStart))
}