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);
            }
        }
Exemple #2
0
 public void ShouldSucceedFalseColumn()
 {
     var record = new Kent.Boogaart.KBCsv.DataRecord(null);
     Dhgms.DataManager.Model.Helper.Csv.AddYesNoColumn(record, false);
 }
Exemple #3
0
 public void ShouldSucceedYesColumn()
 {
     var record = new Kent.Boogaart.KBCsv.DataRecord(null);
     Dhgms.DataManager.Model.Helper.Csv.AddTriStateColumn(record, TriState.Yes);
 }