diff --git a/data/weather_stations.csv b/data/weather_stations.csv index 4822109..c685915 100644 --- a/data/weather_stations.csv +++ b/data/weather_stations.csv @@ -1,4 +1,5 @@ # Adapted from https://simplemaps.com/data/world-cities +# Licensed under Creative Commons Attribution 4.0 (https://creativecommons.org/licenses/by/4.0/ Tokyo;35.6897 Jakarta;-6.1750 Delhi;28.6100 diff --git a/src/main/java/dev/morling/onebrc/CreateMeasurements3.java b/src/main/java/dev/morling/onebrc/CreateMeasurements3.java index 0b3f9c3..fb3a97d 100644 --- a/src/main/java/dev/morling/onebrc/CreateMeasurements3.java +++ b/src/main/java/dev/morling/onebrc/CreateMeasurements3.java @@ -71,7 +71,7 @@ public class CreateMeasurements3 { // which we'll use as a "source of city name randomness" var bigName = new StringBuilder(1 << 20); try (var rows = new BufferedReader(new FileReader("data/weather_stations.csv"));) { - rows.readLine(); // Skip the attribution line + skipComments(rows); while (true) { var row = rows.readLine(); if (row == null) { @@ -85,7 +85,7 @@ public class CreateMeasurements3 { var minLen = Integer.MAX_VALUE; var maxLen = Integer.MIN_VALUE; try (var rows = new BufferedReader(new FileReader("data/weather_stations.csv"))) { - rows.readLine(); // Skip the attribution line + skipComments(rows); final var nameSource = new StringReader(bigName.toString()); final var buf = new char[MAX_NAME_LEN]; final var rnd = ThreadLocalRandom.current(); @@ -146,6 +146,11 @@ public class CreateMeasurements3 { return weatherStations; } + private static void skipComments(BufferedReader rows) throws IOException { + while (rows.readLine().startsWith("#")) { + } + } + private static char readNonSpace(StringReader nameSource) throws IOException { while (true) { var n = nameSource.read();