diff options
Diffstat (limited to 'platform/ios/benchmark')
37 files changed, 13479 insertions, 0 deletions
diff --git a/platform/ios/benchmark/MBXBenchAppDelegate.h b/platform/ios/benchmark/MBXBenchAppDelegate.h new file mode 100644 index 0000000000..b8f6c2e641 --- /dev/null +++ b/platform/ios/benchmark/MBXBenchAppDelegate.h @@ -0,0 +1,7 @@ +#import <UIKit/UIKit.h> + +@interface MBXBenchAppDelegate : UIResponder <UIApplicationDelegate> + +@property (strong, nonatomic) UIWindow *window; + +@end
\ No newline at end of file diff --git a/platform/ios/benchmark/MBXBenchAppDelegate.m b/platform/ios/benchmark/MBXBenchAppDelegate.m new file mode 100644 index 0000000000..e8fbd88d28 --- /dev/null +++ b/platform/ios/benchmark/MBXBenchAppDelegate.m @@ -0,0 +1,15 @@ +#import "MBXBenchAppDelegate.h" +#import "MBXBenchViewController.h" + +@implementation MBXBenchAppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + self.window.rootViewController = [MBXBenchViewController new]; + [self.window makeKeyAndVisible]; + + return YES; +} + +@end diff --git a/platform/ios/benchmark/MBXBenchViewController.h b/platform/ios/benchmark/MBXBenchViewController.h new file mode 100644 index 0000000000..c4439be5ec --- /dev/null +++ b/platform/ios/benchmark/MBXBenchViewController.h @@ -0,0 +1,5 @@ +#import <UIKit/UIKit.h> + +@interface MBXBenchViewController : UIViewController + +@end diff --git a/platform/ios/benchmark/MBXBenchViewController.mm b/platform/ios/benchmark/MBXBenchViewController.mm new file mode 100644 index 0000000000..44ca48f436 --- /dev/null +++ b/platform/ios/benchmark/MBXBenchViewController.mm @@ -0,0 +1,152 @@ +#import "MBXBenchViewController.h" + +#import <mbgl/ios/MGLMapView.h> + +#include "locations.hpp" + +#include <chrono> + +@interface MGLMapView (MBXBenchmarkAdditions) + +#pragma mark - Debugging + +/** Triggers another render pass even when it is not necessary. */ +- (void)setNeedsGLDisplay; + +/** Returns whether the map view is currently loading or processing any assets required to render the map */ +- (BOOL)isFullyLoaded; + +@end + +@interface MBXBenchViewController () <MGLMapViewDelegate> + +@property (nonatomic) MGLMapView *mapView; + +@end + +@implementation MBXBenchViewController + +#pragma mark - Setup + ++ (void)initialize +{ + if (self == [MBXBenchViewController class]) + { + [[NSUserDefaults standardUserDefaults] registerDefaults:@{ + @"MBXUserTrackingMode": @(MGLUserTrackingModeNone), + @"MBXShowsUserLocation": @NO, + @"MBXDebug": @NO, + }]; + } +} + +- (void)viewDidLoad +{ + [super viewDidLoad]; + + NSURL* url = [[NSURL alloc] initWithString:@"mapbox://styles/mapbox/streets-v8.json"]; + self.mapView = [[MGLMapView alloc] initWithFrame:self.view.bounds styleURL:url]; + self.mapView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + self.mapView.delegate = self; + self.mapView.zoomEnabled = NO; + self.mapView.scrollEnabled = NO; + self.mapView.rotateEnabled = NO; + self.mapView.userInteractionEnabled = YES; + + [self startBenchmarkIteration]; + + [self.view addSubview:self.mapView]; + +} + +size_t idx = 0; +enum class State { None, WaitingForAssets, WarmingUp, Benchmarking } state = State::None; +int frames = 0; +TimePoint started; +std::vector<std::pair<std::string, double>> result; + +static const int warmupDuration = 20; // frames +static const int benchmarkDuration = 200; // frames + +- (void)startBenchmarkIteration +{ + if (mbgl::bench::locations.size() > idx) { + const auto& location = mbgl::bench::locations[idx]; + [self.mapView setCenterCoordinate:CLLocationCoordinate2DMake(location.latitude, location.longitude) zoomLevel:location.zoom animated:NO]; + self.mapView.direction = location.bearing; + state = State::WaitingForAssets; + NSLog(@"Benchmarking \"%s\"", location.name.c_str()); + NSLog(@"- Loading assets..."); + } else { + // Do nothing. The benchmark is completed. + NSLog(@"Benchmark completed."); + NSLog(@"Result:"); + size_t colWidth = 0; + for (const auto& row : result) { + colWidth = std::max(row.first.size(), colWidth); + } + for (const auto& row : result) { + NSLog(@"| %-*s | %4.1f fps |", int(colWidth), row.first.c_str(), row.second); + } + exit(0); + } +} + +- (void)mapViewDidFinishRenderingFrame:(MGLMapView *)mapView fullyRendered:(__unused BOOL)fullyRendered +{ + if (state == State::Benchmarking) + { + frames++; + if (frames >= benchmarkDuration) + { + state = State::None; + + // Report FPS + const auto duration = Microseconds(Clock::now() - started); + const auto fps = double(frames * 1e6) / duration; + result.emplace_back(mbgl::bench::locations[idx].name, fps); + NSLog(@"- FPS: %.1f", fps); + + // Start benchmarking the next location. + idx++; + [self startBenchmarkIteration]; + } else { + [mapView setNeedsGLDisplay]; + } + return; + } + + else if (state == State::WarmingUp) + { + frames++; + if (frames >= warmupDuration) + { + frames = 0; + state = State::Benchmarking; + started = Clock::now(); + NSLog(@"- Benchmarking for %d frames...", benchmarkDuration); + } + [mapView setNeedsGLDisplay]; + return; + } + + else if (state == State::WaitingForAssets) + { + if ([mapView isFullyLoaded]) + { + // Start the benchmarking timer. + state = State::WarmingUp; + [self.mapView emptyMemoryCache]; + NSLog(@"- Warming up for %d frames...", warmupDuration); + [mapView setNeedsGLDisplay]; + } + return; + } +} + +- (NSUInteger)supportedInterfaceOrientations +{ + return UIInterfaceOrientationMaskLandscape; +} + +@end diff --git a/platform/ios/benchmark/app-info.plist b/platform/ios/benchmark/app-info.plist new file mode 100644 index 0000000000..9d0aad09e1 --- /dev/null +++ b/platform/ios/benchmark/app-info.plist @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>en</string> + <key>CFBundleDisplayName</key> + <string>${PRODUCT_NAME}</string> + <key>CFBundleExecutable</key> + <string>${EXECUTABLE_NAME}</string> + <key>CFBundleIdentifier</key> + <string>com.mapbox.GL.benchmark</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>${PRODUCT_NAME}</string> + <key>CFBundlePackageType</key> + <string>APPL</string> + <key>CFBundleShortVersionString</key> + <string>0.0.2</string> + <key>CFBundleSignature</key> + <string>MBGL</string> + <key>CFBundleVersion</key> + <string>0.0.3</string> + <key>LSRequiresIPhoneOS</key> + <true/> + <key>NSHumanReadableCopyright</key> + <string>© 2015–2016 Mapbox</string> + <key>UIApplicationExitsOnSuspend</key> + <true/> + <key>UILaunchStoryboardName</key> + <string>Default</string> + <key>UIRequiredDeviceCapabilities</key> + <array> + <string>armv7</string> + </array> + <key>UISupportedInterfaceOrientations</key> + <array> + <string>UIInterfaceOrientationPortrait</string> + <string>UIInterfaceOrientationLandscapeLeft</string> + <string>UIInterfaceOrientationLandscapeRight</string> + </array> + <key>UISupportedInterfaceOrientations~ipad</key> + <array> + <string>UIInterfaceOrientationPortrait</string> + <string>UIInterfaceOrientationPortraitUpsideDown</string> + <string>UIInterfaceOrientationLandscapeLeft</string> + <string>UIInterfaceOrientationLandscapeRight</string> + </array> + <key>MGLMapboxMetricsEnabledSettingShownInApp</key> + <true/> +</dict> +</plist> diff --git a/platform/ios/benchmark/assets/glyphs/download.sh b/platform/ios/benchmark/assets/glyphs/download.sh new file mode 100755 index 0000000000..01ca5c63c7 --- /dev/null +++ b/platform/ios/benchmark/assets/glyphs/download.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +set -u + +LIST=( + "DIN%20Offc%20Pro%20Regular%2cArial%20Unicode%20MS%20Regular/0-255.pbf" + "DIN%20Offc%20Pro%20Medium%2cArial%20Unicode%20MS%20Regular/0-255.pbf" + "DIN%20Offc%20Pro%20Bold%2cArial%20Unicode%20MS%20Bold/0-255.pbf" + "DIN%20Offc%20Pro%20Regular%2cArial%20Unicode%20MS%20Regular/256-511.pbf" + "DIN%20Offc%20Pro%20Regular%2cArial%20Unicode%20MS%20Regular/8192-8447.pbf" + "DIN%20Offc%20Pro%20Medium%2cArial%20Unicode%20MS%20Regular/8192-8447.pbf" + "DIN%20Offc%20Pro%20Italic%2cArial%20Unicode%20MS%20Regular/0-255.pbf" + +) + +# from https://gist.github.com/cdown/1163649 +urldecode() { + local url_encoded="${1//+/ }" + printf '%b' "${url_encoded//%/\x}" +} + +for i in ${LIST[@]} ; do + OUTPUT=`urldecode "$i"` + if [ ! -f "${OUTPUT}" ] ; then + mkdir -p "`dirname "${OUTPUT}"`" + echo "Downloading glyph '${OUTPUT}'" + curl -# "https://api.tiles.mapbox.com/v4/fontstack/${i}?access_token=${MAPBOX_ACCESS_TOKEN}" | gunzip > "${OUTPUT}" + fi +done diff --git a/platform/ios/benchmark/assets/sprites/mapbox-streets.json b/platform/ios/benchmark/assets/sprites/mapbox-streets.json new file mode 100644 index 0000000000..488bf335de --- /dev/null +++ b/platform/ios/benchmark/assets/sprites/mapbox-streets.json @@ -0,0 +1,2034 @@ +{ + "secondary_marker": { + "x": 0, + "y": 0, + "width": 20, + "height": 50, + "pixelRatio": 1, + "sdf": false + }, + "default_marker": { + "x": 22, + "y": 0, + "width": 20, + "height": 50, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-alternate-1-large": { + "x": 44, + "y": 0, + "width": 21, + "height": 37, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-business-1-large": { + "x": 67, + "y": 0, + "width": 27, + "height": 37, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-business-2-large": { + "x": 0, + "y": 52, + "width": 27, + "height": 37, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-alternate-2-large": { + "x": 29, + "y": 52, + "width": 27, + "height": 37, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-truck-1-large": { + "x": 58, + "y": 52, + "width": 23, + "height": 35, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-truck-2-large": { + "x": 96, + "y": 0, + "width": 27, + "height": 35, + "pixelRatio": 1, + "sdf": false + }, + "marsh-32": { + "x": 0, + "y": 91, + "width": 32, + "height": 32, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-alternate-1-small": { + "x": 96, + "y": 37, + "width": 17, + "height": 31, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-business-1-small": { + "x": 34, + "y": 91, + "width": 17, + "height": 31, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-alternate-2-small": { + "x": 53, + "y": 91, + "width": 21, + "height": 31, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-truck-2-small": { + "x": 76, + "y": 91, + "width": 21, + "height": 31, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-business-2-small": { + "x": 99, + "y": 91, + "width": 21, + "height": 31, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-truck-1-small": { + "x": 125, + "y": 0, + "width": 17, + "height": 31, + "pixelRatio": 1, + "sdf": false + }, + "us-interstate-duplex-4-large": { + "x": 144, + "y": 0, + "width": 40, + "height": 29, + "pixelRatio": 1, + "sdf": false + }, + "us-interstate-duplex-3-large": { + "x": 144, + "y": 31, + "width": 35, + "height": 29, + "pixelRatio": 1, + "sdf": false + }, + "us-interstate-2-large": { + "x": 144, + "y": 62, + "width": 29, + "height": 29, + "pixelRatio": 1, + "sdf": false + }, + "us-interstate-duplex-5-large": { + "x": 0, + "y": 125, + "width": 43, + "height": 29, + "pixelRatio": 1, + "sdf": false + }, + "us-interstate-3-large": { + "x": 144, + "y": 93, + "width": 35, + "height": 29, + "pixelRatio": 1, + "sdf": false + }, + "us-interstate-1-large": { + "x": 45, + "y": 125, + "width": 25, + "height": 29, + "pixelRatio": 1, + "sdf": false + }, + "us-interstate-business-3-large": { + "x": 72, + "y": 125, + "width": 35, + "height": 28, + "pixelRatio": 1, + "sdf": false + }, + "us-interstate-business-2-large": { + "x": 109, + "y": 125, + "width": 29, + "height": 28, + "pixelRatio": 1, + "sdf": false + }, + "us-interstate-business-1-large": { + "x": 140, + "y": 125, + "width": 25, + "height": 28, + "pixelRatio": 1, + "sdf": false + }, + "mx-federal-2-large": { + "x": 0, + "y": 156, + "width": 25, + "height": 26, + "pixelRatio": 1, + "sdf": false + }, + "mx-federal-4-large": { + "x": 27, + "y": 156, + "width": 37, + "height": 26, + "pixelRatio": 1, + "sdf": false + }, + "mx-federal-1-large": { + "x": 66, + "y": 156, + "width": 20, + "height": 26, + "pixelRatio": 1, + "sdf": false + }, + "mx-federal-3-large": { + "x": 88, + "y": 156, + "width": 30, + "height": 26, + "pixelRatio": 1, + "sdf": false + }, + "mx-state-3-large": { + "x": 120, + "y": 156, + "width": 31, + "height": 25, + "pixelRatio": 1, + "sdf": false + }, + "mx-state-4-large": { + "x": 186, + "y": 0, + "width": 36, + "height": 25, + "pixelRatio": 1, + "sdf": false + }, + "us-interstate-3-small": { + "x": 186, + "y": 27, + "width": 30, + "height": 25, + "pixelRatio": 1, + "sdf": false + }, + "us-interstate-2-small": { + "x": 186, + "y": 54, + "width": 25, + "height": 25, + "pixelRatio": 1, + "sdf": false + }, + "us-interstate-1-small": { + "x": 186, + "y": 81, + "width": 21, + "height": 25, + "pixelRatio": 1, + "sdf": false + }, + "us-interstate-duplex-5-small": { + "x": 186, + "y": 108, + "width": 36, + "height": 25, + "pixelRatio": 1, + "sdf": false + }, + "us-interstate-duplex-4-small": { + "x": 186, + "y": 135, + "width": 34, + "height": 25, + "pixelRatio": 1, + "sdf": false + }, + "us-interstate-duplex-3-small": { + "x": 153, + "y": 156, + "width": 30, + "height": 25, + "pixelRatio": 1, + "sdf": false + }, + "us-interstate-business-2-small": { + "x": 0, + "y": 184, + "width": 25, + "height": 24, + "pixelRatio": 1, + "sdf": false + }, + "us-interstate-business-3-small": { + "x": 27, + "y": 184, + "width": 30, + "height": 24, + "pixelRatio": 1, + "sdf": false + }, + "us-interstate-business-1-small": { + "x": 59, + "y": 184, + "width": 21, + "height": 24, + "pixelRatio": 1, + "sdf": false + }, + "mx-state-1-large": { + "x": 82, + "y": 184, + "width": 20, + "height": 24, + "pixelRatio": 1, + "sdf": false + }, + "mx-state-2-large": { + "x": 104, + "y": 184, + "width": 25, + "height": 24, + "pixelRatio": 1, + "sdf": false + }, + "post-15": { + "x": 131, + "y": 184, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "prison-15": { + "x": 156, + "y": 184, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "religious-christian-15": { + "x": 181, + "y": 184, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "religious-jewish-15": { + "x": 224, + "y": 0, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "religious-muslim-15": { + "x": 224, + "y": 25, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "rocket-15": { + "x": 224, + "y": 50, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "shop-15": { + "x": 224, + "y": 75, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "star-15": { + "x": 224, + "y": 100, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "suitcase-15": { + "x": 224, + "y": 125, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "swimming-15": { + "x": 224, + "y": 150, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "theatre-15": { + "x": 224, + "y": 175, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "town-hall-15": { + "x": 0, + "y": 210, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "triangle-15": { + "x": 25, + "y": 210, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "triangle-stroked-15": { + "x": 50, + "y": 210, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "dentist-15": { + "x": 75, + "y": 210, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "hospital-15": { + "x": 100, + "y": 210, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "pharmacy-15": { + "x": 125, + "y": 210, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "america-football-15": { + "x": 150, + "y": 210, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "baseball-15": { + "x": 175, + "y": 210, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "basketball-15": { + "x": 200, + "y": 210, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "campsite-15": { + "x": 249, + "y": 0, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "cemetery-15": { + "x": 249, + "y": 25, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "dog-park-15": { + "x": 249, + "y": 50, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "beer-15": { + "x": 249, + "y": 75, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "park-15": { + "x": 249, + "y": 100, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "bar-15": { + "x": 249, + "y": 125, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "playground-15": { + "x": 249, + "y": 150, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "zoo-15": { + "x": 249, + "y": 175, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "college-15": { + "x": 249, + "y": 200, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "ferry-15": { + "x": 0, + "y": 235, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "school-15": { + "x": 25, + "y": 235, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "rail-metro-15": { + "x": 50, + "y": 235, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "cafe-15": { + "x": 75, + "y": 235, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "bus-15": { + "x": 100, + "y": 235, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "airport-15": { + "x": 125, + "y": 235, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "airfield-15": { + "x": 150, + "y": 235, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "fast-food-15": { + "x": 175, + "y": 235, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "rail-light-15": { + "x": 200, + "y": 235, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "rail-15": { + "x": 225, + "y": 235, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "heliport-15": { + "x": 274, + "y": 0, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "restaurant-15": { + "x": 274, + "y": 25, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "alcohol-shop-15": { + "x": 274, + "y": 50, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "art-gallery-15": { + "x": 274, + "y": 75, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "bakery-15": { + "x": 274, + "y": 100, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "bank-15": { + "x": 274, + "y": 125, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "bicycle-15": { + "x": 274, + "y": 150, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "car-15": { + "x": 274, + "y": 175, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "cinema-15": { + "x": 274, + "y": 200, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "circle-15": { + "x": 274, + "y": 225, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "circle-stroked-15": { + "x": 0, + "y": 260, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "clothing-store-15": { + "x": 25, + "y": 260, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "embassy-15": { + "x": 50, + "y": 260, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "fire-station-15": { + "x": 75, + "y": 260, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "fuel-15": { + "x": 100, + "y": 260, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "garden-15": { + "x": 125, + "y": 260, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "grocery-15": { + "x": 150, + "y": 260, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "hairdresser-15": { + "x": 175, + "y": 260, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "harbor-15": { + "x": 200, + "y": 260, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "ice-cream-15": { + "x": 225, + "y": 260, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "laundry-15": { + "x": 250, + "y": 260, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "library-15": { + "x": 299, + "y": 0, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "lodging-15": { + "x": 299, + "y": 25, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "marker-15": { + "x": 299, + "y": 50, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "monument-15": { + "x": 299, + "y": 75, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "museum-15": { + "x": 299, + "y": 100, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "music-15": { + "x": 299, + "y": 125, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "place-of-worship-15": { + "x": 299, + "y": 150, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "police-15": { + "x": 299, + "y": 175, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "golf-15": { + "x": 299, + "y": 200, + "width": 23, + "height": 23, + "pixelRatio": 1, + "sdf": false + }, + "mx-federal-4-small": { + "x": 0, + "y": 285, + "width": 31, + "height": 22, + "pixelRatio": 1, + "sdf": false + }, + "mx-federal-1-small": { + "x": 299, + "y": 225, + "width": 17, + "height": 22, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-duplex-3-large": { + "x": 33, + "y": 285, + "width": 32, + "height": 22, + "pixelRatio": 1, + "sdf": false + }, + "mx-federal-2-small": { + "x": 299, + "y": 249, + "width": 21, + "height": 22, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-duplex-4-large": { + "x": 67, + "y": 285, + "width": 34, + "height": 22, + "pixelRatio": 1, + "sdf": false + }, + "mx-federal-3-small": { + "x": 103, + "y": 285, + "width": 25, + "height": 22, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-duplex-5-large": { + "x": 130, + "y": 285, + "width": 37, + "height": 22, + "pixelRatio": 1, + "sdf": false + }, + "washington-metro-11": { + "x": 225, + "y": 210, + "width": 21, + "height": 21, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-3-large": { + "x": 169, + "y": 285, + "width": 30, + "height": 21, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-2-large": { + "x": 201, + "y": 285, + "width": 27, + "height": 21, + "pixelRatio": 1, + "sdf": false + }, + "light-11": { + "x": 250, + "y": 235, + "width": 21, + "height": 21, + "pixelRatio": 1, + "sdf": false + }, + "subway-11": { + "x": 275, + "y": 260, + "width": 21, + "height": 21, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-1-large": { + "x": 230, + "y": 285, + "width": 20, + "height": 21, + "pixelRatio": 1, + "sdf": false + }, + "u-bahn-11": { + "x": 252, + "y": 285, + "width": 21, + "height": 21, + "pixelRatio": 1, + "sdf": false + }, + "mx-state-1-small": { + "x": 186, + "y": 162, + "width": 17, + "height": 20, + "pixelRatio": 1, + "sdf": false + }, + "mx-state-4-small": { + "x": 275, + "y": 285, + "width": 29, + "height": 20, + "pixelRatio": 1, + "sdf": false + }, + "mx-state-3-small": { + "x": 324, + "y": 0, + "width": 25, + "height": 20, + "pixelRatio": 1, + "sdf": false + }, + "circle.sdf": { + "x": 324, + "y": 22, + "width": 19, + "height": 20, + "pixelRatio": 1, + "sdf": true + }, + "mx-state-2-small": { + "x": 324, + "y": 44, + "width": 21, + "height": 20, + "pixelRatio": 1, + "sdf": false + }, + "zoo-11": { + "x": 324, + "y": 66, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "beer-11": { + "x": 324, + "y": 87, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "dlr-11": { + "x": 324, + "y": 108, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "dlr.london-overground.london-underground.national-rail-11": { + "x": 0, + "y": 309, + "width": 75, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "dlr.london-underground-11": { + "x": 77, + "y": 309, + "width": 39, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "dlr.london-underground.national-rail-11": { + "x": 118, + "y": 309, + "width": 57, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "dlr.national-rail-11": { + "x": 177, + "y": 309, + "width": 39, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "heliport-11": { + "x": 324, + "y": 129, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "museum-11": { + "x": 324, + "y": 150, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "london-overground-11": { + "x": 324, + "y": 171, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "london-overground.london-underground-11": { + "x": 218, + "y": 309, + "width": 39, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "london-overground.london-underground.national-rail-11": { + "x": 259, + "y": 309, + "width": 57, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "london-overground.national-rail-11": { + "x": 0, + "y": 330, + "width": 39, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "london-underground-11": { + "x": 324, + "y": 192, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "london-underground.national-rail-11": { + "x": 41, + "y": 330, + "width": 39, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "circle-11": { + "x": 324, + "y": 213, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "metro.rer-11": { + "x": 82, + "y": 330, + "width": 39, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "moscow-metro-11": { + "x": 324, + "y": 234, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "national-rail-11": { + "x": 324, + "y": 255, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "rail-11": { + "x": 324, + "y": 276, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "rer-11": { + "x": 96, + "y": 70, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "rer.transilien-11": { + "x": 123, + "y": 330, + "width": 39, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "s-bahn-11": { + "x": 318, + "y": 309, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "music-11": { + "x": 164, + "y": 330, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "transilien-11": { + "x": 185, + "y": 330, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "school-11": { + "x": 206, + "y": 330, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "place-of-worship-11": { + "x": 227, + "y": 330, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "weiner-linien-11": { + "x": 248, + "y": 330, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "ferry-11": { + "x": 269, + "y": 330, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "circle-stroked-11": { + "x": 290, + "y": 330, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "bus-11": { + "x": 311, + "y": 330, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "police-11": { + "x": 351, + "y": 0, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "airport-11": { + "x": 351, + "y": 21, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "fast-food-11": { + "x": 351, + "y": 42, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "airfield-11": { + "x": 351, + "y": 63, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "post-11": { + "x": 351, + "y": 84, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "clothing-store-11": { + "x": 351, + "y": 105, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "prison-11": { + "x": 351, + "y": 126, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "alcohol-shop-11": { + "x": 351, + "y": 147, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "religious-christian-11": { + "x": 351, + "y": 168, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "embassy-11": { + "x": 351, + "y": 189, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "religious-jewish-11": { + "x": 351, + "y": 210, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "bar-11": { + "x": 351, + "y": 231, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "religious-muslim-11": { + "x": 351, + "y": 252, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "fire-station-11": { + "x": 351, + "y": 273, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "rocket-11": { + "x": 351, + "y": 294, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "art-gallery-11": { + "x": 351, + "y": 315, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "shop-11": { + "x": 0, + "y": 351, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "fuel-11": { + "x": 21, + "y": 351, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "star-11": { + "x": 42, + "y": 351, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "restaurant-11": { + "x": 63, + "y": 351, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "suitcase-11": { + "x": 84, + "y": 351, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "garden-11": { + "x": 105, + "y": 351, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "swimming-11": { + "x": 126, + "y": 351, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "bakery-11": { + "x": 147, + "y": 351, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "theatre-11": { + "x": 168, + "y": 351, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "grocery-11": { + "x": 189, + "y": 351, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "town-hall-11": { + "x": 210, + "y": 351, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "rail-metro-11": { + "x": 231, + "y": 351, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "triangle-11": { + "x": 252, + "y": 351, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "hairdresser-11": { + "x": 273, + "y": 351, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "triangle-stroked-11": { + "x": 294, + "y": 351, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "bank-11": { + "x": 315, + "y": 351, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "dentist-11": { + "x": 336, + "y": 351, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "harbor-11": { + "x": 372, + "y": 0, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "hospital-11": { + "x": 372, + "y": 21, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "cafe-11": { + "x": 372, + "y": 42, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "pharmacy-11": { + "x": 372, + "y": 63, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "ice-cream-11": { + "x": 372, + "y": 84, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "america-football-11": { + "x": 372, + "y": 105, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "bicycle-11": { + "x": 372, + "y": 126, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "baseball-11": { + "x": 372, + "y": 147, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "laundry-11": { + "x": 372, + "y": 168, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "basketball-11": { + "x": 372, + "y": 189, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "college-11": { + "x": 372, + "y": 210, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "campsite-11": { + "x": 372, + "y": 231, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "library-11": { + "x": 372, + "y": 252, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "cemetery-11": { + "x": 372, + "y": 273, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "car-11": { + "x": 372, + "y": 294, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "dog-park-11": { + "x": 372, + "y": 315, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "lodging-11": { + "x": 372, + "y": 336, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "golf-11": { + "x": 0, + "y": 372, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "rail-light-11": { + "x": 21, + "y": 372, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "park-11": { + "x": 42, + "y": 372, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "marker-11": { + "x": 63, + "y": 372, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "cinema-11": { + "x": 84, + "y": 372, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "monument-11": { + "x": 105, + "y": 372, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "playground-11": { + "x": 126, + "y": 372, + "width": 19, + "height": 19, + "pixelRatio": 1, + "sdf": false + }, + "us-state-5-large": { + "x": 147, + "y": 372, + "width": 48, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "default-1-large": { + "x": 197, + "y": 372, + "width": 18, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-3-small": { + "x": 217, + "y": 372, + "width": 25, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-2-small": { + "x": 244, + "y": 372, + "width": 21, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-1-small": { + "x": 205, + "y": 162, + "width": 17, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "default-2-large": { + "x": 267, + "y": 372, + "width": 25, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "default-6-large": { + "x": 294, + "y": 372, + "width": 50, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "default-3-large": { + "x": 346, + "y": 372, + "width": 32, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "default-5-large": { + "x": 393, + "y": 0, + "width": 45, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "default-4-large": { + "x": 393, + "y": 20, + "width": 39, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "us-state-1-large": { + "x": 393, + "y": 40, + "width": 22, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "us-state-6-large": { + "x": 0, + "y": 393, + "width": 54, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "us-state-2-large": { + "x": 393, + "y": 60, + "width": 28, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "us-state-4-large": { + "x": 393, + "y": 80, + "width": 42, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "us-state-3-large": { + "x": 393, + "y": 100, + "width": 35, + "height": 18, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-duplex-5-small": { + "x": 393, + "y": 120, + "width": 29, + "height": 17, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-duplex-4-small": { + "x": 393, + "y": 139, + "width": 28, + "height": 17, + "pixelRatio": 1, + "sdf": false + }, + "us-highway-duplex-3-small": { + "x": 393, + "y": 158, + "width": 27, + "height": 17, + "pixelRatio": 1, + "sdf": false + }, + "entrance-11": { + "x": 417, + "y": 40, + "width": 17, + "height": 17, + "pixelRatio": 1, + "sdf": false + }, + "marsh-16": { + "x": 422, + "y": 158, + "width": 16, + "height": 16, + "pixelRatio": 1, + "sdf": false + }, + "us-state-1-small": { + "x": 393, + "y": 177, + "width": 17, + "height": 15, + "pixelRatio": 1, + "sdf": false + }, + "us-state-6-small": { + "x": 393, + "y": 194, + "width": 45, + "height": 15, + "pixelRatio": 1, + "sdf": false + }, + "default-4-small": { + "x": 393, + "y": 211, + "width": 33, + "height": 15, + "pixelRatio": 1, + "sdf": false + }, + "default-3-small": { + "x": 393, + "y": 228, + "width": 27, + "height": 15, + "pixelRatio": 1, + "sdf": false + }, + "default-5-small": { + "x": 393, + "y": 245, + "width": 38, + "height": 15, + "pixelRatio": 1, + "sdf": false + }, + "default-2-small": { + "x": 412, + "y": 177, + "width": 21, + "height": 15, + "pixelRatio": 1, + "sdf": false + }, + "us-state-2-small": { + "x": 393, + "y": 262, + "width": 23, + "height": 15, + "pixelRatio": 1, + "sdf": false + }, + "default-1-small": { + "x": 423, + "y": 60, + "width": 15, + "height": 15, + "pixelRatio": 1, + "sdf": false + }, + "us-state-4-small": { + "x": 393, + "y": 279, + "width": 35, + "height": 15, + "pixelRatio": 1, + "sdf": false + }, + "metro-11": { + "x": 423, + "y": 139, + "width": 15, + "height": 15, + "pixelRatio": 1, + "sdf": false + }, + "us-state-3-small": { + "x": 393, + "y": 296, + "width": 29, + "height": 15, + "pixelRatio": 1, + "sdf": false + }, + "us-state-5-small": { + "x": 393, + "y": 313, + "width": 40, + "height": 15, + "pixelRatio": 1, + "sdf": false + }, + "default-6-small": { + "x": 393, + "y": 330, + "width": 44, + "height": 15, + "pixelRatio": 1, + "sdf": false + }, + "oneway-spaced-white-large": { + "x": 424, + "y": 120, + "width": 14, + "height": 6, + "pixelRatio": 1, + "sdf": false + }, + "oneway-spaced-large": { + "x": 424, + "y": 128, + "width": 14, + "height": 6, + "pixelRatio": 1, + "sdf": false + }, + "oneway-spaced-small": { + "x": 422, + "y": 228, + "width": 11, + "height": 5, + "pixelRatio": 1, + "sdf": false + }, + "oneway-spaced-white-small": { + "x": 422, + "y": 235, + "width": 11, + "height": 5, + "pixelRatio": 1, + "sdf": false + } +}
\ No newline at end of file diff --git a/platform/ios/benchmark/assets/sprites/mapbox-streets.png b/platform/ios/benchmark/assets/sprites/mapbox-streets.png Binary files differnew file mode 100644 index 0000000000..00925f91a2 --- /dev/null +++ b/platform/ios/benchmark/assets/sprites/mapbox-streets.png diff --git a/platform/ios/benchmark/assets/sprites/mapbox-streets@2x.json b/platform/ios/benchmark/assets/sprites/mapbox-streets@2x.json new file mode 100644 index 0000000000..0a193fb4db --- /dev/null +++ b/platform/ios/benchmark/assets/sprites/mapbox-streets@2x.json @@ -0,0 +1,2034 @@ +{ + "secondary_marker": { + "x": 0, + "y": 0, + "width": 40, + "height": 100, + "pixelRatio": 2, + "sdf": false + }, + "default_marker": { + "x": 42, + "y": 0, + "width": 40, + "height": 100, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-business-1-large": { + "x": 84, + "y": 0, + "width": 54, + "height": 74, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-alternate-1-large": { + "x": 140, + "y": 0, + "width": 42, + "height": 74, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-alternate-2-large": { + "x": 0, + "y": 102, + "width": 54, + "height": 74, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-business-2-large": { + "x": 56, + "y": 102, + "width": 54, + "height": 74, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-truck-1-large": { + "x": 112, + "y": 102, + "width": 46, + "height": 70, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-truck-2-large": { + "x": 184, + "y": 0, + "width": 54, + "height": 70, + "pixelRatio": 2, + "sdf": false + }, + "marsh-32": { + "x": 240, + "y": 0, + "width": 64, + "height": 64, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-truck-1-small": { + "x": 240, + "y": 66, + "width": 34, + "height": 62, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-business-2-small": { + "x": 184, + "y": 72, + "width": 42, + "height": 62, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-alternate-2-small": { + "x": 0, + "y": 178, + "width": 42, + "height": 62, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-alternate-1-small": { + "x": 44, + "y": 178, + "width": 34, + "height": 62, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-truck-2-small": { + "x": 80, + "y": 178, + "width": 42, + "height": 62, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-business-1-small": { + "x": 124, + "y": 178, + "width": 34, + "height": 62, + "pixelRatio": 2, + "sdf": false + }, + "us-interstate-duplex-3-large": { + "x": 160, + "y": 178, + "width": 68, + "height": 56, + "pixelRatio": 2, + "sdf": false + }, + "us-interstate-3-large": { + "x": 230, + "y": 178, + "width": 68, + "height": 56, + "pixelRatio": 2, + "sdf": false + }, + "us-interstate-duplex-4-large": { + "x": 0, + "y": 242, + "width": 78, + "height": 56, + "pixelRatio": 2, + "sdf": false + }, + "us-interstate-1-large": { + "x": 80, + "y": 242, + "width": 48, + "height": 56, + "pixelRatio": 2, + "sdf": false + }, + "us-interstate-duplex-5-large": { + "x": 130, + "y": 242, + "width": 84, + "height": 56, + "pixelRatio": 2, + "sdf": false + }, + "us-interstate-2-large": { + "x": 216, + "y": 242, + "width": 56, + "height": 56, + "pixelRatio": 2, + "sdf": false + }, + "us-interstate-business-1-large": { + "x": 306, + "y": 0, + "width": 48, + "height": 54, + "pixelRatio": 2, + "sdf": false + }, + "us-interstate-business-2-large": { + "x": 0, + "y": 300, + "width": 56, + "height": 54, + "pixelRatio": 2, + "sdf": false + }, + "us-interstate-business-3-large": { + "x": 58, + "y": 300, + "width": 68, + "height": 54, + "pixelRatio": 2, + "sdf": false + }, + "mx-federal-1-large": { + "x": 306, + "y": 56, + "width": 40, + "height": 52, + "pixelRatio": 2, + "sdf": false + }, + "mx-federal-2-large": { + "x": 128, + "y": 300, + "width": 50, + "height": 52, + "pixelRatio": 2, + "sdf": false + }, + "mx-federal-3-large": { + "x": 180, + "y": 300, + "width": 60, + "height": 52, + "pixelRatio": 2, + "sdf": false + }, + "mx-federal-4-large": { + "x": 242, + "y": 300, + "width": 74, + "height": 52, + "pixelRatio": 2, + "sdf": false + }, + "mx-state-4-large": { + "x": 356, + "y": 0, + "width": 72, + "height": 50, + "pixelRatio": 2, + "sdf": false + }, + "mx-state-3-large": { + "x": 356, + "y": 52, + "width": 62, + "height": 50, + "pixelRatio": 2, + "sdf": false + }, + "us-interstate-duplex-5-small": { + "x": 356, + "y": 104, + "width": 70, + "height": 48, + "pixelRatio": 2, + "sdf": false + }, + "us-interstate-2-small": { + "x": 356, + "y": 154, + "width": 48, + "height": 48, + "pixelRatio": 2, + "sdf": false + }, + "us-interstate-duplex-3-small": { + "x": 356, + "y": 204, + "width": 58, + "height": 48, + "pixelRatio": 2, + "sdf": false + }, + "us-interstate-duplex-4-small": { + "x": 356, + "y": 254, + "width": 66, + "height": 48, + "pixelRatio": 2, + "sdf": false + }, + "us-interstate-1-small": { + "x": 356, + "y": 304, + "width": 40, + "height": 48, + "pixelRatio": 2, + "sdf": false + }, + "mx-state-2-large": { + "x": 0, + "y": 356, + "width": 50, + "height": 48, + "pixelRatio": 2, + "sdf": false + }, + "us-interstate-3-small": { + "x": 52, + "y": 356, + "width": 58, + "height": 48, + "pixelRatio": 2, + "sdf": false + }, + "mx-state-1-large": { + "x": 306, + "y": 110, + "width": 40, + "height": 48, + "pixelRatio": 2, + "sdf": false + }, + "music-15": { + "x": 306, + "y": 160, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "place-of-worship-15": { + "x": 306, + "y": 208, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "police-15": { + "x": 240, + "y": 130, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "post-15": { + "x": 112, + "y": 356, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "prison-15": { + "x": 160, + "y": 356, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "religious-christian-15": { + "x": 208, + "y": 356, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "religious-jewish-15": { + "x": 256, + "y": 356, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "religious-muslim-15": { + "x": 304, + "y": 356, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "rocket-15": { + "x": 352, + "y": 356, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "shop-15": { + "x": 430, + "y": 0, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "star-15": { + "x": 430, + "y": 48, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "suitcase-15": { + "x": 430, + "y": 96, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "swimming-15": { + "x": 430, + "y": 144, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "theatre-15": { + "x": 430, + "y": 192, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "town-hall-15": { + "x": 430, + "y": 240, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "triangle-15": { + "x": 430, + "y": 288, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "triangle-stroked-15": { + "x": 430, + "y": 336, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "dentist-15": { + "x": 0, + "y": 406, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "hospital-15": { + "x": 48, + "y": 406, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "pharmacy-15": { + "x": 96, + "y": 406, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "america-football-15": { + "x": 144, + "y": 406, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "baseball-15": { + "x": 192, + "y": 406, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "basketball-15": { + "x": 240, + "y": 406, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "campsite-15": { + "x": 288, + "y": 406, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "cemetery-15": { + "x": 336, + "y": 406, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "dog-park-15": { + "x": 384, + "y": 406, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "beer-15": { + "x": 478, + "y": 0, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "park-15": { + "x": 478, + "y": 48, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "bar-15": { + "x": 478, + "y": 96, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "playground-15": { + "x": 478, + "y": 144, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "zoo-15": { + "x": 478, + "y": 192, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "ferry-15": { + "x": 478, + "y": 240, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "bus-15": { + "x": 478, + "y": 288, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "airport-15": { + "x": 478, + "y": 336, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "college-15": { + "x": 478, + "y": 384, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "airfield-15": { + "x": 0, + "y": 454, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "school-15": { + "x": 48, + "y": 454, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "rail-metro-15": { + "x": 96, + "y": 454, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "cafe-15": { + "x": 144, + "y": 454, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "fast-food-15": { + "x": 192, + "y": 454, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "rail-light-15": { + "x": 240, + "y": 454, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "rail-15": { + "x": 288, + "y": 454, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "us-interstate-business-3-small": { + "x": 336, + "y": 454, + "width": 58, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "heliport-15": { + "x": 396, + "y": 454, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "us-interstate-business-2-small": { + "x": 444, + "y": 454, + "width": 48, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "restaurant-15": { + "x": 526, + "y": 0, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "alcohol-shop-15": { + "x": 526, + "y": 48, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "us-interstate-business-1-small": { + "x": 526, + "y": 96, + "width": 40, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "art-gallery-15": { + "x": 526, + "y": 144, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "bakery-15": { + "x": 526, + "y": 192, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "bank-15": { + "x": 526, + "y": 240, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "bicycle-15": { + "x": 526, + "y": 288, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "car-15": { + "x": 526, + "y": 336, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "cinema-15": { + "x": 526, + "y": 384, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "circle-15": { + "x": 526, + "y": 432, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "circle-stroked-15": { + "x": 0, + "y": 502, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "clothing-store-15": { + "x": 48, + "y": 502, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "embassy-15": { + "x": 96, + "y": 502, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "fire-station-15": { + "x": 144, + "y": 502, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "fuel-15": { + "x": 192, + "y": 502, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "garden-15": { + "x": 240, + "y": 502, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "grocery-15": { + "x": 288, + "y": 502, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "hairdresser-15": { + "x": 336, + "y": 502, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "harbor-15": { + "x": 384, + "y": 502, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "ice-cream-15": { + "x": 432, + "y": 502, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "laundry-15": { + "x": 480, + "y": 502, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "library-15": { + "x": 574, + "y": 0, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "lodging-15": { + "x": 574, + "y": 48, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "marker-15": { + "x": 574, + "y": 96, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "monument-15": { + "x": 574, + "y": 144, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "museum-15": { + "x": 574, + "y": 192, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "golf-15": { + "x": 574, + "y": 240, + "width": 46, + "height": 46, + "pixelRatio": 2, + "sdf": false + }, + "mx-federal-4-small": { + "x": 0, + "y": 550, + "width": 62, + "height": 44, + "pixelRatio": 2, + "sdf": false + }, + "mx-federal-3-small": { + "x": 64, + "y": 550, + "width": 50, + "height": 44, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-duplex-5-large": { + "x": 116, + "y": 550, + "width": 74, + "height": 44, + "pixelRatio": 2, + "sdf": false + }, + "mx-federal-2-small": { + "x": 574, + "y": 288, + "width": 42, + "height": 44, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-duplex-4-large": { + "x": 192, + "y": 550, + "width": 68, + "height": 44, + "pixelRatio": 2, + "sdf": false + }, + "mx-federal-1-small": { + "x": 574, + "y": 334, + "width": 34, + "height": 44, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-duplex-3-large": { + "x": 262, + "y": 550, + "width": 64, + "height": 44, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-1-large": { + "x": 574, + "y": 380, + "width": 40, + "height": 42, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-2-large": { + "x": 328, + "y": 550, + "width": 54, + "height": 42, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-3-large": { + "x": 384, + "y": 550, + "width": 60, + "height": 42, + "pixelRatio": 2, + "sdf": false + }, + "mx-state-3-small": { + "x": 184, + "y": 136, + "width": 50, + "height": 40, + "pixelRatio": 2, + "sdf": false + }, + "mx-state-1-small": { + "x": 574, + "y": 424, + "width": 34, + "height": 40, + "pixelRatio": 2, + "sdf": false + }, + "mx-state-2-small": { + "x": 574, + "y": 466, + "width": 42, + "height": 40, + "pixelRatio": 2, + "sdf": false + }, + "mx-state-4-small": { + "x": 446, + "y": 550, + "width": 58, + "height": 40, + "pixelRatio": 2, + "sdf": false + }, + "u-bahn-11": { + "x": 574, + "y": 508, + "width": 40, + "height": 40, + "pixelRatio": 2, + "sdf": false + }, + "subway-11": { + "x": 306, + "y": 256, + "width": 40, + "height": 40, + "pixelRatio": 2, + "sdf": false + }, + "light-11": { + "x": 432, + "y": 406, + "width": 40, + "height": 40, + "pixelRatio": 2, + "sdf": false + }, + "circle.sdf": { + "x": 528, + "y": 502, + "width": 38, + "height": 40, + "pixelRatio": 2, + "sdf": true + }, + "washington-metro-11": { + "x": 506, + "y": 550, + "width": 40, + "height": 40, + "pixelRatio": 2, + "sdf": false + }, + "zoo-11": { + "x": 548, + "y": 550, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "beer-11": { + "x": 622, + "y": 0, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "heliport-11": { + "x": 622, + "y": 40, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "museum-11": { + "x": 622, + "y": 80, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "ferry-11": { + "x": 622, + "y": 120, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "circle-11": { + "x": 622, + "y": 160, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "bus-11": { + "x": 622, + "y": 200, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "music-11": { + "x": 622, + "y": 240, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "school-11": { + "x": 622, + "y": 280, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "airport-11": { + "x": 622, + "y": 320, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "place-of-worship-11": { + "x": 622, + "y": 360, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "airfield-11": { + "x": 622, + "y": 400, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "circle-stroked-11": { + "x": 622, + "y": 440, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "police-11": { + "x": 622, + "y": 480, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "fast-food-11": { + "x": 622, + "y": 520, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "post-11": { + "x": 0, + "y": 596, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "clothing-store-11": { + "x": 40, + "y": 596, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "prison-11": { + "x": 80, + "y": 596, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "alcohol-shop-11": { + "x": 120, + "y": 596, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "rail-11": { + "x": 160, + "y": 596, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "religious-christian-11": { + "x": 200, + "y": 596, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "embassy-11": { + "x": 240, + "y": 596, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "religious-jewish-11": { + "x": 280, + "y": 596, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "bar-11": { + "x": 320, + "y": 596, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "religious-muslim-11": { + "x": 360, + "y": 596, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "fire-station-11": { + "x": 400, + "y": 596, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "rocket-11": { + "x": 440, + "y": 596, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "art-gallery-11": { + "x": 480, + "y": 596, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "shop-11": { + "x": 520, + "y": 596, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "fuel-11": { + "x": 560, + "y": 596, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "star-11": { + "x": 600, + "y": 596, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "restaurant-11": { + "x": 662, + "y": 0, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "suitcase-11": { + "x": 662, + "y": 40, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "garden-11": { + "x": 662, + "y": 80, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "swimming-11": { + "x": 662, + "y": 120, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "bakery-11": { + "x": 662, + "y": 160, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "theatre-11": { + "x": 662, + "y": 200, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "grocery-11": { + "x": 662, + "y": 240, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "town-hall-11": { + "x": 662, + "y": 280, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "rail-metro-11": { + "x": 662, + "y": 320, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "triangle-11": { + "x": 662, + "y": 360, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "hairdresser-11": { + "x": 662, + "y": 400, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "triangle-stroked-11": { + "x": 662, + "y": 440, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "bank-11": { + "x": 662, + "y": 480, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "dentist-11": { + "x": 662, + "y": 520, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "harbor-11": { + "x": 662, + "y": 560, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "hospital-11": { + "x": 0, + "y": 636, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "cafe-11": { + "x": 40, + "y": 636, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "pharmacy-11": { + "x": 80, + "y": 636, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "ice-cream-11": { + "x": 120, + "y": 636, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "america-football-11": { + "x": 160, + "y": 636, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "bicycle-11": { + "x": 200, + "y": 636, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "baseball-11": { + "x": 240, + "y": 636, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "laundry-11": { + "x": 280, + "y": 636, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "basketball-11": { + "x": 320, + "y": 636, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "college-11": { + "x": 360, + "y": 636, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "campsite-11": { + "x": 400, + "y": 636, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "library-11": { + "x": 440, + "y": 636, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "cemetery-11": { + "x": 480, + "y": 636, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "car-11": { + "x": 520, + "y": 636, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "dog-park-11": { + "x": 560, + "y": 636, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "lodging-11": { + "x": 600, + "y": 636, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "golf-11": { + "x": 640, + "y": 636, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "rail-light-11": { + "x": 702, + "y": 0, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "park-11": { + "x": 702, + "y": 40, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "marker-11": { + "x": 702, + "y": 80, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "cinema-11": { + "x": 702, + "y": 120, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "monument-11": { + "x": 702, + "y": 160, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "playground-11": { + "x": 702, + "y": 200, + "width": 38, + "height": 38, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-3-small": { + "x": 0, + "y": 676, + "width": 50, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-1-small": { + "x": 702, + "y": 240, + "width": 34, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "dlr-11": { + "x": 702, + "y": 278, + "width": 36, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "dlr.london-overground.london-underground.national-rail-11": { + "x": 52, + "y": 676, + "width": 148, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "dlr.london-underground-11": { + "x": 202, + "y": 676, + "width": 76, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "default-6-large": { + "x": 280, + "y": 676, + "width": 100, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "dlr.london-underground.national-rail-11": { + "x": 382, + "y": 676, + "width": 112, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "dlr.national-rail-11": { + "x": 496, + "y": 676, + "width": 76, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "default-5-large": { + "x": 574, + "y": 676, + "width": 90, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "london-overground-11": { + "x": 702, + "y": 316, + "width": 36, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "default-4-large": { + "x": 742, + "y": 0, + "width": 78, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "london-overground.london-underground-11": { + "x": 742, + "y": 38, + "width": 76, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "default-3-large": { + "x": 742, + "y": 76, + "width": 65, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "london-overground.london-underground.national-rail-11": { + "x": 0, + "y": 714, + "width": 112, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "default-2-large": { + "x": 742, + "y": 114, + "width": 50, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "us-state-6-large": { + "x": 114, + "y": 714, + "width": 108, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "default-1-large": { + "x": 742, + "y": 152, + "width": 36, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "weiner-linien-11": { + "x": 780, + "y": 152, + "width": 36, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "transilien-11": { + "x": 742, + "y": 190, + "width": 36, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "s-bahn-11": { + "x": 780, + "y": 190, + "width": 36, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "rer.transilien-11": { + "x": 742, + "y": 228, + "width": 76, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "rer-11": { + "x": 742, + "y": 266, + "width": 36, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "national-rail-11": { + "x": 780, + "y": 266, + "width": 36, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "moscow-metro-11": { + "x": 742, + "y": 304, + "width": 36, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "metro.rer-11": { + "x": 742, + "y": 342, + "width": 76, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "us-state-5-large": { + "x": 224, + "y": 714, + "width": 96, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "london-underground.national-rail-11": { + "x": 742, + "y": 380, + "width": 76, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-2-small": { + "x": 742, + "y": 418, + "width": 42, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "london-overground.national-rail-11": { + "x": 742, + "y": 456, + "width": 76, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "us-state-1-large": { + "x": 742, + "y": 494, + "width": 44, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "us-state-4-large": { + "x": 322, + "y": 714, + "width": 84, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "us-state-2-large": { + "x": 742, + "y": 532, + "width": 56, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "us-state-3-large": { + "x": 742, + "y": 570, + "width": 70, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "london-underground-11": { + "x": 780, + "y": 304, + "width": 36, + "height": 36, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-duplex-3-small": { + "x": 742, + "y": 608, + "width": 54, + "height": 34, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-duplex-4-small": { + "x": 742, + "y": 644, + "width": 56, + "height": 34, + "pixelRatio": 2, + "sdf": false + }, + "us-highway-duplex-5-small": { + "x": 666, + "y": 676, + "width": 58, + "height": 34, + "pixelRatio": 2, + "sdf": false + }, + "marsh-16": { + "x": 786, + "y": 418, + "width": 32, + "height": 32, + "pixelRatio": 2, + "sdf": false + }, + "entrance-11": { + "x": 788, + "y": 494, + "width": 32, + "height": 32, + "pixelRatio": 2, + "sdf": false + }, + "default-1-small": { + "x": 742, + "y": 680, + "width": 30, + "height": 30, + "pixelRatio": 2, + "sdf": false + }, + "us-state-2-small": { + "x": 774, + "y": 680, + "width": 46, + "height": 30, + "pixelRatio": 2, + "sdf": false + }, + "default-2-small": { + "x": 408, + "y": 714, + "width": 42, + "height": 30, + "pixelRatio": 2, + "sdf": false + }, + "default-3-small": { + "x": 452, + "y": 714, + "width": 54, + "height": 30, + "pixelRatio": 2, + "sdf": false + }, + "default-4-small": { + "x": 508, + "y": 714, + "width": 66, + "height": 30, + "pixelRatio": 2, + "sdf": false + }, + "us-state-3-small": { + "x": 576, + "y": 714, + "width": 58, + "height": 30, + "pixelRatio": 2, + "sdf": false + }, + "default-5-small": { + "x": 636, + "y": 714, + "width": 76, + "height": 30, + "pixelRatio": 2, + "sdf": false + }, + "us-state-5-small": { + "x": 714, + "y": 714, + "width": 80, + "height": 30, + "pixelRatio": 2, + "sdf": false + }, + "us-state-6-small": { + "x": 0, + "y": 752, + "width": 90, + "height": 30, + "pixelRatio": 2, + "sdf": false + }, + "default-6-small": { + "x": 92, + "y": 752, + "width": 88, + "height": 30, + "pixelRatio": 2, + "sdf": false + }, + "us-state-4-small": { + "x": 182, + "y": 752, + "width": 70, + "height": 30, + "pixelRatio": 2, + "sdf": false + }, + "us-state-1-small": { + "x": 702, + "y": 354, + "width": 34, + "height": 30, + "pixelRatio": 2, + "sdf": false + }, + "metro-11": { + "x": 702, + "y": 386, + "width": 28, + "height": 28, + "pixelRatio": 2, + "sdf": false + }, + "oneway-spaced-white-large": { + "x": 702, + "y": 416, + "width": 28, + "height": 12, + "pixelRatio": 2, + "sdf": false + }, + "oneway-spaced-large": { + "x": 702, + "y": 430, + "width": 28, + "height": 12, + "pixelRatio": 2, + "sdf": false + }, + "oneway-spaced-small": { + "x": 794, + "y": 114, + "width": 22, + "height": 10, + "pixelRatio": 2, + "sdf": false + }, + "oneway-spaced-white-small": { + "x": 794, + "y": 126, + "width": 22, + "height": 10, + "pixelRatio": 2, + "sdf": false + } +}
\ No newline at end of file diff --git a/platform/ios/benchmark/assets/sprites/mapbox-streets@2x.png b/platform/ios/benchmark/assets/sprites/mapbox-streets@2x.png Binary files differnew file mode 100644 index 0000000000..0d5bd533f7 --- /dev/null +++ b/platform/ios/benchmark/assets/sprites/mapbox-streets@2x.png diff --git a/platform/ios/benchmark/assets/styles/streets-v8.json b/platform/ios/benchmark/assets/styles/streets-v8.json new file mode 100644 index 0000000000..4befdc121a --- /dev/null +++ b/platform/ios/benchmark/assets/styles/streets-v8.json @@ -0,0 +1,8935 @@ +{ + "version": 8, + "name": "Mapbox Streets", + "sources": { + "composite": { + "url": "asset://tiles/mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6.json", + "type": "vector" + } + }, + "sprite": "asset://sprites/mapbox-streets", + "glyphs": "asset://glyphs/{fontstack}/{range}.pbf", + "layers": [ + { + "id": "background", + "type": "background", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "layout": { + "visibility": "visible" + }, + "paint": { + "background-color": "#ede9d9" + } + }, + { + "id": "landcover_crop", + "type": "fill", + "source": "composite", + "source-layer": "landcover", + "minzoom": 0, + "maxzoom": 14, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "crop" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#ddecb1", + "fill-opacity": { + "base": 1.5, + "stops": [ + [ + 2, + 0.3 + ], + [ + 14, + 0 + ] + ] + }, + "fill-antialias": false + } + }, + { + "id": "landcover_grass", + "type": "fill", + "source": "composite", + "source-layer": "landcover", + "minzoom": 0, + "maxzoom": 14, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "grass" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#ddecb1", + "fill-opacity": { + "base": 1.5, + "stops": [ + [ + 2, + 0.3 + ], + [ + 14, + 0 + ] + ] + }, + "fill-antialias": false + } + }, + { + "id": "landcover_scrub", + "type": "fill", + "source": "composite", + "source-layer": "landcover", + "minzoom": 0, + "maxzoom": 14, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "scrub" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#ddecb1", + "fill-opacity": { + "base": 1.5, + "stops": [ + [ + 2, + 0.3 + ], + [ + 14, + 0 + ] + ] + }, + "fill-antialias": false + } + }, + { + "id": "landcover_wood", + "type": "fill", + "source": "composite", + "source-layer": "landcover", + "minzoom": 0, + "maxzoom": 14, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "wood" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#ddecb1", + "fill-opacity": { + "base": 1.5, + "stops": [ + [ + 2, + 0.3 + ], + [ + 14, + 0 + ] + ] + }, + "fill-antialias": false + } + }, + { + "id": "landcover_snow", + "type": "fill", + "source": "composite", + "source-layer": "landcover", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "snow" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#fff", + "fill-opacity": 0.2, + "fill-antialias": false + } + }, + { + "id": "scrub", + "type": "fill", + "source": "composite", + "source-layer": "landuse", + "minzoom": 9, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "scrub" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#ddecb1", + "fill-opacity": { + "base": 1, + "stops": [ + [ + 9, + 0 + ], + [ + 16, + 0.2 + ] + ] + } + } + }, + { + "id": "grass", + "type": "fill", + "source": "composite", + "source-layer": "landuse", + "minzoom": 9, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "grass" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#ddecb1", + "fill-opacity": { + "base": 1, + "stops": [ + [ + 9, + 0 + ], + [ + 16, + 0.4 + ] + ] + } + } + }, + { + "id": "wood", + "type": "fill", + "source": "composite", + "source-layer": "landuse", + "minzoom": 6, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "wood" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#ddecb1", + "fill-opacity": { + "base": 1, + "stops": [ + [ + 6, + 0 + ], + [ + 16, + 0.5 + ] + ] + } + } + }, + { + "id": "agriculture", + "type": "fill", + "source": "composite", + "source-layer": "landuse", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "agriculture" + ] + ], + "layout": { + "visibility": "none" + }, + "paint": { + "fill-color": "rgba(221,85,85,1.000)", + "fill-opacity": 1 + } + }, + { + "id": "hospital", + "type": "fill", + "source": "composite", + "source-layer": "landuse", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "hospital" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#f4dcdc" + } + }, + { + "id": "school", + "type": "fill", + "source": "composite", + "source-layer": "landuse", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "school" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#f3ebb4" + } + }, + { + "id": "parks", + "type": "fill", + "source": "composite", + "source-layer": "landuse", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "park" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#cde8a2", + "fill-opacity": { + "base": 1, + "stops": [ + [ + 5, + 0 + ], + [ + 6, + 1 + ] + ] + } + } + }, + { + "id": "glaciers", + "type": "fill", + "source": "composite", + "source-layer": "landuse", + "minzoom": 9, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "glacier" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#dcedf9", + "fill-opacity": { + "base": 1, + "stops": [ + [ + 9, + 0 + ], + [ + 10, + 0.25 + ] + ] + } + } + }, + { + "id": "pitch", + "type": "fill", + "source": "composite", + "source-layer": "landuse", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "pitch" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#c3e194" + } + }, + { + "id": "pitch-line", + "type": "line", + "source": "composite", + "source-layer": "landuse", + "minzoom": 15, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "pitch" + ] + ], + "layout": {}, + "paint": { + "line-color": "#e1f2c6" + } + }, + { + "id": "cemetery", + "type": "fill", + "source": "composite", + "source-layer": "landuse", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "cemetery" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#dde6c2" + } + }, + { + "id": "industrial", + "type": "fill", + "source": "composite", + "source-layer": "landuse", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "industrial" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#e0dae0" + } + }, + { + "id": "sand", + "type": "fill", + "source": "composite", + "source-layer": "landuse", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "sand" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#ededcf" + } + }, + { + "id": "hillshade_highlight_bright", + "type": "fill", + "source": "composite", + "source-layer": "hillshade", + "maxzoom": 18, + "interactive": true, + "filter": [ + "all", + [ + "in", + "level", + 94 + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#fff", + "fill-opacity": { + "stops": [ + [ + 15, + 0.12 + ], + [ + 18, + 0 + ] + ] + }, + "fill-antialias": false + } + }, + { + "id": "hillshade_highlight_med", + "type": "fill", + "source": "composite", + "source-layer": "hillshade", + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "level", + 90 + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#fff", + "fill-opacity": { + "stops": [ + [ + 15, + 0.12 + ], + [ + 18, + 0 + ] + ] + }, + "fill-antialias": false + } + }, + { + "id": "hillshade_shadow_faint", + "type": "fill", + "source": "composite", + "source-layer": "hillshade", + "maxzoom": 17, + "interactive": true, + "filter": [ + "all", + [ + "in", + "level", + 89 + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#5a5517", + "fill-opacity": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 17, + 0 + ] + ] + }, + "fill-antialias": false + } + }, + { + "id": "hillshade_shadow_med", + "type": "fill", + "source": "composite", + "source-layer": "hillshade", + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "level", + 78 + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#5a5517", + "fill-opacity": { + "stops": [ + [ + 15, + 0.05 + ], + [ + 17, + 0 + ] + ] + }, + "fill-antialias": false + } + }, + { + "id": "hillshade_shadow_dark", + "type": "fill", + "source": "composite", + "source-layer": "hillshade", + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "level", + 67 + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#5a5517", + "fill-opacity": { + "stops": [ + [ + 15, + 0.06 + ], + [ + 17, + 0 + ] + ] + }, + "fill-antialias": false + } + }, + { + "id": "hillshade_shadow_extreme", + "type": "fill", + "source": "composite", + "source-layer": "hillshade", + "maxzoom": 17, + "interactive": true, + "filter": [ + "all", + [ + "in", + "level", + 56 + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#5a5517", + "fill-opacity": { + "stops": [ + [ + 15, + 0.06 + ], + [ + 17, + 0 + ] + ] + }, + "fill-antialias": false + } + }, + { + "id": "waterway-river", + "type": "line", + "source": "composite", + "source-layer": "waterway", + "minzoom": 8, + "maxzoom": 22, + "interactive": true, + "filter": [ + "any", + [ + "in", + "class", + "river" + ], + [ + "in", + "class", + "canal" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": { + "base": 1, + "stops": [ + [ + 0, + "butt" + ], + [ + 11, + "round" + ] + ] + }, + "line-join": "round" + }, + "paint": { + "line-color": "#8ccbf7", + "line-width": { + "base": 1.3, + "stops": [ + [ + 8.5, + 0.1 + ], + [ + 20, + 8 + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 8, + 0 + ], + [ + 8.5, + 1 + ] + ] + } + } + }, + { + "id": "waterway-other", + "type": "line", + "source": "composite", + "source-layer": "waterway", + "minzoom": 13, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "!=", + "class", + "river" + ], + [ + "!=", + "class", + "canal" + ] + ], + "layout": { + "visibility": "visible", + "line-join": "round", + "line-cap": "round" + }, + "paint": { + "line-color": "#8ccbf7", + "line-width": { + "base": 1.35, + "stops": [ + [ + 13.5, + 0.1 + ], + [ + 20, + 3 + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 13, + 0 + ], + [ + 13.5, + 1 + ] + ] + } + } + }, + { + "id": "water", + "type": "fill", + "source": "composite", + "source-layer": "water", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#8ccbf7" + } + }, + { + "id": "landuse-overlay", + "type": "fill", + "source": "composite", + "source-layer": "landuse_overlay", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all" + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#9DD3D8", + "fill-opacity": { + "base": 1, + "stops": [ + [ + 10, + 0.25 + ], + [ + 10.5, + 0.15 + ] + ] + } + } + }, + { + "id": "landuse-overlay-pattern", + "ref": "landuse-overlay", + "interactive": true, + "paint": { + "fill-color": "#9DD3D8", + "fill-opacity": { + "base": 1, + "stops": [ + [ + 10, + 0 + ], + [ + 10.5, + 1 + ] + ] + }, + "fill-pattern": { + "base": 1, + "stops": [ + [ + 13, + "marsh-16" + ], + [ + 14, + "marsh-32" + ] + ] + } + } + }, + { + "id": "barrier_line-land-polygon", + "type": "fill", + "source": "composite", + "source-layer": "barrier_line", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "land" + ], + [ + "in", + "$type", + "Polygon" + ] + ], + "layout": {}, + "paint": { + "fill-color": "#ede9d9" + } + }, + { + "id": "barrier_line-land-line", + "type": "line", + "source": "composite", + "source-layer": "barrier_line", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "land" + ], + [ + "in", + "$type", + "LineString" + ] + ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { + "base": 1.99, + "stops": [ + [ + 14, + 0.75 + ], + [ + 20, + 40 + ] + ] + }, + "line-color": "#ede9d9" + } + }, + { + "id": "building-bottom", + "type": "fill", + "source": "composite", + "source-layer": "building", + "minzoom": 15, + "maxzoom": 22, + "interactive": true, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#cbc6b7", + "fill-opacity": { + "base": 1, + "stops": [ + [ + 15.5, + 0 + ], + [ + 16, + 1 + ] + ] + } + } + }, + { + "id": "building-top", + "ref": "building-bottom", + "interactive": true, + "paint": { + "fill-color": { + "base": 1, + "stops": [ + [ + 15, + "#ede9d9" + ], + [ + 16, + "#e8e0cc" + ] + ] + }, + "fill-opacity": { + "base": 1, + "stops": [ + [ + 15, + 0 + ], + [ + 15.5, + 1 + ] + ] + }, + "fill-outline-color": "#d0cbbb", + "fill-translate": { + "base": 1, + "stops": [ + [ + 15, + [ + 0, + 0 + ] + ], + [ + 20, + [ + -5, + -5 + ] + ] + ] + } + } + }, + { + "id": "aeroway-polygon", + "type": "fill", + "source": "composite", + "source-layer": "aeroway", + "minzoom": 11, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "$type", + "Polygon" + ], + [ + "!=", + "type", + "apron" + ] + ], + "layout": {}, + "paint": { + "fill-color": "#dbcedb", + "fill-opacity": { + "base": 1, + "stops": [ + [ + 11, + 0 + ], + [ + 11.5, + 1 + ] + ] + } + } + }, + { + "id": "aeroway-runway", + "type": "line", + "source": "composite", + "source-layer": "aeroway", + "minzoom": 9, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "type", + "runway" + ], + [ + "in", + "$type", + "LineString" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "butt" + }, + "paint": { + "line-color": "#dbcedb", + "line-width": { + "base": 1.5, + "stops": [ + [ + 9, + 1 + ], + [ + 18, + 80 + ] + ] + } + } + }, + { + "id": "aeroway-taxiway", + "type": "line", + "source": "composite", + "source-layer": "aeroway", + "minzoom": 9, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "type", + "taxiway" + ], + [ + "in", + "$type", + "LineString" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "butt" + }, + "paint": { + "line-color": "#dbcedb", + "line-width": { + "base": 1.5, + "stops": [ + [ + 10, + 0.5 + ], + [ + 18, + 20 + ] + ] + } + } + }, + { + "id": "admin-3-4-boundaries-bg", + "type": "line", + "source": "composite", + "source-layer": "admin", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + ">=", + "admin_level", + 3 + ], + [ + "in", + "maritime", + 0 + ] + ], + "layout": { + "visibility": "visible", + "line-join": "bevel" + }, + "paint": { + "line-color": { + "base": 1, + "stops": [ + [ + 8, + "#ede9d9" + ], + [ + 16, + "#f6e8e1" + ] + ] + }, + "line-width": { + "base": 1, + "stops": [ + [ + 3, + 3.5 + ], + [ + 10, + 8 + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 7, + 0 + ], + [ + 8, + 0.75 + ] + ] + }, + "line-dasharray": [ + 1, + 0 + ], + "line-translate": [ + 0, + 0 + ], + "line-blur": { + "base": 1, + "stops": [ + [ + 3, + 0 + ], + [ + 8, + 3 + ] + ] + } + } + }, + { + "id": "tunnel-street_limited-polygon", + "type": "fill", + "source": "composite", + "source-layer": "tunnel", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "street_limited" + ], + [ + "in", + "$type", + "Polygon" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#EEE8E3", + "fill-opacity": 0.75 + } + }, + { + "id": "tunnel-path-bg", + "type": "line", + "source": "composite", + "source-layer": "tunnel", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "path" + ] + ], + "layout": { + "visibility": "none", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 15, + 2 + ], + [ + 18, + 7 + ] + ] + }, + "line-dasharray": [ + 1, + 0 + ], + "line-color": "#d9d3c9", + "line-blur": 0, + "line-opacity": { + "base": 1, + "stops": [ + [ + 15, + 0 + ], + [ + 15.25, + 0.5 + ] + ] + } + } + }, + { + "id": "tunnel-path", + "type": "line", + "source": "composite", + "source-layer": "tunnel", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "path" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 15, + 1 + ], + [ + 18, + 4 + ] + ] + }, + "line-dasharray": { + "base": 1, + "stops": [ + [ + 15, + [ + 0.1, + 1.25 + ] + ], + [ + 16, + [ + 0.1, + 1.6 + ] + ], + [ + 17, + [ + 0.1, + 1.45 + ] + ], + [ + 18, + [ + 0.1, + 1.3 + ] + ] + ] + }, + "line-color": "#f5f2ee", + "line-opacity": { + "base": 1, + "stops": [ + [ + 15, + 0 + ], + [ + 15.25, + 1 + ] + ] + } + } + }, + { + "id": "tunnel-street-low", + "type": "line", + "source": "composite", + "source-layer": "tunnel", + "minzoom": 11, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "street" + ], + [ + "in", + "$type", + "LineString" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-color": "#fff", + "line-opacity": { + "stops": [ + [ + 11.5, + 0 + ], + [ + 12, + 1 + ], + [ + 14, + 1 + ], + [ + 14.01, + 0 + ] + ] + } + } + }, + { + "id": "tunnel-street_limited-low", + "type": "line", + "source": "composite", + "source-layer": "tunnel", + "minzoom": 11, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "street_limited" + ], + [ + "in", + "$type", + "LineString" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-color": "#fff", + "line-opacity": { + "stops": [ + [ + 11.5, + 0 + ], + [ + 12, + 1 + ], + [ + 14, + 1 + ], + [ + 14.01, + 0 + ] + ] + } + } + }, + { + "id": "tunnel-motorway_link-case", + "type": "line", + "source": "composite", + "source-layer": "tunnel", + "minzoom": 11, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "motorway_link" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + }, + "line-color": "#fff", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-dasharray": [ + 3, + 3 + ] + } + }, + { + "id": "tunnel-service-driveway-case", + "type": "line", + "source": "composite", + "source-layer": "tunnel", + "minzoom": 15, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "service", + "driveway" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + }, + "line-color": "#c4beb7", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 18, + 12 + ] + ] + }, + "line-dasharray": [ + 3, + 3 + ] + } + }, + { + "id": "tunnel-street_limited-case", + "type": "line", + "source": "composite", + "source-layer": "tunnel", + "minzoom": 11, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "street_limited" + ], + [ + "in", + "$type", + "LineString" + ], + [ + "!=", + "type", + "construction" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + }, + "line-color": "#c4beb7", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 13, + 0 + ], + [ + 14, + 2 + ], + [ + 18, + 12 + ] + ] + }, + "line-dasharray": [ + 3, + 3 + ], + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + } + } + }, + { + "id": "tunnel-street-case", + "type": "line", + "source": "composite", + "source-layer": "tunnel", + "minzoom": 11, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "street" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + }, + "line-color": "#c4beb7", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 13, + 0 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-dasharray": [ + 3, + 3 + ], + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + } + } + }, + { + "id": "tunnel-main-case", + "type": "line", + "source": "composite", + "source-layer": "tunnel", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "main" + ], + [ + "!=", + "type", + "trunk" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.2, + "stops": [ + [ + 10, + 0.75 + ], + [ + 18, + 2 + ] + ] + }, + "line-dasharray": [ + 3, + 3 + ], + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 8.5, + 0.5 + ], + [ + 10, + 0.75 + ], + [ + 18, + 26 + ] + ] + }, + "line-color": "#c4beb7" + } + }, + { + "id": "tunnel-trunk-case", + "type": "line", + "source": "composite", + "source-layer": "tunnel", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "main" + ], + [ + "in", + "type", + "trunk" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 16, + 2 + ] + ] + }, + "line-color": "#fff", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + }, + "line-opacity": 1, + "line-dasharray": [ + 3, + 3 + ] + } + }, + { + "id": "tunnel-motorway-case", + "type": "line", + "source": "composite", + "source-layer": "tunnel", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "motorway" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 16, + 2 + ] + ] + }, + "line-color": "#fff", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + }, + "line-opacity": 1, + "line-dasharray": [ + 3, + 3 + ] + } + }, + { + "id": "tunnel-motorway_link", + "ref": "tunnel-motorway_link-case", + "interactive": true, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-color": "#ffbe8c", + "line-opacity": 1, + "line-dasharray": [ + 1, + 0 + ] + } + }, + { + "id": "tunnel-service-driveway", + "ref": "tunnel-service-driveway-case", + "interactive": true, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 18, + 12 + ] + ] + }, + "line-color": "#fff", + "line-dasharray": [ + 1, + 0 + ] + } + }, + { + "id": "tunnel-construction", + "type": "line", + "source": "composite", + "source-layer": "tunnel", + "minzoom": 14, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "street_limited" + ], + [ + "in", + "$type", + "LineString" + ], + [ + "in", + "type", + "construction" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "butt", + "line-join": "miter" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 12 + ] + ] + }, + "line-color": "#d9d3c9", + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + }, + "line-dasharray": { + "base": 1, + "stops": [ + [ + 14, + [ + 0.4, + 0.8 + ] + ], + [ + 15, + [ + 0.3, + 0.6 + ] + ], + [ + 16, + [ + 0.2, + 0.3 + ] + ], + [ + 17, + [ + 0.2, + 0.25 + ] + ], + [ + 18, + [ + 0.15, + 0.15 + ] + ] + ] + } + } + }, + { + "id": "tunnel-street_limited", + "ref": "tunnel-street_limited-case", + "interactive": true, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 12 + ] + ] + }, + "line-color": "#EFEDEB", + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + } + } + }, + { + "id": "tunnel-street", + "ref": "tunnel-street-case", + "interactive": true, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-color": "#fff", + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + } + } + }, + { + "id": "tunnel-main", + "ref": "tunnel-main-case", + "interactive": true, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 8.5, + 0.5 + ], + [ + 10, + 0.75 + ], + [ + 18, + 26 + ] + ] + }, + "line-color": "#fff", + "line-opacity": 1, + "line-dasharray": [ + 1, + 0 + ], + "line-blur": 0 + } + }, + { + "id": "tunnel-trunk", + "ref": "tunnel-trunk-case", + "interactive": true, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + }, + "line-color": "#f2de9e" + } + }, + { + "id": "tunnel-motorway", + "ref": "tunnel-motorway-case", + "interactive": true, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + }, + "line-dasharray": [ + 1, + 0 + ], + "line-opacity": 1, + "line-color": "#ffbe8c", + "line-blur": 0 + } + }, + { + "id": "tunnel-rail", + "type": "line", + "source": "composite", + "source-layer": "tunnel", + "minzoom": 13, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "major_rail", + "minor_rail" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "butt" + }, + "paint": { + "line-color": { + "stops": [ + [ + 13, + "#d8d5c8" + ], + [ + 16, + "#c0beb2" + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 20, + 1 + ] + ] + } + } + }, + { + "id": "tunnel-rail-tracks", + "ref": "tunnel-rail", + "interactive": true, + "paint": { + "line-color": { + "stops": [ + [ + 13, + "#d8d5c8" + ], + [ + 16, + "#c0beb2" + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 4 + ], + [ + 20, + 8 + ] + ] + }, + "line-dasharray": [ + 0.1, + 15 + ], + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.75, + 0 + ], + [ + 20, + 1 + ] + ] + } + } + }, + { + "id": "road-path-bg", + "type": "line", + "source": "composite", + "source-layer": "road", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "path" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 15, + 2 + ], + [ + 18, + 7 + ] + ] + }, + "line-dasharray": [ + 1, + 0 + ], + "line-color": "#d9d3c9", + "line-blur": 0, + "line-opacity": { + "base": 1, + "stops": [ + [ + 15, + 0 + ], + [ + 15.25, + 0.5 + ] + ] + } + } + }, + { + "id": "road-path", + "ref": "road-path-bg", + "interactive": true, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 15, + 1 + ], + [ + 18, + 4 + ] + ] + }, + "line-color": "#fff", + "line-dasharray": { + "base": 1, + "stops": [ + [ + 15, + [ + 0.1, + 1.25 + ] + ], + [ + 16, + [ + 0.1, + 1.6 + ] + ], + [ + 17, + [ + 0.1, + 1.45 + ] + ], + [ + 18, + [ + 0.1, + 1.3 + ] + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 15, + 0 + ], + [ + 15.25, + 1 + ] + ] + } + } + }, + { + "id": "road-street_limited-polygon-outline", + "type": "line", + "source": "composite", + "source-layer": "road", + "minzoom": 12, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "street_limited" + ], + [ + "in", + "$type", + "Polygon" + ] + ], + "layout": { + "visibility": "none" + }, + "paint": { + "line-color": "#d9d3c9", + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 1.5 + ], + [ + 20, + 4 + ] + ] + }, + "line-opacity": 1 + } + }, + { + "id": "road-street-low", + "type": "line", + "source": "composite", + "source-layer": "road", + "minzoom": 11, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "street" + ], + [ + "in", + "$type", + "LineString" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-color": "#fff", + "line-opacity": { + "stops": [ + [ + 11, + 0 + ], + [ + 11.25, + 1 + ], + [ + 14, + 1 + ], + [ + 14.01, + 0 + ] + ] + } + } + }, + { + "id": "road-street_limited-low", + "type": "line", + "source": "composite", + "source-layer": "road", + "minzoom": 11, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "street_limited" + ], + [ + "in", + "$type", + "LineString" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-color": "#fff", + "line-opacity": { + "stops": [ + [ + 11, + 0 + ], + [ + 11.25, + 1 + ], + [ + 14, + 1 + ], + [ + 14.01, + 0 + ] + ] + } + } + }, + { + "id": "road-motorway_link-case", + "type": "line", + "source": "composite", + "source-layer": "road", + "minzoom": 10, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "motorway_link" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + }, + "line-color": "#fff", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 10.99, + 0 + ], + [ + 11, + 1 + ] + ] + } + } + }, + { + "id": "road-service-driveway-case", + "type": "line", + "source": "composite", + "source-layer": "road", + "minzoom": 15, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "service", + "driveway" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + }, + "line-color": "#d9d3c9", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 18, + 12 + ] + ] + } + } + }, + { + "id": "road-street_limited-case", + "type": "line", + "source": "composite", + "source-layer": "road", + "minzoom": 11, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "street_limited" + ], + [ + "in", + "$type", + "LineString" + ], + [ + "!=", + "type", + "construction" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + }, + "line-color": "#d9d3c9", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 13, + 0 + ], + [ + 14, + 2 + ], + [ + 18, + 12 + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + } + } + }, + { + "id": "road-street-case", + "type": "line", + "source": "composite", + "source-layer": "road", + "minzoom": 11, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "street" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + }, + "line-color": "#d9d3c9", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 13, + 0 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + } + } + }, + { + "id": "road-main-case", + "type": "line", + "source": "composite", + "source-layer": "road", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "main" + ], + [ + "!=", + "type", + "trunk" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.2, + "stops": [ + [ + 10, + 0.75 + ], + [ + 18, + 2 + ] + ] + }, + "line-color": "#d9d3c9", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 8.5, + 0.5 + ], + [ + 10, + 0.75 + ], + [ + 18, + 26 + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 9.99, + 0 + ], + [ + 10, + 1 + ] + ] + } + } + }, + { + "id": "road-trunk-case", + "type": "line", + "source": "composite", + "source-layer": "road", + "minzoom": 5, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "main" + ], + [ + "in", + "type", + "trunk" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 16, + 2 + ] + ] + }, + "line-color": "#fff", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 5.9, + 0 + ], + [ + 6, + 1 + ] + ] + } + } + }, + { + "id": "road-motorway-case", + "type": "line", + "source": "composite", + "source-layer": "road", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "motorway" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 16, + 2 + ] + ] + }, + "line-color": "#fff", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + }, + "line-opacity": { + "base": 1.2, + "stops": [ + [ + 5.9, + 0 + ], + [ + 6, + 1 + ] + ] + } + } + }, + { + "id": "road-street_limited-polygon", + "type": "fill", + "source": "composite", + "source-layer": "road", + "minzoom": 12, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "street_limited" + ], + [ + "in", + "$type", + "Polygon" + ] + ], + "layout": { + "visibility": "none" + }, + "paint": { + "fill-color": "#EFEDEB", + "fill-opacity": 1 + } + }, + { + "id": "road-service-driveway", + "ref": "road-service-driveway-case", + "interactive": true, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 18, + 12 + ] + ] + }, + "line-color": "#fff" + } + }, + { + "id": "road-motorway_link", + "ref": "road-motorway_link-case", + "interactive": true, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-color": "#ffa159", + "line-opacity": 1 + } + }, + { + "id": "road-construction", + "type": "line", + "source": "composite", + "source-layer": "road", + "minzoom": 14, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "street_limited" + ], + [ + "in", + "$type", + "LineString" + ], + [ + "in", + "type", + "construction" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "butt", + "line-join": "miter" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 12 + ] + ] + }, + "line-color": "#d9d3c9", + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + }, + "line-dasharray": { + "base": 1, + "stops": [ + [ + 14, + [ + 0.4, + 0.8 + ] + ], + [ + 15, + [ + 0.3, + 0.6 + ] + ], + [ + 16, + [ + 0.2, + 0.3 + ] + ], + [ + 17, + [ + 0.2, + 0.25 + ] + ], + [ + 18, + [ + 0.15, + 0.15 + ] + ] + ] + } + } + }, + { + "id": "road-street_limited", + "ref": "road-street_limited-case", + "interactive": true, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 12 + ] + ] + }, + "line-color": "#EFEDEB", + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + } + } + }, + { + "id": "road-street", + "ref": "road-street-case", + "interactive": true, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-color": "#fff", + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + } + } + }, + { + "id": "road-main", + "ref": "road-main-case", + "interactive": true, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 8.5, + 0.5 + ], + [ + 10, + 0.75 + ], + [ + 18, + 26 + ] + ] + }, + "line-color": { + "base": 1, + "stops": [ + [ + 5, + "#ede9d9" + ], + [ + 8, + "#fff" + ] + ] + }, + "line-opacity": { + "base": 1.2, + "stops": [ + [ + 5, + 0 + ], + [ + 5.5, + 1 + ] + ] + } + } + }, + { + "id": "road-trunk", + "ref": "road-trunk-case", + "interactive": true, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + }, + "line-color": "#f2cf60" + } + }, + { + "id": "road-motorway", + "ref": "road-motorway-case", + "interactive": true, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + }, + "line-color": { + "base": 1, + "stops": [ + [ + 5.9, + "#fff" + ], + [ + 6, + "#ffa159" + ] + ] + }, + "line-opacity": { + "base": 1.2, + "stops": [ + [ + 5, + 0 + ], + [ + 5.5, + 1 + ] + ] + } + } + }, + { + "id": "road-rail", + "type": "line", + "source": "composite", + "source-layer": "road", + "minzoom": 13, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "major_rail", + "minor_rail" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "butt" + }, + "paint": { + "line-color": { + "stops": [ + [ + 13, + "#d8d5c8" + ], + [ + 16, + "#b3b1a6" + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 20, + 1 + ] + ] + } + } + }, + { + "id": "road-rail-tracks", + "ref": "road-rail", + "interactive": true, + "paint": { + "line-color": { + "stops": [ + [ + 13, + "#d8d5c8" + ], + [ + 16, + "#b3b1a6" + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 4 + ], + [ + 20, + 8 + ] + ] + }, + "line-dasharray": [ + 0.1, + 15 + ], + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.75, + 0 + ], + [ + 14, + 1 + ] + ] + } + } + }, + { + "id": "bridge-street_limited-polygon", + "type": "fill", + "source": "composite", + "source-layer": "bridge", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "street_limited" + ], + [ + "in", + "$type", + "Polygon" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#EEE8E3", + "fill-opacity": 0.75 + } + }, + { + "id": "bridge-path-bg", + "type": "line", + "source": "composite", + "source-layer": "bridge", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "path" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 15, + 2 + ], + [ + 18, + 7 + ] + ] + }, + "line-dasharray": [ + 1, + 0 + ], + "line-color": "#d9d3c9", + "line-blur": 0, + "line-opacity": { + "base": 1, + "stops": [ + [ + 15, + 0 + ], + [ + 15.25, + 0.75 + ] + ] + } + } + }, + { + "id": "bridge-path", + "ref": "bridge-path-bg", + "interactive": true, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 15, + 1 + ], + [ + 18, + 4 + ] + ] + }, + "line-color": "#fff", + "line-dasharray": { + "base": 1, + "stops": [ + [ + 14, + [ + 0.1, + 1.25 + ] + ], + [ + 16, + [ + 0.1, + 1.6 + ] + ], + [ + 17, + [ + 0.1, + 1.45 + ] + ], + [ + 18, + [ + 0.1, + 1.3 + ] + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 15, + 0 + ], + [ + 15.25, + 1 + ] + ] + } + } + }, + { + "id": "bridge-street-low", + "type": "line", + "source": "composite", + "source-layer": "bridge", + "minzoom": 11, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "street" + ], + [ + "in", + "$type", + "LineString" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-color": "#fff", + "line-opacity": { + "stops": [ + [ + 11.5, + 0 + ], + [ + 12, + 1 + ], + [ + 14, + 1 + ], + [ + 14.01, + 0 + ] + ] + } + } + }, + { + "id": "bridge-street_limited-low", + "type": "line", + "source": "composite", + "source-layer": "bridge", + "minzoom": 11, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "street_limited" + ], + [ + "in", + "$type", + "LineString" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-color": "#fff", + "line-opacity": { + "stops": [ + [ + 11.5, + 0 + ], + [ + 12, + 1 + ], + [ + 14, + 1 + ], + [ + 14.01, + 0 + ] + ] + } + } + }, + { + "id": "bridge-motorway_link-case", + "type": "line", + "source": "composite", + "source-layer": "bridge", + "minzoom": 12, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "motorway_link" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + }, + "line-color": "#fff", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-opacity": 1 + } + }, + { + "id": "bridge-service-driveway-case", + "type": "line", + "source": "composite", + "source-layer": "bridge", + "minzoom": 15, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "service", + "driveway" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + }, + "line-color": "#d9d3c9", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 18, + 12 + ] + ] + } + } + }, + { + "id": "bridge-street_limited-case", + "type": "line", + "source": "composite", + "source-layer": "bridge", + "minzoom": 14, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "street_limited" + ], + [ + "in", + "$type", + "LineString" + ], + [ + "!=", + "type", + "construction" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + }, + "line-color": "#d9d3c9", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 13, + 0 + ], + [ + 14, + 2 + ], + [ + 18, + 12 + ] + ] + } + } + }, + { + "id": "bridge-street-case", + "type": "line", + "source": "composite", + "source-layer": "bridge", + "minzoom": 14, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "street" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + }, + "line-color": "#d9d3c9", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 13, + 0 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + } + }, + { + "id": "bridge-main-case", + "type": "line", + "source": "composite", + "source-layer": "bridge", + "minzoom": 8, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "main" + ], + [ + "!=", + "type", + "trunk" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.2, + "stops": [ + [ + 10, + 0.75 + ], + [ + 18, + 2 + ] + ] + }, + "line-color": "#d9d3c9", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 8.5, + 0.5 + ], + [ + 10, + 0.75 + ], + [ + 18, + 26 + ] + ] + }, + "line-translate": [ + 0, + 0 + ] + } + }, + { + "id": "bridge-motorway-trunk-case", + "type": "line", + "source": "composite", + "source-layer": "bridge", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "any", + [ + "in", + "class", + "motorway" + ], + [ + "in", + "type", + "trunk" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 16, + 2 + ] + ] + }, + "line-color": "#fff", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + } + } + }, + { + "id": "bridge-motorway_link", + "type": "line", + "source": "composite", + "source-layer": "bridge", + "minzoom": 10, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "motorway_link" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-color": "#ffa159" + } + }, + { + "id": "bridge-service-driveway", + "type": "line", + "source": "composite", + "source-layer": "bridge", + "minzoom": 15, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "service", + "driveway" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 18, + 12 + ] + ] + }, + "line-color": "#fff" + } + }, + { + "id": "bridge-construction", + "type": "line", + "source": "composite", + "source-layer": "bridge", + "minzoom": 14, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "street_limited" + ], + [ + "in", + "$type", + "LineString" + ], + [ + "in", + "type", + "construction" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "butt", + "line-join": "miter" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 12 + ] + ] + }, + "line-color": "#d9d3c9", + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + }, + "line-dasharray": { + "base": 1, + "stops": [ + [ + 14, + [ + 0.4, + 0.8 + ] + ], + [ + 15, + [ + 0.3, + 0.6 + ] + ], + [ + 16, + [ + 0.2, + 0.3 + ] + ], + [ + 17, + [ + 0.2, + 0.25 + ] + ], + [ + 18, + [ + 0.15, + 0.15 + ] + ] + ] + } + } + }, + { + "id": "bridge-street_limited", + "type": "line", + "source": "composite", + "source-layer": "bridge", + "minzoom": 11, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "street_limited" + ], + [ + "in", + "$type", + "LineString" + ], + [ + "!=", + "type", + "construction" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 12 + ] + ] + }, + "line-color": "#EFEDEB", + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + } + } + }, + { + "id": "bridge-street", + "type": "line", + "source": "composite", + "source-layer": "bridge", + "minzoom": 11, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "street" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-color": "#fff", + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + } + } + }, + { + "id": "bridge-main", + "type": "line", + "source": "composite", + "source-layer": "bridge", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "main" + ], + [ + "!=", + "type", + "trunk" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 8.5, + 0.5 + ], + [ + 10, + 0.75 + ], + [ + 18, + 26 + ] + ] + }, + "line-color": "#fff", + "line-opacity": { + "base": 1.2, + "stops": [ + [ + 5, + 0 + ], + [ + 5.5, + 1 + ] + ] + } + } + }, + { + "id": "bridge-trunk", + "type": "line", + "source": "composite", + "source-layer": "bridge", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "main" + ], + [ + "in", + "type", + "trunk" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + }, + "line-color": "#f2cf60" + } + }, + { + "id": "bridge-motorway", + "type": "line", + "source": "composite", + "source-layer": "bridge", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "motorway" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + }, + "line-color": "#ffa159" + } + }, + { + "id": "bridge-rail", + "type": "line", + "source": "composite", + "source-layer": "bridge", + "minzoom": 13, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "major_rail", + "minor_rail" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "butt" + }, + "paint": { + "line-color": { + "stops": [ + [ + 13, + "#d8d5c8" + ], + [ + 16, + "#b3b1a6" + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 20, + 1 + ] + ] + } + } + }, + { + "id": "bridge-rail-tracks", + "ref": "bridge-rail", + "interactive": true, + "paint": { + "line-color": { + "stops": [ + [ + 13, + "#d8d5c8" + ], + [ + 16, + "#b3b1a6" + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 4 + ], + [ + 20, + 8 + ] + ] + }, + "line-dasharray": [ + 0.1, + 15 + ], + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.75, + 0 + ], + [ + 20, + 1 + ] + ] + } + } + }, + { + "id": "bridge-aerialway", + "type": "line", + "source": "composite", + "source-layer": "bridge", + "minzoom": 13, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "aerialway" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "butt" + }, + "paint": { + "line-color": "#b3ada6", + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 20, + 1 + ] + ] + } + } + }, + { + "id": "hedges", + "type": "line", + "source": "composite", + "source-layer": "barrier_line", + "minzoom": 16, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "hedge" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#e2f4c2", + "line-width": { + "base": 1, + "stops": [ + [ + 16, + 1 + ], + [ + 20, + 3 + ] + ] + }, + "line-opacity": 1, + "line-dasharray": [ + 1, + 2, + 5, + 2, + 1, + 2 + ] + } + }, + { + "id": "fences", + "type": "line", + "source": "composite", + "source-layer": "barrier_line", + "minzoom": 16, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "fence" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#cbc6b7", + "line-width": { + "base": 1, + "stops": [ + [ + 16, + 1 + ], + [ + 20, + 3 + ] + ] + }, + "line-opacity": 1, + "line-dasharray": [ + 1, + 2, + 5, + 2, + 1, + 2 + ] + } + }, + { + "id": "gates", + "type": "line", + "source": "composite", + "source-layer": "barrier_line", + "minzoom": 17, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "gate" + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#cbc6b7", + "line-width": { + "base": 1, + "stops": [ + [ + 16, + 1 + ], + [ + 20, + 3 + ] + ] + }, + "line-opacity": 0.5, + "line-dasharray": [ + 1, + 2, + 5, + 2, + 1, + 2 + ] + } + }, + { + "id": "admin-2-boundaries-bg", + "type": "line", + "source": "composite", + "source-layer": "admin", + "minzoom": 1, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "admin_level", + 2 + ], + [ + "in", + "maritime", + 0 + ] + ], + "layout": { + "visibility": "visible", + "line-join": "miter", + "line-cap": "butt" + }, + "paint": { + "line-width": { + "base": 1, + "stops": [ + [ + 3, + 3.5 + ], + [ + 10, + 10 + ] + ] + }, + "line-color": { + "base": 1, + "stops": [ + [ + 6, + "#ede9d9" + ], + [ + 8, + "#f6e8e1" + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 3, + 0 + ], + [ + 4, + 0.5 + ] + ] + }, + "line-translate": [ + 0, + 0 + ], + "line-blur": { + "base": 1, + "stops": [ + [ + 3, + 0 + ], + [ + 10, + 2 + ] + ] + } + } + }, + { + "id": "admin-3-4-boundaries", + "type": "line", + "source": "composite", + "source-layer": "admin", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + ">=", + "admin_level", + 3 + ], + [ + "in", + "maritime", + 0 + ] + ], + "layout": { + "visibility": "visible", + "line-join": "round", + "line-cap": "round" + }, + "paint": { + "line-dasharray": { + "base": 1, + "stops": [ + [ + 6, + [ + 2, + 0 + ] + ], + [ + 7, + [ + 2, + 2, + 6, + 2 + ] + ] + ] + }, + "line-width": { + "base": 1, + "stops": [ + [ + 7, + 0.75 + ], + [ + 12, + 1.5 + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 2, + 0 + ], + [ + 3, + 1 + ] + ] + }, + "line-color": { + "base": 1, + "stops": [ + [ + 3, + "#c3bfcc" + ], + [ + 7, + "#aba8b3" + ] + ] + } + } + }, + { + "id": "admin-2-boundaries", + "type": "line", + "source": "composite", + "source-layer": "admin", + "minzoom": 1, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "admin_level", + 2 + ], + [ + "in", + "maritime", + 0 + ], + [ + "in", + "disputed", + 0 + ] + ], + "layout": { + "visibility": "visible", + "line-join": "round", + "line-cap": "round" + }, + "paint": { + "line-color": "#787680", + "line-width": { + "base": 1, + "stops": [ + [ + 3, + 0.5 + ], + [ + 10, + 2 + ] + ] + } + } + }, + { + "id": "admin-2-boundaries-dispute", + "type": "line", + "source": "composite", + "source-layer": "admin", + "minzoom": 1, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "admin_level", + 2 + ], + [ + "in", + "maritime", + 0 + ], + [ + "in", + "disputed", + 1 + ] + ], + "layout": { + "visibility": "visible", + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-dasharray": [ + 1.5, + 1.5 + ], + "line-color": "#787680", + "line-width": { + "base": 1, + "stops": [ + [ + 3, + 0.5 + ], + [ + 10, + 2 + ] + ] + } + } + }, + { + "id": "contour", + "type": "line", + "source": "composite", + "source-layer": "contour", + "minzoom": 14, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "!=", + "index", + 5 + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "line-opacity": 0.07, + "line-color": "#66601a" + } + }, + { + "id": "contour-index", + "type": "line", + "source": "composite", + "source-layer": "contour", + "minzoom": 14, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "index", + 5 + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "line-opacity": 0.12, + "line-color": "#66601a" + } + }, + { + "id": "tunnel-oneway-arrows-color", + "type": "symbol", + "source": "composite", + "source-layer": "tunnel", + "minzoom": 15, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "oneway", + 1 + ], + [ + "in", + "class", + "main", + "street", + "street_limited" + ], + [ + "!=", + "type", + "trunk" + ] + ], + "layout": { + "symbol-placement": "line", + "icon-image": { + "base": 1, + "stops": [ + [ + 16, + "oneway-spaced-small" + ], + [ + 17, + "oneway-spaced-large" + ] + ] + }, + "icon-ignore-placement": false, + "symbol-spacing": 250 + }, + "paint": {} + }, + { + "id": "tunnel-oneway-arrows-white", + "type": "symbol", + "source": "composite", + "source-layer": "tunnel", + "minzoom": 15, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "oneway", + 1 + ], + [ + "any", + [ + "in", + "class", + "motorway", + "motorway_link" + ], + [ + "in", + "type", + "trunk" + ] + ] + ], + "layout": { + "symbol-placement": "line", + "icon-image": { + "base": 1, + "stops": [ + [ + 16, + "oneway-spaced-white-small" + ], + [ + 17, + "oneway-spaced-white-large" + ] + ] + }, + "icon-ignore-placement": false, + "symbol-spacing": 250 + }, + "paint": {} + }, + { + "id": "road-oneway-arrows-color", + "type": "symbol", + "source": "composite", + "source-layer": "road", + "minzoom": 15, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "oneway", + 1 + ], + [ + "in", + "class", + "main", + "street", + "street_limited" + ], + [ + "!=", + "type", + "trunk" + ] + ], + "layout": { + "symbol-placement": "line", + "icon-image": { + "base": 1, + "stops": [ + [ + 16, + "oneway-spaced-small" + ], + [ + 17, + "oneway-spaced-large" + ] + ] + }, + "icon-ignore-placement": false, + "icon-rotation-alignment": "map", + "icon-padding": 2, + "symbol-spacing": 250 + }, + "paint": {} + }, + { + "id": "road-oneway-arrows-white", + "type": "symbol", + "source": "composite", + "source-layer": "road", + "minzoom": 15, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "oneway", + 1 + ], + [ + "any", + [ + "in", + "class", + "motorway", + "motorway_link" + ], + [ + "in", + "type", + "trunk" + ] + ] + ], + "layout": { + "symbol-placement": "line", + "icon-image": { + "base": 1, + "stops": [ + [ + 16, + "oneway-spaced-white-small" + ], + [ + 17, + "oneway-spaced-white-large" + ] + ] + }, + "icon-ignore-placement": false, + "icon-padding": 2, + "symbol-spacing": 250 + }, + "paint": {} + }, + { + "id": "bridge-oneway-arrows-color", + "type": "symbol", + "source": "composite", + "source-layer": "bridge", + "minzoom": 15, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "oneway", + 1 + ], + [ + "in", + "class", + "main", + "street", + "street_limited" + ], + [ + "!=", + "type", + "trunk" + ] + ], + "layout": { + "symbol-placement": "line", + "icon-image": { + "base": 1, + "stops": [ + [ + 16, + "oneway-spaced-small" + ], + [ + 17, + "oneway-spaced-large" + ] + ] + }, + "icon-ignore-placement": false, + "symbol-spacing": 250 + }, + "paint": {} + }, + { + "id": "bridge-oneway-arrows-white", + "type": "symbol", + "source": "composite", + "source-layer": "bridge", + "minzoom": 15, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "oneway", + 1 + ], + [ + "any", + [ + "in", + "class", + "motorway", + "motorway_link" + ], + [ + "in", + "type", + "trunk" + ] + ] + ], + "layout": { + "symbol-placement": "line", + "icon-image": { + "base": 1, + "stops": [ + [ + 16, + "oneway-spaced-white-small" + ], + [ + 17, + "oneway-spaced-white-large" + ] + ] + }, + "icon-ignore-placement": false, + "symbol-spacing": 250 + }, + "paint": {} + }, + { + "id": "housenum-label", + "type": "symbol", + "source": "composite", + "source-layer": "housenum_label", + "minzoom": 17, + "maxzoom": 22, + "interactive": true, + "layout": { + "visibility": "visible", + "text-field": "{house_num}", + "text-font": [ + "DIN Offc Pro Italic", + "Arial Unicode MS Regular" + ], + "symbol-placement": "point", + "text-padding": 4, + "text-max-width": 7, + "text-size": 9.5 + }, + "paint": { + "text-color": "#b2aca5", + "text-halo-color": "#e8e0cc", + "text-halo-width": 1.5, + "text-halo-blur": 0 + } + }, + { + "id": "contour-index-label", + "type": "symbol", + "source": "composite", + "source-layer": "contour", + "minzoom": 14, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "index", + 5 + ] + ], + "layout": { + "text-field": "{ele} m", + "symbol-placement": "line", + "text-max-angle": 25, + "visibility": "visible", + "text-padding": 5, + "text-font": [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ], + "text-size": 9.5 + }, + "paint": { + "text-color": "#a7a696", + "text-halo-width": 1, + "text-halo-blur": 1, + "text-halo-color": "rgba(237,233,217, 0.25)" + } + }, + { + "id": "waterway-label", + "type": "symbol", + "source": "composite", + "source-layer": "waterway_label", + "minzoom": 12, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "river" + ] + ], + "layout": { + "text-field": "{name_en}", + "visibility": "visible", + "text-font": [ + "DIN Offc Pro Italic", + "Arial Unicode MS Regular" + ], + "symbol-placement": "line", + "text-max-angle": 30, + "text-size": { + "base": 1, + "stops": [ + [ + 13, + 12 + ], + [ + 18, + 16 + ] + ] + } + }, + "paint": { + "text-halo-width": 0.5, + "text-halo-color": "#ffffff", + "text-color": "#004087", + "text-halo-blur": 0.5 + } + }, + { + "id": "poi-scalerank4-l15", + "type": "symbol", + "source": "composite", + "source-layer": "poi_label", + "minzoom": 17, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "!in", + "maki", + "rail-light", + "rail-metro", + "rail", + "airport", + "airfield", + "heliport", + "rocket", + "park", + "golf", + "cemetery", + "zoo", + "campsite", + "swimming", + "dog-park" + ], + [ + "in", + "scalerank", + 4 + ], + [ + ">=", + "localrank", + 15 + ] + ], + "layout": { + "text-line-height": 1.2, + "text-allow-overlap": false, + "icon-image": "{maki}-11", + "text-ignore-placement": false, + "text-max-angle": 38, + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "symbol-placement": "point", + "text-padding": 2, + "visibility": "visible", + "text-offset": [ + 0, + 1 + ], + "icon-optional": false, + "text-rotation-alignment": "viewport", + "text-anchor": "top", + "text-field": "{name_en}", + "text-letter-spacing": 0.02, + "text-max-width": 8, + "symbol-spacing": 250, + "text-size": { + "base": 1, + "stops": [ + [ + 16, + 11 + ], + [ + 20, + 13 + ] + ] + } + }, + "paint": { + "text-color": "#65513d", + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "poi-scalerank4-l1", + "type": "symbol", + "source": "composite", + "source-layer": "poi_label", + "minzoom": 16, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "!in", + "maki", + "rail-light", + "rail-metro", + "rail", + "airport", + "airfield", + "heliport", + "rocket", + "park", + "golf", + "cemetery", + "zoo", + "campsite", + "swimming", + "dog-park" + ], + [ + "in", + "scalerank", + 4 + ], + [ + "<=", + "localrank", + 14 + ] + ], + "layout": { + "text-line-height": 1.2, + "text-allow-overlap": false, + "icon-image": "{maki}-11", + "text-ignore-placement": false, + "text-max-angle": 38, + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "symbol-placement": "point", + "text-padding": 1, + "visibility": "visible", + "text-offset": [ + 0, + 1 + ], + "icon-optional": false, + "text-rotation-alignment": "viewport", + "text-anchor": "top", + "text-field": "{name_en}", + "text-letter-spacing": 0.02, + "text-max-width": 8, + "symbol-spacing": 250, + "text-size": { + "base": 1, + "stops": [ + [ + 16, + 11 + ], + [ + 20, + 13 + ] + ] + } + }, + "paint": { + "text-color": "#65513d", + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "poi-parks_scalerank4", + "type": "symbol", + "source": "composite", + "source-layer": "poi_label", + "minzoom": 16, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "maki", + "park", + "cemetery", + "golf", + "zoo", + "playground" + ], + [ + "in", + "scalerank", + 4 + ] + ], + "layout": { + "text-line-height": 1.2, + "text-allow-overlap": false, + "icon-image": "{maki}-11", + "text-ignore-placement": false, + "text-max-angle": 38, + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "symbol-placement": "point", + "text-padding": 1, + "visibility": "visible", + "text-offset": [ + 0, + 1 + ], + "icon-optional": false, + "text-rotation-alignment": "viewport", + "text-anchor": "top", + "text-field": "{name_en}", + "text-letter-spacing": 0.02, + "text-max-width": 8, + "symbol-spacing": 250, + "text-size": { + "base": 1, + "stops": [ + [ + 16, + 11 + ], + [ + 20, + 13 + ] + ] + } + }, + "paint": { + "text-color": "#4c661f", + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "poi-scalerank3", + "type": "symbol", + "source": "composite", + "source-layer": "poi_label", + "minzoom": 15, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "!in", + "maki", + "rail-light", + "rail-metro", + "rail", + "airport", + "airfield", + "heliport", + "rocket", + "park", + "golf", + "cemetery", + "zoo", + "campsite", + "swimming", + "dog-park" + ], + [ + "in", + "scalerank", + 3 + ] + ], + "layout": { + "text-line-height": 1.2, + "text-allow-overlap": false, + "icon-image": "{maki}-11", + "text-ignore-placement": false, + "text-max-angle": 38, + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "symbol-placement": "point", + "text-padding": 1, + "visibility": "visible", + "text-offset": [ + 0, + 1 + ], + "icon-optional": false, + "text-rotation-alignment": "viewport", + "text-anchor": "top", + "text-field": "{name_en}", + "text-letter-spacing": 0.02, + "text-max-width": 8, + "symbol-spacing": 250, + "text-size": { + "base": 1, + "stops": [ + [ + 16, + 11 + ], + [ + 20, + 13 + ] + ] + } + }, + "paint": { + "text-color": "#65513d", + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "poi-parks-scalerank3", + "type": "symbol", + "source": "composite", + "source-layer": "poi_label", + "minzoom": 15, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "maki", + "park", + "cemetery", + "golf", + "zoo" + ], + [ + "in", + "scalerank", + 3 + ] + ], + "layout": { + "text-line-height": 1.2, + "text-allow-overlap": false, + "icon-image": "{maki}-11", + "text-ignore-placement": false, + "text-max-angle": 38, + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "symbol-placement": "point", + "text-padding": 2, + "visibility": "visible", + "text-offset": [ + 0, + 1 + ], + "icon-optional": false, + "text-rotation-alignment": "viewport", + "text-anchor": "top", + "text-field": "{name_en}", + "text-letter-spacing": 0.02, + "text-max-width": 8, + "symbol-spacing": 250, + "text-size": { + "base": 1, + "stops": [ + [ + 16, + 11 + ], + [ + 20, + 13 + ] + ] + } + }, + "paint": { + "text-color": "#4c661f", + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "road-label-small", + "type": "symbol", + "source": "composite", + "source-layer": "road_label", + "minzoom": 15, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "!in", + "class", + "motorway", + "main", + "street_limited", + "street" + ], + [ + "in", + "$type", + "LineString" + ] + ], + "layout": { + "text-ignore-placement": false, + "text-max-angle": 30, + "text-font": [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ], + "symbol-placement": "line", + "text-padding": 1, + "visibility": "visible", + "text-rotation-alignment": "map", + "text-field": "{name_en}", + "text-letter-spacing": 0.01, + "symbol-spacing": 250, + "text-size": { + "base": 1, + "stops": [ + [ + 15, + 10 + ], + [ + 20, + 13 + ] + ] + } + }, + "paint": { + "text-color": "#3a3836", + "text-halo-color": "#ffffff", + "text-halo-width": 1.25, + "text-halo-blur": 1 + } + }, + { + "id": "road-label-medium", + "type": "symbol", + "source": "composite", + "source-layer": "road_label", + "minzoom": 11, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "street", + "street_limited" + ], + [ + "in", + "$type", + "LineString" + ] + ], + "layout": { + "text-max-angle": 30, + "text-font": [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ], + "symbol-placement": "line", + "text-padding": 1, + "visibility": "visible", + "text-rotation-alignment": "map", + "text-field": "{name_en}", + "text-letter-spacing": 0.01, + "symbol-spacing": 250, + "text-size": { + "base": 1, + "stops": [ + [ + 11, + 10 + ], + [ + 20, + 14 + ] + ] + } + }, + "paint": { + "text-color": "#3a3836", + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "road-label-large", + "type": "symbol", + "source": "composite", + "source-layer": "road_label", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "class", + "main", + "motorway" + ] + ], + "layout": { + "text-allow-overlap": false, + "text-ignore-placement": false, + "text-max-angle": 30, + "text-font": [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ], + "symbol-placement": "line", + "text-padding": 1, + "visibility": "visible", + "text-rotation-alignment": "map", + "text-field": "{name_en}", + "text-letter-spacing": 0.01, + "symbol-spacing": 250, + "text-size": { + "base": 1, + "stops": [ + [ + 9, + 10 + ], + [ + 20, + 16 + ] + ] + } + }, + "paint": { + "text-color": "#3a3836", + "text-halo-color": "rgba(255,255,255, 0.75)", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "other-motorway-shields", + "type": "symbol", + "source": "composite", + "source-layer": "road_label", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "!in", + "shield", + "us-interstate", + "us-interstate-business", + "us-interstate-duplex" + ], + [ + "<=", + "reflen", + 6 + ] + ], + "layout": { + "text-allow-overlap": false, + "icon-image": { + "base": 1, + "stops": [ + [ + 0, + "{shield}-{reflen}-small" + ], + [ + 16, + "{shield}-{reflen}-large" + ] + ] + }, + "icon-rotation-alignment": "viewport", + "symbol-avoid-edges": false, + "text-ignore-placement": false, + "text-max-angle": 38, + "text-font": [ + "DIN Offc Pro Bold", + "Arial Unicode MS Bold" + ], + "symbol-placement": { + "base": 1, + "stops": [ + [ + 10, + "point" + ], + [ + 11, + "line" + ] + ] + }, + "text-padding": 2, + "visibility": "visible", + "text-rotation-alignment": "viewport", + "text-field": "{ref}", + "text-letter-spacing": 0.05, + "icon-padding": 2, + "symbol-spacing": { + "base": 1, + "stops": [ + [ + 11, + 100 + ], + [ + 14, + 200 + ] + ] + }, + "text-size": { + "base": 1, + "stops": [ + [ + 16, + 9 + ], + [ + 16.01, + 11 + ] + ] + } + }, + "paint": { + "text-color": "#3a3836", + "icon-halo-color": "rgba(0, 0, 0, 1)", + "icon-halo-width": 1, + "text-opacity": 1, + "icon-color": "white", + "text-halo-color": "#ffffff", + "text-halo-width": 0 + } + }, + { + "id": "interstate_motorway_shields", + "type": "symbol", + "source": "composite", + "source-layer": "road_label", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "shield", + "us-interstate", + "us-interstate-business", + "us-interstate-duplex" + ], + [ + "<=", + "reflen", + 6 + ] + ], + "layout": { + "text-allow-overlap": false, + "icon-image": { + "base": 1, + "stops": [ + [ + 0, + "{shield}-{reflen}-small" + ], + [ + 16, + "{shield}-{reflen}-large" + ] + ] + }, + "icon-rotation-alignment": "viewport", + "symbol-avoid-edges": false, + "text-ignore-placement": false, + "text-max-angle": 38, + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "symbol-placement": { + "base": 1, + "stops": [ + [ + 10, + "point" + ], + [ + 11, + "line" + ] + ] + }, + "text-padding": 2, + "visibility": "visible", + "text-rotation-alignment": "viewport", + "text-field": "{ref}", + "text-letter-spacing": 0.05, + "icon-padding": 2, + "symbol-spacing": { + "base": 1, + "stops": [ + [ + 11, + 100 + ], + [ + 14, + 200 + ] + ] + }, + "text-size": { + "base": 1, + "stops": [ + [ + 16, + 9 + ], + [ + 16.01, + 11 + ] + ] + } + }, + "paint": { + "text-color": "#fff", + "icon-halo-color": "rgba(0, 0, 0, 1)", + "icon-halo-width": 1, + "text-opacity": 1, + "icon-color": "white", + "text-halo-color": "#ffffff", + "text-halo-width": 0 + } + }, + { + "id": "poi-scalerank2", + "type": "symbol", + "source": "composite", + "source-layer": "poi_label", + "minzoom": 13, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "!in", + "maki", + "rail-light", + "rail-metro", + "rail", + "airport", + "airfield", + "heliport", + "rocket", + "park", + "golf", + "cemetery", + "zoo", + "campsite", + "swimming", + "dog-park" + ], + [ + "in", + "scalerank", + 2 + ] + ], + "layout": { + "text-line-height": 1.2, + "text-allow-overlap": false, + "icon-image": { + "stops": [ + [ + 14, + "{maki}-11" + ], + [ + 15, + "{maki}-15" + ] + ] + }, + "text-ignore-placement": false, + "text-max-angle": 38, + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "symbol-placement": "point", + "text-padding": 2, + "visibility": "visible", + "text-offset": [ + 0, + 1.25 + ], + "icon-optional": false, + "text-rotation-alignment": "viewport", + "text-anchor": "top", + "text-field": "{name_en}", + "text-letter-spacing": 0.02, + "text-max-width": 8, + "symbol-spacing": 250, + "text-size": { + "base": 1, + "stops": [ + [ + 14, + 11 + ], + [ + 20, + 14 + ] + ] + } + }, + "paint": { + "text-color": "#65513d", + "text-halo-color": "#ffffff", + "text-halo-width": 1.25 + } + }, + { + "id": "poi-parks-scalerank2", + "type": "symbol", + "source": "composite", + "source-layer": "poi_label", + "minzoom": 13, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "maki", + "park", + "golf", + "cemetery", + "zoo", + "campsite", + "swimming", + "dog-park" + ], + [ + "in", + "scalerank", + 2 + ] + ], + "layout": { + "text-line-height": 1.2, + "text-allow-overlap": false, + "icon-image": { + "stops": [ + [ + 14, + "{maki}-11" + ], + [ + 15, + "{maki}-15" + ] + ] + }, + "text-ignore-placement": false, + "text-max-angle": 38, + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "symbol-placement": "point", + "text-padding": 2, + "visibility": "visible", + "text-offset": [ + 0, + 1.25 + ], + "icon-optional": false, + "text-rotation-alignment": "viewport", + "text-anchor": "top", + "text-field": "{name_en}", + "text-letter-spacing": 0.02, + "text-max-width": 8, + "symbol-spacing": 250, + "text-size": { + "base": 1, + "stops": [ + [ + 14, + 11 + ], + [ + 20, + 14 + ] + ] + } + }, + "paint": { + "text-color": "#4c661f", + "text-halo-color": "#ffffff", + "text-halo-width": 1.25 + } + }, + { + "id": "rail-label", + "type": "symbol", + "source": "composite", + "source-layer": "poi_label", + "minzoom": 12, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "type", + "Rail Station" + ] + ], + "layout": { + "icon-image": "{network}-11", + "symbol-avoid-edges": true, + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "icon-allow-overlap": false, + "symbol-placement": "point", + "text-justify": "center", + "visibility": "visible", + "text-offset": [ + 0, + 1 + ], + "text-rotation-alignment": "viewport", + "text-anchor": "top", + "text-field": { + "base": 1, + "stops": [ + [ + 0, + "" + ], + [ + 13, + "{name_en}" + ] + ] + }, + "text-letter-spacing": 0.02, + "icon-padding": 0, + "text-max-width": 7, + "symbol-spacing": 250, + "text-size": { + "base": 1, + "stops": [ + [ + 16, + 11 + ], + [ + 20, + 13 + ] + ] + } + }, + "paint": { + "text-color": "#65513d", + "text-halo-color": "#ffffff", + "text-halo-width": 1.5, + "icon-halo-width": 4, + "icon-halo-color": "#fff", + "text-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + } + } + }, + { + "id": "water-label-sm", + "type": "symbol", + "source": "composite", + "source-layer": "water_label", + "minzoom": 15, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "<=", + "area", + 10000 + ] + ], + "layout": { + "text-field": "{name_en}", + "visibility": "visible", + "text-font": [ + "DIN Offc Pro Italic", + "Arial Unicode MS Regular" + ], + "text-max-width": 7, + "text-size": { + "base": 1, + "stops": [ + [ + 16, + 13 + ], + [ + 20, + 16 + ] + ] + } + }, + "paint": { + "text-halo-width": 0, + "text-halo-color": "#ffffff", + "text-color": "#004087", + "text-halo-blur": 1.5 + } + }, + { + "id": "water-label", + "type": "symbol", + "source": "composite", + "source-layer": "water_label", + "minzoom": 5, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + ">", + "area", + 10000 + ] + ], + "layout": { + "text-field": "{name_en}", + "visibility": "visible", + "text-font": [ + "DIN Offc Pro Italic", + "Arial Unicode MS Regular" + ], + "text-max-width": 7, + "text-size": { + "base": 1, + "stops": [ + [ + 13, + 13 + ], + [ + 18, + 18 + ] + ] + } + }, + "paint": { + "text-halo-width": 0, + "text-halo-color": "#ffffff", + "text-color": "#004087", + "text-halo-blur": 1.5 + } + }, + { + "id": "poi-parks-scalerank1", + "type": "symbol", + "source": "composite", + "source-layer": "poi_label", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "maki", + "park", + "golf", + "cemetery", + "zoo", + "campsite", + "swimming", + "dog-park" + ], + [ + "<=", + "scalerank", + 1 + ] + ], + "layout": { + "text-line-height": 1.2, + "text-allow-overlap": false, + "icon-image": { + "stops": [ + [ + 13, + "{maki}-11" + ], + [ + 14, + "{maki}-15" + ] + ] + }, + "text-ignore-placement": false, + "text-max-angle": 38, + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "symbol-placement": "point", + "text-padding": 2, + "visibility": "visible", + "text-offset": [ + 0, + 1 + ], + "icon-optional": false, + "text-rotation-alignment": "viewport", + "text-anchor": "top", + "text-field": "{name_en}", + "text-letter-spacing": 0.02, + "text-max-width": 8, + "symbol-spacing": 250, + "text-size": { + "base": 1, + "stops": [ + [ + 10, + 11 + ], + [ + 18, + 14 + ] + ] + } + }, + "paint": { + "text-color": "#4c661f", + "text-halo-color": "#ffffff", + "text-halo-width": 1, + "text-halo-blur": 0 + } + }, + { + "id": "poi-scalerank1", + "type": "symbol", + "source": "composite", + "source-layer": "poi_label", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "!in", + "maki", + "rail-light", + "rail-metro", + "rail", + "airport", + "airfield", + "heliport", + "rocket", + "park", + "golf", + "cemetery", + "zoo", + "campsite", + "swimming", + "dog-park" + ], + [ + "<=", + "scalerank", + 1 + ], + [ + "!=", + "type", + "Island" + ] + ], + "layout": { + "text-line-height": 1.2, + "text-allow-overlap": false, + "icon-image": { + "stops": [ + [ + 13, + "{maki}-11" + ], + [ + 14, + "{maki}-15" + ] + ] + }, + "text-ignore-placement": false, + "text-max-angle": 38, + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "symbol-placement": "point", + "text-padding": 2, + "visibility": "visible", + "text-offset": [ + 0, + 1 + ], + "icon-optional": false, + "text-rotation-alignment": "viewport", + "text-anchor": "top", + "text-field": "{name_en}", + "text-letter-spacing": 0.02, + "text-max-width": 8, + "symbol-spacing": 250, + "text-size": { + "base": 1, + "stops": [ + [ + 10, + 11 + ], + [ + 18, + 14 + ] + ] + } + }, + "paint": { + "text-color": "#65513d", + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "airport-label", + "type": "symbol", + "source": "composite", + "source-layer": "poi_label", + "minzoom": 9, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "maki", + "airport", + "heliport", + "rocket" + ], + [ + "<=", + "scalerank", + 2 + ] + ], + "layout": { + "text-allow-overlap": false, + "icon-image": { + "stops": [ + [ + 12, + "{maki}-11" + ], + [ + 13, + "{maki}-15" + ] + ] + }, + "text-ignore-placement": false, + "text-font": [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ], + "symbol-placement": "point", + "text-padding": 2, + "visibility": "visible", + "text-offset": { + "base": 1, + "stops": [ + [ + 12, + [ + 0, + 1 + ] + ], + [ + 13, + [ + 0, + 1.25 + ] + ] + ] + }, + "icon-optional": false, + "text-rotation-alignment": "viewport", + "text-anchor": "top", + "text-field": { + "stops": [ + [ + 12, + "{ref}" + ], + [ + 13, + "{name_en}" + ] + ] + }, + "text-letter-spacing": 0.02, + "text-max-width": 9, + "symbol-spacing": 250, + "text-size": { + "base": 1, + "stops": [ + [ + 10, + 12 + ], + [ + 18, + 18 + ] + ] + } + }, + "paint": { + "text-color": "#000000", + "text-halo-color": "#ffffff", + "text-halo-width": 1.25 + } + }, + { + "id": "poi-islets", + "type": "symbol", + "source": "composite", + "source-layer": "poi_label", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "type", + "Islet" + ] + ], + "layout": { + "text-line-height": 1.2, + "text-allow-overlap": false, + "text-ignore-placement": false, + "text-max-angle": 38, + "text-font": [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ], + "symbol-placement": "point", + "text-padding": 2, + "visibility": "visible", + "text-offset": [ + 0, + 0 + ], + "icon-optional": false, + "text-rotation-alignment": "viewport", + "text-anchor": "center", + "text-field": "{name_en}", + "text-letter-spacing": 0.02, + "text-max-width": 8, + "symbol-spacing": 250, + "text-size": { + "base": 1, + "stops": [ + [ + 10, + 11 + ], + [ + 14, + 16 + ] + ] + } + }, + "paint": { + "text-color": "#65513d", + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "place-neighbourhood", + "type": "symbol", + "source": "composite", + "source-layer": "place_label", + "minzoom": 10, + "maxzoom": 16, + "interactive": true, + "filter": [ + "all", + [ + "in", + "type", + "neighbourhood" + ] + ], + "layout": { + "visibility": "visible", + "text-field": "{name_en}", + "text-transform": "uppercase", + "text-letter-spacing": 0.1, + "text-max-width": 7, + "text-font": [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ], + "text-padding": 3, + "text-size": { + "base": 1, + "stops": [ + [ + 12, + 11 + ], + [ + 16, + 16 + ] + ] + } + }, + "paint": { + "text-halo-color": "rgba(255,255,255, 0.5)", + "text-halo-width": 1.75, + "text-color": "#805540", + "text-halo-blur": 0 + } + }, + { + "id": "place-suburb", + "type": "symbol", + "source": "composite", + "source-layer": "place_label", + "minzoom": 10, + "maxzoom": 16, + "interactive": true, + "filter": [ + "all", + [ + "in", + "type", + "suburb" + ] + ], + "layout": { + "visibility": "visible", + "text-field": "{name_en}", + "text-transform": "uppercase", + "text-font": [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.15, + "text-max-width": 7, + "text-padding": 3, + "text-size": { + "base": 1, + "stops": [ + [ + 11, + 11 + ], + [ + 15, + 18 + ] + ] + } + }, + "paint": { + "text-halo-color": "rgba(255,255,255, 0.5)", + "text-halo-width": 1.75, + "text-color": "#805540" + } + }, + { + "id": "place-hamlet", + "type": "symbol", + "source": "composite", + "source-layer": "place_label", + "minzoom": 10, + "maxzoom": 16, + "interactive": true, + "filter": [ + "all", + [ + "in", + "type", + "hamlet" + ] + ], + "layout": { + "visibility": "visible", + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ], + "text-size": { + "base": 1, + "stops": [ + [ + 12, + 11.5 + ], + [ + 15, + 16 + ] + ] + } + }, + "paint": { + "text-halo-color": "#ffffff", + "text-halo-width": 1.25, + "text-color": "#000000" + } + }, + { + "id": "place-village", + "type": "symbol", + "source": "composite", + "source-layer": "place_label", + "minzoom": 8, + "maxzoom": 15, + "interactive": true, + "filter": [ + "all", + [ + "in", + "type", + "village" + ] + ], + "layout": { + "visibility": "visible", + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ], + "text-max-width": 7, + "text-size": { + "base": 1, + "stops": [ + [ + 10, + 11.5 + ], + [ + 16, + 18 + ] + ] + } + }, + "paint": { + "text-halo-color": "#ffffff", + "text-halo-width": 1.25, + "text-color": "#000000" + } + }, + { + "id": "place-town", + "type": "symbol", + "source": "composite", + "source-layer": "place_label", + "minzoom": 6, + "maxzoom": 15, + "interactive": true, + "filter": [ + "all", + [ + "in", + "type", + "town" + ] + ], + "layout": { + "icon-image": "circle.sdf", + "text-font": { + "base": 1, + "stops": [ + [ + 11, + [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ] + ], + [ + 12, + [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ] + ] + ] + }, + "visibility": "visible", + "text-offset": { + "base": 1, + "stops": [ + [ + 7, + [ + 0, + -0.15 + ] + ], + [ + 8, + [ + 0, + 0 + ] + ] + ] + }, + "text-anchor": { + "base": 1, + "stops": [ + [ + 7, + "bottom" + ], + [ + 8, + "center" + ] + ] + }, + "text-field": "{name_en}", + "text-max-width": 7, + "text-size": { + "base": 1, + "stops": [ + [ + 7, + 11.5 + ], + [ + 15, + 20 + ] + ] + }, + "icon-size": 0.3 + }, + "paint": { + "text-color": "#000000", + "icon-halo-blur": 1, + "icon-halo-color": "#ffffff", + "icon-halo-width": 1, + "icon-color": "#000000", + "text-halo-color": "#ffffff", + "text-halo-width": 1.25, + "icon-opacity": { + "base": 1, + "stops": [ + [ + 7.99, + 1 + ], + [ + 8, + 0 + ] + ] + } + } + }, + { + "id": "poi-islands", + "type": "symbol", + "source": "composite", + "source-layer": "poi_label", + "minzoom": 0, + "maxzoom": 22, + "interactive": true, + "filter": [ + "all", + [ + "in", + "type", + "Island" + ] + ], + "layout": { + "text-line-height": 1.2, + "text-allow-overlap": false, + "text-ignore-placement": false, + "text-max-angle": 38, + "text-font": [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ], + "symbol-placement": "point", + "text-padding": 2, + "visibility": "visible", + "text-offset": [ + 0, + 0 + ], + "icon-optional": false, + "text-rotation-alignment": "viewport", + "text-anchor": "center", + "text-field": "{name_en}", + "text-letter-spacing": 0.02, + "text-max-width": 7, + "symbol-spacing": 250, + "text-size": { + "base": 1, + "stops": [ + [ + 10, + 11 + ], + [ + 18, + 16 + ] + ] + } + }, + "paint": { + "text-color": "#65513d", + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "place-city-sm", + "type": "symbol", + "source": "composite", + "source-layer": "place_label", + "minzoom": 0, + "maxzoom": 14, + "interactive": true, + "filter": [ + "all", + [ + "!in", + "scalerank", + 0, + 1, + 2, + 3, + 4, + 5 + ], + [ + "in", + "type", + "city" + ] + ], + "layout": { + "icon-image": "circle.sdf", + "text-transform": "none", + "text-font": { + "base": 1, + "stops": [ + [ + 7, + [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ] + ], + [ + 8, + [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ] + ] + ] + }, + "visibility": "visible", + "text-offset": { + "base": 1, + "stops": [ + [ + 7.99, + [ + 0, + -0.2 + ] + ], + [ + 8, + [ + 0, + 0 + ] + ] + ] + }, + "text-anchor": { + "base": 1, + "stops": [ + [ + 7, + "bottom" + ], + [ + 8, + "center" + ] + ] + }, + "text-field": "{name_en}", + "text-max-width": 7, + "text-size": { + "base": 1, + "stops": [ + [ + 6, + 12 + ], + [ + 14, + 22 + ] + ] + }, + "icon-size": 0.3 + }, + "paint": { + "text-color": "#000000", + "icon-halo-blur": 1, + "icon-halo-color": "#ffffff", + "icon-halo-width": 1, + "icon-color": "#000000", + "text-halo-color": "#ffffff", + "text-halo-width": 1.25, + "icon-opacity": { + "base": 1, + "stops": [ + [ + 7.99, + 1 + ], + [ + 8, + 0 + ] + ] + } + } + }, + { + "id": "place-city-md-s", + "type": "symbol", + "source": "composite", + "source-layer": "place_label", + "minzoom": 0, + "maxzoom": 14, + "interactive": true, + "filter": [ + "all", + [ + "in", + "scalerank", + 3, + 4, + 5 + ], + [ + "in", + "type", + "city" + ], + [ + "in", + "ldir", + "S", + "SE", + "SW", + "E" + ] + ], + "layout": { + "visibility": "visible", + "text-field": "{name_en}", + "icon-image": "circle.sdf", + "text-anchor": { + "base": 1, + "stops": [ + [ + 7, + "top" + ], + [ + 8, + "center" + ] + ] + }, + "text-offset": { + "base": 1, + "stops": [ + [ + 7.99, + [ + 0, + 0.1 + ] + ], + [ + 8, + [ + 0, + 0 + ] + ] + ] + }, + "text-font": { + "base": 1, + "stops": [ + [ + 7, + [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ] + ], + [ + 8, + [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ] + ] + ] + }, + "text-size": { + "base": 0.9, + "stops": [ + [ + 5, + 12 + ], + [ + 12, + 22 + ] + ] + }, + "icon-size": 0.35 + }, + "paint": { + "text-halo-width": 1, + "text-halo-color": "#ffffff", + "text-color": "#000000", + "text-halo-blur": 1, + "icon-color": "#000000", + "icon-opacity": { + "base": 1, + "stops": [ + [ + 7.99, + 1 + ], + [ + 8, + 0 + ] + ] + } + } + }, + { + "id": "place-city-md-n", + "type": "symbol", + "source": "composite", + "source-layer": "place_label", + "minzoom": 0, + "maxzoom": 14, + "interactive": true, + "filter": [ + "all", + [ + "in", + "scalerank", + 3, + 4, + 5 + ], + [ + "in", + "type", + "city" + ], + [ + "in", + "ldir", + "N", + "NE", + "NW", + "W" + ] + ], + "layout": { + "icon-image": "circle.sdf", + "text-font": { + "base": 1, + "stops": [ + [ + 7, + [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ] + ], + [ + 8, + [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ] + ] + ] + }, + "visibility": "visible", + "text-offset": { + "base": 1, + "stops": [ + [ + 7.99, + [ + 0, + -0.25 + ] + ], + [ + 8, + [ + 0, + 0 + ] + ] + ] + }, + "text-anchor": { + "base": 1, + "stops": [ + [ + 7, + "bottom" + ], + [ + 8, + "center" + ] + ] + }, + "text-field": "{name_en}", + "text-max-width": 7, + "text-size": { + "base": 0.9, + "stops": [ + [ + 5, + 12 + ], + [ + 12, + 22 + ] + ] + }, + "icon-size": 0.35 + }, + "paint": { + "text-color": "#000000", + "icon-halo-blur": 1, + "icon-halo-color": "#ffffff", + "icon-halo-width": 1, + "icon-color": "#000000", + "text-halo-color": "#ffffff", + "text-halo-width": 1, + "icon-opacity": { + "base": 1, + "stops": [ + [ + 7.99, + 1 + ], + [ + 8, + 0 + ] + ] + }, + "text-halo-blur": 1 + } + }, + { + "id": "place-city-lg-s", + "type": "symbol", + "source": "composite", + "source-layer": "place_label", + "minzoom": 1, + "maxzoom": 14, + "interactive": true, + "filter": [ + "all", + [ + "<=", + "scalerank", + 2 + ], + [ + "in", + "type", + "city" + ], + [ + "in", + "ldir", + "S", + "SE", + "SW", + "E" + ] + ], + "layout": { + "icon-image": "circle.sdf", + "text-font": { + "base": 1, + "stops": [ + [ + 7, + [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ] + ], + [ + 8, + [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ] + ] + ] + }, + "visibility": "visible", + "text-offset": { + "base": 1, + "stops": [ + [ + 7.99, + [ + 0, + 0.15 + ] + ], + [ + 8, + [ + 0, + 0 + ] + ] + ] + }, + "text-anchor": { + "base": 1, + "stops": [ + [ + 7, + "top" + ], + [ + 8, + "center" + ] + ] + }, + "text-field": "{name_en}", + "text-max-width": 7, + "text-size": { + "base": 0.9, + "stops": [ + [ + 4, + 12 + ], + [ + 10, + 22 + ] + ] + }, + "icon-size": 0.4 + }, + "paint": { + "text-color": "#000000", + "icon-halo-blur": 1, + "icon-halo-color": "#ffffff", + "icon-halo-width": 1, + "icon-color": "#000000", + "text-halo-color": "#ffffff", + "text-halo-width": 1, + "icon-opacity": { + "base": 1, + "stops": [ + [ + 7.99, + 1 + ], + [ + 8, + 0 + ] + ] + }, + "text-halo-blur": 1 + } + }, + { + "id": "place-city-lg-n", + "type": "symbol", + "source": "composite", + "source-layer": "place_label", + "minzoom": 1, + "maxzoom": 14, + "interactive": true, + "filter": [ + "all", + [ + "<=", + "scalerank", + 2 + ], + [ + "in", + "type", + "city" + ], + [ + "in", + "ldir", + "N", + "NE", + "NW", + "W" + ] + ], + "layout": { + "icon-image": "circle.sdf", + "text-font": { + "base": 1, + "stops": [ + [ + 7, + [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ] + ], + [ + 8, + [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ] + ] + ] + }, + "visibility": "visible", + "text-offset": { + "base": 1, + "stops": [ + [ + 7.99, + [ + 0, + -0.25 + ] + ], + [ + 8, + [ + 0, + 0 + ] + ] + ] + }, + "text-anchor": { + "base": 1, + "stops": [ + [ + 7, + "bottom" + ], + [ + 8, + "center" + ] + ] + }, + "text-field": "{name_en}", + "text-max-width": 7, + "text-size": { + "base": 0.9, + "stops": [ + [ + 4, + 12 + ], + [ + 10, + 22 + ] + ] + }, + "icon-size": 0.4 + }, + "paint": { + "text-color": "#000000", + "icon-halo-blur": 1, + "icon-halo-color": "#ffffff", + "icon-halo-width": 1, + "text-opacity": 1, + "icon-color": "#000000", + "text-halo-color": "#ffffff", + "text-halo-width": 1, + "icon-opacity": { + "base": 1, + "stops": [ + [ + 7.99, + 1 + ], + [ + 8, + 0 + ] + ] + }, + "text-halo-blur": 1 + } + }, + { + "id": "marine-label-sm-ln", + "type": "symbol", + "source": "composite", + "source-layer": "marine_label", + "minzoom": 3, + "maxzoom": 10, + "interactive": true, + "filter": [ + "all", + [ + ">=", + "labelrank", + 4 + ], + [ + "in", + "$type", + "LineString" + ] + ], + "layout": { + "text-line-height": 1.1, + "text-font": [ + "DIN Offc Pro Italic", + "Arial Unicode MS Regular" + ], + "symbol-placement": "line", + "visibility": "visible", + "text-field": "{name_en}", + "text-letter-spacing": 0.1, + "text-max-width": 5, + "symbol-spacing": { + "base": 1, + "stops": [ + [ + 4, + 100 + ], + [ + 6, + 400 + ] + ] + }, + "text-size": { + "base": 1, + "stops": [ + [ + 3, + 12 + ], + [ + 6, + 16 + ] + ] + } + }, + "paint": { + "text-color": "#c8e5f9" + } + }, + { + "id": "marine-label-sm-pt", + "type": "symbol", + "source": "composite", + "source-layer": "marine_label", + "minzoom": 3, + "maxzoom": 10, + "interactive": true, + "filter": [ + "all", + [ + ">=", + "labelrank", + 4 + ], + [ + "in", + "$type", + "Point" + ] + ], + "layout": { + "visibility": "visible", + "text-field": "{name_en}", + "text-max-width": 5, + "text-letter-spacing": 0.1, + "text-line-height": 1.5, + "symbol-placement": "point", + "text-font": [ + "DIN Offc Pro Italic", + "Arial Unicode MS Regular" + ], + "text-size": { + "base": 1, + "stops": [ + [ + 3, + 12 + ], + [ + 6, + 16 + ] + ] + } + }, + "paint": { + "text-color": "#c8e5f9" + } + }, + { + "id": "marine-label-md-ln", + "type": "symbol", + "source": "composite", + "source-layer": "marine_label", + "minzoom": 2, + "maxzoom": 8, + "interactive": true, + "filter": [ + "all", + [ + "in", + "labelrank", + 2, + 3 + ], + [ + "in", + "$type", + "LineString" + ] + ], + "layout": { + "text-line-height": 1.1, + "text-font": [ + "DIN Offc Pro Italic", + "Arial Unicode MS Regular" + ], + "symbol-placement": "line", + "visibility": "visible", + "text-field": "{name_en}", + "text-letter-spacing": 0.15, + "text-max-width": 5, + "symbol-spacing": 250, + "text-size": { + "base": 1.1, + "stops": [ + [ + 2, + 12 + ], + [ + 5, + 20 + ] + ] + } + }, + "paint": { + "text-color": "#c8e5f9" + } + }, + { + "id": "marine-label-md-pt", + "type": "symbol", + "source": "composite", + "source-layer": "marine_label", + "minzoom": 2, + "maxzoom": 8, + "interactive": true, + "filter": [ + "all", + [ + "in", + "labelrank", + 2, + 3 + ], + [ + "in", + "$type", + "Point" + ] + ], + "layout": { + "visibility": "visible", + "text-field": "{name_en}", + "text-max-width": 5, + "text-letter-spacing": 0.15, + "text-line-height": 1.5, + "text-font": [ + "DIN Offc Pro Italic", + "Arial Unicode MS Regular" + ], + "text-size": { + "base": 1.1, + "stops": [ + [ + 2, + 14 + ], + [ + 5, + 20 + ] + ] + } + }, + "paint": { + "text-color": "#c8e5f9" + } + }, + { + "id": "marine-label-lg-ln", + "type": "symbol", + "source": "composite", + "source-layer": "marine_label", + "minzoom": 1, + "maxzoom": 4, + "interactive": true, + "filter": [ + "all", + [ + "in", + "labelrank", + 1 + ], + [ + "in", + "$type", + "LineString" + ] + ], + "layout": { + "visibility": "visible", + "text-field": "{name_en}", + "text-max-width": 4, + "text-letter-spacing": 0.25, + "text-line-height": 1.1, + "symbol-placement": "line", + "text-font": [ + "DIN Offc Pro Italic", + "Arial Unicode MS Regular" + ], + "text-size": { + "base": 1, + "stops": [ + [ + 1, + 14 + ], + [ + 4, + 30 + ] + ] + } + }, + "paint": { + "text-color": "#c8e5f9" + } + }, + { + "id": "marine-label-lg-pt", + "type": "symbol", + "source": "composite", + "source-layer": "marine_label", + "minzoom": 1, + "maxzoom": 4, + "interactive": true, + "filter": [ + "all", + [ + "in", + "labelrank", + 1 + ], + [ + "in", + "$type", + "Point" + ] + ], + "layout": { + "visibility": "visible", + "text-field": "{name_en}", + "text-max-width": 4, + "text-letter-spacing": 0.25, + "text-line-height": 1.5, + "text-font": [ + "DIN Offc Pro Italic", + "Arial Unicode MS Regular" + ], + "text-size": { + "base": 1, + "stops": [ + [ + 1, + 14 + ], + [ + 4, + 30 + ] + ] + } + }, + "paint": { + "text-color": "#c8e5f9" + } + }, + { + "id": "state-label-sm", + "type": "symbol", + "source": "composite", + "source-layer": "state_label", + "minzoom": 3, + "maxzoom": 9, + "interactive": true, + "filter": [ + "all", + [ + "<", + "area", + 20000 + ] + ], + "layout": { + "text-allow-overlap": false, + "text-ignore-placement": false, + "text-transform": "uppercase", + "text-font": [ + "DIN Offc Pro Bold", + "Arial Unicode MS Bold" + ], + "visibility": "visible", + "text-field": { + "base": 1, + "stops": [ + [ + 0, + "{abbr}" + ], + [ + 6, + "{name_en}" + ] + ] + }, + "text-letter-spacing": 0.15, + "text-max-width": 5, + "text-size": { + "base": 1, + "stops": [ + [ + 6, + 10 + ], + [ + 9, + 14 + ] + ] + } + }, + "paint": { + "text-opacity": 1, + "text-color": "#242424", + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "state-label-md", + "type": "symbol", + "source": "composite", + "source-layer": "state_label", + "minzoom": 3, + "maxzoom": 8, + "interactive": true, + "filter": [ + "all", + [ + "<", + "area", + 80000 + ], + [ + ">=", + "area", + 20000 + ] + ], + "layout": { + "text-allow-overlap": false, + "text-ignore-placement": false, + "text-transform": "uppercase", + "text-font": [ + "DIN Offc Pro Bold", + "Arial Unicode MS Bold" + ], + "visibility": "visible", + "text-field": { + "base": 1, + "stops": [ + [ + 0, + "{abbr}" + ], + [ + 5, + "{name_en}" + ] + ] + }, + "text-letter-spacing": 0.15, + "text-max-width": 6, + "text-size": { + "base": 1, + "stops": [ + [ + 5, + 10 + ], + [ + 8, + 16 + ] + ] + } + }, + "paint": { + "text-opacity": 1, + "text-color": "#242424", + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "state-label-lg", + "type": "symbol", + "source": "composite", + "source-layer": "state_label", + "minzoom": 3, + "maxzoom": 7, + "interactive": true, + "filter": [ + "all", + [ + ">=", + "area", + 80000 + ] + ], + "layout": { + "text-allow-overlap": false, + "text-ignore-placement": false, + "text-transform": "uppercase", + "text-font": [ + "DIN Offc Pro Bold", + "Arial Unicode MS Bold" + ], + "text-padding": 1, + "visibility": "visible", + "text-field": { + "base": 1, + "stops": [ + [ + 0, + "{abbr}" + ], + [ + 4, + "{name_en}" + ] + ] + }, + "text-letter-spacing": 0.15, + "text-max-width": 6, + "text-size": { + "base": 1, + "stops": [ + [ + 4, + 10 + ], + [ + 7, + 18 + ] + ] + } + }, + "paint": { + "text-opacity": 1, + "text-color": "#242424", + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "country-label-sm", + "type": "symbol", + "source": "composite", + "source-layer": "country_label", + "minzoom": 1, + "maxzoom": 10, + "interactive": true, + "filter": [ + "all", + [ + ">=", + "scalerank", + 5 + ] + ], + "layout": { + "text-field": "{name_en}", + "visibility": "visible", + "text-max-width": 6, + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "text-size": { + "base": 0.9, + "stops": [ + [ + 5, + 14 + ], + [ + 9, + 22 + ] + ] + } + }, + "paint": { + "text-color": "#000000", + "text-halo-color": { + "base": 1, + "stops": [ + [ + 2, + "rgba(255,255,255,0.75)" + ], + [ + 3, + "#ffffff" + ] + ] + }, + "text-halo-width": 1.25 + } + }, + { + "id": "country-label-md", + "type": "symbol", + "source": "composite", + "source-layer": "country_label", + "minzoom": 1, + "maxzoom": 8, + "interactive": true, + "filter": [ + "all", + [ + "in", + "scalerank", + 3, + 4 + ] + ], + "layout": { + "text-field": { + "base": 1, + "stops": [ + [ + 0, + "{code}" + ], + [ + 2, + "{name_en}" + ] + ] + }, + "visibility": "visible", + "text-max-width": 6, + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "text-size": { + "base": 1, + "stops": [ + [ + 3, + 10 + ], + [ + 8, + 24 + ] + ] + } + }, + "paint": { + "text-color": "#000000", + "text-halo-color": { + "base": 1, + "stops": [ + [ + 2, + "rgba(255,255,255,0.75)" + ], + [ + 3, + "#ffffff" + ] + ] + }, + "text-halo-width": 1.25 + } + }, + { + "id": "country-label-lg", + "type": "symbol", + "source": "composite", + "source-layer": "country_label", + "minzoom": 1, + "maxzoom": 7, + "interactive": true, + "filter": [ + "all", + [ + "in", + "scalerank", + 1, + 2 + ] + ], + "layout": { + "text-field": "{name_en}", + "visibility": "visible", + "text-max-width": { + "base": 1, + "stops": [ + [ + 0, + 5 + ], + [ + 3, + 6 + ] + ] + }, + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "text-size": { + "base": 1, + "stops": [ + [ + 1, + 10 + ], + [ + 6, + 24 + ] + ] + } + }, + "paint": { + "text-color": "#000000", + "text-halo-color": { + "base": 1, + "stops": [ + [ + 2, + "rgba(255,255,255,0.75)" + ], + [ + 3, + "#ffffff" + ] + ] + }, + "text-halo-width": 1.25 + } + } + ], + "owner": "nicki", + "modified": "2015-05-07T16:43:40.332Z", + "created": "2015-05-07T16:00:16.592Z", + "id": "nicki.7bfc461f" +} diff --git a/platform/ios/benchmark/assets/tiles/download.sh b/platform/ios/benchmark/assets/tiles/download.sh new file mode 100755 index 0000000000..f44dda18fd --- /dev/null +++ b/platform/ios/benchmark/assets/tiles/download.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env bash + +set -u + +LIST=( + # paris + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/11/1037/704.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/11/1037/705.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/11/1038/704.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/11/1038/705.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/11/1036/704.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/11/1037/703.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/11/1036/705.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/11/1038/703.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/11/1036/703.vector.pbf" + + # paris2 + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/13/4150/2819.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/13/4149/2819.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/13/4150/2818.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/13/4148/2819.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/13/4149/2818.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/13/4148/2818.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/13/4150/2820.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/13/4149/2820.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/13/4149/2817.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/13/4148/2817.vector.pbf" + + # alps + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/34/23.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/34/22.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/33/23.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/33/22.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/34/21.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/32/23.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/32/22.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/33/21.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/32/21.vector.pbf" + + # us east + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/5/9/12.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/5/8/12.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/5/9/13.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/5/8/13.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/5/9/11.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/5/7/12.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/5/8/11.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/5/7/13.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/5/7/11.vector.pbf" + + # greater la + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/9/88/204.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/9/88/205.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/9/89/204.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/9/89/205.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/9/87/204.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/9/88/203.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/9/87/205.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/9/89/203.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/9/87/203.vector.pbf" + + # sf + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/14/2621/6333.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/14/2620/6333.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/14/2621/6334.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/14/2620/6334.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/14/2621/6332.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/14/2619/6333.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/14/2620/6332.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/14/2619/6334.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/14/2619/6332.vector.pbf" + + # oakland + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/12/657/1582.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/12/657/1583.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/12/658/1582.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/12/658/1583.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/12/656/1582.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/12/657/1581.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/12/656/1583.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/12/658/1581.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/12/656/1581.vector.pbf" + + # germany + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/34/20.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/33/20.vector.pbf" + "mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/32/20.vector.pbf" +) + +for OUTPUT in ${LIST[@]} ; do + if [ ! -f "${OUTPUT}" ] ; then + mkdir -p "`dirname "${OUTPUT}"`" + echo "Downloading tile '${OUTPUT}'" + curl -# "https://a.tiles.mapbox.com/v4/${OUTPUT}?access_token=${MAPBOX_ACCESS_TOKEN}" | gunzip > "${OUTPUT}" + fi +done diff --git a/platform/ios/benchmark/assets/tiles/mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6.json b/platform/ios/benchmark/assets/tiles/mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6.json new file mode 100644 index 0000000000..140aa48fa7 --- /dev/null +++ b/platform/ios/benchmark/assets/tiles/mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6.json @@ -0,0 +1 @@ +{"attribution":"<a href=\"https://www.mapbox.com/about/maps/\" target=\"_blank\">© Mapbox</a> <a href=\"http://www.openstreetmap.org/about/\" target=\"_blank\">© OpenStreetMap</a> <a class=\"mapbox-improve-map\" href=\"https://www.mapbox.com/map-feedback/\" target=\"_blank\">Improve this map</a>","bounds":[-180,-85.0511,180,85.0511],"center":[0,0,0],"format":"pbf","maxzoom":15,"minzoom":0,"name":"Mapbox Streets V6 + Vector Terrain V2","scheme":"xyz","tilejson":"2.0.0","tiles":["asset://tiles/mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/{z}/{x}/{y}.vector.pbf"],"vector_layers":[{"description":"Generalized landcover classification","fields":{"class":"One of: wood, scrub, grass, crop, snow"},"id":"landcover","maxzoom":22,"minzoom":0,"source":"mapbox.mapbox-terrain-v2"},{"description":"","fields":{"class":"One of: shadow, highlight","level":"Brightness %. One of: 94, 90, 89, 78, 67, 56"},"id":"hillshade","maxzoom":22,"minzoom":0,"source":"mapbox.mapbox-terrain-v2"},{"description":"Elevation contour polygons","fields":{"ele":"Integer. The elevation of the contour in meters","index":"Indicator for every 2nd, 5th, or 10th contour. Coastlines are given -1. One of: 2, 5, 10, -1, null"},"id":"contour","maxzoom":22,"minzoom":0,"source":"mapbox.mapbox-terrain-v2"},{"description":"","fields":{"class":"One of: park, cemetery, hospital, school, industrial, parking, pitch, piste, agriculture, wood, scrub, grass, sand, rock, glacier","osm_id":"Unique OSM ID number","type":"OSM tag, more specific than class"},"id":"landuse","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: river, canal, stream, stream_intermittent, ditch, drain","osm_id":"Unique OSM ID number","type":"One of: river, canal, stream, ditch, drain"},"id":"waterway","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"osm_id":"Unique OSM ID number"},"id":"water","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"osm_id":"Unique OSM ID number","type":"One of: runway, taxiway, apron"},"id":"aeroway","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: fence, hedge, cliff, gate, land","osm_id":"Unique OSM ID number"},"id":"barrier_line","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"osm_id":"Unique OSM ID number"},"id":"building","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: wetland, wetland_noveg","osm_id":"Unique OSM ID number"},"id":"landuse_overlay","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: motorway, motorway_link, main, street, street_limited, service, driveway, path, major_rail, minor_rail","layer":"Number used for ordering overlapping tunnels. May be any integer, but most common values are -1 to -5","oneway":"Number. Oneway roads are 1, all others are 0","osm_id":"Unique OSM ID number","type":"The value of the tunnel's highway tag"},"id":"tunnel","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: motorway, motorway_link, main, street, street_limited, service, driveway, path, major_rail, minor_rail","oneway":"Number. Oneway roads are 1, all others are 0","osm_id":"Unique OSM ID number","type":"The value of the road's highway tag"},"id":"road","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: motorway, motorway_link, main, street, street_limited, service, driveway, path, major_rail, minor_rail, aerialway","layer":"Number used for ordering overlapping bridges. May be any integer, but most common values are 1 to 5","oneway":"Number. Oneway bridges are 1, all others are 0","osm_id":"Unique OSM ID number","type":"The value of the bridge's highway tag"},"id":"bridge","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"admin_level":"The OSM administrative level of the boundary. One of: 2, 3, 4","disputed":"Number. Disputed boundaries are 1, all others are 0","maritime":"Number. Maritime boundaries are 1, all others are 0"},"id":"admin","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"code":"ISO 3166-1 Alpha-2 code","name":"Local name of the country","name_de":"German name of the country","name_en":"English name of the country","name_es":"Spanish name of the country","name_fr":"French name of the country","name_ru":"Russian name of the country","name_zh":"Chinese name of the country","osm_id":"Unique OSM ID number","parent":"ISO 3166-1 Alpha-2 code of the administering/parent state, if any","scalerank":"Number, 1-6. Useful for styling text sizes","type":"One of: country, territory, disputed territory, sar"},"id":"country_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"labelrank":"Number, 1-6. Useful for styling text sizes","name":"Local or international name of the water body","name_de":"German name of the water body","name_en":"English name of the water body","name_es":"Spanish name of the water body","name_fr":"French name of the water body","name_ru":"Russian name of the water body","name_zh":"Chinese name of the water body","placement":"One of: point, line"},"id":"marine_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"abbr":"Abbreviated state name","area":"The area of the state in kilometers²","name":"Local name of the state","name_de":"German name of the state","name_en":"English name of the state","name_es":"Spanish name of the state","name_fr":"French name of the state","name_ru":"Russian name of the state","name_zh":"Chinese name of the state","osm_id":"Unique OSM ID number"},"id":"state_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"capital":"Admin level the city is a capital of, if any. One of: 2, 3, 4, null","ldir":"A hint for label placement at low zoom levels. One of: N, E, S, W, NE, SE, SW, NW, null","localrank":"Number. Priority relative to nearby places. Useful for limiting label density","name":"Local name of the place","name_de":"German name of the place","name_en":"English name of the place","name_es":"Spanish name of the place","name_fr":"French name of the place","name_ru":"Russian name of the place","name_zh":"Chinese name of the place","osm_id":"Unique OSM ID number","scalerank":"Number, 0-9 or null. Useful for styling text & marker sizes","type":"One of: city, town, village, hamlet, suburb, neighbourhood"},"id":"place_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"area":"The area of the water polygon in Mercator meters²","name":"Local name of the water body","name_de":"German name of the water body","name_en":"English name of the water body","name_es":"Spanish name of the water body","name_fr":"French name of the water body","name_ru":"Russian name of the water body","name_zh":"Chinese name of the water body","osm_id":"Unique OSM ID number"},"id":"water_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"address":"Street address of the POI","localrank":"Number. Priority relative to nearby POIs. Useful for limiting label density","maki":"The name of the Maki icon that should be used for the POI","name":"Local name of the POI","name_de":"German name of the POI","name_en":"English name of the POI","name_es":"Spanish name of the POI","name_fr":"French name of the POI","name_ru":"Russian name of the POI","name_zh":"Chinese name of the POI","network":"For rail stations, the network(s) that the station serves. Useful for icon styling","osm_id":"Unique OSM ID number","ref":"Short reference code, if any","scalerank":"Number. 1-4. Useful for styling icon sizes and minimum zoom levels","type":"The original OSM tag value","website":"URL of the POI"},"id":"poi_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: motorway, motorway_link, main, street, street_limited, service, driveway, path","len":"Number. Length of the road segment in Mercator meters","localrank":"Number. Used for shield points only. Priority relative to nearby shields. Useful for limiting shield density","name":"Local name of the road","name_de":"German name of the road","name_en":"English name of the road","name_es":"Spanish name of the road","name_fr":"French name of the road","name_ru":"Russian name of the road","name_zh":"Chinese name of the road","osm_id":"Unique OSM ID number","ref":"Route number of the road","reflen":"Number. How many characters long the ref tag is. Useful for shield styling","shield":"The shield style to use. One of: default, mx-federal, mx-state, us-highway, us-highway-alternate, us-highway-business, us-highway-duplex, us-interstate, us-interstate-business, us-interstate-duplex, us-interstate-truck, us-state"},"id":"road_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: river, canal, stream, stream_intermittent","name":"Local name of the waterway","name_de":"German name of the waterway","name_en":"English name of the waterway","name_es":"Spanish name of the waterway","name_fr":"French name of the waterway","name_ru":"Russian name of the waterway","name_zh":"Chinese name of the waterway","osm_id":"Unique OSM ID number","type":"One of: river, canal, stream"},"id":"waterway_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"house_num":"House number","osm_id":"Unique OSM ID number"},"id":"housenum_label","source":"mapbox.mapbox-streets-v6"}]} diff --git a/platform/ios/benchmark/benchmark-ios.gypi b/platform/ios/benchmark/benchmark-ios.gypi new file mode 100644 index 0000000000..3b1efa6d73 --- /dev/null +++ b/platform/ios/benchmark/benchmark-ios.gypi @@ -0,0 +1,61 @@ +{ + 'includes': [ + '../../../gyp/common.gypi', + ], + 'targets': [ + { 'target_name': 'ios-bench', + 'product_name': 'Bench GL', + 'type': 'executable', + 'product_extension': 'app', + 'mac_bundle': 1, + 'mac_bundle_resources': [ + '<!@(find ../platform/ios/benchmark/img -type f)', + 'assets/glyphs', + 'assets/sprites', + 'assets/tiles', + ], + + 'dependencies': [ + 'mbgl.gyp:core', + 'mbgl.gyp:platform-<(platform_lib)', + 'mbgl.gyp:http-<(http_lib)', + 'mbgl.gyp:asset-<(asset_lib)', + ], + + 'sources': [ + './main.m', + './MBXBenchAppDelegate.h', + './MBXBenchAppDelegate.m', + './MBXBenchViewController.h', + './MBXBenchViewController.mm', + './locations.hpp', + './locations.cpp', + ], + + 'xcode_settings': { + 'SDKROOT': 'iphoneos', + 'SUPPORTED_PLATFORMS': 'iphoneos', + 'IPHONEOS_DEPLOYMENT_TARGET': '7.0', + 'INFOPLIST_FILE': '../platform/ios/benchmark/app-info.plist', + 'TARGETED_DEVICE_FAMILY': '1,2', + 'COMBINE_HIDPI_IMAGES': 'NO', # don't merge @2x.png images into .tiff files + 'CLANG_ENABLE_OBJC_ARC': 'YES', + 'CLANG_ENABLE_MODULES': 'YES', + }, + + 'configurations': { + 'Debug': { + 'xcode_settings': { + 'CODE_SIGN_IDENTITY': 'iPhone Developer', + }, + }, + 'Release': { + 'xcode_settings': { + 'CODE_SIGN_IDENTITY': 'iPhone Distribution', + 'ARCHS': [ "arm64" ], + }, + }, + }, + } + ] +} diff --git a/platform/ios/benchmark/img/Icon-40.png b/platform/ios/benchmark/img/Icon-40.png Binary files differnew file mode 100644 index 0000000000..2425133189 --- /dev/null +++ b/platform/ios/benchmark/img/Icon-40.png diff --git a/platform/ios/benchmark/img/Icon-40@2x.png b/platform/ios/benchmark/img/Icon-40@2x.png Binary files differnew file mode 100644 index 0000000000..b827b1e5a1 --- /dev/null +++ b/platform/ios/benchmark/img/Icon-40@2x.png diff --git a/platform/ios/benchmark/img/Icon-40@3x.png b/platform/ios/benchmark/img/Icon-40@3x.png Binary files differnew file mode 100644 index 0000000000..89c7119ac6 --- /dev/null +++ b/platform/ios/benchmark/img/Icon-40@3x.png diff --git a/platform/ios/benchmark/img/Icon-60.png b/platform/ios/benchmark/img/Icon-60.png Binary files differnew file mode 100644 index 0000000000..409fad814a --- /dev/null +++ b/platform/ios/benchmark/img/Icon-60.png diff --git a/platform/ios/benchmark/img/Icon-60@2x.png b/platform/ios/benchmark/img/Icon-60@2x.png Binary files differnew file mode 100644 index 0000000000..89c7119ac6 --- /dev/null +++ b/platform/ios/benchmark/img/Icon-60@2x.png diff --git a/platform/ios/benchmark/img/Icon-60@3x.png b/platform/ios/benchmark/img/Icon-60@3x.png Binary files differnew file mode 100644 index 0000000000..158bcfe27e --- /dev/null +++ b/platform/ios/benchmark/img/Icon-60@3x.png diff --git a/platform/ios/benchmark/img/Icon-72.png b/platform/ios/benchmark/img/Icon-72.png Binary files differnew file mode 100644 index 0000000000..eecd90b5eb --- /dev/null +++ b/platform/ios/benchmark/img/Icon-72.png diff --git a/platform/ios/benchmark/img/Icon-72@2x.png b/platform/ios/benchmark/img/Icon-72@2x.png Binary files differnew file mode 100644 index 0000000000..ca28d1fa05 --- /dev/null +++ b/platform/ios/benchmark/img/Icon-72@2x.png diff --git a/platform/ios/benchmark/img/Icon-76.png b/platform/ios/benchmark/img/Icon-76.png Binary files differnew file mode 100644 index 0000000000..0ed2a26730 --- /dev/null +++ b/platform/ios/benchmark/img/Icon-76.png diff --git a/platform/ios/benchmark/img/Icon-76@2x.png b/platform/ios/benchmark/img/Icon-76@2x.png Binary files differnew file mode 100644 index 0000000000..311a1658a8 --- /dev/null +++ b/platform/ios/benchmark/img/Icon-76@2x.png diff --git a/platform/ios/benchmark/img/Icon-Small-50.png b/platform/ios/benchmark/img/Icon-Small-50.png Binary files differnew file mode 100644 index 0000000000..a071034743 --- /dev/null +++ b/platform/ios/benchmark/img/Icon-Small-50.png diff --git a/platform/ios/benchmark/img/Icon-Small-50@2x.png b/platform/ios/benchmark/img/Icon-Small-50@2x.png Binary files differnew file mode 100644 index 0000000000..5d7c76d5e2 --- /dev/null +++ b/platform/ios/benchmark/img/Icon-Small-50@2x.png diff --git a/platform/ios/benchmark/img/Icon-Small.png b/platform/ios/benchmark/img/Icon-Small.png Binary files differnew file mode 100644 index 0000000000..630d7c04c6 --- /dev/null +++ b/platform/ios/benchmark/img/Icon-Small.png diff --git a/platform/ios/benchmark/img/Icon-Small@2x.png b/platform/ios/benchmark/img/Icon-Small@2x.png Binary files differnew file mode 100644 index 0000000000..c0ee89211a --- /dev/null +++ b/platform/ios/benchmark/img/Icon-Small@2x.png diff --git a/platform/ios/benchmark/img/Icon-Small@3x.png b/platform/ios/benchmark/img/Icon-Small@3x.png Binary files differnew file mode 100644 index 0000000000..436a8b404c --- /dev/null +++ b/platform/ios/benchmark/img/Icon-Small@3x.png diff --git a/platform/ios/benchmark/img/Icon.png b/platform/ios/benchmark/img/Icon.png Binary files differnew file mode 100644 index 0000000000..7af0c68a38 --- /dev/null +++ b/platform/ios/benchmark/img/Icon.png diff --git a/platform/ios/benchmark/img/Icon.svg b/platform/ios/benchmark/img/Icon.svg new file mode 100644 index 0000000000..28df6f600d --- /dev/null +++ b/platform/ios/benchmark/img/Icon.svg @@ -0,0 +1,6 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg width="100%" height="100%" viewBox="0 0 15 15" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-miterlimit:1.41421;"> + <image x="0" y="0" width="15px" height="15px" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAQ0lEQVQokcXP2wkAIAxD0Sidvqu5jhTxVXdIPsz/4ZLi3hLkKgsBwOjsX3zBcztKeSvllQKeSlnCQ8GhfA5cHvfk8QNc8hvDN5gIKwAAAABJRU5ErkJggg=="/> + <path id="path7143" d="M9.48355,2.89095C8.18827,3.22425 6.67888,4.56018 5.90484,6.38831L4.93731,6.63727C4.23814,6.81719 3.97174,7.44212 3.83781,8.06502L3.65856,8.89868L5.40366,8.44963L7.68238,9.79563L8.13143,11.5407L8.77503,10.9814C9.25592,10.5634 9.67465,10.0284 9.49474,9.32928L9.24577,8.36174C10.4732,6.80143 10.9147,4.8347 10.5814,3.53941L10.3567,2.66627L9.48355,2.89095ZM8.40657,5.10044C8.73798,5.01516 9.08086,5.2177 9.16614,5.54911C9.25142,5.88052 9.04888,6.2234 8.71747,6.30868C8.38606,6.39396 8.04318,6.19142 7.9579,5.86001C7.87262,5.5286 8.07516,5.18572 8.40657,5.10044L8.40657,5.10044ZM5.41251,9.7356L5.18818,10.1154C4.86414,10.664 4.97269,11.7811 4.97269,11.7811C4.97269,11.7811 5.9677,11.3976 6.32753,10.7884L6.55187,10.4086L5.41251,9.7356Z" style="fill:white;fill-rule:nonzero;stroke-width:0.62px;stroke:white;"/> +</svg> diff --git a/platform/ios/benchmark/img/Icon@2x.png b/platform/ios/benchmark/img/Icon@2x.png Binary files differnew file mode 100644 index 0000000000..ff5ea0c073 --- /dev/null +++ b/platform/ios/benchmark/img/Icon@2x.png diff --git a/platform/ios/benchmark/img/iTunesArtwork.png b/platform/ios/benchmark/img/iTunesArtwork.png Binary files differnew file mode 100644 index 0000000000..f87c8734b5 --- /dev/null +++ b/platform/ios/benchmark/img/iTunesArtwork.png diff --git a/platform/ios/benchmark/img/iTunesArtwork@2x.png b/platform/ios/benchmark/img/iTunesArtwork@2x.png Binary files differnew file mode 100644 index 0000000000..8d456a126f --- /dev/null +++ b/platform/ios/benchmark/img/iTunesArtwork@2x.png diff --git a/platform/ios/benchmark/locations.cpp b/platform/ios/benchmark/locations.cpp new file mode 100644 index 0000000000..9f53877e40 --- /dev/null +++ b/platform/ios/benchmark/locations.cpp @@ -0,0 +1,18 @@ +#include "locations.hpp" + +namespace mbgl { +namespace bench { + +const std::vector<Location> locations = { + { "paris", 2.3411, 48.8664, 11, 0.0 }, + { "paris2", 2.3516, 48.8356, 13, 273.8 }, + { "alps", 10.6107, 46.9599, 6, 0.0 }, + { "us east", -84.3395, 36.9400, 5, 0.0 }, + { "greater la", -117.9529, 34.0259, 9, 0.0 }, + { "sf", -122.4202, 37.7625, 14, 0.0 }, + { "oakland", -122.2328, 37.8267, 12, 0.0 }, + { "germany", 9.2280, 50.9262, 6, 0.0 }, +}; + +} +} diff --git a/platform/ios/benchmark/locations.hpp b/platform/ios/benchmark/locations.hpp new file mode 100644 index 0000000000..96f9c6025b --- /dev/null +++ b/platform/ios/benchmark/locations.hpp @@ -0,0 +1,23 @@ +#ifndef MBGL_BENCH_LOCATIONS +#define MBGL_BENCH_LOCATIONS + +#include <vector> +#include <string> + +namespace mbgl { +namespace bench { + +struct Location { + const std::string name; + const double longitude; + const double latitude; + const double zoom; + const double bearing; +}; + +extern const std::vector<Location> locations; + +} +} + +#endif
\ No newline at end of file diff --git a/platform/ios/benchmark/main.m b/platform/ios/benchmark/main.m new file mode 100644 index 0000000000..52bb445552 --- /dev/null +++ b/platform/ios/benchmark/main.m @@ -0,0 +1,10 @@ +#import <UIKit/UIKit.h> + +#import "MBXBenchAppDelegate.h" + +int main(int argc, char * argv[]) +{ + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([MBXBenchAppDelegate class])); + } +} |