private Feature GetFeature(string id, Kent.Boogaart.KBCsv.DataRecord csvDataRecord) { var mappingType = MappingType; var latColumn = LatitudeColumnName; var lonColumn = LongitudeColumnName; var wktColumn = WktColumnName; var lineNumber = id; if (csvDataRecord == null || csvDataRecord.HeaderRecord == null) { return(null); } int i = -1; var list = csvDataRecord.Values.Select(value => { i++; return(csvDataRecord.HeaderRecord[i] + ':' + value); }); switch (mappingType) { case CsvMappingType.LongitudeAndLatitude: double x, y; bool xParsed = double.TryParse(csvDataRecord.Values[csvDataRecord.HeaderRecord.IndexOf(lonColumn)], out x); bool yParsed = double.TryParse(csvDataRecord.Values[csvDataRecord.HeaderRecord.IndexOf(latColumn)], out y); if (xParsed && yParsed && Math.Abs(x) < maxValueInCoordinate && Math.Abs(y) < maxValueInCoordinate) { return(new Feature(x, y, lineNumber.ToString(), list)); } else { return(null); } case CsvMappingType.WellKnownText: string wkt = csvDataRecord.Values[csvDataRecord.HeaderRecord.IndexOf(wktColumn)]; var feature = new Feature(wkt, lineNumber.ToString(), list); return(feature); default: return(null); } }
public void ShouldSucceedFalseColumn() { var record = new Kent.Boogaart.KBCsv.DataRecord(null); Dhgms.DataManager.Model.Helper.Csv.AddYesNoColumn(record, false); }
public void ShouldSucceedYesColumn() { var record = new Kent.Boogaart.KBCsv.DataRecord(null); Dhgms.DataManager.Model.Helper.Csv.AddTriStateColumn(record, TriState.Yes); }