public class Extractors { public static LineInfo extractLineInfo(String line) { LineInfo info = new LineInfo(); line = line.substring(1); info.setId(line.substring(0, 6).trim()); info.setDate1(line.substring(6, 14).trim()); info.setDate2(line.substring(14, 22).trim()); info.setLanguage(line.substring(22, 23).trim()); info.setLineName(line.substring(23, 83).trim()); info.setTerminal1Name(line.substring(83, 103).trim()); info.setTerminal2Name(line.substring(103, 123).trim()); info.setStopCodeDir1(line.substring(123, 130).trim()); info.setStopCodeDir2(line.substring(130, 137).trim()); info.setLineLengthDir1(line.substring(137, 142).trim()); info.setLineLengthDir2(line.substring(142, 147).trim()); info.setTransportMean(line.substring(147, 149).trim()); return info; } public static StopInfo extractStopInfo(String line) { StopInfo info = new StopInfo(); line = line.substring(1); info.setStopCode(line.substring(0, 7).trim()); info.setX_kkj2(line.substring(7, 14).trim()); info.setY_kkj2(line.substring(14, 21).trim()); info.setLatitude(line.substring(21, 29).trim()); info.setLongitude(line.substring(29, 37).trim()); info.setStopName(line.substring(37, 57).trim()); info.setStopNameSwedish(line.substring(57, 77).trim()); info.setAddress(line.substring(77, 97).trim()); info.setAddressSwedish(line.substring(97, 117).trim()); info.setPlatformNumber(line.substring(117, 120).trim()); info.setX_kkj3(line.substring(120, 127).trim()); info.setY_kkj3(line.substring(127, 134).trim()); info.setStopLocationAreaName(line.substring(134, 154).trim()); info.setStopLocationAreaNameSwedish(line.substring(154, 174).trim()); info.setShelter(line.substring(174, 176).trim()); info.setStopShortCode(line.substring(176, 182).trim()); info.setX_wgs84_proj(line.substring(182, 190).trim()); info.setY_wgs84_proj(line.substring(190, 198).trim()); // WGS84-coordinates solx and soly for this stop calculated or measured // (L/M) info.setCoordMethod(line.substring(198, 199).trim()); info.setAccessibilityClass(line.substring(199, 200).trim()); info.setNote(line.substring(200, 215).trim()); return info; } public static RouteInfo extractRouteInfo(String line) { RouteInfo info = new RouteInfo(); line = line.substring(1); info.setRouteCode(line.substring(0, 6).trim()); info.setRouteDir(line.substring(6, 7).trim()); info.setValidFrom(line.substring(7, 15).trim()); info.setValidTo(line.substring(15, 23).trim()); info.setStopCode(line.substring(23, 30).trim()); /* * In case of geometry point relpysakki = M, else relpysakki= P = stop * which is used by this route E = stop which is not used by this route * X = crossing - = border */ info.setType(line.substring(30, 31).trim()); info.setStopOrder(line.substring(31, 35).trim()); // kkj-2? info.setX(line.substring(35, 42).trim()); info.setY(line.substring(42, 49).trim()); return info; } }