2021-12-23 10:42:24 +00:00
|
|
|
package com.onthegomap.planetiler;
|
2021-10-20 01:57:47 +00:00
|
|
|
|
2021-12-23 10:42:24 +00:00
|
|
|
import com.onthegomap.planetiler.basemap.BasemapMain;
|
|
|
|
import com.onthegomap.planetiler.basemap.util.VerifyMonaco;
|
|
|
|
import com.onthegomap.planetiler.benchmarks.BasemapMapping;
|
|
|
|
import com.onthegomap.planetiler.benchmarks.LongLongMapBench;
|
2022-06-07 21:34:21 +00:00
|
|
|
import com.onthegomap.planetiler.custommap.ConfiguredMapMain;
|
2021-12-23 10:42:24 +00:00
|
|
|
import com.onthegomap.planetiler.examples.BikeRouteOverlay;
|
|
|
|
import com.onthegomap.planetiler.examples.ToiletsOverlay;
|
|
|
|
import com.onthegomap.planetiler.examples.ToiletsOverlayLowLevelApi;
|
|
|
|
import com.onthegomap.planetiler.mbtiles.Verify;
|
2021-10-20 01:57:47 +00:00
|
|
|
import java.util.Arrays;
|
|
|
|
import java.util.Locale;
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
/**
|
2021-12-23 10:42:24 +00:00
|
|
|
* Main entry-point for executable jar and container distributions of Planetiler, which delegates to individual {@code
|
2021-10-20 01:57:47 +00:00
|
|
|
* public static void main(String[] args)} methods of runnable classes.
|
|
|
|
*/
|
|
|
|
public class Main {
|
|
|
|
|
|
|
|
private static final EntryPoint DEFAULT_TASK = BasemapMain::main;
|
|
|
|
private static final Map<String, EntryPoint> ENTRY_POINTS = Map.of(
|
|
|
|
"generate-basemap", BasemapMain::main,
|
2022-06-07 21:34:21 +00:00
|
|
|
"generate-custom", ConfiguredMapMain::main,
|
2021-10-20 01:57:47 +00:00
|
|
|
"basemap", BasemapMain::main,
|
|
|
|
"example-bikeroutes", BikeRouteOverlay::main,
|
|
|
|
"example-toilets", ToiletsOverlay::main,
|
|
|
|
"example-toilets-lowlevel", ToiletsOverlayLowLevelApi::main,
|
|
|
|
"benchmark-mapping", BasemapMapping::main,
|
|
|
|
"benchmark-longlongmap", LongLongMapBench::main,
|
|
|
|
"verify-mbtiles", Verify::main,
|
|
|
|
"verify-monaco", VerifyMonaco::main
|
|
|
|
);
|
|
|
|
|
|
|
|
public static void main(String[] args) throws Exception {
|
|
|
|
EntryPoint task = DEFAULT_TASK;
|
|
|
|
|
|
|
|
if (args.length > 0) {
|
|
|
|
String maybeTask = args[0].trim().toLowerCase(Locale.ROOT);
|
|
|
|
EntryPoint taskFromArg0 = ENTRY_POINTS.get(maybeTask);
|
|
|
|
if (taskFromArg0 != null) {
|
|
|
|
args = Arrays.copyOfRange(args, 1, args.length);
|
|
|
|
task = taskFromArg0;
|
|
|
|
} else if (!maybeTask.contains("=") && !maybeTask.startsWith("-")) {
|
|
|
|
System.err.println("Unrecognized task: " + maybeTask);
|
|
|
|
System.err.println("possibilities: " + ENTRY_POINTS.keySet());
|
|
|
|
System.exit(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
task.main(args);
|
|
|
|
}
|
|
|
|
|
|
|
|
@FunctionalInterface
|
|
|
|
private interface EntryPoint {
|
|
|
|
|
|
|
|
void main(String[] args) throws Exception;
|
|
|
|
}
|
|
|
|
}
|