public async Task <List <TrajectoryModel> > GetList() { var result = new List <TrajectoryModel>(); try { var connString = _configuration.GetConnectionString("DefaultConnectionString"); await using var conn = new NpgsqlConnection(connString); await conn.OpenAsync(); var sql = @"SELECT ST_AsGeoJSON(s.traj)::json As geometry, s.mmsi as ShipID, si.name as shipName, si.shiptype as shipType FROM ships s INNER JOIN shipsinfo si ON s.mmsi = si.mmsi ORDER BY s.mmsi LIMIT 1"; await using (var cmd = new NpgsqlCommand(sql, conn)) await using (var reader = await cmd.ExecuteReaderAsync()) { while (await reader.ReadAsync()) { var model = new TrajectoryModel { ShipID = await reader.GetFieldValueAsync <int>(1), ShipName = !reader.IsDBNull(2) ? await reader.GetFieldValueAsync <string>(2) : String.Empty, ShipType = !reader.IsDBNull(3) ? await reader.GetFieldValueAsync <string>(3) : String.Empty, Geometry = !reader.IsDBNull(0) ? await reader.GetFieldValueAsync <string>(0) : String.Empty }; result.Add(model); } ; } } catch (Exception e) { var x = e; throw; } return(result); }
public void trainGesture(string gestureName, IEnumerable <BaseTrajectory> trainingTraces) { knownGestures[gestureName] = new TrajectoryModel(this, gestureName, trainingTraces); }