From ffbc91179928251c018053e6293dc3acc5fb1b9f Mon Sep 17 00:00:00 2001 From: Mike Barry Date: Mon, 7 Jun 2021 08:27:31 -0400 Subject: [PATCH] bike route overlay --- .gitignore | 1 + .idea/codeStyles/Project.xml | 2 +- .idea/vcs.xml | 6 ++++++ .../onthegomap/flatmap/monitoring/Stats.java | 2 +- .../monitoring/PrometheusStatsTest.java | 5 ++++- .../flatmap/examples/BikeRouteOverlay.java | 19 ++++++++++--------- 6 files changed, 23 insertions(+), 12 deletions(-) create mode 100644 .idea/vcs.xml diff --git a/.gitignore b/.gitignore index 9a8daab2..4857a652 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ target/ .idea/* *.iml !.idea/codeStyles +!.idea/vcs.xml TODO diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index 093341fe..6e4411bf 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -584,4 +584,4 @@ - \ No newline at end of file + diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..94a25f7f --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/core/src/main/java/com/onthegomap/flatmap/monitoring/Stats.java b/core/src/main/java/com/onthegomap/flatmap/monitoring/Stats.java index 733eb795..812816e2 100644 --- a/core/src/main/java/com/onthegomap/flatmap/monitoring/Stats.java +++ b/core/src/main/java/com/onthegomap/flatmap/monitoring/Stats.java @@ -90,7 +90,7 @@ public interface Stats extends AutoCloseable { @Override public Counter.Readable longCounter(String name) { - return Counter.noop(); + return Counter.newSingleThreadCounter(); } @Override diff --git a/core/src/test/java/com/onthegomap/flatmap/monitoring/PrometheusStatsTest.java b/core/src/test/java/com/onthegomap/flatmap/monitoring/PrometheusStatsTest.java index 2ccdb599..ccbc38bc 100644 --- a/core/src/test/java/com/onthegomap/flatmap/monitoring/PrometheusStatsTest.java +++ b/core/src/test/java/com/onthegomap/flatmap/monitoring/PrometheusStatsTest.java @@ -1,6 +1,7 @@ package com.onthegomap.flatmap.monitoring; import static io.prometheus.client.Collector.NANOSECONDS_PER_SECOND; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.fail; import static org.junit.jupiter.api.DynamicTest.dynamicTest; @@ -124,7 +125,9 @@ public class PrometheusStatsTest { "value1", counterAt(1), "value2", counterAt(2) )); - stats.longCounter("long").incBy(100); + var longCounter = stats.longCounter("long"); + longCounter.incBy(100); + assertEquals(100, longCounter.get()); stats.nanoCounter("nanos").incBy((long) (NANOSECONDS_PER_SECOND / 2)); assertContainsStat("^flatmap_counter1_total 1", stats); assertContainsStat("^flatmap_counter2_total\\{.*label=\"value1\".* 1", stats); diff --git a/examples/src/main/java/com/onthegomap/flatmap/examples/BikeRouteOverlay.java b/examples/src/main/java/com/onthegomap/flatmap/examples/BikeRouteOverlay.java index 28893a44..9013dc75 100644 --- a/examples/src/main/java/com/onthegomap/flatmap/examples/BikeRouteOverlay.java +++ b/examples/src/main/java/com/onthegomap/flatmap/examples/BikeRouteOverlay.java @@ -39,7 +39,13 @@ public class BikeRouteOverlay implements Profile { relation.getTag("name"), relation.getTag("ref"), type, - relation.getTag("network", "") + switch (relation.getTag("network", "")) { + case "icn" -> "international"; + case "ncn" -> "national"; + case "rcn" -> "regional"; + case "lcn" -> "local"; + default -> "other"; + } )); } } @@ -50,15 +56,10 @@ public class BikeRouteOverlay implements Profile { public void processFeature(SourceFeature sourceFeature, FeatureCollector features) { if (sourceFeature.canBeLine()) { for (RouteRelationInfo routeInfo : sourceFeature.relationInfo(RouteRelationInfo.class)) { - int minzoom = switch (routeInfo.network) { - case "icn", "ncn" -> 0; - case "rcn" -> 10; - default -> 12; - }; - features.line("bikeroutes-" + routeInfo.route + "-" + routeInfo.network) + features.line(routeInfo.route + "-route-" + routeInfo.network) .setAttr("name", routeInfo.name) .setAttr("ref", routeInfo.ref) - .setZoomRange(minzoom, 14) + .setZoomRange(0, 14) .setMinPixelSize(0); } } @@ -67,7 +68,7 @@ public class BikeRouteOverlay implements Profile { @Override public List postProcessLayerFeatures(String layer, int zoom, List items) throws GeometryException { - return FeatureMerge.mergeLineStrings(items, 0.1, 0.1, 4); + return FeatureMerge.mergeLineStrings(items, 0.5, 0.1, 4); } @Override